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 ?
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 (//http:///%3Ereturns%20the%20age%20of%20the%20reading%20in%20seconds.)einbauen.
Gruß Otto
Angepasst,...
ReadingsAge klingt spannend, funktioniert das auch fürs Notify ?
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
ahhh - check!
perfekt Danke!
- solved -
Warum triggerst Du nicht gleich auf desired-temp oder measured-temp?
Das ist doch eigentlich das was du übertragen möchtest.
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,..