[G E L Ö S T] DOIF mit Prüfung auf kleiner als

Begonnen von m311331, 21 Oktober 2017, 13:07:03

Vorheriges Thema - Nächstes Thema

m311331

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


Otto123

Bitte poste ein list von deinem DOIF.
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

m311331

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

Otto123

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
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

m311331

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

Otto123

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.
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

m311331

Hi Otto,


schon klar aber wenn ich den Wert auf 1400 ändere passiert nix


mfg. m

CoolTux

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

m311331

Hi CoolTux,

mit trigger ecometer RemainingUsableLevel: 1400


mfg. m

Otto123

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
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

m311331

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
 

Otto123

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
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

m311331

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

automatisierer

#13
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...



Otto123

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
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