Hauptmenü

Doif Verständnisfrage

Begonnen von wendeling, 11 April 2017, 03:35:01

Vorheriges Thema - Nächstes Thema

wendeling

Hallo,
Ich möchte mit dem Doif Befehl abfragen wenn coolstream_23 power = off ist dann soll er setstate coolstream_23 auf off setzen.

Habe es so versucht

([coolstream_23:power] eq "off") (setstate coolstream_23 off)

Doch leider funktioniert es nicht

Was ist falsch ?

darkness

Hallo,

was passiert denn?
evtl. ein
do always

gesetzt?

P.S.: ruhig die Code-Tags verwenden :)

CoolTux

list DEVICENAME
bitte machen und die Ausgabe hier posten, in Codetags das ist oben bei den Symbolen das Rautezeichen
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

Thorsten Pferdekaemper

Hi,
was genau soll denn das bewirken:

setstate coolstream_23 off

Gruß,
   Thorsten
FUIP

wendeling




Internals:
   CFGFN
   DEF        ([coolstream_23:power] eq "off") (setstate coolstream_23 off)
   NAME       receiver23
   NR         11425
   NTFY_ORDER 50-receiver23
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2017-04-11 12:43:49   Device          coolstream_23
     2017-04-11 03:49:28   cmd             1
     2017-04-11 03:49:28   cmd_event       coolstream_23
     2017-04-11 03:49:28   cmd_nr          1
     2017-04-11 12:43:49   e_coolstream_23_power off
     2017-04-11 03:49:28   state           cmd_1
   Condition:
     0          ReadingValDoIf($hash,'coolstream_23','power') eq "off"
   Devices:
     0           coolstream_23
     all         coolstream_23
   Do:
     0:
       0          setstate coolstream_23 off
     1:
   Helper:
     event      power: off
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   coolstream_23
     timerevent power: off
     triggerDev coolstream_23
     timerevents:
       power: off
     timereventsState:
       power: off
     triggerEvents:
       power: off
     triggerEventsState:
       power: off
   Internals:
   Itimer:
   Readings:
     0           coolstream_23:power
     all         coolstream_23:power
   Regexp:
     0:
     All:
   State:
   Trigger:
Attributes:

wendeling

Habe das Problem , dass wenn ich den receiver auschalte bleibt das state auf on stehen und in meiner anzeige somit on , obwohl der receiver aus ist was man am power erkennen kann, denn da steht off drin was richtig ist. Deshalb wollte ich per setstate den status umschreiben.

CoolTux

attribut do always setzen bitte
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

automatisierer

oder statt nem DOIF das attribut 'stateFormat' nehmen


attr coolstream_23 stateFormat {ReadingsVal("coolstream_23","power","undef")}

Thorsten Pferdekaemper

Zitat von: automatisierer am 11 April 2017, 13:17:13
oder statt nem DOIF das attribut 'stateFormat' nehmen


attr coolstream_23 stateFormat {ReadingsVal("coolstream_23","power","undef")}

Wenn's nur das ist, dann sollte das auch noch einfacher gehen:

attr coolstream_23 stateFormat power

Das mit dem setstate ist unsauber und "darf" vom FHEM selbst meiner Meinung nach auch wieder überschrieben werden.
Gruß,
   Thorsten

FUIP

wendeling

Danke an alle , hat super funktioniert mit sateformat