[Gelöst] Notify limitieren

Begonnen von rami, 02 Mai 2018, 09:17:49

Vorheriges Thema - Nächstes Thema

rami

Hi,

Auszug aus dem Log:

2018-04-30_12:07:58 HM_XXXXX_Climate level: set_desired-temp 20.5
2018-04-30_12:08:11 HM_XXXXX_Climate level: T: 22.0 desired: 20.5
2018-04-30_12:08:53 HM_XXXXX_Climate level: set_desired-temp 22.0
2018-04-30_12:09:06 HM_XXXXX_Climate level: T: 22.0 desired: 22.0
2018-04-30_12:17:29 HM_XXXXX_Climate level: T: 22.1 desired: 22.0
2018-04-30_12:57:42 HM_XXXXX_Climate level: T: 22.2 desired: 22.0
2018-04-30_13:50:39 HM_XXXXX_Climate level: T: 22.3 desired: 22.0


mein Notify sieht so aus:


define HM_XXXXX_Climate_notify notify HM_XXXXX_Climate.level:.* {\
my $Erg1=ReadingsVal("HM_XXXXX_Climate","desired-temp",0);;\
my $Erg2=ReadingsVal("HM_XXXXX_Climate","measured-temp",0);;\
system("sudo /usr/local/bin/script $Erg1 $Erg2");;\
}


Funktioniert grundsäztlich wunderbar, was ich nun verhindern möchte,wenn:


2018-04-30_12:08:53 HM_XXXXX_Climate level: set_desired-temp 22.0
2018-04-30_12:09:06 HM_XXXXX_Climate level: T: 22.0 desired: 22.0


dicht beieinander liegen (innerhalb 1 Minute), dass nur bei "set_desired" getriggert wird und der nächste "T: 22.0 desired: 22.0" ignoriert wird,..

lässt sich das realisieren ?

Otto123

#1
Hallo rami,

zu deinem Post: mit Codetags sähe es schöner aus -> die # Taste über dem  :-X Smiley.

Zu deinem Code:
Der Aufruf des Scriptes wirkt so blockierend, das sollte Dir bewusst sein!

Als Idee: Du könntest in deinen Code eine Abfrage mit ReadingsAge einbauen.

Gruß Otto
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

rami

Angepasst,...

ReadingsAge klingt spannend, funktioniert das auch fürs Notify ?

Otto123

#3
Hat mit notify direkt nichts zu tun, Du führst doch ein Stück Perlcode aus, dort baust Du ein if ReadingsAge(desired-temp) > 60 ein und führst erst dann Dein Script aus oder nicht.

Also dieser Code ist jetzt nur so dahin als Textaufgabe geschrieben  ;)

Die Triggerung des notify zu verhindern ist für deine Aufgabe kaum machbar, aber die Ausführung des Codes schon.

Gruß Otto
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

rami

ahhh - check!

perfekt Danke!


- solved -

CoolTux

Warum triggerst Du nicht gleich auf desired-temp oder measured-temp?
Das ist doch eigentlich das was du übertragen möchtest.
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

rami

ich reagiere auf:

T: 22.1 desired: 22.0
T: 22.2 desired: 22.0
T: 22.3 desired: 22.0

unterschiedlich,.. ist eine manuelle Klima/Heizung welche Relais schaltet,..