Autor Thema: Doif und Twillight funktoniert nicht.  (Gelesen 547 mal)

Offline Wasserwerk33

  • Full Member
  • ***
  • Beiträge: 496
Doif und Twillight funktoniert nicht.
« am: 15 September 2021, 20:51:16 »
Hallo Leute,

ich bin nun seit ca 2 Wochen dabei mein DOIF wieder ans laufen zu bekommen. Es hat mal Funktoniert aber leider nach einem komplett Ausfall im Winter ohne passendes Backup (wird mir nie wieder passieren) bekomme ich es leider nicht mehr ans laufen.
Wenn ich die zeit bis 23:59 uhr einstelle klappt es aber wenn ich bis 6:50 einstelle klappt es nicht.

in diesem Thema hatte ich es wie in dem #2 beitrag am laufen. Aber nicht wirklich gut.
https://forum.fhem.de/index.php/topic,119801.0.html

In diesem Thema war mein letzter Beitrag das ich es mit Fragezeichen geklärt hatte, Aber habe schon alles Probiert. Es klappt nicht.
https://forum.fhem.de/index.php/topic,114172.0.html
In dieser List ist bis 1:00 uhr schon funktoniert es nicht.
Internals:
   DEF        ([LaCrosse_16:temperature] < 20 and ([{twilight("myTwilight","ss_indoor","16:00","00:01")}]))
(set Kueche_ganz_runter trigger)
   FUUID      6135279e-f33f-5e7b-7967-18e93c87eefb1945
   MODEL      FHEM
   NAME       KuecheJalousie
   NOTIFYDEV  LaCrosse_16,global
   NR         157
   NTFY_ORDER 50-KuecheJalousie
   STATE      initialized
   TYPE       DOIF
   VERSION    24755 2021-07-15 16:40:59
   READINGS:
     2021-09-15 20:43:51   cmd             0
     2021-09-15 20:43:51   mode            enabled
     2021-09-15 20:43:51   state           initialized
     2021-09-15 20:43:51   timer_01_c01    16.09.2021 00:01:00
   Regex:
     accu:
     collect:
     cond:
       LaCrosse_16:
         0:
           temperature ^LaCrosse_16$:^temperature:
   condition:
     0          ::ReadingValDoIf($hash,'LaCrosse_16','temperature') < 20 and (::DOIF_time_once($hash,0,$wday))
   days:
   do:
     0:
       0          set Kueche_ganz_runter trigger
     1:
   helper:
     DEVFILTER  ^global$|^LaCrosse_16$
     NOTIFYDEV  global|LaCrosse_16
     globalinit 1
     last_timer 1
     sleeptimer -1
     triggerDev
   intervalfunc:
   localtime:
     0          1631743260
   readings:
     all         LaCrosse_16:temperature
   realtime:
     0          00:01:00
   time:
     0          {twilight("myTwilight","ss_indoor","16:00","00:01")}
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1631743260:
       localtime  1631743260
       hash:
   uiState:
   uiTable:
Attributes:
   do         always
   room       Logo

In dieser Bis 23:59 und es funktoniert. Man sieht das sie eigentlich um 20:06 schaltet.
Internals:
   DEF        ([LaCrosse_16:temperature] < 20 and ([{twilight("myTwilight","ss_indoor","16:00","23:59")}]))
(set Kueche_ganz_runter trigger)
   FUUID      6135279e-f33f-5e7b-7967-18e93c87eefb1945
   MODEL      FHEM
   NAME       KuecheJalousie
   NOTIFYDEV  LaCrosse_16,global
   NR         157
   NTFY_ORDER 50-KuecheJalousie
   STATE      initialized
   TYPE       DOIF
   VERSION    24755 2021-07-15 16:40:59
   READINGS:
     2021-09-15 20:48:29   cmd             0
     2021-09-15 20:48:29   mode            enabled
     2021-09-15 20:48:29   state           initialized
     2021-09-15 20:48:29   timer_01_c01    16.09.2021 20:06:03
   Regex:
     accu:
     collect:
     cond:
       LaCrosse_16:
         0:
           temperature ^LaCrosse_16$:^temperature:
   condition:
     0          ::ReadingValDoIf($hash,'LaCrosse_16','temperature') < 20 and (::DOIF_time_once($hash,0,$wday))
   days:
   do:
     0:
       0          set Kueche_ganz_runter trigger
     1:
   helper:
     DEVFILTER  ^global$|^LaCrosse_16$
     NOTIFYDEV  global|LaCrosse_16
     globalinit 1
     last_timer 1
     sleeptimer -1
     triggerDev
   intervalfunc:
   localtime:
     0          1631815563
   readings:
     all         LaCrosse_16:temperature
   realtime:
     0          20:06:03
   time:
     0          {twilight("myTwilight","ss_indoor","16:00","23:59")}
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1631815563:
       localtime  1631815563
       hash:
   uiState:
   uiTable:
Attributes:
   do         always
   room       Logo

So klappt es aber ich hätte auch gerne die 16:00 drin.
 
([LaCrosse_16:temperature] <20 and [[myTwilight:ss_indoor]-06:50])
Hat jemand eine idee wie ich es bis nach Null uhr hinbekomme?
« Letzte Änderung: 15 September 2021, 21:01:57 von Wasserwerk33 »

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 8679
Antw:Doif und Twillight funktoniert nicht.
« Antwort #1 am: 15 September 2021, 21:04:50 »
{twilight("myTwilight","ss_indoor","16:00","00:01")}
Mit dem Befehl, willst du den Zeitpunkt der Dunkelheit einschränken, frühsten um 16:00 spätestens um 00:01.

Offenbar funktioniert es nur bis 23:59, was aber vollkommen ausreichend ist, denn: Wo wird es erst nach 23:59 Uhr dunkel? ;)

All das hat aber nichts mit DOIF zu tun.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Wasserwerk33

  • Full Member
  • ***
  • Beiträge: 496
Antw:Doif und Twillight funktoniert nicht.
« Antwort #2 am: 15 September 2021, 21:14:02 »
Hi
Ja du hast recht. Es wird selten nach 0:00 uhr dunkel. Aber mir geht es ejar um die Temperatur nach dem Sonnenuntergang. Also wenn es mal so wie jetzt in der Übergangszeit Nachts um 3 uhr erst die 20 (eigentlich soll es auf 16 grad Stehen --> testweise 20 grad) auch noch runterfahren.

wohin würdest du es den schieben?? Dann verschiebe ich es

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 8679
Antw:Doif und Twillight funktoniert nicht.
« Antwort #3 am: 15 September 2021, 21:21:32 »
Hi
Ja du hast recht. Es wird selten nach 0:00 uhr dunkel. Aber mir geht es ejar um die Temperatur nach dem Sonnenuntergang. Also wenn es mal so wie jetzt in der Übergangszeit Nachts um 3 uhr erst die 20 (eigentlich soll es auf 16 grad Stehen --> testweise 20 grad) auch noch runterfahren.

wohin würdest du es den schieben?? Dann verschiebe ich es

Es handelt sich bei deiner Definition der Zeit um einen Zeitpunkt, dieser ist nur in Augenblick des Triggers wahr, sonst nicht.

Das, was du vorhast, musst du mit einem Zeitintervall realisieren:

  ([LaCrosse_16:temperature] < 20 and [{twilight("myTwilight","ss_indoor","16:00","23:00")}-03:00])
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Wasserwerk33

  • Full Member
  • ***
  • Beiträge: 496
Antw:Doif und Twillight funktoniert nicht.
« Antwort #4 am: 15 September 2021, 21:28:02 »
die -3:00 ist das die letzte Zeit wo es schaltet oder wie muss ich das verstehen?? und was machen die Zeiten davor also die 23:00 uhr? die 16:00 ist mir klar.
Ich hatte ja auch schon zeiten gesetzt nur halt eben nicht an der richtigen stelle.

Das scheint laut. Reading zu funktionieren.  Ich melde mich ob es Schaltet.

Aber erst mal mega dank an dir.
« Letzte Änderung: 15 September 2021, 21:31:09 von Wasserwerk33 »

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 8679
Antw:Doif und Twillight funktoniert nicht.
« Antwort #5 am: 16 September 2021, 18:49:50 »
die -3:00 ist das die letzte Zeit wo es schaltet oder wie muss ich das verstehen?? und was machen die Zeiten davor also die 23:00 uhr? die 16:00 ist mir klar.
Ich hatte ja auch schon zeiten gesetzt nur halt eben nicht an der richtigen stelle.

Das scheint laut. Reading zu funktionieren.  Ich melde mich ob es Schaltet.

Aber erst mal mega dank an dir.

Hier findest du die Erklärungen zu Twilight: https://wiki.fhem.de/wiki/Twilight

und hier zu Zeitintervallen im DOIF: https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitintervallen
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Wasserwerk33

  • Full Member
  • ***
  • Beiträge: 496
Antw:Doif und Twillight funktoniert nicht.
« Antwort #6 am: 25 September 2021, 09:22:43 »
Habe es jetzt die ganze Zeit in Versuchung und bin die ganze Zeit am machen. Aber irgendwie habe ich wohl ein Brett vor dem Kopf.

Meine Sensoren sind Die von Technoline, diese Triggern ja alle paar Sekunden. Nur ich bekomme es nicht mit meiner Jalousiesteuerung hin. Sie werden bei jeder Temperatur änderung auch getriggert. Eigentlich reicht es mir ja wenn er einmal Triggert wenn die Temperatur und die Uhrzeit war wird.

 Was mir noch einfallen würde wäre ein dummy und diese dann abfragen. Aber vielleicht hat ja einer eine andere Idee für mich.

Es soll ja auch triggern aber nicht ständig

Internals:
   DEF        ([LaCrosse_16:temperature] <=18 and [{twilight("myTwilight","ss_indoor","16:30","23:59")}-6:49])

(set Wohnzimmer_ganz_runter trigger)
   FUUID      613528a7-f33f-5e7b-0266-336ebb06f3eec812
   MODEL      FHEM
   NAME       Wohnzimmer_Jalousie
   NOTIFYDEV  LaCrosse_16,global
   NR         158
   NTFY_ORDER 50-Wohnzimmer_Jalousie
   STATE      cmd_1
   TYPE       DOIF
   VERSION    24755 2021-07-15 16:40:59
   READINGS:
     2021-09-25 09:20:42   Device          LaCrosse_16
     2021-09-24 23:16:53   cmd             1
     2021-09-24 23:16:53   cmd_event       LaCrosse_16
     2021-09-24 23:16:53   cmd_nr          1
     2021-09-25 09:20:42   e_LaCrosse_16_temperature 16.8
     2021-09-24 23:04:10   mode            enabled
     2021-09-24 23:16:53   state           cmd_1
     2021-09-25 06:49:00   timer_01_c01    25.09.2021 19:42:17
     2021-09-25 06:49:00   timer_02_c01    26.09.2021 06:49:00
   Regex:
     accu:
     collect:
     cond:
       LaCrosse_16:
         0:
           temperature ^LaCrosse_16$:^temperature:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'LaCrosse_16','temperature') <=18 and ::DOIF_time($hash,0,1,$wday,$hms)
   days:
   do:
     0:
       0          set Wohnzimmer_ganz_runter trigger
     1:
   helper:
     DEVFILTER  ^global$|^LaCrosse_16$
     NOTIFYDEV  global|LaCrosse_16
     event      battery: ok,temperature: 16.8,humidity: 75
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   LaCrosse_16
     timerevent temperature: 17.9
     triggerDev LaCrosse_16
     timerevents:
       temperature: 17.9
     timereventsState:
       temperature: 17.9
     triggerEvents:
       battery: ok
       temperature: 16.8
       humidity: 75
     triggerEventsState:
       battery: ok
       temperature: 16.8
       humidity: 75
   internals:
   interval:
     0          -1
     1          0
   intervalfunc:
   localtime:
     0          1632591737
     1          1632631740
   readings:
     all         LaCrosse_16:temperature
   realtime:
     0          19:42:17
     1          06:49:00
   time:
     0          {twilight("myTwilight","ss_indoor","16:30","23:59")}
     1          6:49
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   trigger:
   triggertime:
     1632591737:
       localtime  1632591737
       hash:
     1632631740:
       localtime  1632631740
       hash:
   uiState:
   uiTable:
Attributes:
   do         always

Danke für eure Hilfe
« Letzte Änderung: 25 September 2021, 09:24:47 von Wasserwerk33 »

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 8679
Antw:Doif und Twillight funktoniert nicht.
« Antwort #7 am: 25 September 2021, 09:26:55 »
Zitat
Es soll ja auch triggern aber nicht ständig

Warum hast du dann do always genommen?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Wasserwerk33

  • Full Member
  • ***
  • Beiträge: 496
Antw:Doif und Twillight funktoniert nicht.
« Antwort #8 am: 25 September 2021, 09:37:50 »
Das habe ich genommen damit es am nächsten Tag auch wieder triggert. Auch wenn schon cmd1 steht.

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 8679
Antw:Doif und Twillight funktoniert nicht.
« Antwort #9 am: 25 September 2021, 09:42:19 »
Das habe ich genommen damit es am nächsten Tag auch wieder triggert. Auch wenn schon cmd1 steht.

Um 6:49 wird dein Intervall per Trigger beendet, dann wird automatisch in den DOELSE-Fall gewechselt, damit ist es für die nächste Zeitperiode automatisch aktiv.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Wasserwerk33

  • Full Member
  • ***
  • Beiträge: 496
Antw:Doif und Twillight funktoniert nicht.
« Antwort #10 am: 25 September 2021, 09:43:55 »
Stimmt. Ja sag ja hatte ein Brett vor dem Kopf. Nur noch auf die Zeilen geschaut und nicht tiefer.

Ja jetzt wird es funktionieren.