Ankündigung

Einklappen
Keine Ankündigung bisher.

UZSU - Neue Version von Onkelandy

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Für raspbian werde ich scipy ins neue Image einbinden.
    Das mit Feiertag kann ich mal gucken. Wie würde das visu widget aussehen?
    bei fhem gibt es offenbar einen holiday Eintrag, vielleicht kann man da was übernehmen. Kannst du mal recherchieren?

    Kommentar


      Zitat von Onkelandy Beitrag anzeigen
      Das mit Feiertag kann ich mal gucken. Wie würde das visu widget aussehen?
      Als erste Idee: Man könnte einen 8. Wochentag für Feiertag hinzufügen, der den jeweiligen richtigen Wochentag übersteuert.
      bzgl. FHEM recherchiere ich mal und melde mich. Wird aber erst im neuen Jahr.

      Kommentar


        Ich habe diese Funktion mit einer (separaten) "Hangover" Funktion gelöst, da es keine umfassende Lösung auch für Urlaub, Krankheit, etc. gibt. Den Regelfall bildet die UZSU ab und gibt den Zeitrahmen vor. Außnahmen werden separat gelöst.

        Kommentar


          Wie sieht die hangover lösung aus? Logik?

          wegen 8. tag in visu gäbs noch das Problem mit dem Vortag/abend

          Kommentar


            Naja, ist schon etwas umfangreicher - aber kurz:
            Hangover ist ein zentrales Item (welches neben Abwensendheit, Urlaub, Party von der Home-Mode StateMachine mitverwaltet wird) und täglich um 12:00 Uhr auf 0 gesetzt wird. UZSU steuert ein "bedtime" Item, welches beispielsweise die Rolladen StateMachine in den Nacht Modus bringt. Wenn der Nachtmodus aktiv ist und Hangover=true, dann bleibt die StateMachine im Nachmodus bis Hangover auf false geht. Das hat den Vorteil, dass man Hangover schon tagsüber (also nach 12:00 Uhr) aktivieren kann, ohne dass die Rolläden zufahren. Ich bastle gerade noch ein wenig an der Home-StateMachine und möchte diese auch als Blog veröffentlichen, wenn diese ausgereift ist.
            Die Urlaubs-/Feiertage habe nich noch nicht automatisiert, aber könnte mir vorstellen hierfür die ical Schnittstelle zu nutzen um Hangover für den Folgetag zu aktivieren. Man könnte Hangover dann vor dem Schalfengehen deaktivieren, sofern man am nächsten Tag gemäss UZSU Zeit-Rahmen aufstehen möchte...

            Kommentar


              Onkelandy

              Ich habe bei der Verwendunge der USZU aus dem develop noch ein Thema gefunden. Es scheint mit der Verwendung von Sunset/Sunrise +/- Grad zusammen zu hängen.

              Ich habe im Widget Sunset -7° eingetragen.
              1.JPG
              Es wird die Zeit 17.11 berechnet und angezeigt.

              Im Item (dict) schein es auch anzukommen.
              3.JPG

              Im WebIF der USZU steht es aber nicht, bzw. wird dort schon das nächste Ereignis angezeigt.
              2.JPG


              Im Log kommt:
              Code:
              2019-01-01  17:05:55 DEBUG    Main         Update Item Rollladen.OG.Alle.uzsu, Caller Visu, Source 192.168.2.100:52264, Dest None. Will update: True
              2019-01-01  17:05:55 DEBUG    Main         Removed duplicate entries for item Rollladen.OG.Alle.uzsu.
              2019-01-01  17:05:55 DEBUG    Main         Got update for item Rollladen.OG.Alle.uzsu: [{'value': '1', 'time': 'sunset-7', 'calculated': '17:05', 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'active': True}]
              2019-01-01  17:05:55 DEBUG    Main         Update Item Rollladen.OG.Alle.uzsu, Caller UZSU Plugin, Source update, Dest None. Will update: False
              2019-01-01  17:05:55 DEBUG    Main         scheduler_remove: name = plugins.uzsu.uzsu_Rollladen.OG.Alle.uzsu
              2019-01-01  17:05:55 DEBUG    Main         Schedule Item Rollladen.OG.Alle.uzsu, Trigger: update, Changed by: Visu:192.168.2.100:52264
              2019-01-01  17:05:55 DEBUG    Main         Updated sun entries for item Rollladen.OG.Alle.uzsu, triggered by schedule. sunrise: 08:10, sunset: 16:27
              2019-01-01  17:05:55 DEBUG    Main         Could not create a rrule from rrule: 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU' and time:'05:51<sunrise-6'
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-25 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for next
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         next time for sunrise: 2018-12-25 06:30:57.143877+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-25 07:30:57.143877+01:00
              2019-01-01  17:05:55 DEBUG    Main         Looking for next sun-related time. Found rrule: DTSTART:20181225T073057;RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2019-01-02 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for next
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         next time for sunrise: 2019-01-02 06:32:17.943938+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2019-01-02 07:32:17.943938+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2019-01-02 07:32:17.943938+01:00
              2019-01-01  17:05:55 DEBUG    Main         Sun calculation 07:32 entry not updated for item Rollladen.OG.Alle.uzsu with value 07:32
              2019-01-01  17:05:55 DEBUG    Main         Return from rrule next: 2019-01-02 07:32:17.943938+01:00, value 0.
              2019-01-01  17:05:55 DEBUG    Main         Could not create a rrule from rrule: 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU' and time:'05:51<sunrise-6'
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-25 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2018-12-25 06:30:57.143877+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-25 07:30:57.143877+01:00
              2019-01-01  17:05:55 DEBUG    Main         Looking for previous sun-related time. Found rrule: DTSTART:20181225T073057;RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2019-01-01 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2019-01-01 06:32:17.477964+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2019-01-01 07:32:17.477964+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2019-01-01 07:32:17.477964+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2019-01-01 07:32:17.477964+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-31 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2018-12-31 06:32:14.234820+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-31 07:32:14.234820+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2018-12-31 07:32:14.234820+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-31 07:32:14.234820+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-30 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2018-12-30 06:32:08.224280+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-30 07:32:08.224280+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2018-12-30 07:32:08.224280+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-30 07:32:08.224280+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-29 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2018-12-29 06:31:59.458394+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-29 07:31:59.458394+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2018-12-29 07:31:59.458394+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-29 07:31:59.458394+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-28 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2018-12-28 06:31:47.950692+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-28 07:31:47.950692+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2018-12-28 07:31:47.950692+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-28 07:31:47.950692+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-27 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2018-12-27 06:31:33.717099+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-27 07:31:33.717099+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2018-12-27 07:31:33.717099+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-27 07:31:33.717099+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-26 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2018-12-26 06:31:16.775089+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-26 07:31:16.775089+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2018-12-26 07:31:16.775089+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-26 07:31:16.775089+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-25 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: 05:51<sunrise-6
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunrise: 2018-12-25 06:30:57.143877+00:00
              2019-01-01  17:05:55 DEBUG    Main         next_time.tzinfo gives tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Sunrise is included and calculated as 2018-12-25 07:30:57.143877+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) 05:51<sunrise-6: 2018-12-25 07:30:57.143877+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-25 07:30:57.143877+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Update Item Rollladen.OG.Alle.uzsu, Caller UZSU Plugin, Source schedule, Dest None. Will update: False
              2019-01-01  17:05:55 DEBUG    Main         uzsu active entry for item Rollladen.OG.Alle.uzsu with datetime 2019-01-02 07:32:17.943938+01:00, value 0 and tzinfo tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Could not create a rrule from rrule: 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU' and time:'sunset-5<22:19'
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-25 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for next
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         next time for sunset: 2018-12-25 15:53:14.208285+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-25 16:53:14.208285+01:00
              2019-01-01  17:05:55 DEBUG    Main         Looking for next sun-related time. Found rrule: DTSTART:20181225T165314;RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2019-01-02 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for next
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         next time for sunset: 2019-01-02 15:59:49.006299+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2019-01-02 16:59:49.006299+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2019-01-02 16:59:49.006299+01:00
              2019-01-01  17:05:55 DEBUG    Main         Sun calculation 16:59 entry not updated for item Rollladen.OG.Alle.uzsu with value 16:59
              2019-01-01  17:05:55 DEBUG    Main         Return from rrule next: 2019-01-02 16:59:49.006299+01:00, value 1.
              2019-01-01  17:05:55 DEBUG    Main         Could not create a rrule from rrule: 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU' and time:'sunset-5<22:19'
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-25 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-25 15:53:14.208285+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-25 16:53:14.208285+01:00
              2019-01-01  17:05:55 DEBUG    Main         Looking for previous sun-related time. Found rrule: DTSTART:20181225T165314;RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2019-01-01 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2019-01-01 15:58:51.520022+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2019-01-01 16:58:51.520022+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2019-01-01 16:58:51.520022+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2019-01-01 16:58:51.520022+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-31 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-31 15:57:56.244998+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-31 16:57:56.244998+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2018-12-31 16:57:56.244998+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-31 16:57:56.244998+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-30 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-30 15:57:03.241989+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-30 16:57:03.241989+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2018-12-30 16:57:03.241989+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-30 16:57:03.241989+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-29 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-29 15:56:12.568709+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-29 16:56:12.568709+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2018-12-29 16:56:12.568709+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-29 16:56:12.568709+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-28 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-28 15:55:24.279622+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-28 16:55:24.279622+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2018-12-28 16:55:24.279622+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-28 16:55:24.279622+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-27 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-27 15:54:38.425881+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-27 16:54:38.425881+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2018-12-27 16:54:38.425881+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-27 16:54:38.425881+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-26 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-26 15:53:55.054410+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-26 16:53:55.054410+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2018-12-26 16:53:55.054410+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-26 16:53:55.054410+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-25 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-5<22:19
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-25 15:53:14.208285+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-25 16:53:14.208285+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-5<22:19: 2018-12-25 16:53:14.208285+01:00
              2019-01-01  17:05:55 DEBUG    Main         Not returning previous rrule 2018-12-25 16:53:14.208285+01:00 because it's in the past.
              2019-01-01  17:05:55 DEBUG    Main         Update Item Rollladen.OG.Alle.uzsu, Caller UZSU Plugin, Source schedule, Dest None. Will update: False
              2019-01-01  17:05:55 DEBUG    Main         uzsu active entry for item Rollladen.OG.Alle.uzsu with datetime 2019-01-02 16:59:49.006299+01:00, value 1 and tzinfo tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         uzsu active entry for item Rollladen.OG.Alle.uzsu keep 2019-01-02 07:32:17.943938+01:00, value 0 and tzinfo tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         Could not create a rrule from rrule: 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU' and time:'sunset-7'
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-25 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for next
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-7
              2019-01-01  17:05:55 DEBUG    Main         next time for sunset: 2018-12-25 16:05:05.564559+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-25 17:05:05.564559+01:00
              2019-01-01  17:05:55 DEBUG    Main         Looking for next sun-related time. Found rrule: DTSTART:20181225T170505;RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2019-01-02 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for next
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-7
              2019-01-01  17:05:55 DEBUG    Main         next time for sunset: 2019-01-02 16:11:35.182995+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2019-01-02 17:11:35.182995+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-7: 2019-01-02 17:11:35.182995+01:00
              2019-01-01  17:05:55 DEBUG    Main         Updated calculated time for item Rollladen.OG.Alle.uzsu entry {'value': '1', 'time': 'sunset-7', 'calculated': '17:05', 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'active': True} with value 17:11.
              2019-01-01  17:05:55 DEBUG    Main         Update Item Rollladen.OG.Alle.uzsu, Caller UZSU Plugin, Source update_sun, Dest None. Will update: False
              2019-01-01  17:05:55 DEBUG    Main         Return from rrule next: 2019-01-02 17:11:35.182995+01:00, value 1.
              2019-01-01  17:05:55 DEBUG    Main         Could not create a rrule from rrule: 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU' and time:'sunset-7'
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2018-12-25 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-7
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2018-12-25 16:05:05.564559+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2018-12-25 17:05:05.564559+01:00
              2019-01-01  17:05:55 DEBUG    Main         Looking for previous sun-related time. Found rrule: DTSTART:20181225T170505;RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU
              2019-01-01  17:05:55 DEBUG    Main         Given param dt=2019-01-01 00:00:00+01:00, tz=tzfile('/usr/share/zoneinfo/Europe/Berlin') for previous
              2019-01-01  17:05:55 DEBUG    Main         Examine param time string: sunset-7
              2019-01-01  17:05:55 DEBUG    Main         previous time for sunset: 2019-01-01 16:10:38.626697+00:00
              2019-01-01  17:05:55 DEBUG    Main         Sunset is included and calculated as 2019-01-01 17:10:38.626697+01:00
              2019-01-01  17:05:55 DEBUG    Main         Result parsing time (rrule) sunset-7: 2019-01-01 17:10:38.626697+01:00
              2019-01-01  17:05:55 DEBUG    Main         Return from rrule previous: 2019-01-01 17:10:38.626697+01:00, value 1.
              2019-01-01  17:05:55 DEBUG    Main         Update Item Rollladen.OG.Alle.uzsu, Caller UZSU Plugin, Source schedule, Dest None. Will update: False
              2019-01-01  17:05:55 DEBUG    Main         uzsu active entry for item Rollladen.OG.Alle.uzsu with datetime 2019-01-02 17:11:35.182995+01:00, value 1 and tzinfo tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         uzsu active entry for item Rollladen.OG.Alle.uzsu keep 2019-01-02 07:32:17.943938+01:00, value 0 and tzinfo tzfile('/usr/share/zoneinfo/Europe/Berlin')
              2019-01-01  17:05:55 DEBUG    Main         will add scheduler named uzsu_Rollladen.OG.Alle.uzsu with datetime 2019-01-02 07:32:17.943938+01:00 and tzinfo tzfile('/usr/share/zoneinfo/Europe/Berlin') and value 0.0
              2019-01-01  17:05:55 DEBUG    Main         scheduler_add: name = plugins.uzsu.uzsu_Rollladen.OG.Alle.uzsu, parameters: prio=3, value={'value': 0.0, 'item': Item: Rollladen.OG.Alle.uzsu}, next=datetime.datetime(2019, 1, 2, 7, 32, 17, 943938, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin'))
              uns ausgeführt wird es auch nicht.

              Kannst Du dir das erklären?

              Kommentar


                Zitat von Onkelandy Beitrag anzeigen
                bei fhem gibt es offenbar einen holiday Eintrag, vielleicht kann man da was übernehmen. Kannst du mal recherchieren?
                Ich habe mal kurz bei FHEM geschaut.
                Entsprechendes Wiki

                Im Prinzip kann man dort via Datei oder ical (Liste) eine Liste von Feiertagen etc angeben. Diese werden eingelesen und dann als zusätzliche "Wochenende" geführt und auch so behandelt.

                Ähnlich könnten wir es auch umsetzen.
                Idee:
                • Behandlung des Tages vor einem Feiertag wie Freitag
                • Behandlung des Feiertag, wenn kein Feiertag folgt wie ein Sonntag
                • Behandlung des Feiertag, wenn ein Feiertag folgt wie ein Samstag

                Kommentar


                  Zitat von Sisamiwe Beitrag anzeigen
                  Idee:
                  • Behandlung des Tages vor einem Feiertag wie Freitag
                  • Behandlung des Feiertag, wenn kein Feiertag folgt wie ein Sonntag
                  • Behandlung des Feiertag, wenn ein Feiertag folgt wie ein Samstag
                  • Behandlung des Tages vor einem Feiertag und wenn davor kein Wochenende ist wie Freitag
                  • Behandlung des Feiertag, wenn kein Feiertag folgt und kein Wochenende folgt wie ein Sonntag
                  • Behandlung des Feiertag, wenn ein Feiertag folgt oder ein Wochenende folgt wie ein Samstag

                  Könnte man dann auch gleich ein iCal oder eine Datei übergeben mit seinem Urlaub? Wo dann die Urlaubstage wie Sonntag behandelt werden.
                  Wäre ja evtl. gleich ein Abwasch.

                  Kommentar


                    Würde ich nicht so machen. Das scheint mir in der Praxis sehr fehleranfällig.
                    Beispiele:
                    • Jemand lässt immer am Freitag anzeigen, dass die Mülltonne raus soll. Kommt dann auch vor jedem Feiertag.
                    • Am Samstag stehen viele früher auf als am Sonntag (Einkaufen, Gartenarbeit, ...). Das würde dann z.B. auch für 1. Weihnachtsfeiertag, Ostersonntag und Pfingstsonntag gelten.
                    • Oder jemand Arbeitet am Samstag und hat dafür am Montag frei (Verkäufer, Frisör, ...). Dann ist der Montag das, was für andere der Samstag ist und liegt erst noch nach dem Sonntag.
                    • Was gilt, wenn ein Sonntag vor einem Feiertag liegt? Wird er dann als Freitag oder als Sonntag behandelt?

                    Deshalb würde ich unbedingt separate Einstellungen für Feiertage machen. Für FHEM gibt es im Widget ja das !WE und WE, welches wohl dafür genutzt wird. Dies könnte man ja ausbauen mit der Optionen "vor einem Feiertag"

                    Kommentar


                      Wenn ich das bei fhem richtig verstehe, bekommt jeder Eintrag in der UZSU einfach die Info dazu, ob die Schaltung nur am Werktag, nur am Feiertag oder bei beidem stattfinden soll - zusätzlich zur Definition des Wochentags.

                      Gebe ich also an, dass jeden "normalen" Freitag um 9 Uhr die jalousie hochfahren soll, müsste ich beim FR, 9 Uhr Eintrag die "Werktag" Checkbox aktivieren.
                      Möchte ich, dass an jedem Feiertag um 10 Uhr die Jalousie hochfährt, müsste ich bei der Uhrzeit 10 Uhr alle Tage markieren (was aber beim Plugin eh automatisch passiert, wenn kein Tag gewählt wird) und das Häkchen "Feiertag" setzen.
                      Für den Feiertagsvorabend/tag bräuchte es eben eine weitere Optionsbox.

                      Wird keine Option angehakt, werden automatisch alle drei Varianten (Werktag, Vor-Feiertag, Feiertag) in das Item-Dict geschrieben.

                      Beim Setzen des Schedulers müsste dann zuerst gecheckt werden, ob heute oder morgen Feiertag ist und abhängig von den Infos im holiday-dict entscheiden, ob der Eintrag ignoriert wird oder nicht.

                      Die Info zu den Feiertagen müsste meiner Meinung nach aber über shng oder ein anderes Plugin kommen, oder!? Zumal diese Info ja auch zB für stateengine Plugin u.ä. relevant wäre. Die Frage wäre, wie diese Info bereitgestellt wird und wie das Plugin drauf zugreift. De facto bräuchte UZSU ja zB ein Datum des nächsten Feier- oder Urlaubstages.

                      Kommentar


                        Zitat von Onkelandy Beitrag anzeigen
                        Die Info zu den Feiertagen müsste meiner Meinung nach aber über shng oder ein anderes Plugin kommen, oder!? Zumal diese Info ja auch zB für stateengine Plugin u.ä. relevant wäre. Die Frage wäre, wie diese Info bereitgestellt wird und wie das Plugin drauf zugreift. De facto bräuchte UZSU ja zB ein Datum des nächsten Feier- oder Urlaubstages.
                        Dies muss definitiv in SHNG geschehen. Naheliegenderweise müsste dies in einem (oder mehreren) Items bereitgestellt werden. Von welchem Plugin dies dann gefüttert wird, wäre für die UZSU egal.

                        Fraglich ist noch, welches Format das Item hätte, spontan fallen mir folgende Möglichkeiten ein:
                        1. Wie von die erwähnt das nächste Datum.
                        2. Anzahl Tage bis zum nächsten Feiertag.
                        3. Zwei bool Items jeweils für "heute ist Feiertag" und "morgen ist Feiertag".
                        4. Liste mit mehreren Kalenderdaten, welche dann durchsucht wird.
                        Der Pfad zum Item müsste dann in der plugin.yaml konfiguriert werden.

                        Sinnvollerweise müsste man erst mal prüfen, welche existierenden Plugins solche Daten füllen könnten und welches Format damit bereits möglich ist (allen voran sicher das ical Plugin, vielleicht gibts aber noch andere).

                        Kommentar


                          Das ical Plugin ist wohl der richtige Weg. Wenn ich die Doku richtig verstehe gibt es zwei Varianten, das Plugin zu nutzen:
                          - Boolsches Item wenn aktuell ein Eintrag in einem Kalender existiert. Scheint mir hier zu unflexibel.
                          - Liste an Date Objekten mit sämtlichen Einträgen in einem Kalender mittels Itemfunktion sh.ical('kalendername')

                          Die UZSU müsste also einen Parameter in der plugin.yaml mit dem Link zu besagtem Item mit der Datums-Liste erhalten. Hat der UZSU Eintrag das "Feiertag"-Flag aktiv und ist der Tag der nächsten geplanten UZSU Schaltung in dieser Liste drin und aktiv, wird der Eintrag für den Scheduler in Betracht gezogen. Und umgekehrt.

                          Kommentar


                            Sisamiwe Kannst du bitte mal testen:
                            https://github.com/onkelandy/plugins/tree/uzsu/uzsu

                            Ich konnte dein Problem heute zwischen 19:10 und 19:20 nachvollziehen, komischerweise später nicht mehr. Dennoch denke ich, dass die Code-Änderung Sinn macht und das Problem mit sunet - x Grad behoben sein sollte.

                            Kommentar


                              Onkelandy Ich habe gerade mal die aktuelle Version des Plugins gezogen und habe jetzt ein Menge an Fehlermeldungen im Log!
                              Hier ein Auszug:

                              Code:
                              RecursionError: maximum recursion depth exceeded in comparison
                              2019-01-07  19:14:37 ERROR    uzsu         Item EG.Raum4.RolladenAlle.move.schaltuhr: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x71b4c650>>: maximum recursion depth exceeded in comparison
                              Traceback (most recent call last):
                                File "/usr/local/smarthome/lib/item.py", line 1039, in __update
                                  method(self, caller, source, dest)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 425, in update_item
                                  self._check_rruleandplanned(item)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 404, in _check_rruleandplanned
                                  item(self._items[item], 'UZSU Plugin', 'create_rrule')
                                File "/usr/local/smarthome/lib/item.py", line 839, in __call__
                                  self.__update(value, caller, source, dest)
                                File "/usr/local/smarthome/lib/item.py", line 1010, in __update
                                  if value != self._value:
                              RecursionError: maximum recursion depth exceeded in comparison
                              2019-01-07  19:14:37 ERROR    uzsu         Item EG.Raum8.Steckdosen.Steckdosen5.schaltuhr: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x71b4c650>>: maximum recursion depth exceeded in comparison
                              Traceback (most recent call last):
                                File "/usr/local/smarthome/lib/item.py", line 1039, in __update
                                  method(self, caller, source, dest)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 425, in update_item
                                  self._check_rruleandplanned(item)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 404, in _check_rruleandplanned
                                  item(self._items[item], 'UZSU Plugin', 'create_rrule')
                                File "/usr/local/smarthome/lib/item.py", line 839, in __call__
                                  self.__update(value, caller, source, dest)
                                File "/usr/local/smarthome/lib/item.py", line 1010, in __update
                                  if value != self._value:
                              RecursionError: maximum recursion depth exceeded in comparison
                              2019-01-07  19:14:37 ERROR    uzsu         Item EG.Raum7.Heizung.Betriebsmodus.schaltuhr: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x71b4c650>>: maximum recursion depth exceeded in comparison
                              Traceback (most recent call last):
                                File "/usr/local/smarthome/lib/item.py", line 1039, in __update
                                  method(self, caller, source, dest)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 425, in update_item
                                  self._check_rruleandplanned(item)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 404, in _check_rruleandplanned
                                  item(self._items[item], 'UZSU Plugin', 'create_rrule')
                                File "/usr/local/smarthome/lib/item.py", line 839, in __call__
                                  self.__update(value, caller, source, dest)
                                File "/usr/local/smarthome/lib/item.py", line 1010, in __update
                                  if value != self._value:
                              RecursionError: maximum recursion depth exceeded in comparison
                              2019-01-07  19:14:37 ERROR    uzsu         Item EG.Raum5.Rolladen2.move.schaltuhr: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x71b4c650>>: maximum recursion depth exceeded in comparison
                              Traceback (most recent call last):
                                File "/usr/local/smarthome/lib/item.py", line 1039, in __update
                                  method(self, caller, source, dest)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 425, in update_item
                                  self._check_rruleandplanned(item)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 404, in _check_rruleandplanned
                                  item(self._items[item], 'UZSU Plugin', 'create_rrule')
                                File "/usr/local/smarthome/lib/item.py", line 839, in __call__
                                  self.__update(value, caller, source, dest)
                                File "/usr/local/smarthome/lib/item.py", line 1010, in __update
                                  if value != self._value:
                              RecursionError: maximum recursion depth exceeded in comparison
                              2019-01-07  19:14:37 ERROR    uzsu         Item EG.Raum8.Rolladen1.pos.schaltuhr: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x71b4c650>>: maximum recursion depth exceeded in comparison
                              Traceback (most recent call last):
                                File "/usr/local/smarthome/lib/item.py", line 1039, in __update
                                  method(self, caller, source, dest)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 425, in update_item
                                  self._check_rruleandplanned(item)
                                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 404, in _check_rruleandplanned
                                  item(self._items[item], 'UZSU Plugin', 'create_rrule')
                                File "/usr/local/smarthome/lib/item.py", line 839, in __call__
                                  self.__update(value, caller, source, dest)
                                File "/usr/local/smarthome/lib/item.py", line 1010, in __update
                                  if value != self._value:

                              Kommentar


                                Zitat von Onkelandy Beitrag anzeigen
                                Mach ich gern. Wird aber wohl Ende der Woche.

                                Kommentar

                                Lädt...
                                X