FHT80b: Unterschied zwischen den Versionen

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
(beispiel: windowtemp)
(lowtemp:warn)
Zeile 40: Zeile 40:
|-  
|-  
| lowtemp  
| lowtemp  
|  ok  
|  ok <br /> warn
Frostschutz?
Untertemperatur-Alarm: Im Raum wird der Temperatur-Sollwert nicht erreicht
|-  
|-  
| manu-temp  
| manu-temp  

Version vom 24. März 2015, 21:22 Uhr

Der FHT80b ist ein programmierbarer Raumthermostat, der bis zu 8 Stellantriebe FHT8v steuern kann.

Features

Lokal programmierbare Tages- und Nachttemperatur, die pro Tag mit 4 Schaltpunkten programmiert werden kann. Zusätzliche Anbindung eines Tür/Fensterkontaktes FHT80TF zur Absenkung der Temperatur auf separat einstellbaren Wert bei offenem Fenster (windowopen-temp).

Readings

Parameter Wertbeispiel Erklärung
actuator 0% Position des Stellantriebes in %
battery ok
low
Ladezustand der Batterien
mode auto
manual
holiday_short
Funktionsmodus (auto, manuell oder Urlaub/Party)
state measured-temp: 20.9 Ist-Temperatur in ° (C oder F in FHT80B wählbar)
desired-temp 21.0 Solltemperatur in ° (C oder F in FHT80B wählbar)
holiday1 126 Endzeit der Urlraubs-/Partyfunktion. Uhrzeit in Minuten seit 00:00 geteilt 10 (im Beispiel 21:00 Uhr)
holiday2 31 Tag im Monat an der die Urlaubs-/Partyfunktion endet
lowtemp ok
warn
Untertemperatur-Alarm: Im Raum wird der Temperatur-Sollwert nicht erreicht
manu-temp Solltemperatur bei Manuell-Modus
night-temp Solltemperatur bei Absenkung
warnings none
Battery low
Temperature too low
Fault on window sensor
Auflistung der Fehler
window closed
open
Statusmeldungen vom FHT80-TF
windowsensor ok
fault
fault, wenn ein angemeldeter Fenstermelder nicht erreicht werden kann.
windowopentemp 9.0 Solltemperatur bei offenem Fenster
year

month
day
hour
minute

Zeitangaben für interne Uhr
mon-from1

mon-from2
mon-to1
mon-to2
tue-from1
tue-from2
tue-to1
tue-to2
wed-from1
wed-from2
wed-to1
wed-to2
thu-from1
thu-from2
thu-to1
thu-to2
fri-from1
fri-from2
fri-to1
fri-to2
sat-from1
sat-from2
sat-to1
sat-to2
sun-from1
sun-from2
sun-to1
sun-to2

06:00 Angabe von Schaltzeiten im Format HH:MM

Hinweise zum Betrieb mit FHEM

Vor dem Einsatz muss der FHT80b mit der Zentrale (z.B. CUL) gepairt werden. Geschieht dies nicht, können nach einer Definition in FHEM zwar Daten des FHT80b empfangen werden (z. B. Raumtemperatur), es können jedoch keine Befehle gesendet werden. Zum pairen den FHT80b in Sonderfunktionen "cENT" auf "n/a" stellen, danach sofort einen Befehl (egal welchen) an die FHT80b senden. Wenn ca. zwei Minuten später Sonderfunktion cENT auf "ON" steht, war das Pairing erfolgreich.

Weitere Hinweise: FHT mit RFR CUL pairen

Ausserdem muss das FHT per Hand oder Autocreate angelegt werden. Die Adresse des FHT wird beim Anlegen mit Autocreate in Fhem hexadezimal angegeben, im Gerät jedoch dezimal. Dabei muss die Adresse paarweise umgerechnet werden. Beispiel: Fhem habe ein FHT mit der Adresse 162c angelegt. Dies entspricht dann

hex 16 = 22 dez
hex 2c = 44 dez

dem FHT mit der am FHT eingestellten Adresse 2244. Genauso gut kann man aber auch eine am FHT eingestellt Adresse nach der selben paarweisen Methode in hex umrechnen und in Fhem das FHT dann per Hand anlegen.


Das FHT80b akzeptiert Befehle vom FHZ1X00 (oder CUL/CUN) nur alle 115+x Sekunden (x = 0.5*letztes Byte des FHT-Hauscodes (auch FHT-ID genannt), Beispiel: FHT-ID 1234, Sendeintervall = 115+0,5*4 = 117 Sekunden) Praktisch ergeben sich so ca. zwei Minuten. Wenn man also mit FHEM z.B. fünf desired-temp Wechsel sendet, so wird es selbst unter optimalen Bedingungen 9-10 Minuten dauern, bis der letzte ausgeführt wird.

Dies muss insbesondere beim Debuggen von Automationszenarien berücksichtigt werden. Nicht absetzbare Kommandos werden im einem Puffer der FHZ1x00/CUL/CUN gespeichert, obwohl sie im FHEM Log als abgesetzt erscheinen. Bei größeren Installationen kann auch der Puffer überlaufen (EOB Fehlermeldung im FHEM Log). Die Puffer sind unterschiedlich gross. Am kleinsten ist er bei den FHZ1x00 mit ca. 40 Byte, was für ca. acht FHT Befehle reicht. Am grössten ist er im CULv3 oder CUN mit 200 Bytes, das reicht für ca. 40 Befehle.

Bei zu kleinem Puffer bietet FHEM die Möglichkeit, einen Softpuffer (fhtsoftbuffer) zu konfigurieren (dieser wirkt jedoch nur bei FHZ1X00PC Zentralen). Insgesamt ist fhtsoftbuffer nur dann sinnvoll einsetzbar, wenn die Funklage an sich gut ist und der Puffer zügig abgearbeitet wird. Softbuffer sollte nicht eingesetzt werden, wenn die Übertragung der FHT Befehle gestört ist, da sich dann schnell sehr lange Befehlsketten im Puffer aufbauen können, deren Abarbeitung sehr viel Zeit in Anspruch nehmen kann. Dies kann dazu führen, dass Kommandos an FHTs erst Stunden später ausgeführt werden.

Um mehr Befehle an ein FHT80b senden zu können, können bis zu 8 Befehle zusammengefasst werden, diese belegen dann nur einen "Zeitslot"

Beispiel:

set heizung_wohn desired-temp 20.5 day-temp 19.0 night-temp 16.0

Die Kommunikation des FHT80b mit den Stellantrieben und dem Türkontakt erfolgt ebenso in Zeitabständen von ca. zwei Minuten. In den Pausen sind die Sender und Empfänger von FHT80b und FHT8v abgeschaltet, um Batteriestrom zu sparen.

Die Übermittlung der aktuellen Temperaturdaten an die Zentrale (FHZ, CUN) erfolgt alle 15 Minuten.

Die Kommunikation mit der Zentrale ist bidirektional, d.h. die Funkzentrale sendet auch Daten an die FHT80b zurück (insbesondere Acknowledge Meldungen etc). Dies führt dazu, dass im Zusammenhang mit der Sendzeitbegrenzung die Anzahl der maximal nutzbaren Geräte begrenzt ist. Theoretisch lassen sich bis zu 17, in der Praxis eher nur ca. 10 FHT80b sinnvoll mit einer Zentrale steuern.

Verschiedene Betriebsarten mit FHEM

Da das FHT80 selbst ein Heizprogramm speichern und daher eigentlich auch autark arbeiten kann, stellt sich die Frage, wie FHT80 am Besten in Fhem integriert werden sollte. Es gibt dazu drei wesentliche Szenarien:

  • das FHT80 heizt nur über seine eigenen Heizprogramme, steht also im Automatik Modus. Diese werden jedoch nicht umständlich am FHT80 selber einprogramiert sondern über Fhem gesetzt. Auch alle gewünschten Änderungen werden über eine Anpassung der im FHT gespeicherten Programme und setzen von day-temp und night-temp realisiert. Vorteil: Volle Funktionalität auch ohne Fhem, daher ausfallsicher. Nachteil: Änderungen erzeugen hohe Funklast, da ganze Wochenprogramme übertragen werden müssen. Führt bei mehr als fünf bis sechs FHTs idR. zu EOB und LOVF Problemen. Ausserdem: Beschränkung auf die FHT80 typisch geringe Zahl von Schaltpunkten (vier pro Tag), mehrstufige Temperaturänderungen sind umständlich. Abhängigkeiten in Fhem (Anwesenheitskontrolle, Bedingungen wie Nutzungserkennung durch Bewegungssensoren etc.) sind schwerer umsetzbar.
  • das FHT80 heizt über seine eigenen Heizprogramme, steht also im Automatik Modus. Zusätzlich sendet Fhem Z.B. desired-temp Meldungen und greift so in das Heizprofil ein. Vorteil: Grundfunktionalität auch ohne Fhem, daher ausfallsicher: Das Wochenprogramm des FHT80 wird als Grundprogramm und Fallback genutzt. Zusätzliche Heizpunkte oder höhere/niedrigere Temperaturen werden durch Fhem gesteuert. Geringere Funklast, sofern das Grundprogramm selten geändert wird. Beliebige Schaltpunkte, beliebige Temperaturänderungen leicht einstellbar. Nachteil: Komplex. Das Heizverhalten hängt sowohl vom lokalen Programm im FHT80 ab, als auch von Kommandos die Fhem sendet. Das macht die Steuerung unübersichtlich. Problematisch ist insbesondere, wenn lokale Schaltpunkte kurz vorher gesendete Fhem Kommandos negieren. Dies mach z.b. das Herunterfahren der Heizung bei ungeplanter Abwesenheit schwierig.
  • das FHT80 wird in den manuellen Mode geschaltet und nur über Fhem mittels desired-temp Kommandos gesteuert. Vorteil: Da Fhem volle Kontrolle hat, einfache Umsetzung von Abhängigkeiten (Anwesenheitskontrolle, Bedingungen wie Nutzungserkennung durch Bewegungssensoren etc.). Beliebige Schaltpunkte, beliebige Temperaturänderungen leicht einstellbar. Unkomplex: Temperatur hängt nur vom letzt-gesendeten desired-temp Kommando ab. Nachteil: Bei Ausfall von Fhem wird das FHT80 quasi funktionslos und hält nur die letzte eingestellt Temperatur. Es könnten allerdings im FHT gespeicherte Heizprogramme durch manuelles Umschalten am FHT80 auf den Automatikmodus (Tastendruck) aktiviert werden.

Da das FHT80 auch per Fhem-Befehl zwischen manuellem und automatischem Modus umgestellt werden kann, sind auch Mischformen speziell zwischen den letzten beiden Varianten einsetzbar. Dies wird z.b. im Code Snippet FHT80b Automatik setzen genutzt.

Log-Auszug

FHT80b sendet ca alle zwei Minuten Steuerbefehle an ggf. angeschlossene Ventilstellantriebe. Der einzustellende Wert liegt zwischen 0% und 100% und wird von FHT80b auf Basis der am Gerät eingestellten Solltemperatur und der vom Gerät gemessenen Ist-Temperatur berechnet:

FHT <device-name> actuator: 0%

Ausserdem sendet FHT80b ca 4 mal pro Stunde folgenden Statusbericht:

FHT <device-name> actuator: 0%
FHT <device-name> measured-temp: 23.1 (Celsius)
FHT <device-name> battery: ok
FHT <device-name> lowtemp: ok
FHT <device-name> window: closed
FHT <device-name> windowsensor: ok
FHT <device-name> warnings: none

Die dazu nötige bidirektionale Kommunikation kann mit FHEM mitprotokolliert werden ("set CUL raw X61" vorher nicht vergessen). Hier ein beispielhafter Mitschnitt:

2008-09-28 13:04:18 FHT wz actuator: 0% 
2008-09-28 13:04:18 FHT wz actuator: 0% 
2008-09-28 13:04:18 FHT wz start-xmit: 17 
2008-09-28 13:04:18 FHT wz FHZ:start-xmit: 17 
2008-09-28 13:04:19 FHT wz measured-low: 21.9 (Celsius) 
2008-09-28 13:04:19 FHT wz FHZ:measured-low: 21.9 (Celsius) 
2008-09-28 13:04:19 FHT wz measured-high: 0 
2008-09-28 13:04:19 FHT wz FHZ:measured-high: 0 
2008-09-28 13:04:19 FHT wz ack: 0 
2008-09-28 13:04:20 FHT wz FHZ:ack: 0 
2008-09-28 13:04:20 FHT wz warnings: none 
2008-09-28 13:04:20 FHT wz FHZ:warnings: none 
2008-09-28 13:04:20 FHT wz ack: 0 
2008-09-28 13:04:20 FHT wz FHZ:ack: 0 
2008-09-28 13:04:20 FHT wz end-xmit: 0 
2008-09-28 13:04:20 FHT wz FHZ:end-xmit: 0

Jede Zeile steht für ein Telegramm (und nicht für 3, wie beim FS20).

FHZ:xxx Telegramme wurden von der FHZ (oder CUN/CUL) gesendet, die anderen vom FHT.

Fhem fasst measured-low und measured-high zu measured-temp zusammen, es werden also im normalen log (telnet: inform timer) zwei Zeilen weniger gemeldet.

17 ist der Hauscode der protokollierten FHZ. Wenn die FHZ nicht mit dem richtigen Hauscode antwortet, dann geht die Kommunikation nicht weiter.

Wenn das FHT nicht an der FHZ angemeldet ist (d.h., das FHT hat nicht den Hauscode des FHZ gespeichert), werden keine Temperaturdaten uebermittelt. Set Prog:Cent:N/A setzt den FHT Hauscode auf 100, dann sollte jede FHZ auf "start-xmit" antworten, und das FHT merkt den ersten. Noch besser ist es, dem FHT via fhem etwas zu senden, dann muss nicht auf die nächste Temperaturmeldung (bis zu 15 Minuten) gewartet werden.

Mehr dazu auch hier: FHT mit RFR CUL pairen

Falls die Gegenseite nicht wie erwartet antwortet, wird nach einem Timeout das Telegramm einmal wiederholt. Falls immer noch keine korrekte Antwort vorliegt, wird nach 115+x Sekunden der ganze Vorgang einmal wiederholt.

Durch diese recht umfangreiche Kommunikation entsteht im Zusammenhang mit der Sendezeitbeschränkung die maximale Anzahl nutzbarer Geräte von ca. einem Dutzend.

Bekannte Probleme

  • Die Sendefrequenzen einiger FHT80b sind nicht besonders genau auf den eigentlichen Wert von 868,35 MHz justiert und streuen bei verschiedenen Geräten. Die FHZ 1x00PC Geräte sind gegenüber leichten Abweichungen der Frequenz durch eine etwas höhere Empfangsbandbreite eher unempfindlich. Die CUL oder CUNO halten die eingestellte Frequenz dagegen trennschärfer ein, sodass es zu Empfangsproblemen kommen kann. Können Signale eines FHT nicht empfangen werden, kann es sinnvoll sein, probeweise die Frequenz des CUL zu ändern (in 0,05 MHz Schritten), oder die Bandbreite aufzuweiten, z.b. auf 464 KHz.
  • Der äußerlich gleich aussehende FHT8 ist nicht mit einer Zentrale/FHEM einsetzbar.
  • In seltenen Fällen fehlerhafte Aktuator Meldungen, siehe Lime-Protection Bug
  • FHTs hören in der Regel nach 5-10 Tagen auf, von sich aus Daten zur Zentrale zu senden, wenn sonst keine Kommunikation mit dem FHT stattfindet. Ein regelmässiges z.b. wöchentliches Stellen der Uhrzeit oder wöchentliches Abfragen der wichtigsten Parameter (report2 = 255) vorteilhaft zu eher "funklastarmen" Zeiten schafft Abhilfe; z.B.:
    define fht_reportZimmer1 at *04:00:00 {if ($wday == 1) { fhem("set hzg_Zimmer1 report2 255") } }
  • Die o.g. Situation bringt häufig auch die Actuator-Meldung "unknown_69" mit sich. Eine Beschreibung zur Behebung findet sich in diesem Forums-post .
  • Der Betrieb von FHTs mit einen RFR CUL kann zu besonderen Problemen führen, siehe RFR CUL und FHT80

Links

Eine Reihe von Code Snippets zum Thema FHT80b: