Astro Binding -> Item Status wechselt nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
peter-pan
Beiträge: 2727
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Astro Binding -> Item Status wechselt nicht

Beitrag von peter-pan »

mad-mike hat geschrieben: 28. Dez 2024 12:36 Eventuell mal anders:
Du kannst doch im LOG gucken, ob da was getriggert wird...
... ja, wenn das Logging entsprechend eingestellt ist.
Bei mir kommen fast nur Infos, wenn eine Rule triggert oder wenn eine Warnung/Fehler ausgegeben wird. Da kommen, wenn ich nicht gerade irgendwelche Änderungen vornehme, maximal 20-30 Log-Meldungen pro Tag hoch.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.2 openhabian

Benutzeravatar
udo1toni
Beiträge: 15053
Registriert: 11. Apr 2018 18:05
Answers: 239
Wohnort: Darmstadt

Re: Astro Binding -> Item Status wechselt nicht

Beitrag von udo1toni »

peter-pan hat geschrieben: 28. Dez 2024 14:16 Bei mir kommen fast nur Infos, wenn eine Rule triggert oder wenn eine Warnung/Fehler ausgegeben wird.
Dann hast Du das Logging zugedreht. :) Kann man machen, während der Konfiguration des Systems können Logs aber extrem hilfreich sein, deshalb plaudert openHAB im Normalzustand auch so viel...
openHAB4.3.2 stable in einem Debian-Container (bookworm) (Proxmox 8.3.3, LXC), mit openHABian eingerichtet

Benutzeravatar
peter-pan
Beiträge: 2727
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Astro Binding -> Item Status wechselt nicht

Beitrag von peter-pan »

udo1toni hat geschrieben: 28. Dez 2024 18:00 Dann hast Du das Logging zugedreht. :)
Genau.
Natürlich fasse ich die Loglevels bei neuen Konfigurationen weiter. Aber im Normalbetrieb brauche ich das nicht (schont auch die SD-Karte). Deshalb auch der Hinweis auf die Loglevels und den Tipp von @Harka
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.2 openhabian

Comprex
Beiträge: 7
Registriert: 25. Dez 2024 16:15
Answers: 0

Re: Astro Binding -> Item Status wechselt nicht

Beitrag von Comprex »

So, dann jetzt mal das finale Feedback.
Die Logs haben nur den Trigger für das eventDaylight (START/END) angezeigt, sonst nichts - angelegt hatte ich insgesamt 6 verschiedene Events mit jeweils 3x START und END.
Dann habe ich alle Rules und Items gelöscht, die mit dem Binding zu tun hatten und einmal durchgebootet.
Die 6 EVENTS und Items neu angelegt (alles mit neuen Namen). Das Daylight hat wieder sofort funktioniert, der Rest nicht.
Jetzt, also zwei Tage später triggern auch die anderen 4 EVENTS?!?!
Nicht das ich es verstehen würde, da alle identisch angelegt sind, aber nun ja. -> Status läuft (warum auch immer) :-)
Guten Rutsch@ all

Benutzeravatar
peter-pan
Beiträge: 2727
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Astro Binding -> Item Status wechselt nicht

Beitrag von peter-pan »

...na dann ist ja jetzt alles ok. Super
Comprex hat geschrieben: 31. Dez 2024 12:04 Nicht das ich es verstehen würde, da alle identisch angelegt sind, aber nun ja. -> Status läuft (warum auch immer) :-)
Guten Rutsch@ all
Ich empfehle dir aber trotzdem einen Blick in das Tutorial. Soweit ich auch weiss, werden die Werte, die das Binding bereitstellt, nachts, um kurz nach Mitternacht neu gesetzt. Deshalb kann es beim Ändern oder Neuaufsetzen evtl. schon mal zu Verzögerungen(Versatz) kommen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.2 openhabian

Benutzeravatar
udo1toni
Beiträge: 15053
Registriert: 11. Apr 2018 18:05
Answers: 239
Wohnort: Darmstadt

Re: Astro Binding -> Item Status wechselt nicht

Beitrag von udo1toni »

Njain...

openHAB berechnet alle Werte des Astro Bindings zyklisch neu, wobei die Zykluslänge in der Konfiguration angegeben wird. Üblicherweise sind das 5 Minuten. wesentlich längere Zykluszeiten sind ungünstig, weil auch Azimut und Elevation nur in diesem Zyklus berechnet werden, also Werte, die sich kontinuierlich verändern. Wesentlich kürzere Zykluszeiten bedeuten allerdings auch mehr verbrauchte Rechenzeit :)
Was die Zeitstempel des Tages betrifft, so ändern sich diese natürlich nur zum Datumswechsel (dennoch werden sie immer erneut berechnet, nur kommt halt immer das gleiche Ergebnis heraus...).
Die Trigger sollten im Scheduler eingetragen sein und vor dort "sekundengenau" ausgeführt werden, allerdings bin ich weder Programmierer um dies im Sourcecode zu verifizieren noch habe ich mir bisher die Mühe gemacht, die Zeiten auf Korrektheit zu prüfen. :)

Bei den verschiedenen Triggern für die Elevation (sunrise, noon, sunset, public/nautic/astronomic dawn/dusk) ist es so, dass der START Trigger des jeweils nächsten Elements immer mit dem END Trigger des vorherigen Elements zusammen fällt. Man kann sich hier aussuchen, worauf man reagieren möchte :) Ich empfehle dazu, die Logs mehrerer Tage auf die astro Channel zu filtern und in eine Textdatei zu schreiben, dann wird klar, wie das Schema abläuft.
openHAB4.3.2 stable in einem Debian-Container (bookworm) (Proxmox 8.3.3, LXC), mit openHABian eingerichtet

Benutzeravatar
peter-pan
Beiträge: 2727
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Astro Binding -> Item Status wechselt nicht

Beitrag von peter-pan »

udo1toni hat geschrieben: 31. Dez 2024 18:31Njain...
Du hast Recht.
Ich benutze die zyklischen Updates ja selbst zur Berechnung bestimmter Werte, z.B. der Entfernung zum Mond.
.rules

Code: Alles auswählen

val Number count=1
var Number mooncount=0

rule "moondistances"
    when
        Item Date_distance changed      // Item defined in astro.items  and changed every five minutes(300 sec.) by astro.things
    then
      if (Date_distance.state instanceof DateTimeType) {
          Date_Kilometer_actual.postUpdate(Date_distance.state.format("%1$ta, %1$td.%1$tb. ") + " / " + Kilometer_distance.state.format("%,.0f km").toString)
          Date_Kilometer_perigee.postUpdate(Date_perigee.state.format("%1$ta, %1$td.%1$tb. ") + " / " + Kilometer_perigee.state.format("%,.0f km").toString)
          Date_Kilometer_apogee.postUpdate(Date_apogee.state.format("%1$ta, %1$td.%1$tb. ") + " / " + Kilometer_apogee.state.format("%,.0f km").toString)
          mooncount = mooncount + count
        if (mooncount >= 48) {       //refresh counter
            logInfo("astro-rules" + '_99'," Moondistance updated every 5 Minutes by \"astro.things \" " + Date_distance.state + " / " + mooncount + " Log every 4 hours - it's the 48 crash - Suzie Quatro")
            mooncount = 0
            logInfo("astro-test", "das formatierte Datum ist {}", Date_distance.state.format("%1$ta, der %1$td.%1$tb %1$ty "))   //Testausgabe eines DateTime-Items als formatierter String
       }
     }
     else {
         logInfo("astro-rules" + '_99'," log before state - ich bin Else, wer bist du  ?  ")
         logInfo("astro-rules" + '_99'," Date_distance ist {}", Date_distance.state)
     }  
end
Diese Regel wird gemäss dem Parameter in meiner Things-Datei

Code: Alles auswählen

//    Astro - Binding Geo-Position  geolocation="12.351435,23.47931,999"

// astronomische Jahreszeiten (Tag- und Nachtgleiche)
Thing astro:sun:local     "Sonnen Daten"                   [geolocation="12.351435,9.8709123,999", interval=300]
Thing astro:moon:local    "Mond Daten"                     [geolocation="12.351435,9.8709123,999", interval=300]
                                        
// Meteorologische Jahreszeiten
Thing astro:sun:localmet  "Sonnen Daten meteorologisch"    [geolocation="12.351435,9.8709123,999", interval=300, useMeteorologicalSeason=true]
alle 5 Minuten ausgeführt und gibt nach ca. 4 Stunden einen Log aus (...das sie noch läuft).

Was ich aber meinte, war dass es mit den "Events" mal Probleme gegeben hat. Das ist allerdings schon eine Weile her und ist wie gesagt nur Halbwissen :oops:
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.2 openhabian

mad-mike
Beiträge: 468
Registriert: 6. Jan 2021 18:05
Answers: 3

Re: Astro Binding -> Item Status wechselt nicht

Beitrag von mad-mike »

Man kann sich hier aussuchen, worauf man reagieren möchte :) Ich empfehle dazu, die Logs mehrerer Tage auf die astro Channel zu filtern und in eine Textdatei zu schreiben, dann wird klar, wie das Schema abläuft.
viewtopic.php?t=8612


Code: Alles auswählen

rule "Trigger"
when

// Sonne
    Channel "astro:sun:local:rise#event"  triggered  or                         // Sonnenaufgang
    Channel "astro:sun:local:set#event" triggered  or                           // Sonnenuntergang
    Channel "astro:sun:local:noon#event" triggered  or                          // Mittag
    Channel "astro:sun:local:night#event" triggered  or                         // Nacht
    Channel "astro:sun:local:morningNight#event" triggered  or                  // Morgendliche Nacht
    Channel "astro:sun:local:astroDawn#event" triggered  or                     // Astronomische Morgendämmerung
    Channel "astro:sun:local:nauticDawn#event" triggered  or                    // Nautische Morgendämmerung
    Channel "astro:sun:local:civilDawn#event" triggered  or                     // Bürgerliche Morgendämmerung
    Channel "astro:sun:local:nauticDusk#event" triggered  or                    // Nautische Abenddämmerung
    Channel "astro:sun:local:civilDusk#event" triggered  or                     // Bürgerliche Abenddämmerung
    Channel "astro:sun:local:eveningNight#event" triggered  or                  // Abendliche Nacht
    Channel "astro:sun:local:daylight#event" triggered                        // Tageslicht  
    
    
then
    
    sendBroadcastNotification(""+receivedEvent + " "+triggeringChannel.split(":").get(3).split("#").get(0))                                 // Nachricht
    
    
end
hab´s so laufen lassen... und habe dann eine Richtung für mein Vorhaben gefunden. ;)
Gruss mad-mike

openHABian 4.3.2 auf Raspberry Pi 4 Mod. b (8GB) ;)

Antworten