dead_sensor zw. Temperatursensor und Heizkörperthermostat

Begonnen von Floon, 13 Januar 2022, 21:23:12

Vorheriges Thema - Nächstes Thema

Floon

Hallo zusammen,

ich bin ein bisschen verzweifelt auf der Suche nach der richtigen Konfiguration.


Ich nutze Enocean Heizkörperthermosate (Oventrop Stellantrieb Aktor MH ENO B / hvac.01), diese laufen in der Regel auch ohne Probleme.
Als Referenztemperatur nutze ich auch Enocean Temperatursensoren (verschiedene Typen z.B. Nod On STPH-2-1-05 / roomSensorControl.01). Auch diese melden eigentlich die Temperaturen soweit erkenntlich zuverläßig.

Natürlich kann es mal vorkommen, dass die Temperatur sich über längeren Zeitraum nicht ändert. Das kann ohne weitere Einstellungen zu einem dead_Sensor beim Aktor führen. Daher hätte ich versucht dem entgegen zu wirken.

Gesetzte, relevante Attribute beim Aktor

pidSensorTimeout     7000
temperatureRefDev   wz.Tempsensor

Durch den Timeout hätte ich eigentlich gedacht die sensor_dead Meldung erfolgt erst nach 7000 Sekunden (gemäß zum Testen mal sehr hoch gesetzt)


Gesetzte, relevante Attribute beim Sensor

event-min-interval     .*:3000
event-on-change-reading        .*

Und hier hätte ich gedacht, der Sensor aktualisiert spätestens alle 3000 Sekunden

Somit dachte ich sollten die Werte auch beim Aktor ankommen. Aber leider kommt trotzdem gelegentlich eine sensor_dead Warnung



Auch kommen die Temperatur Werte nicht immer direkt beim Aktor reading an, im Beispiel unten letzte Temperaturmeldung um 20:41, im Actor steht aber noch der Wert von 20:13. Und was noch auffällt, die 7000 Sekunden werden komplett ignoriert, die sensor_dead Meldung dürfte noch gar nicht kommen, oder?

Beispiel:

Sensor:

temperature      21.0                2022-01-13 20:41:22


Aktor:

pidAlarm           dead_sensor    2022-01-13 21:00:26
pidState            alarm              2022-01-13 21:00:26
roomTemp         28.9                2022-01-13 20:13:24




Wo liegt mein Konfigurationsfehler? Welche Attribute fehlen mir oder sind falsch?


Gruß Florian

Otto123

#1
Zitatevent-min-interval
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings:minInterval" Paare. readings kann ein regexp sein. Ein Event wird nur dann generiert, falls seit dem letzten Auftreten des gleichen Events mindestens minInterval Sekunden vergangen sind. Falls event-on-change-reading auch spezifiziert ist, dann werden sie mit ODER kombiniert, d.h. wenn einer der beiden Bedingungen wahr ist.

Oder bedeutet entweder oder :) also
wenn sich das Reading ändert wird in jedem Fall ein Event erzeugt.
Wenn sich das Reading nicht ändert aber ein Event/ReadingSetzen erzeugt wird, wird alle 3000 sec ein Event im System "erzeugt".

Ob das zu deinem Problem passt habe ich ev. nicht ganz verstanden :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

LuckyDay

ZitatWenn sich das Reading nicht ändert wird alle 3000 sec ein Event erzeugt.

Achtung! sofern ein Reading noch überhaupt kommt vom Sensor!
Wenn Sensor tot , wird auch kein Event durchgelassen, betrachte das nur als Filter, nicht als Eventgenerator

Floon

@Otto123
Ich hätte das auch so im CommandRef verstanden, dass entweder der Sensor bei einer Änderung ein event erzeugt (event-on-change-reading), ODER falls diese gleichbleibend wäre ein Zwangsevent erzeugt.
https://wiki.fhem.de/wiki/Event-min-interval#Wechselwirkungen
Habe aber ein paar Logeinträge dem das scheinbar nicht entspricht, ist definitiv länger als 3000 Sekunden
2022-01-13_05:00:10 wz.Tempsensor temperature: 20.9
2022-01-13_06:07:14 wz.Tempsensor temperature: 20.9


@fhem-hm-knecht
Sensor sendet schon Daten, erkennt man im log an den sich ändernden Werten. Im betroffenem Zeitraum sieht es finde ich gut aus. Aber das mit dem "echtem" Sensor Tod ist natürlich auch ein guter Punkt der irgendwie im Gesamtkonstrukt berücksichtigt werden sollte (Der im Beispiel genannte ist ein Solar+Backupbatterie betriebener, da ist das noch unwahrscheinlicher. Habe aber auch reine Solar betriebene ohne Backup Batterie, da kommt das gerade jetzt im Winter schon mal vor das er nach längeren dunklen Tagen aussetzer hat - wenn da ein echter Ausfall nicht erkannt wir, streiken berechtigterweise die Heizthermostate und schalten je nach letztem Wert irgendwann entweder komplett ab oder drehen voll auf.)
2022-01-13_20:13:24 wz.Tempsensor temperature: 18.4
2022-01-13_21:05:50 wz.Tempsensor temperature: 18.2
2022-01-13_21:25:03 wz.Tempsensor temperature: 18.1
2022-01-13_21:37:17 wz.Tempsensor temperature: 18.2


Vielleicht gehören dazu ja mehr Attribute beim Aktor und weniger beim Sensor setzen? Die Frage ist nur welche   :-\

Floon

Hallo zusammen,

die Heizsaison beginnt langsam wieder, also kommt auch wieder die Zeit sich der Heizautomatisierung zu widmen. Ich möchte hier noch mal anknüpfen, da ich prinzipiell immer noch die dead sensor Meldungen habe. Meine log Einträge und Pushnachrichten steigen wieder dazu. Ja, ich kann sie ignorieren, aber dann bekomme ich echte Fehler bzw tote Sensoren nicht mit (schon passiert)

Wie beschrieben bringt das min interval ja bekannterweise leider kein neues Event, wenn keine Änderung vom Sensor ankommt. Aber meine Raumsensoren melden sich nur bei einer Änderung, also kann schon mal fast eine Stunde kein Event erzeugt werden, wenn die Temperatur konstant bleibt.
Ziel wäre also vermutlich am Aktor das Abfrageintervall zu erhöhen. Das timeout Attribut ist wohl aber immer noch ohne Funktion bei dem Gerät?
Kann das irgendwie 'scharf' geschalten werden, oder gebe ich was falsch ein oder wie kann ich das mit den Intervallen lösen?

Heizregler:
pidSensorTimeout 7000
pidSensorTimeout t/s [pidSensorTimeout] = 3600 is default
number of seconds to wait before sensor temperatureRefDev will be recognized n

Gruß Florian