[Modul] Almanac

Danke für diesen Tipp. Nicht jeder ist aber in der Lage solche Skripte zu schreiben und dafür sollten die Module auch sein.
Ich habe das Skript mal übernommen, würde mich aber dennoch freuen, wenn das in Zukunft vom Modul übernommen wird.
Gruß
Marc

1 „Gefällt mir“

Hi @juergen852,

sorry, war paar Tage im Ausland!

Besteht das Problem immer noch? Kann die Daten auch einfach im Browser abholen!
Was passiert wenn Du die Daten per wget auf dem PI abholst?

wget https://api.asmium.de/holiday/2023/de/baden-wuerttemberg/

Gruß Heiko

Danke für die Anfrage.

Wie @yansoph schon schreibt - habe ich genau die Funktion ALMANAC_DateInfo dafür eingeführt!

Somit kann jeder sein spezielles Setup „programmieren“. Es gab schon Anfragen für Morgen, Übermorgen usw. Das ist schwer im Modul abzubilden. Bei Irgendeinem passt das dann nicht und man muss noch eine Ausnahme programmieren :slight_smile:

Du merkst schon wie ich mich winde - wenn das mit dem Script von @yansoph passt, dann würde ich gern keine Änderung vornehmen :loveips:

Gruß Heiko

Welcome Back :smiley:
Ja, Problem ist immer noch das selbe… Neuinstallation des Moduls hat auch nicht geholfen.
IP-Symcon 6.3, Ubuntu (amd64), 09.02.2023, ce4bc83d8964

In Zeile 679 von module.php geht es ja um das Quote of the day. Auch wenn ich das in den Einstellungen abschalte, kommt der Fehler. Das laden von https://api.asmium.de/quotes/de/ per wget klappt auch…

Per wget zur Feriren-URL klappt der Download, per „Aktualisieren“
grafik
kommt nachstehende Fehlermeldung…

Da scheint der Count einen Fehler zu haben.
// --------------------------------------------------------------------
// get quote of the day
// --------------------------------------------------------------------
$url = $this->ReadAttributeString(‚QuoteURL‘);
// prepeare API-URL (fix DE)
$link = str_replace(‚COUNTRY‘, ‚de‘, $url);
$data = $this->ExtractDates($link, ‚quotes‘);
$count = count($data);
$qotd = random_int(0, $count - 1);
$this->SendDebug(FUNCTION, ‚QOTD: #‘ . $qotd);
$date[‚QuoteOfTheDay‘] = [‚quote‘ => $data[$qotd][‚quote‘], ‚author‘ => $data[$qotd][‚author‘]];

Also mal den Count auf 10 gesetzt
$count = 10; //count($data);
grafik

Nun ist der Fehler in dieser Zeile:
$date[‚QuoteOfTheDay‘] = [‚quote‘ => $data[$qotd][‚quote‘], ‚author‘ => $data[$qotd]
Hilft also auch nicht…

Die Requests zur API laufen beide über IPV6, daran kann es also nicht liegen.
Per Browser klappt es auch, also liegt es auch nicht an der Firewall…
grafik

Auch wenn ich Geburtstage und alles andere außer Ferientage raus nehme, kommt der selbe Fehler.

PHP ist von Symcon, ein „phpversion();“ im Script liefert „PHP version: 7.4.27“

Gruss
JM

Hi JM,

okay, also der Fehler ist bei den Quotes und nicht bei den Feiertagen!

Kannst Du mir bitte nochmal den Debug schicken wenn Du im Modul auf AKTUALISIEREN drückst!

Danke
Heiko

Hallo, sorry, dass es so lange gedauert hat.
Hier der Dump vom Debug:
dump.txt (2,6 KB)

Also, wie Du vielleicht selber im Debug gesehen hast kommt - egal was abgerufen wird - ein „ERROR LOAD DATA“, d.h. irgendwie scheint Deine IPS-Maschine da was zu blockieren.

Ist das die gleiche Maschine auf der Du via Browser es versucht hast und es ging?

Das wget mit root user ausgeführt, also wirklich gleiche Umgebung wie IPS?

Firewall etc. nochmal genau prüfen. Was anderes kann ich mir sonst nicht vorstellen.

Gruß Heiko

Es lag an der SSL interception der Sophos UTM.

Per wget klappt es auf dem IPS Host (siehe dunkler screenshot weit oben), der Host kennt das Stammzertifikat der Firewall.

Über Symcon (läuft als root) klappt es nicht…
Wie auch immer Symcon das macht.
Nur komisch, dass es über Symcon früher auch ging, und dann irgend wann nicht mehr…

Danke für Deine Mühe und Sorry für die Umstände.

1 „Gefällt mir“

Hi, gibts evtl irgendwie die Möglichkeit eine Brückentag wie heute auch als Boolsche-Variabel anzeigen zu lassen?

Hi,
am Besten noch mit automatischen Urlaubsantrag an Chef oder? :blush:

Ralf

1 „Gefällt mir“

Hallo @pitti
einen Wunsch zu deinem tollen Modul hätte ich da noch:
könnte man den Text für „Kein Feiertag“, „Keine Ferien“ und „Kein Festtag“ auch unterdrücken? „Kein Geburtstag“ steht da ja auch nicht :wink:
Vielleicht in der Konfiguration als Schalter?
Danke

Gruß
Rainer

Das sollte machbar sein, notiert!

Kann man sich doch selber bauen, das Modul liefert doch alle Infos dafür :rofl:
Z.B. wenn Tag Donnerstag und Feiertag dann morgen Brückentag!

Hi,
wenn Dienstag Feiertag dann Montag Brückentag :smile:

Ralf

Stimmt, das sollt ich mit einem Ablaufplan hinbekommen. Danke für den Denkanstoß…

Hallo @pitti ,

ist das so gewollt, dass heute Pfingstsonntag als Festtag und nicht als Feiertag angezeigt wird?

image

Gruß
Rainer

Ja, weil kein gesetzlicher Feiertag, außer Brandenburg glaube ich!

das habe ich gar nicht gewusst. Das ist beim Ostersonntag auch so.
Allerdings verwundert mich dann heute das:
image

Hättest du vielleicht noch eine Übersicht, welche Festtage hier alle angezeigt werden oder wie ich diese auslesen kann?
Die Feiertage bekomme ich a über den API Link aus dem ersten Post.
Danke

Gruß
Rainer

ich versuche auch gerade mit Hilfe des Moduls eine „Brückentagserkennung“ zu bekommen.

oder

ist da nur der Anfang, aber nicht ausreichend.
Am Donnerstag = Feiertag sehe ich das ja noch. Aber am Freitag? Das geht nur mit zusätzlichem Merker oder Abfrage ob gestern = Feiertag.
Für die Frage Montag = Brückentag wird es am Sonntag schon aufwendiger, da ich da schon fragen muss, ob der Dienstag ein Feiertag ist und am Montag das selbe.
Das Modul liefert mir die Informationen für Gestern, Morgen und Übermorgen leider nur „manuell“. Wenn man nun um Modul einen Offset für den zu berechnenden Tag eingeben könnte, könnte man sich Instanzen der gewünschten Tage anlegen (Anzeige nur Feiertag oder Festtag z.B.) und hätte die Informationen tagesaktuell zur weiteren Berechnung zur Verfügung.
Der Weg, das mit „ALMANAC_DateInfo()“ im Skript zu realisieren ist für mich auch kein Problem, eleganter finde ich aber die Verwendung des Moduls, wenn ich es schon für den aktuellen Tag nutze und es mir doch die Infos für andere Tage auch zur Verfügung stellen kann.
Bislang hatte ich auch nur auf „ist morgen Feiertag?“ getestet, aber eine Erkennung von Brückentage scheint mir auch sinnvoll. Oder wie macht ihr das?

Gruß
Rainer

Die Festtage sind eine Sammlung welche ich initial mal zusammengetragen habe. Die kann ich gern anpassen bzw. erweitern. Die Sammlung beruht dabei auf fest zuordbare Tage, also z.B. Neujahr ist immer am 1.1. und um berechbare Tage, z.b. abhängig von Sonne, Mond und Sterne :slight_smile:

Alle derzeitigen Festtage findest Du in der Datei calendar.json im Modulverzeichnis.

Gruß Heiko