Kalender mit Titel auslesen und ver. Dummies steuern

Begonnen von no_Legend, 09 Januar 2019, 09:31:34

Vorheriges Thema - Nächstes Thema

no_Legend

Hallo Leute,

ich hatte vor lange mal nach dem Wiki Artikel einen Google Kalender angelegt und ausgewertet.
Das hat aber nie wirklich nicht richtig funktioniert.

Nun wollte ich das Thema mal wieder angehen, komme aber nicht so richtig weiter.

Also ich hab einen Extra Google Kalender für FHEM angelegt.
Hier wollte ich mit 3 Begriffen Arbeiten:
1. Urlaub
2. Besuch
3. Abwesend

Das meiste sind Einträge die den ganzen Tag angelegt sind, es können aber auch von 10-12 Uhr Termine sein.
Anhand der Betreffs des Eintrags wollte ich entsprechende Dummies schalten.

Nur keine Ahnung wie ich das am besten machen soll.
Hoffe Ihr könnt mir dabei bei helfen.

Danke und Gruß Robert

IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

darkness


Beta-User

Na ja, die Wiki-Seiten funktionieren zum Teil nicht mehr, wichtiger ist eigentlich der Link auf diesen Beitrag:
https://forum.fhem.de/index.php/topic,87895.msg803439.html#msg803439

Es gibt auch einen längeren Thread zu den Änderungen bei Calendar, da habe ich bei meinen eigenen Versuchen einiges rausgezogen zu den Formaten, Variablen usw., das wichtigste bleibt aber, dass man erst über den start/end/changed-Event weitere Infos ziehen muß, um diese dann weiterzuverarbeiten.

Mal zwei Beispiele aus meiner aktuellen config (sorry für das dusselige Format):

define BW_Ferientag dummy
attr BW_Ferientag devStateIcon 1:scene_party@green:0 0:scene_office@red:1
attr BW_Ferientag group Kalender
attr BW_Ferientag icon scene_party
attr BW_Ferientag readingList state
attr BW_Ferientag room Startseite,Steuerung
attr BW_Ferientag setList state
define BW_Ferien.notify notify Familienkalender:changed:.* { \
    my $UID = $EVTPART1;;\
    my $cmd = $EVTPART2;;\
    my $MYACTOR = fhem('get Familienkalender events format:custom="$S" filter:uid=="'.$UID.'" limit:count=1') ;;\
     #my $MYVALUE = fhem('get Familienkalender events format:custom="$L" filter:uid=="'.$UID.'" limit:count=1') ;;\
    #my $cmd = $MYVALUE;;\
    $cmd = '1'  if ($cmd eq 'start');;\
       $cmd = '0' if ($cmd eq 'end');;\
       fhem("set BW_Ferientag $cmd") if ($MYACTOR =~ /ferien/);;\
       #fhem("set Muell Biomuell $cmd") if ($MYACTOR =~ /Bioabfall/);;\
       #fhem("set Muell Restmuell $cmd") if ($MYACTOR =~ /Restmuell/);;\
}

Der auskommentierte Teil hatte auch funktioniert (Muell war ein Dummy mit Restmuell und Biomuell als setzbaren Readings), aber natürlich nicht zusammen mit dem anderen, da müßte man die Variablennamen anpassen oder das Ferientaggedöns löschen).

Zwischenzeitlich mache ich den Müllteil über eine Wandlung nach holiday (sollte das aber vermutlich wieder umstellen, da bei uns auch Leerungen am gleichen Tag stattfinden, aber dazu schaue ich eigentlich sowieso auf den Kalender bzw. weiß das). Das geht so:
define a_make_holiday at *23:30 {return undef unless($wday == 5);;\
\
#Ferienkalender\
my @holidaysraw = split(/\n/,(fhem 'get Familienkalender events format:custom="4 $T1 $T2 $S" timeFormat:"%m-%d" limit:count=10 filter:field(summary)=~".*[fF]erien.*"'));;\
my @holidays;;\
foreach (@holidaysraw) {\
    unless ($_ =~ /[Ww]eihnacht/) {\
        push (@holidays, $_);; \
    } else { my @tokens = split (" ",$_);;\
        my $lines = "4 $tokens[1] 12-31 $tokens[3]";;\
        push (@holidays,$lines);;\
        $lines = "4 01-01 $tokens[2] $tokens[3]";;\
        unshift (@holidays,$lines);;\
    }\
} \
my $today = strftime "%d.%m.%y, %H:%M", localtime(time);;\
my $idstring = "# Created by at a_make_holiday on $today";;\
unshift (@holidays, $idstring);; \
my $filename ="./FHEM/ferien.holiday";;\
FileDelete($filename);;\
FileWrite($filename,@holidays);;\
\
#Mülltonnen\
my @tonnen = split(/\n/,(fhem 'get Familienkalender events format:custom="1 $T1 $S" timeFormat:"%m-%d" series:next limit:count=4 filter:field(summary)=~".*(Bioabfall|Restmuell).*"'));;\
unshift (@tonnen, $idstring);; \
$filename ="./FHEM/muell.holiday";;\
FileDelete($filename);;\
FileWrite($filename,@tonnen);;\
}


@no_Legend:
Am besten ist es, mit den Abfragen erst mal zu experimentieren und rauszufinden, welche Variablen sich am besten eignen (siehe die fhem-Aufrufe in den Beispielen).
Wenn wir dann noch weiter helfen sollen, benötigen wir mehr "Futter" ;) (Events, Abfrageergebnisse usw.).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

no_Legend

#3
Zitat von: darkness am 09 Januar 2019, 09:48:25
Hey,

Hast du dir die Wiki-Seiten mal angeschaut? Und das Modul Calender?

https://wiki.fhem.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies

https://wiki.fhem.de/wiki/Wochenende,_Feiertage_und_Schulferien

Was genau klappt denn nicht?

Gruß

Die Dummies haben in der Ersten Lösung nicht wirklich gut funktioniert.
Irgendwie hatten die Damals nicht zuverlässig geschalten.
Weshalb ich dann aufgehört hatte das ganze zu verfolgen.

Den Ferien kalender hab ich wie im Wiki beschrieben eingebunden.
Konnte jetzt aber nicht testen, da bei uns grade keine Ferien sind.
Dauert noch ein wenig in BaWü.

@Beta-User
Das mit einem einen Holliday Kalender oder in den Holliday Kalender selber wollte ich nicht machen.
Ich wollte mir schon die Flexibilität mit dem Kalender erhalten.

Unten mal ein list vom Kalender.

Das modeStartet ist der Heute Eintrag mit Betreff Urlaub.
Wenn man nun 2vdtkv91hschu73gkh4s3ode93googlecom im Kalender per Summery abfragt bekommt man "Urlaub" als anzeige.

Wird nun Urlaub laut Kalender aktiv, soll Dummy  Cal_Rob_FHEM_urlaub auf on.
Bei Betreff "Besuch" Dummy "Cal_Rob_FHEM_besuch" und bei Betreff "Abwesend" Dummy "Cal_Rob_FHEM_abwesend".
Sollen die Termin Enden sollen auch die entsprechenden Dummies off gehen.

Die Lösung sollte sein, einfach den Betreff zu übergeben und dann je nach Betreff und Start oder Ende den Dummy entsprechend zu setzten.
Oder lieg ich da falsch?



Internals:
   CFGFN      /opt/fhem/FHEM/kalender.cfg
   DEF        ical url https://calendar.google.com/calendar/ical/%40group.calendar.google.com/private-72ce722df4ffbef97588ade197e6775d/basic.ics 7200
   NAME       Kalender_Rob_FHEM
   NOTIFYDEV  global
   NR         561
   NTFY_ORDER 50-Kalender_Rob_FHEM
   STATE      triggered
   TYPE       Calendar
   Helper:
     DBLOG:
       calname:
         DBLog:
           TIME       1547020158.71167
           VALUE      FHEM
       lastUpdate:
         DBLog:
           TIME       1547020158.71167
           VALUE      2019-01-09 08:49:15
       modeAlarmOrStart:
         DBLog:
           TIME       1547019871.41265
           VALUE      2vdtkv91hschu73gkh4s3ode93googlecom
       modeStart:
         DBLog:
           TIME       1547019871.41265
           VALUE      2vdtkv91hschu73gkh4s3ode93googlecom
       modeUpcoming:
         DBLog:
           TIME       1547019835.3993
           VALUE      2vdtkv91hschu73gkh4s3ode93googlecom
       nextUpdate:
         DBLog:
           TIME       1547020158.71167
           VALUE      2019-01-09 10:49:15
       nextWakeup:
         DBLog:
           TIME       1547020159.11286
           VALUE      2019-01-09 10:49:15
       state:
         DBLog:
           TIME       1547020159.08341
           VALUE      triggered
   READINGS:
     2016-02-06 15:39:10   all             
     2019-01-09 08:49:18   calname         FHEM
     2016-02-06 15:39:10   lastCheck       2016-02-06 15:39:10
     2019-01-09 08:49:18   lastUpdate      2019-01-09 08:49:15
     2016-12-26 00:00:00   modeAlarm       
     2019-01-09 08:44:31   modeAlarmOrStart 2vdtkv91hschu73gkh4s3ode93googlecom
     2016-02-06 15:39:10   modeAlarmed     
     2018-03-25 04:06:37   modeChanged     
     2018-08-26 16:46:45   modeEnd         7psaipoktp332ib56opdv6qa3igooglecom
     2018-03-25 04:06:37   modeEnded       
     2019-01-09 08:44:31   modeStart       2vdtkv91hschu73gkh4s3ode93googlecom
     2016-12-26 00:07:51   modeStarted     
     2019-01-09 08:44:31   modeUpcoming   
     2019-01-09 08:49:18   nextUpdate      2019-01-09 10:49:15
     2019-01-09 08:49:19   nextWakeup      2019-01-09 10:49:15
     2019-01-09 08:49:18   state           triggered
     2016-02-06 15:39:10   stateChanged   
     2016-02-06 15:39:10   stateDeleted   
     2016-02-06 15:39:10   stateNew       
     2016-02-06 15:39:10   stateUpdated   
Attributes:
   room       9.20_Kalender


IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Otto123

#4
Hi,

ob das im Wiki aktuell wirklich geht weiß ich nicht, sieht etwas alt aus. In der englischen Doku (commandref) sind aber aktuelle Beispiele.

Ich habe mal ein Beispiel gemacht, welches auf jeden der Kalender Events triggert und im Perl Teil weiter auswertet.
Das sollte eigentlich genau Dein Problem lösen.

Entweder steht im Termin (summary) der Dummy drin der es sein soll, oder man muss einen Begriff "matchen" und dann diesen im Code (über)setzen.

Man kann auch alarme im Calendar einfügen und damit die Aktion vor dem eigentlichen Start des Termines ausführen.

Oder man kann jeden Tag die Einträge des Folgetages abfragen und etwas vorrausschauend setzen, Beispiel Abfall.

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

no_Legend

Zitat von: Otto123 am 09 Januar 2019, 10:49:23
Hi,

ob das im Wiki aktuell wirklich geht weiß ich nicht, sieht etwas alt aus. In der englischen Doku (commandref) sind aber aktuelle Beispiele.

Ich habe mal ein Beispiel gemacht, welches auf jeden der Kalender Events triggert und im Perl Teil weiter auswertet.
Das sollte eigentlich genau Dein Problem lösen.

Gruß Otto

Genau deinen Artikel habe ich eben gefunden habt.

Hab das nun so angepasst.


sub KalenderSub ($$$) {
     my ($uid,$cmd,$cname) = @_;
     #Logging der Paramter bei Bedarf;     #Log 1, "uid: $uid | Start/End: $cmd | cal: $cname";
     my $format = '"$S"';
     $uid='"'.$uid.'"';
     $cmd = '1' if ($cmd eq 'start');
     $cmd = '0' if ($cmd eq 'end');
     $calevent = 'Urlaub';
     my $actor = fhem("get $cname events format:custom="$S" filter:uid==$uid limit:count=1");
     # Unterschiedliche Abfragen auf ist exakt oder enthält möglich;
     if ($actor =~ /$calevent/) {fhem("set Cal_Rob_FHEM_urlaub $cmd")};
$dev = 'Abwesend';
if ($actor =~ /$calevent/) {fhem("set Cal_Rob_FHEM_abwesend $cmd")};
$dev = 'Besuch';
if ($actor =~ /$calevent/) {fhem("set Cal_Rob_FHEM_besuch $cmd")};
}


Bekomme nur ein Paar Fehlermeldungen die ich mir nicht erklären kann.

Global symbol "$dev" requires explicit package name (did you forget to declare "my $dev"?) at ./FHEM/99_myUtils.pm line 28. Global symbol "$dev" requires explicit package name (did you forget to declare "my $dev"?) at ./FHEM/99_myUtils.pm line 32. Global symbol "$dev" requires explicit package name (did you forget to declare "my $dev"?) at ./FHEM/99_myUtils.pm line 32.
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Beta-User

Vorab: ändere mal das list, wenn da Zugangsdaten drinstehen, das war nicht beabsichtigt!

Zum Rest:
So wie du es willst (Dummy an oder aus), sollte das in der Ferien-Lösung passen, ggf. nach Änderung des Formats für die Abfrage; aber der Weg ist immer UID kommt über Event, dann aus der UID einen Text machen, dann diesen weiter auswerten.

Was holiday angeht, wird die holiday-Datei automatisiert erstellt, und bei Terminen, die sich nicht ständig ändern, ist das ok. holidy hat den Vorteil, dass man es über holiday2we in global einbinden kann und dann ein Ferientag in $we landet ;) . Das ist bei mir sehr gut passend. Der Müll steht natürlich nicht in holiday2we, dafür kennt holiday tomorrow, und ich brauche keine weitere Logik, nur um festzustellen, dass heute bzw. morgen Aktion ansteht.

Zum Testen kann man übrigens auch einen Eintrag erstellen bzw. einen vorhandenenkopieren und ändern.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Otto123

#7
Zitat von: no_Legend am 09 Januar 2019, 10:51:49

Global symbol "$dev" requires explicit package name (did you forget to declare "my $dev"?) at ./FHEM/99_myUtils.pm line 28. Global symbol "$dev" requires explicit package name (did you forget to declare "my $dev"?) at ./FHEM/99_myUtils.pm line 32. Global symbol "$dev" requires explicit package name (did you forget to declare "my $dev"?) at ./FHEM/99_myUtils.pm line 32.
Naja Du musst $dev vorher mal definieren. my $dev ....
Fehlt wohl in meinem Artikel auch  :-[

Edit: Aber wozu ist die Zeile bei Dir überhaupt?
    $dev = 'Abwesend';

Hier dürfte auch my fehlen: $calevent = 'Urlaub';
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

darkness

Zitat von: Otto123 am 09 Januar 2019, 10:49:23
ob das im Wiki aktuell wirklich geht weiß ich nicht, sieht etwas alt aus.

Habe letzte Woche meine Kalender und MyUtils angepasst. Gebe aber zu, dass ich mir nicht mehr sicher bin ob ich wiki oder Forum verwendet habe...

Sorry für den "alten Kram"...  :D


no_Legend

Zitat von: Otto123 am 09 Januar 2019, 10:57:22
Naja Du musst $dev vorher mal definieren. my $dev ....
Fehlt wohl in meinem Artikel auch  :-[

Edit: Aber wozu ist die Zeile bei Dir überhaupt?
    $dev = 'Abwesend';

Hier dürfte auch my fehlen: $calevent = 'Urlaub';

Ich hab den Code nun so angepasst.
sub KalenderSub ($$$) {
     my ($uid,$cmd,$cname) = @_;
     #Logging der Paramter bei Bedarf;     
#Log 1, "uid: $uid | Start/End: $cmd | cal: $cname";
     my $format = '"$S"';
     $uid='"'.$uid.'"';
     $cmd = '1' if ($cmd eq 'start');
     $cmd = '0' if ($cmd eq 'end');
     my $actor = fhem("get $cname events format:custom=$format filter:uid==$uid limit:count=1");
# Unterschiedliche Abfragen auf ist exakt oder enthält möglich;
     #fhem("set $actor $cmd") if ($actor eq $dev);
     my $dev = 'Urlaub';
     if ($actor =~ /$dev/) {fhem("set Cal_Rob_FHEM_abwesend $cmd")};
my $dev = 'Abwesend';
if ($actor =~ /$dev/) {fhem("set Cal_Rob_FHEM_abwesend $cmd")};
my $dev = 'Besuch';
if ($actor =~ /$dev/) {fhem("set Cal_Rob_FHEM_besuch $cmd")};
}


Wenn ich es richtig verstanden habe.
Da ich mehrere Betreffs abfragen will, hab ich mehrere $dev angelegt.

Gruß Robert
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Otto123

Hallo Robert,

mehrfach my $dev - das tut man nicht.  Einmal reicht - aber warum überhaupt?
Ich hatte das gemacht, weil ich die Variable zweimal verwendet habe.

Du übersetzt das Ganze quasi - dann mach es entweder alles mit Variablen oder alles direkt!
anstatt
my $dev = 'Urlaub';
     if ($actor =~ /$dev/) ...

so     if ($actor =~ /Urlaub/)...

Flexibler noch m/Urlaub/i - das würde Groß und Kleinschreibung egal machen.

Ich sehe schon, ich muss meinen Artikel noch etwas anpassen, ich habe im letzten halben Jahr auch noch ein bisschen gelernt. :D

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

no_Legend

Zitat von: Otto123 am 09 Januar 2019, 11:42:41
Hallo Robert,

mehrfach my $dev - das tut man nicht.  Einmal reicht - aber warum überhaupt?
Ich hatte das gemacht, weil ich die Variable zweimal verwendet habe.

Du übersetzt das Ganze quasi - dann mach es entweder alles mit Variablen oder alles direkt!
anstatt
my $dev = 'Urlaub';
     if ($actor =~ /$dev/) ...

so     if ($actor =~ /Urlaub/)...

Flexibler noch m/Urlaub/i - das würde Groß und Kleinschreibung egal machen.

Ich sehe schon, ich muss meinen Artikel noch etwas anpassen, ich habe im letzten halben Jahr auch noch ein bisschen gelernt. :D

Gruß Otto

Egal wie ich es probiere,
es funktioniert nicht.

Selbst wenn ich dein Script und dein notify genau so nehme.

Keine Ahnung
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Otto123

#12
Zitat von: no_Legend am 09 Januar 2019, 12:11:41
Egal wie ich es probiere,
es funktioniert nicht.
Ich liebe solche Aussagen.  :o :'(

  • Was sagt der Eventmonitor? Wie sehen die Events aus?
  • Was sagt das Log? Gibt es Fehler?
  • Was macht das notify? Wird getriggert? Funktioniert der Ausführungsteil separat?
  • Was ist wenn Du die Sub mit Parametern von der FHEM Kommandozeile aufrufst?
  • Hast Du mal die Logging Funktion in der Sub aktiviert? Was steht da drin?
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

no_Legend

Zitat von: Otto123 am 09 Januar 2019, 12:21:21
Ich liebe solche Aussagen.  :o :'(

  • Was sagt der Eventmonitor? Wie sehen die Events aus?
  • Was sagt das Log? Gibt es Fehler?
  • Was macht das notify? Wird getriggert? Funktioniert der Ausführungsteil separat?
  • Was ist wenn Du die Sub mit Parametern von der FHEM Kommandozeile aufrufst?
  • Hast Du mal die Logging Funktion in der Sub aktiviert? Was steht da drin?
Gruß Otto

Sorry das Notify triggerd so wie von dir beschrieben garnicht.
Erst wenn man changed auf modeStart oder modeEnd einstellt wird getriggert.
Klar kann man auch einfach das changed weg lassen, dann wird zwar getriggerd aber trotzdem geht nichts.

Log sag folgendes:

019.01.09 12:22:18 3: n_TestKalender return value: Global symbol "$EVTPART2" requires explicit package name (did you forget to declare "my $EVTPART2"?) at (eval 4869) line 1.

2019.01.09 12:22:18 1: ERROR evaluating my $SELF='n_TestKalender';my $EVTPART1='4qh3h06ot8fh22ec295lebrisqgooglecom';my $EVENT='modeStart: 4qh3h06ot8fh22ec295lebrisqgooglecom';my $EVTPART0='modeStart:';my $NAME='TestKalender';my $TYPE='Calendar';{ KalenderSub($EVTPART1,$EVTPART2,$NAME) }: Global symbol "$EVTPART2" requires explicit package name (did you forget to declare "my $EVTPART2"?) at (eval 4869) line 1.
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Otto123

#14
Kannst Du mal bitte die Events, die dein Kalender wirft posten? Bei mir sind es immer 9 Stck.
Und bitte ein list n_TestKalender

Klar funktioniert das mit modestart so nicht, da entsteht kein $EVTPART2  :-X
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