notify-Wert vom Aufruf benötigt --> bei Wertänderung bei HM-Wandthermo

Begonnen von tklein, 04 November 2018, 19:21:22

Vorheriges Thema - Nächstes Thema

tklein

Hallo zusammen,

wie kann ich am besten eine Aktion triggern, wenn sich der Wert (desired-temp) von meinem Homematic Wandthermostat ändert (nicht updated)?

Derzeit bekomme ich jetzt unabhängig von Wertänderung eine Nachricht. Sehr wahrscheinlich durch die normalen Statusupdates:

defmod WT_WZ_notify_1 notify WT_WZ:desired-temp:..* {\
fhem("set Pushover_Client msg 'Heizung WZ wurde geändert' 'Neuer Wert [WT_WZ_Climate:desired-temp] Grad.'");;\
}
attr WT_WZ_notify_1 room Heizung,Wohnzimmer



Wie kann ich den aufrufenden Wert aus dem notify mit dem derzeitigen desired-temp vergleichen?

Quasi:
if (wert_aus_notify !=  [WT_WZ_Climate:desired-temp]
{unterschiedliche Werte}
else
{gleiche Werte}


EDIT: Evtl ging es ja auch mit einem DoIf (besser)?

Viele Grüße
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

CoolTux


if ($EVTPART1 !=  ReadingsVal($NAME,'desired-temp',200)
{unterschiedliche Werte}
else
{gleiche Werte}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tklein

FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

tklein

Hey,

das klappt doch nicht so wie gedacht. So wie es aussieht habe ich momentan immer den gleichen Wert (Wert aus dem notify und dem aus dem reading).
Ich bräuchte den den Wert ReadingsVal("WT_WZ_Climate","desired-temp",200)) bevor das notify den Wert aktualisiert

WT_WZ_Climate:desired-temp:..* {
if ($EVTPART1 !=  ReadingsVal("WT_WZ_Climate","desired-temp",200))
{
fhem("set Pushover_Client msg 'Heizung WZ wurde geändert' 'Neuer Wert [WT_WZ_Climate:desired-temp] Grad.'");
}
else {
fhem("set Pushover_Client msg 'Heizung WZ wurde nicht geändert' 'Gleicher Wert [WT_WZ_Climate:desired-temp] Grad.'");
}
}
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

CoolTux

Das Notify ändert doch den Wert gar nicht.
Aber ich weiß was du meinst.

Setze das Attribut oldReadings mit dem Wert desired-temp und ändere den Funktionsnamen von ReadingsVal nach OldReadingsVal.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

frank

es ist doch viel sinnvoller das attr event-on-change-reading im thermostat zu nutzen. dann gibt es nur events bei änderung, wodurch auch das notify deutlich weniger getriggert und abgearbeitet werden muss.

event-on-change würde ich sogar grundsätzlich bei allen devices empfehlen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

tklein

@frank:

Das hatte ich schon gesetzt:
Zitatattr WT_WZ_Climate event-on-change-reading .*

Was allerdings komisch ist, ist die Tatsache, daß
- bei einer Wertänderung der else-Zweig
- bei gleichem Wert der if-Zweig
ausgeführt wird.

Hab jetzt die Nachrichtentexte einfach getauscht und jetzt passt es, auch wenn ich es leider nicht verstehe. Vielleicht ist das "!=" nicht korrekt.

Grüße
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

frank

ZitatDas hatte ich schon gesetzt:
dann muss es zusätzlich weitere attribute oder mechanismen bei dir geben, wodurch auch events bei gleiheit generiert werden.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html