Ankündigung

Einklappen
Keine Ankündigung bisher.

crontab

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

    crontab

    Ich hab damit auch noch eine Schwierigkeit:

    Code:
    [Zentral]
        [[Uhrzeiten]]
            [[[Sonne]]]
                [[[[Berechnung]]]]
                    type = bool
                    visu = yes
                    crontab = init | 0,15,30,45 * * *
    
                [[[[AufgangAstronomisch]]]]
                    name = SonnenaufgangAstronomisch
                    type = foo
                    knx_dpt = 10
                    knx_send = 0/2/2
                    visu = yes
                    eval = sh.sun.rise()
                    eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                    enforce_updates = true
    sollte doch eigentlich alle 15min die Berechnung auslösen und an den knx schicken. Es passiert aber rein gar nichts. Wenn ich per telnet Zentral.Uhrzeiten.Sonne.Berechnung mit update auf True setze, funktioniert die Berechnung aber.

    Irgend eine Idee dazu, ich habe den Eindruck, dass der cron da nichts tut? Beim Init werden zwar auch die Werte berechnet (sehe ich in der Visu), aber ebenfalls nicht auf den knx geschickt.

    #2
    Hi,

    Du musst bei Berechnung noch enforce_updates = true machen und init = 1 | 0,15,30,45 * * * = 1.
    Aber noch einfacher ist es, wenn Du den crontab-Eintrag (mit der 1) einfach bei AnfangAstronomisch machst.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      #3
      Schon mal versucht ein enforce_update = true bei der Berechnung zu setzen? Fehlt m.E., darum läuft die Berechnung auch nur einmal.
      Davon abgesehen, warum verwendest Du hier nicht einfach cycle?

      Update: Waldemar war schneller :-)

      Kommentar


        #4
        Merci - probiere ich jetzt mal. Hab mich eigentlich an die Beispiele gehalten. Den crontab habe ich auch deswegen extra, weil der gleich mehrere Items updaten soll.

        Kommentar


          #5
          Der crontab macht nichts... Ich hab jetzt mal die vollständige Item gepostet. Die zwei auskommentierten Zeilen rühren daher, dass die bei mir eine Fehlermeldung erzeugen. Was ich zusätzlich noch sehe, ist, dass die Berechnungen selbst teilweise völlig falsche Werte liefern.

          Code:
          [Zentral]
              [[Uhrzeiten]]
                  [[[Sonne]]]
                      [[[[Berechnung]]]]
                          type = bool
                          visu = yes
                          crontab = init = 1 | 0,15,30,45 * * * = 1
                          enforce_updates = true
          
                      [[[[Sonnenaufgang]]]]
                          name = Sonnenaufgang
                          type = foo
                          knx_dpt = 10
                          knx_send = 0/2/2
                          visu = yes
          #                eval = sh.sun.rise().astimezone(sh.tzinfo()).strftime("%H:%M")
                          eval = sh.sun.rise()
                          eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                          enforce_updates = true
          
                      [[[[Sonnenuntergang]]]]
                          name = Sonnenuntergang
                          type = foo
                          knx_dpt = 10
                          knx_send = 0/2/3
                          visu = yes
          #                eval = sh.sun.set().astimezone(sh.tzinfo()).strftime("%H:%M")
                          eval = sh.sun.set()
                          eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                          enforce_updates = true
          
                      [[[[MorgendaemmerungBuergerlich]]]]
                          name = MorgendaemmerungBuergerlich
                          type = foo
                          knx_dpt = 10
                          knx_send = 0/2/4
                          visu = yes
                          eval = sh.sun.rise(-6)
                          eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                          enforce_updates = true
          
                      [[[[AbenddaemmerungBuergerlich]]]]
                          name = AbenddaemmerungBuergerlich
                          type = foo
                          knx_dpt = 10
                          knx_send = 0/2/5
                          visu = yes
                          eval = sh.sun.set(-6)
                          eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                          enforce_updates = true
          
                      [[[[MorgendaemmerungNautisch]]]]
                          name = MorgendaemmerungNautisch
                          type = foo
                          knx_dpt = 10
                          knx_send = 0/2/6
                          visu = yes
                          eval = sh.sun.rise(-12)
                          eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                          enforce_updates = true
          
                      [[[[AbenddaemmerungNautisch]]]]
                          name = AbenddaemmerungNautisch
                          type = foo
                          knx_dpt = 10
                          knx_send = 0/2/7
                          visu = yes
                          eval = sh.sun.set(-12)
                          eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                          enforce_updates = true
          
                      [[[[MorgendaemmerungAstronomisch]]]]
                          name = MorgendaemmerungAstronomisch
                          type = foo
                          knx_dpt = 10
                          knx_send = 0/2/8
                          visu = yes
                          eval = sh.sun.rise(-18)
                          eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                          enforce_updates = true
          
                      [[[[AbenddaemmerungAstronomisch]]]]
                          name = AbenddaemmerungAstronomisch
                          type = foo
                          knx_dpt = 10
                          knx_send = 0/2/9
                          visu = yes
                          eval = sh.sun.set(-18)
                          eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung
                          enforce_updates = true
          
                      [[[[Tag]]]]
                          name = Tag
                          type = bool
                          knx_dpt = 1
                          knx_send = 0/4/0
                          eval = sh.env.location.day()
                          eval_trigger = env.location.day
          
                      [[[[Nacht]]]]
                          name = Nacht
                          type = bool
                          knx_dpt = 1
                          knx_send = 0/4/1
                          eval = sh.env.location.night()
                          eval_trigger = env.location.night
          HTML-Code:
                  <p>Sonnenaufgang{{ basic.formula('Sonnenaufgang', 'env.location.sunrise', 'time') }}</p>
                  <p>Sonnenaufgang Item{{ basic.formula('SonnenaufgangItem', 'Zentral.Uhrzeiten.Sonne.Sonnenaufgang', 'time') }}</p>
                  <p>Morgendämmerung bürgerlich{{ basic.formula('MorgendaemmerungBuergerlich', 'Zentral.Uhrzeiten.Sonne.MorgendaemmerungBuergerlich', 'time') }}</p>
                  <p>Morgendämmerung nautisch{{ basic.formula('MorgendaemmerungNautisch', 'Zentral.Uhrzeiten.Sonne.MorgendaemmerungNautisch', 'time') }}</p>
                  <p>Morgendämmerung astronomisch{{ basic.formula('MorgendaemmerungAstronomisch', 'Zentral.Uhrzeiten.Sonne.MorgendaemmerungAstronomisch', 'time') }}</p>
                  <p>Sonnenuntergang{{ basic.formula('Sonnenuntergang', 'env.location.sunset', 'time') }}</p>
                  <p>Sonnenuntergang Item{{ basic.formula('SonnenuntergangItem', 'Zentral.Uhrzeiten.Sonne.Sonnenuntergang', 'time') }}</p>
                  <p>Abenddämmerung bürgerlich{{ basic.formula('AbenddaemmerungBuergerlich', 'Zentral.Uhrzeiten.Sonne.AbenddaemmerungBuergerlich', 'time') }}</p>
                  <p>Abenddämmerung nautisch{{ basic.formula('AbenddaemmerungNautisch', 'Zentral.Uhrzeiten.Sonne.AbenddaemmerungNautisch', 'time') }}</p>
                  <p>Abenddämmerung astronomisch{{ basic.formula('AbenddaemmerungAstronomisch', 'Zentral.Uhrzeiten.Sonne.AbenddaemmerungAstronomisch', 'time') }}</p>
                  <p>Mondaufgang{{ basic.formula('Mondaufgang', 'env.location.moonrise', 'time') }}</p>
                  <p>Monduntergang{{ basic.formula('Monduntergang', 'env.location.moonset', 'time') }}</p>
          Sonnenaufgang 5:57
          Sonnenaufgang Item 5:57
          Morgendämmerung bürgerlich 5:21
          Morgendämmerung nautisch 4:36
          Morgendämmerung astronomisch 3:43
          Sonnenuntergang 21:20
          Sonnenuntergang Item 20:42
          Abenddämmerung bürgerlich 21:18
          Abenddämmerung nautisch 22:03
          Abenddämmerung astronomisch 22:56
          Mondaufgang 10:47
          Monduntergang 22:23
          P.S. Die Begrifflichkeiten (Untergang, Dämmerung...) muss ich noch korrigieren - ändert aber nichts am Problem.
          Zuletzt geändert von awknx; 06.08.2016, 13:06.

          Kommentar


            #6
            Hi,

            ich zitier mich mal selbst:
            Du musst bei Berechnung noch enforce_updates = true machen (ist gemacht) und init = 1 | 0,15,30,45 * * * = 1 (ist nicht gemacht).

            Zu den Berechnungen kann ich nichts sagen...

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #7
              Hallo Waldemar,

              das mit der =1 war mir nicht aufgefallen :-(

              Jetzt bekomme ich schon mal einen Anfangswert und die Werte schauen auch besser aus (stimmen aber noch nicht):

              Sonnenaufgang 5:57
              Sonnenaufgang Item 5:57
              Morgendämmerung bürgerlich 5:21
              Morgendämmerung nautisch 4:36
              Morgendämmerung astronomisch 3:43
              Sonnenuntergang 21:20
              Sonnenuntergang Item 20:42
              Abenddämmerung bürgerlich 21:18
              Abenddämmerung nautisch 22:03
              Abenddämmerung astronomisch 22:56
              Mondaufgang 10:47
              Monduntergang 22:23
              Edit: Habe die Werte jetzt mal gegengerechnet. Das Einzige was nicht stimmt, ist Sonnenuntergang 21:20 und Sonnenuntergang Item 20:42, die müssten identisch sein. Der richtige Wert ist 20:42 (orts- und sommerzeitbezogen), d.h. env.location.sunset rechnet anders als sh.sun.set()
              Zuletzt geändert von awknx; 06.08.2016, 13:04.

              Kommentar


                #8
                Hab jetzt auch die oberen Quotings korrigiert und richtig benannt.

                Das zyklische Senden funktioniert jetzt auch.
                Zuletzt geändert von awknx; 06.08.2016, 13:18.

                Kommentar


                  #9
                  Nach diversen Neustarts von smarthome.py schaut es so aus, als ob die Berechnung immer wieder irgendwo falsch läuft. Jetzt ist beispielsweise das zu sehen:

                  Sonnenaufgang 5:57
                  Sonnenaufgang Item 5:57
                  Morgendämmerung bürgerlich 4:36
                  Morgendämmerung nautisch 4:38
                  Morgendämmerung astronomisch 3:43
                  Sonnenuntergang 20:42
                  Sonnenuntergang Item 21:27
                  Abenddämmerung bürgerlich 21:18
                  Abenddämmerung nautisch 22:03
                  Abenddämmerung astronomisch 22:56
                  Mondaufgang 10:47
                  Monduntergang 22:23
                  Der Fehler also genau umgekehrt beim Sonnenuntergang.

                  Kommentar


                    #10
                    Wie sieht denn Dein log aus? Ähnliches hatte ich früher, da hat ephem Fehler geworfen.
                    Viele Grüße
                    Martin

                    There is no cloud. It's only someone else's computer.

                    Kommentar


                      #11
                      2016-08-06 14:17:44 INFO env_init Item env.core.version = 1.1.1 via Logic None None
                      2016-08-06 14:17:44 INFO Zentral.Uhrzeiten.Sonne.Berechnung Item Zentral.Uhrzeiten.Sonne.Berechnung = True via Scheduler None None
                      2016-08-06 14:17:45 INFO env_init Item env.core.start = 2016-08-06 14:17:45.095704+02:00 via Logic None None
                      2016-08-06 14:17:45 INFO env_init Item env.system.name = ibbgateway via Logic None None
                      2016-08-06 14:17:45 INFO env_loc Item env.location.sunrise = 2016-08-07 05:57:32.054982+02:00 via Logic None None
                      2016-08-06 14:17:45 INFO Zentral.Uhrzeiten.Sonne.Sonnenaufgang Item Zentral.Uhrzeiten.Sonne.Sonnenaufgang = 2016-08-07 03:57:32.054989+00:00 via Eval Zentral.Uhrzeiten.Sonne.Berechnung None
                      2016-08-06 14:17:45 INFO env_init Item env.system.start = 2016-08-06 12:38:28.222544+02:00 via Logic None None
                      2016-08-06 14:17:45 INFO env_loc Item env.location.sunset = 2016-08-06 20:42:30.517070+02:00 via Logic None None
                      2016-08-06 14:17:45 INFO env_loc Item env.location.moonrise = 2016-08-07 10:47:06.869797+02:00 via Logic None None
                      2016-08-06 14:17:45 INFO env_loc Item env.location.moonset = 2016-08-06 22:23:27.717342+02:00 via Logic None None
                      2016-08-06 14:17:45 INFO env_loc Item env.location.moonphase = 1 via Logic None None
                      2016-08-06 14:17:45 INFO env_loc Item env.location.day = True via Logic None None
                      2016-08-06 14:17:45 INFO Zentral.Uhrzeiten.Sonne.Sonnenuntergang Item Zentral.Uhrzeiten.Sonne.Sonnenuntergang = 2016-08-06 19:27:07.678639+00:00 via Eval Zentral.Uhrzeiten.Sonne.Berechnung None
                      2016-08-06 14:17:46 INFO Zentral.Uhrzeiten.Sonne.AbenddaemmerungBuergerlich Item Zentral.Uhrzeiten.Sonne.AbenddaemmerungBuergerlich = 2016-08-06 19:18:48.989850+00:00 via Eval Zentral.Uhrzeiten.Sonne.Berechnung None
                      2016-08-06 14:17:46 INFO Zentral.Uhrzeiten.Sonne.MorgendaemmerungBuergerlic h Item Zentral.Uhrzeiten.Sonne.MorgendaemmerungBuergerlic h = 2016-08-07 02:36:55.354998+00:00 via Eval Zentral.Uhrzeiten.Sonne.Berechnung None
                      2016-08-06 14:17:46 INFO Zentral.Uhrzeiten.Sonne.MorgendaemmerungNautisch Item Zentral.Uhrzeiten.Sonne.MorgendaemmerungNautisch = 2016-08-08 02:38:44.427691+00:00 via Eval Zentral.Uhrzeiten.Sonne.Berechnung None
                      2016-08-06 14:17:46 INFO Zentral.Uhrzeiten.Sonne.AbenddaemmerungNautisch Item Zentral.Uhrzeiten.Sonne.AbenddaemmerungNautisch = 2016-08-06 20:03:05.218132+00:00 via Eval Zentral.Uhrzeiten.Sonne.Berechnung None
                      2016-08-06 14:17:47 INFO Zentral.Uhrzeiten.Sonne.AbenddaemmerungAstronomisc h Item Zentral.Uhrzeiten.Sonne.AbenddaemmerungAstronomisc h = 2016-08-06 20:56:46.997583+00:00 via Eval Zentral.Uhrzeiten.Sonne.Berechnung None
                      2016-08-06 14:17:47 INFO Zentral.Uhrzeiten.Sonne.Tag Item Zentral.Uhrzeiten.Sonne.Tag = True via Eval env.location.day None
                      2016-08-06 14:17:49 INFO env_stat Item env.core.memory = 14192640 via Logic None None
                      2016-08-06 14:17:49 INFO env_stat Item env.system.load = 0.34 via Logic None None
                      2016-08-06 14:17:49 INFO env_stat Item env.location.moonlight = 14 via Logic None None
                      2016-08-06 14:22:49 INFO env_stat Item env.system.load = 0.14 via Logic None None
                      Fehlermeldungen tauchen nicht auf.
                      Zuletzt geändert von awknx; 06.08.2016, 15:02.

                      Kommentar


                        #12
                        Mir fällt auf dei Schnelle nur auf, dass um 14:17 die Morgendämmerung (Bürgerlich) für den 7. August berechnet wird und die Morgendämmerung (Nautisch) für den 8. August.

                        Mit der astronomischen Dämmerung musst Du etwas aufpasst. Die tritt im Sommer gar nicht ein, da die Sonne dann nicht so tief unter den Horizont sinkt.

                        Ich mache diese Berechnungen übrigens in einer Logik folgendermaßen.

                        Beispiele aus der Logik:
                        Code:
                            sh.mysun.dusk.civil(sh.sun.set(-6).astimezone(sh.tzinfo()).strftime("%H:%M:%S"))
                            sh.mysun.dawn.nautical(sh.sun.rise(-12).astimezone(sh.tzinfo()).strftime("%H:%M:%S"))
                        und löse die Logik folgendermaßen aus:
                        Code:
                        [mysunmoon]
                            filename = mysunmoon.py
                            crontab = init | sunrise+1m | sunset+1m | sunrise-6 | sunset-6 | sunset-12
                            cycle = 1800
                        Viele Grüße
                        Martin

                        There is no cloud. It's only someone else's computer.

                        Kommentar

                        Lädt...
                        X