Probleme mit Schulferien Kalender

Begonnen von studiosus12, 26 Mai 2021, 11:04:56

Vorheriges Thema - Nächstes Thema

studiosus12

Hallo

leider funktioniert mein Schulferienkalender seit neuesten nicht mehr.
Ich hatte:
define BAY_Ferien Calendar ical url https://www.schulferien.eu/downloads/ical4.php?land=1&type=1&year=2021 86400
define BAY_Ferientag dummy
define Ferien_Notify notify BAY_Ferien {fhem "set BAY_Ferientag " . (ReadingsVal("BAY_Ferien", "modeStart", "") =~ "ferien" ? 1: 0) }
=> ging bisher super aber nun nicht mehr. 

Darauf hin
https://wiki.fhem.de/wiki/Wochenende,_Feiertage_und_Schulferien#Feiertage_mittels_Internet-Kalender als beispiel hergenommen:

define BW_Ferien Calendar ical url https://www.ferienwiki.de/exports/ferien/2021/de/baden-wuerttemberg 86400
define Ferientag dummy
define n_Ferien notify BW_Ferien:changed:.*(start|end) {\
   my $stat=($EVTPART2 eq "start")?1:0;;\
   fhem("set Ferientag $stat") if defined fhem('get '.$NAME.' events filter:uid=="'.\
         $EVTPART1.'",field(summary)=~"(?i)ferien" limit:count=1,from=0',1)\
}

=> geht nun auch nicht!!!

Kalender wird in beiden Fällen geladen und Daten kann ich mir ansehen. -

Ein maueller Trigger mit "trigger BAY_Ferien changed:c64f5f9a44bc4d92aae252da7eafeb63 start"  triggert zwar das Notify aber es erfolgt keine Aktion an den Ferientag dummy

Bin am verzweifeln - alles probiert.. kann es ggf sein, dass eine globale Einstellung (Zeit-Datumsformat) im Fhem oder Raspi hier alles blockiert ?

Herzlichen Dank an alle Beteiligten !!!!

Viele Grüße
Mark


Otto123

#1
Hi,

dein Problem ist eventuell q&d mit einem Attribute lösbar?
ZitathasModeReadings
Auf 1 setzen, um die veralteten mode-Readings zu benutzen.


Kannst Du bitte ein list n_Ferien  liefern? Bitte in Codetags! siehe auch hier https://forum.fhem.de/index.php/topic,71806.0.html

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

studiosus12

Hallo Otto

hasModeReadings 1 hat leider keine Verbesserung gebracht ..

hier das list n_Ferien


Internals:
   DEF        BW_Ferien:changed:.*(start|end) {
   my $stat=($EVTPART2 eq "start")?1:0;
   fhem("set Ferientag $stat") if defined fhem('get '.$NAME.' events filter:uid=="'.
         $EVTPART1.'",field(summary)=~"(?i)ferien" limit:count=1,from=0',1)
}
   FUUID      60ae0b02-f33f-97e5-8657-a03b0b07cfc1389e
   NAME       n_Ferien
   NR         2433
   NTFY_ORDER 50-n_Ferien
   REGEXP     BW_Ferien:changed:.*(start|end)
   STATE      active
   TYPE       notify
   READINGS:
     2021-05-26 11:42:21   state           active
Attributes:
   room       Kalender

Otto123

#3
Naja das Attribute war der workaround für Deine alte Variante, nicht für die neue. Und das reading muss natürlich auch erzeugt werden ...

Das neue notify hast Du ja gerade angelegt, das wurde noch nie getriggert  ??? :'(
Auf alle Fälle hast Du nicht falsch aus dem Wiki "abgeschrieben" insoweit sieht das eigentlich gut aus.

Daiese notify triggert aber beim start des Termins und nicht zu einem beliebigen Zeitpunkt (wie das alte notify, das triggert bei jedem "Huster" im Kalender) - insofern wenn der termin schon vorbei ist wird es nix.
Da musst Du jetzt einen neuen Termin in der Zukunft erzeugen und Dich vor den Eventmonitor setzen und schauen was passiert :)
Oder wie im Wiki beschrieben mit dem trigger Befehl testen!
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

studiosus12

Hallo Otto

ein trigger BW_Ferien  changed: fd970beea3cc46f3827be062113442da start  liefert das richtige Ergebniss im Notify & Dummy ! Perfekt Danke!!!



betateilchen

Ich werde nie verstehen, warum mein 3 (drei!) devices braucht, um festzustellen, ob gerade Ferien sind oder nicht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Beta-User

Zitat von: betateilchen am 26 Mai 2021, 16:51:44
Ich werde nie verstehen, warum mein 3 (drei!) devices braucht, um festzustellen, ob gerade Ferien sind oder nicht.
(Na ja, als "blink"-Beispiel mag das ja noch angehen, irgendwo muss man ja mal anfangen...)

Aber warum muss man dafür (hier zwar "nur" einmal am Tag, aber trotzdem) immer dieselbe unveränderliche Internet-Quelle anzapfen, anstatt das Ding einmal im Jahr an die passende Stelle auf der Festplatte zu ziehen (oder die Daten wenigstens aus einem privaten Kalender zu holen, den man ggf. sowieso entsprechend pflegt)...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Frank_Huber

Zitat von: Beta-User am 26 Mai 2021, 16:56:26
Aber warum muss man dafür (hier zwar "nur" einmal am Tag, aber trotzdem) immer dieselbe unveränderliche Internet-Quelle anzapfen, anstatt das Ding einmal im Jahr an die passende Stelle auf der Festplatte zu ziehen (oder die Daten wenigstens aus einem privaten Kalender zu holen, den man ggf. sowieso entsprechend pflegt)...

Noch schlimmer dabei find ich dass man den im WiKi verwendeten ical Link jedes Jahr anpassen muss da das Jahr Teil vom Link ist. *facepalm*
Ich hab die Ferien mit in meiner Holiday Datei. Einmal im Jahr manuell anpassen und gut ist.

Beta-User

Zitat von: Frank_Huber am 26 Mai 2021, 16:59:48
Ich hab die Ferien mit in meiner Holiday Datei. Einmal im Jahr manuell anpassen und gut ist.
Bei mir landen die Ferien auch (immer Freitags) in einer holiday - (automatisiert) extrahiert aus dem "sowieso"-(Familien) Kalender, der fortlaufend gepflegt ist (und z.B. auch Müllabfuhrtermine beinhaltet (=> andere "holiday" zu reinen Anzeigezwecken)), und in dem dann auch "bewegliche" landen... Hat den Vorteil, dass dann auch yesterday und tomorrow passen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors