FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Manos am 23 März 2020, 17:41:30

Titel: DO ALWAYS ist seit gestern nicht mehr "always"
Beitrag von: Manos am 23 März 2020, 17:41:30

Vielleicht ist es Zufall aber ich habe gestern ein Update von FHEM gemacht weil der Indicator hat mich über die Verfügbarkeit von Updates informiert.

Seitdem habe ich Probleme mit mein DOIF.

sogar ein ganz einfacher DOIF funktioniert richtig!
nur beim ersten Mal oder bei set outside_lights_DOIF checkall, danach nicht mehr.
Obwohl do always gesetzt ist.

Ist irgendetwas mit dem DO ALWAYS passiert, oder mache ich irgendwo einen Anfängerfehler?

Die Information von meinen Bewegungsmeldern (Philips HUE und IKEA Tradfri, beide mit ConBee2 angeschlossen) kommen korrekt an, werden auch in FHEM angezeigt.
Nur der DOIF schaltet die Shelly nicht an  >:(


Internals:
   DEF        (
((ReadingsVal("Philips1Motion","state","") eq "motion")
or
(ReadingsVal("TrafdriMotion_01","state","") eq "motion"))
)
(set Shelly1PM_765FC5 on-for-timer 30,
set deCONZ_HUEDevice5 on-for-timer 30)


   FUUID      5e5ee3a2-f33f-6a06-b5b0-7d3cf68e16af5e97
   FVERSION   98_DOIF.pm:0.212240/2020-02-18
   MODEL      FHEM
   NAME       outside_lights_DOIF
   NOTIFYDEV  global
   NR         128
   NTFY_ORDER 50-outside_lights_DOIF
   STATE      cmd_1
   TYPE       DOIF
   VERSION    21224 2020-02-18 18:45:49
   READINGS:
     2020-03-23 17:26:35   cmd             1
     2020-03-23 17:26:35   cmd_event       outside_lights_DOIF
     2020-03-23 17:26:35   cmd_nr          1
     2020-03-23 15:00:48   mode            enabled
     2020-03-23 17:26:35   state           cmd_1
   Regex:
     accu:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0           ((ReadingsVal("Philips1Motion","state","") eq "motion") or (ReadingsVal("TrafdriMotion_01","state","") eq "motion"))
   do:
     0:
       0          set Shelly1PM_765FC5 on-for-timer 30,   set deCONZ_HUEDevice5 on-for-timer 30
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   
     timerevent
     timerevents
     timereventsState
     triggerDev
     DOIF_eventa:
       cmd_nr: 1
       cmd: 1
       cmd_event: outside_lights_DOIF
       cmd_1
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: outside_lights_DOIF
       state: cmd_1
   perlblock:
   uiState:
   uiTable:
Attributes:
   do         always
   room       Outside_Perimeter
(set Shelly1PM_765FC5 on-for-timer 30,
set deCONZ_HUEDevice5 on-for-timer 30)


Titel: Antw:DO ALWAYS ist seit gestern nicht mehr "always"
Beitrag von: CoolTux am 23 März 2020, 18:01:39
Du solltest Deinen Thread besser nach Automatisierung -> DOIF verschieben.
Titel: Antw:DO ALWAYS ist seit gestern nicht mehr "always"
Beitrag von: KernSani am 23 März 2020, 18:26:37
Da hat cooltux recht. Verschieben Button findest du ganz unten links.
Ich frage mich allerdings:
A) Was für einen ,,Indicator" zeigt dir updates an? FHEM Updates gibt es ja eigentlich täglich...
B) Hat das DOIF wirklich mal funktioniert? Bei DOIF brauche ich doch eigentlich kein ReadingsVal... triggert das überhaupt?


Gesendet von iPhone mit Tapatalk
Titel: Antw:DO ALWAYS ist seit gestern nicht mehr "always"
Beitrag von: Damian am 23 März 2020, 18:27:20
Ein DOIF muss einen Trigger haben (Angaben in eckigen Klammern). Deine DOIF-Defintion hat keinen.
Titel: Antw:DO ALWAYS ist seit gestern nicht mehr "always"
Beitrag von: Manos am 23 März 2020, 22:32:45
Zitat von: Damian am 23 März 2020, 18:27:20
Ein DOIF muss einen Trigger haben (Angaben in eckigen Klammern). Deine DOIF-Defintion hat keinen.

vielen Dank, das war es!

Grund war das die ursprüngliche Version bereits einen Trigger mit eckigen Klammern hatte:


(
([Ring_FrontDoor] eq "motion")
and ([17:00-23:59] or [00:00-07:00])
and ReadingsNum("Philips1Lumin","lux",0) < 70
)
(set Shelly1PM_765FC5 on-for-timer 90, set deCONZ_HUEDevice5 blink 4 1)


und ich habe die ganze Zeit versucht eine Lösung für das nicht funktionierende ReadingsNum("Philips1Lumin","lux",0) < 70 

Jetzt habe ich verstanden, dass es es viel einfacher geht: [Philips1Lumin:lux] < 100  :)



Titel: Antw:DO ALWAYS ist seit gestern nicht mehr "always"
Beitrag von: Manos am 23 März 2020, 22:48:41

Ich habe noch eine Verständnis Frage:

Dass, was mich die ganze Zeit auf die falsche fährte gelockt hat war die Tatasache das checkall ("set outside_lights_DOIF checkall") das DOIF korrekt interpretiert hat und mir die korrekt Antwort gegeben hat  (cmd_1) sowie die Lichte korrekt eingeschaltet hat (siehe Bild).

daher bin ich immer davon ausgegangen, dass das DOIF korrekt ist.

Mache ich ein Denkfehler irgendwo? Hätte nicht das "set outside_lights_DOIF checkall" die Lichte aus lassen sollen?
Titel: Antw:DO ALWAYS ist seit gestern nicht mehr "always"
Beitrag von: Damian am 23 März 2020, 22:52:46
Mit set ... checkall werden die Bedingungen auf Wahrheit geprüft und ggf. Anweisungen ausgeführt (siehe Commandref), den Trigger hast du dann selbst gespielt.