Hi @ll,
Bitte um Hilfe
wollte es eigentlich mit einem Notify lösen, aber da "immer" geschrieben wird: verwende doch ein DOIF oder es ist eleganter mit DOIF ;D
es geht mir um das "<" b.z.w ">" Zeichen es sieht für mich so aus als würde kleiner einfach nicht gehn egal welcher Wert
ein DOIF mit kleiner 1500 geht nicht :o
([ecometer:RemainingUsableLevel]<1500) (set Sonos_Buero|Sonos_Flur|Sonos_Eingang|Sonos_Wohnzimmer|Sonos_Waschkueche PlayURITemp \\xxx.xxx.xxx.xxx\SonosSpeak\Oelmeldung.mp3 50)
das gleiche mit mehr als 1500 geht :o ::) :-X
([ecometer:RemainingUsableLevel]>1500) (set Sonos_Buero|Sonos_Flur|Sonos_Eingang|Sonos_Wohnzimmer|Sonos_Waschkueche PlayURITemp \\xxx.xxx.xxx.xxx\SonosSpeak\Oelmeldung.mp3 50)
wo ist mein Fehler ???
ich würde aber gern die Meldung erhalten sobald der Wert 1499 an nimmt oder weniger
hoffe die infos reichen ?
mfg. m
Bitte poste ein list von deinem DOIF.
Hi Otto,
Internals:
DEF ([ecometer:RemainingUsableLevel]<1500) (set Sonos_Buero|Sonos_Flur|Sonos_Eingang|Sonos_Wohnzimmer|Sonos_Waschkueche PlayURITemp \\xxx.xxx.xxx.xxx\SonosSpeak\Oelmeldung.mp3 50)
NAME OelmeldungDummy_DOIF
NR 506
NTFY_ORDER 50-OelmeldungDummy_DOIF
STATE cmd_2
TYPE DOIF
READINGS:
2017-10-21 14:17:43 Device ecometer
2017-10-21 13:57:53 cmd 2
2017-10-21 13:57:53 cmd_event ecometer
2017-10-21 13:57:53 cmd_nr 2
2017-10-21 14:17:43 e_ecometer_RemainingUsableLevel 4372
2017-10-21 13:57:53 state cmd_2
condition:
0 ReadingValDoIf($hash,'ecometer','RemainingUsableLevel')<1500
devices:
0 ecometer
all ecometer
do:
0:
0 set Sonos_Buero|Sonos_Flur|Sonos_Eingang|Sonos_Wohnzimmer|Sonos_Waschkueche PlayURITemp \\xxx.xxx.xxx.xxx\SonosSpeak\Oelmeldung.mp3 50
1:
helper:
event RemainingUsableLevel: 4200
globalinit 1
last_timer 0
sleeptimer -1
timerdev ecometer
timerevent RemainingUsableLevel: 4200
triggerDev ecometer
timerevents:
RemainingUsableLevel: 4200
timereventsState:
RemainingUsableLevel: 4200
triggerEvents:
RemainingUsableLevel: 4200
triggerEventsState:
RemainingUsableLevel: 4200
internals:
itimer:
readings:
0 ecometer:RemainingUsableLevel
all ecometer:RemainingUsableLevel
regexp:
0:
all:
state:
STATE:
trigger:
Attributes:
icon text_min
room Heizöl
mfg. m
Das sieht aber gut aus. Er steht auf cmd_2 da die Bedingung nicht erfüllt ist. Wenn der Wert unterschritten wird, wird er einmalig deine Meldung spielen.
Gruß Otto
Hi Otto,
leider nein
habe auch mal das doif auf Ini. gestellt und getestet aber es kommt nix
er springt auf cmd_2 aber warum ???
mit dem größer Zeichen geht es immer sobald der Wert größer ist als der angegebene.
mfg. m
RemainingUsableLevel: 4200 das ist nicht kleiner als 1500. Er muss beim ersten Event von RemainingUsableLevel auf cmd_2 springen. Geht nicht anders. Ich versteh nicht was daran falsch sein soll.
Hi Otto,
schon klar aber wenn ich den Wert auf 1400 ändere passiert nix
mfg. m
Wie änderst Du ihn denn?
Hi CoolTux,
mit trigger ecometer RemainingUsableLevel: 1400
mfg. m
Das erzeugt mit Sicherheit den falschen Event / Fake.
Schau Dir es im Eventmonitor an.
Ich kann mir vorstellen das geht mit trigger ecometer RemainingUsableLevel 1400
Gruß Otto
Hi Otto,
leider ändert sich nichts, also macht keinen unterschied ob der : drin ist oder nicht.
und verstehen tue ich es leider nicht, da ja daß größer Zeichen funktioniert, nur kleiner geht nicht ?
bitte Hilfe
Wie wäre es den, wenn Du Deinen test nicht mit einem fake Event machst sondern einfach die Schwelle in den Bereich legst wo Dein echter Wert pendelt?
Also kleiner 4500 z.B.
Ansonsten poste doch mal bitte in paar Events von Deinem RemainingUsableLevel aus dem Eventmonitor.
Gruß Otto
Hi Otto,
erstmal noch Danke für die Hilfe
ZitatWie wäre es den, wenn Du Deinen test nicht mit einem fake Event machst sondern einfach die Schwelle in den Bereich legst wo Dein echter Wert pendelt?
das würde zu lange dauern der Ölverbrauch ist nicht so stark
und wie sollte ich es sonst testen ?
das blöde ist ja, wenn ich es ändere auf "größer als" geht es. >:(
aber sobald ich aus dem "größer als" ein "kleiner als" mache geht es nicht ??? :-\
hier aus dem EventMon. einmal mit : und ohne :
2017-10-22 12:45:47 at Time_Update Next: 12:45:57
2017-10-22 12:45:49 TEK603 ecometer RemainingUsableLevel 1400
2017-10-22 12:45:53 readingsGroup ZE.Batterie THM.MSchlafzimmer.battery: image/svg+xml
2017-10-22 12:45:53 readingsGroup ZE.Batterie THM.MSchlafzimmer.batteryLevel: image/svg+xml
2017-10-22 12:48:29 TEK603 ecometer RemainingUsableLevel: 1400
2017-10-22 12:48:40 at Time_Update Next: 12:48:47
2017-10-22 12:48:40 SONOS Sonos LastProcessAnswer: 2017-10-22 12:48:40
2017-10-22 12:48:47 at Time_Update Next: 12:48:57
leider komme ich nicht weiter
mfg. m
das Problem liegt wohl darin, dass du mit deinem "trigger......." ein Event auslöst, aber mit deinem DOIF Readings auswertest...
da hört das DOIF nicht zu.
versuch es mal mit:
setreading ecometer RemainingUsableLevel 1400
EDIT:
dein trigger löst ein Event aus, dass DOIF wird auch getriggwert, wertet dann aber das Reading "RemainingUsableLevel" aus und dass ist > 1500. Also wird cmd_2 ausgeführt...
Zitat von: automatisierer am 22 Oktober 2017, 13:22:24
dein trigger löst ein Event aus, dass DOIF wird auch getriggwert, wertet dann aber das Reading "RemainingUsableLevel" aus und dass ist > 1500. Also wird cmd_2 ausgeführt...
Genau der Gedanke kam mir beim Radfahren jetzt auch. :)
Und genau wegen der Erklärung geht es mit größer als. ;D
Du kannst Deine Logik auch mit einem anderen Reading testen und dann so wie automatisierer vorgeschlagen hat.
Gruß Otto
Hi
@automatisierer
die Erklärung war gut
der Unterschied ist das bei meinem Trigger, wie du ja schon gesagt hast nur das Event ausgelöst wird, aber nicht das Reading im Device sich ändert
Vielen Dank !
@Otto
ZitatUnd genau wegen der Erklärung geht es mit größer als.
;D genau
mfg. m