Wecker, Radio Nachtlicht- Leider klappt nicht alles "Hilfe"

Begonnen von Wasserwerk33, 10 Oktober 2019, 21:16:45

Vorheriges Thema - Nächstes Thema

Wasserwerk33

Hi Leute,

Also zur Zeit schaltet ein doif das Nachtlicht übers Radio aus.
defmod Radio_schaltet_Licht DOIF ([Ole_Radio:"power: off"]) (set WLan_Steckdose off)
attr Radio_schaltet_Licht do always


Nun gibt es für morgens noch einen Wecker zum Kindergarten , dieser funktioniert gut. Ich würde nur gerne das das ,,Nachtlicht" nach 10 min Radio an auch angeht . Es haut mir nur alles durch einander . Mal geht garnix mal nur morgens mal nur abends.
defmod Wecker_Ole DOIF ([6:50 |Mo Di Mi Do Fr ] and [Wecker_Kindergarten] eq "on") (set OLE_Radio on-for-timer 1800, set OLE_Radio volumeStraight 3)
attr Wecker_Ole do always


Das ist der code der nicht funktoniert.
Internals:
   DEF        ([7:00] and [Ole_Radio:] eq "power: on") (set WLan_Steckdose on) DOELSE ([18:00 - 22:00] and [Ole_Radio:"power: off"]) (set WLan_Steckdose off)
   FUUID      5c8bef2e-f33f-faf7-41f4-b44f1e789b88af5f
   MODEL      FHEM
   NAME       Radio_schaltet_Licht
   NR         34
   NTFY_ORDER 50-Radio_schaltet_Licht
   STATE      cmd_2
   TYPE       DOIF
   VERSION    19303 2019-05-01 08:47:16
   READINGS:
     2019-10-10 21:11:28   cmd             2.2
     2019-10-10 21:11:28   cmd_event       Radio_schaltet_Licht
     2019-10-10 21:11:28   cmd_nr          2
     2019-10-10 21:11:28   cmd_seqnr       2
     2019-10-10 21:11:16   mode            enabled
     2019-10-10 21:11:28   state           cmd_2
     2019-10-10 21:11:16   timer_01_c01    11.10.2019 07:00:00
     2019-10-10 21:11:16   timer_02_c01    error: Wrong timespec Ole_Radio:: either HH:MM:SS or {perlcode}
   Regex:
     accu:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday) and ::DOIF_time_once($hash,1,$wday) eq "power: on"
   days:
   devices:
   do:
     0:
       0          set WLan_Steckdose on
     1:
       0          [18:00 - 22:00] and [Ole_Radio:"power: off"]
       1          set WLan_Steckdose off
   helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   
     timerevent
     timerevents
     timereventsState
     triggerDev
     DOIF_eventas:
       cmd_nr: 2
       cmd_seqnr: 2
       cmd_event: Radio_schaltet_Licht
       state: cmd_2
   internals:
   intervalfunc:
   itimer:
   localtime:
     0          1570770000
   readings:
   realtime:
     0          07:00:00
   time:
     0          7:00
     1          Ole_Radio:
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   triggertime:
     1570770000:
       localtime  1570770000
       hash:
   uiState:
   uiTable:
Attributes:
   do         always
   room       Ole
   verbose    0


Danke schon mal im vorraus.

amenomade

DOELSE => Keine Bedingung. DOELSE heisst "in allen anderen Fälle"

Wenn Bedingung nötig, dann DOELSEIF.

Ausserdem musst Du entscheiden, ob Du eine Ereignissteuerung oder eine Zustandssteuerung willst:
[Ole_Radio:"power: off"]
[Ole_Radio] eq "power: on"

Das erste reagiert auf Ereignisse : wenn das Event "Ole_Raio power off" kommt
Das zweite (ohne Doppelpunkt nach Ole_Radio) reagiert auf Änderung des Status von Ole_Radio. Kann Deine Ole_Radio denn Zustand (also STATE oder state) den Wert "power: on" haben? Meinst Du nicht eher
[Ole_Radio:power] eq "off" sprich "wenn das Reading power vom Device Ole_Radio ist gleich "off"?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Wasserwerk33

Danke
Habe es mal so umgebaut mal schauen ob es so.
Melde mich nächste Woche.

Schönes Wochenende

Wasserwerk33

Melde mich nochmal zurück.
Ja es funktioniert. Es lag an der Schreibweise, dein Code so
([OLE_Radio:power] eq "off") (set WLan_Steckdose off)
Funktioniert super.

Danke dir.