Ankündigung

Einklappen
Keine Ankündigung bisher.

Sunrise / Sunset wird nicht aktualisiert

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Sunrise / Sunset wird nicht aktualisiert

    Vielleicht kann mir ja jemand bei folgendem Problem helfen?
    Sunrise und Sunset werden nicht täglich automatisch aktualisiert. An dem Problem beiße ich mir zZt. die Zähne aus (bald "zahnlos" (;-) ).
    Hier meine "zentral.conf":
    Code:
    [zentral]
        [[zeit]]
            [[[sonne]]]
                [[[[berechnung]]]]
                            type = bool
                            visu = yes
                            crontab = init | 1 0 * *
                            enforce_updates = true
                [[[[aufgang]]]]
                            name = Sonnenaufgang
                            type = foo
                            visu = yes
                            eval = sh.sun.rise().astimezone(sh.tzinfo()).strftime("%H:%M:%S")
                            eval_trigger = zentral.zeit.sonne.berechnung()
                            enforce_updates = true                        
                [[[[untergang]]]]
                            name = Sonnenuntergang
                            type = foo
                            visu = yes
                            eval = sh.sun.set().astimezone(sh.tzinfo()).strftime("%H:%M:%S")
                            eval_trigger = zentral.zeit.sonne.berechnung()
                            enforce_updates = true
    Und in der Smartvisu zeige ich an mit:
    Code:
        Sonnenaufgang:<BR>
                   {{ basic.value('sonnenaufgang', 'zentral.zeit.sonne.aufgang') }}
                   {{ basic.value('sonnenuntergang', 'zentral.zeit.sonne.untergang') }}<BR>
    Fehlt da noch eine Logik, damit es funktioniert oder was mache ich falsch?
    Wenn ich smartvisu restarte werden die Werte für diesen Zeitpunkt richtig berechnet und angezeigt.
    Gruß
    Hans
    Zuletzt geändert von Tontechniker; 09.04.2016, 19:27.

    #2

    Bei "eval_trigger = zentral.zeit.sonne.berechnung" die Klammern weglassen?

    Kommentar


      #3
      Hallo bmx,
      ich habe die Klammern weggelassen - das gleiche Ergebniss. Habe nach der Änderung zwei Tage abgewartet - keine Aktualisierung. Die Daten werden nur aktualisiert (berechnet) wenn ich einen Restart von "smarthome.pi" durchführe.
      Gruß
      Hans

      Kommentar


        #4
        Hi,

        wie bmx schon sagte, die Klammern sind falsch. Ferner würde ich mal
        Code:
            crontab = init = 1 | 1 0 * * = 1
        machen. Eigentlich musst Du ja sagen, welchen Wert das Item annehmen soll. Wobei es beim init wohl geklappt hat... hätte aber nicht klappen sollen (meiner Meinung nach).

        Gruß, Waldemar




        OpenKNX www.openknx.de

        Kommentar


          #5
          Ok, ich bin bei dem eval nicht so bewandert wie z.B. mumpf insofern würde ich mir da einfach eine Logik draus machen und die dann täglich nachts einmal aufrufen.

          Kommentar


            #6
            Hallo Waldemar, hallo @bmx,
            leider klappt das bei mir immer noch nicht. @bmx: ich bin in Logik nicht so bewandert. Wie würde denn eine Lösung über eine Logik aussehen? Es wäre sehr nett, wenn Du mir ein Beispiel geben könntest.
            Gruß Hans

            Kommentar


              #7
              Hmm, verstehe ich nicht.

              Sagt das Logfile um 00:01 Uhr irgendwas? Ich kann Dir nur anbieten, dass ich das bei mir ausprobiere, ich komme aber erst am Wochenende dazu. Am besten Du fragst hier nochmal am Samstag nach, falls ich es vergessen habe, kann ich es dann Sonntag gleich machen...

              Gruß, Waldemar
              OpenKNX www.openknx.de

              Kommentar


                #8
                Danke Waldemar!
                Ich melde mich am Samstag nochmal.
                Gruß
                Hans

                Kommentar


                  #9
                  Hallo Hans,

                  ich habe mal deine Items getestet und prinzipiell funktioniert es.

                  Code:
                  > ls zentral
                  Items:
                  ======
                  zentral.zeit
                  zentral.zeit.sonne
                  zentral.zeit.sonne.berechnung = False
                  zentral.zeit.sonne.aufgang = 06:28:49
                  zentral.zeit.sonne.untergang = 20:15:22
                  > ls zentral
                  Items:
                  ======
                  zentral.zeit
                  zentral.zeit.sonne
                  zentral.zeit.sonne.berechnung = True
                  zentral.zeit.sonne.aufgang = 06:26:34
                  zentral.zeit.sonne.untergang = 20:17:07
                  Aber wie du schon beobachtet hast nur ein mal, das liegt meiner Meinung nach da dran, dass "zentral.zeit.sonne.berechnung" nie False wird.
                  Damit setzt der crontab-Eintrag den Wert von True auf True und der eval_trigger löst nicht aus.
                  Du kannst mit "autotimer = 5 = 0" den Wert nach 5 Sekunden auf 0 setzen.
                  Das sollte helfen.
                  Es gibt bestimmt noch andere Möglichkeiten den Wert wieder auf False zu setzen.

                  Hier meine Items:
                  Code:
                  [zentral]
                      [[zeit]]
                          [[[sonne]]]
                              [[[[berechnung]]]]
                                          type = bool
                                          visu = yes
                                          crontab = init = 1 | 1 0 * * = 1
                                          enforce_updates = true
                                          autotimer = 5 = 0
                              [[[[aufgang]]]]
                                          name = Sonnenaufgang
                                          type = foo
                                          visu = yes
                                          eval = sh.sun.rise().astimezone(sh.tzinfo()).strftime("%H:%M:%S")
                                          eval_trigger = zentral.zeit.sonne.berechnung
                                          enforce_updates = true
                              [[[[untergang]]]]
                                          name = Sonnenuntergang
                                          type = foo
                                          visu = yes
                                          eval = sh.sun.set().astimezone(sh.tzinfo()).strftime("%H:%M:%S")
                                          eval_trigger = zentral.zeit.sonne.berechnung
                                          enforce_updates = true
                  Weiterhin könnte man nachdenken solche Items auch unter lib.env fest in sh.py zu integrieren, dann muss das nicht jeder selbst basteln.

                  Gruß
                  Christian

                  Kommentar


                    #10
                    Vielen Dank Christian!
                    Ich werde es testen und mich hier wieder melden.
                    Ich find es klasse, dass ihr "Smarthome" weiterentwickelt - vielen Dank!
                    Gruß Hans

                    Kommentar


                      #11
                      Hi Christian,

                      es kann sein, dass Deine Lösung hilft, allerdings ist Deine Begründung nicht korrekt. Das Item 'berechnung' hat enforce_updates = true gesetzt, das führt dazu, dass das Item auch triggert, wenn sich der Wert nicht ändert. Es sollte also auch ohne 0 funktionieren.
                      Mich würde interessieren, ob der Scheduler um 0:01 Uhr was macht. Das sieht man dann im Log...

                      Gruß, Waldemar

                      OpenKNX www.openknx.de

                      Kommentar


                        #12
                        Hans,
                        du kannst in der Visu laut psilo auch direkt folgendes schreiben:
                        Code:
                        {{ basic.formula('sunrise', 'env.location.sunrise', 'time') }}
                        dann können die Items auch wieder raus.

                        Zitat von mumpf Beitrag anzeigen
                        es kann sein, dass Deine Lösung hilft, allerdings ist Deine Begründung nicht korrekt. Das Item 'berechnung' hat enforce_updates = true gesetzt, das führt dazu, dass das Item auch triggert, wenn sich der Wert nicht ändert. Es sollte also auch ohne 0 funktionieren.
                        Mich würde interessieren, ob der Scheduler um 0:01 Uhr was macht. Das sieht man dann im Log...
                        Kann sein, dass es hätte funktionieren müssen und da ein Bug ist, so genau habe ich mir das bis jetzt nicht angeschaut.
                        Kann ich aber bei Gelegenheit mal tracen.

                        Grüße
                        Christian

                        Kommentar


                          #13
                          Ich behaupte auch zu 99% es updated täglich

                          Ausgabe siehe Screenshot
                          You do not have permission to view this gallery.
                          This gallery has 1 photos.

                          Kommentar


                            #14
                            Hallo @psilo,
                            Das Layout gefällt mir sehtgut! Ist es möglich,dass Du mir deine Lösung in der Visu zur Verfügung stellst?
                            Gruß Hans

                            Kommentar


                              #15
                              Joa, bindet aber KNX Werte + DWD Plugin Daten ein:

                              Code:
                              <div class="block">
                                      <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                                          <div data-role="collapsible" data-collapsed="false">
                                                          <h3>Sonne / Mond</h3>
                              
                                                          <table width=100%>    
                                                              <tr>
                                                                  <td align=left width=50%>
                                                                      {{ basic.symbol('DAY_NIGHT_1_sv_outside', 'env.location.day', 'Tag (SV)', 'icons/ws/scene_day.svg', 1) }}
                                                                      {{ basic.symbol('DAY_NIGHT_0_sv_outside', 'env.location.night', 'Nacht (SV)', 'icons/ws/scene_night.svg', 1) }}
                                                                  </td>
                                                                  <td align=left>
                                                                      {{ basic.symbol('DAY_NIGHT_1_outside', 'knx_global.weather.day_night', 'Tag (lx)', 'icons/ws/scene_day.svg', 0) }}
                                                                      {{ basic.symbol('DAY_NIGHT_0_outside', 'knx_global.weather.day_night', 'Nacht (lx)', 'icons/ws/scene_night.svg', 1) }}
                                                                  </td>
                                                              </tr>
                                                              <tr>
                                                                  <td align=left width=50%>
                                                                      <div>
                                                                          <img class="icon" src=" {{ icon0~'weather_sunrise.svg' }} " />
                                                                          {{ basic.formula('sunrise', 'env.location.sunrise', 'time') }}                                            
                                                                      </div>   
                                                                  </td>
                                                                  <td align=left>
                                                                          <img class="icon" src="{{ icon0~'weather_moonrise.svg' }}">
                                                                          {{ basic.formula('moonrise', 'env.location.moonrise', 'time') }}
                                                                  </td>
                                                              </tr>
                                                              <tr>
                                                                  <td align=left width=50%>
                                                                      <div>                                           
                                                                          <img class="icon" src=" {{ icon0~'weather_sunset.svg' }} " />
                                                                          {{ basic.formula('sunset', 'env.location.sunset', 'time') }}
                                                                      </div>   
                                                                  </td>
                                                                  <td align=left>                                            
                                                                          <img class="icon" src="{{ icon0~'weather_moonset.svg' }}">
                                                                          {{ basic.formula('moonset', 'env.location.moonset', 'time') }}
                                                                  </td>
                                                              </tr>
                                                              <tr>
                                                                  <td align=left width=50%>      
                                                                      {% import "icon.html" as icon %}
                                                                      <table>
                                                                          <tr><td width="55px;">  
                                                                      {{ icon.zenith('weather.sun.icon', '', 'weather.sun.icon') }}
                                                                          </td>
                                                                          <td>                                
                                                                      H:
                                                                      {{ basic.value('weather.sun.pos.current.azimut', 'weather.sun.pos.current.azimut', '') }} °
                                                                      <br/>
                                                                      V: {{ basic.value('weather.sun.pos.current.altitude', 'weather.sun.pos.current.altitude', '') }} °
                                                                          </td>
                                                                      </tr>
                                                                      </table>
                                                                  </td>
                                                                  <td align=left width=50%>      
                                                                      <table>
                                                                          <tr><td>
                                                                      {{ basic.symbol('moon_1_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_1_new.svg', 0) }}
                                                                      {{ basic.symbol('moon_2_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_2.svg', 1) }}
                                                                      {{ basic.symbol('moon_3_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_3_half.svg', 2) }}
                                                                      {{ basic.symbol('moon_4_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_4.svg', 3) }}
                                                                      {{ basic.symbol('moon_5_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_5_full.svg', 4) }}
                                                                      {{ basic.symbol('moon_6_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_6.svg', 5) }}
                                                                      {{ basic.symbol('moon_7_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_7_half.svg', 6) }}
                                                                      {{ basic.symbol('moon_8_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_8.svg', 7) }}
                                                                      {{ basic.symbol('moon_9_outside', 'env.location.moonphase', '', icon0~'weather_moon_phases_1_new.svg', 8) }}
                                                                              </td>
                                                                          <td>
                                                                      Mondlicht:<br/>{{ basic.value('moonlight', 'env.location.moonlight', '%') }}
                                                                          </td></tr>
                                                                      </table>
                                                                  </td>
                                                              </tr>                              
                                                              <tr>
                                                                  <td align=left width=50%>
                                                                          <img class="icon" src=" {{ icon0~'weather_light_meter.svg' }} " />
                                                                          {{ basic.float('brightness_dawn_value', 'knx_global.weather.brightness.dawn_value', 'lux') }}
                                                                  </td>
                                                                  <td align=left>
                                                                          <img class="icon" src=" {{ icon0~'weather_light_meter_o.svg' }} " />
                                                                          {{ basic.float('brightness_east', 'knx_global.weather.brightness.east', 'lux') }}
                                                                  </td>
                                                              </tr>
                                                              <tr>
                                                                  <td align=left width=50%>
                                                                          <img class="icon" src=" {{ icon0~'weather_light_meter_s.svg' }} " />
                                                                          {{ basic.float('brightness_south', 'knx_global.weather.brightness.south', 'lux') }}
                                                                  </td>
                                                                  <td align=left>
                                                                          <img class="icon" src=" {{ icon0~'weather_light_meter_w.svg' }} " />
                                                                          {{ basic.float('brightness_west', 'knx_global.weather.brightness.west', 'lux') }}
                                                                  </td>
                                                              </tr>
                                                              <tr>
                                                                  <td align=left colspan="2">
                                                                      <img class="icon" src=" {{ icon0~'weather_sun.svg' }} " style="float:left;"/>
                                                                      <div style="margin-left: 3px; margin-top:3px; width:100%;">  
                                                                      UV Index: {{ basic.value('dwd_weather.vorhersage.d0.uv.value', 'dwd_weather.vorhersage.d0.uv.value', '') }}
                                                                      ({{ basic.value('dwd_weather.vorhersage.d0.uv.string', 'dwd_weather.vorhersage.d0.uv.string', '') }})<br/>
                                                                      {{ basic.value('dwd_weather.vorhersage.d0.uv.criticality', 'dwd_weather.vorhersage.d0.uv.criticality', '') }}
                                                                      </div>
                                                                  </td>                                   
                                                              </tr>     
                                                          </table>
                                                          
                                          </div>
                                      </div>
                                  </div>

                              Kommentar

                              Lädt...
                              X