FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: wendeling am 11 April 2017, 03:35:01

Titel: Doif Verständnisfrage
Beitrag von: wendeling am 11 April 2017, 03:35:01
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 ?
Titel: Antw:Doif Verständnisfrage
Beitrag von: darkness am 11 April 2017, 06:47:17
Hallo,

was passiert denn?
evtl. ein
do always

gesetzt?

P.S.: ruhig die Code-Tags verwenden :)
Titel: Antw:Doif Verständnisfrage
Beitrag von: CoolTux am 11 April 2017, 07:32:32
list DEVICENAME
bitte machen und die Ausgabe hier posten, in Codetags das ist oben bei den Symbolen das Rautezeichen
Titel: Antw:Doif Verständnisfrage
Beitrag von: Thorsten Pferdekaemper am 11 April 2017, 08:11:45
Hi,
was genau soll denn das bewirken:

setstate coolstream_23 off

Gruß,
   Thorsten
Titel: Antw:Doif Verständnisfrage
Beitrag von: wendeling am 11 April 2017, 12:49:19



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:
Titel: Antw:Doif Verständnisfrage
Beitrag von: wendeling am 11 April 2017, 12:52:30
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.
Titel: Antw:Doif Verständnisfrage
Beitrag von: CoolTux am 11 April 2017, 13:08:31
attribut do always setzen bitte
Titel: Antw:Doif Verständnisfrage
Beitrag 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")}
Titel: Antw:Doif Verständnisfrage
Beitrag von: Thorsten Pferdekaemper am 11 April 2017, 18:22:01
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

Titel: Antw:Doif Verständnisfrage
Beitrag von: wendeling am 11 April 2017, 18:51:19
Danke an alle , hat super funktioniert mit sateformat