LoxBerry: CalDAV-4-Lox Plugin verfügbar.

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Tico
    Lox Guru
    • 31.08.2016
    • 1035

    Hier ist eine leichte Abwandlung des PicoC-Codes, um ein paar mehr Variablen zur Hand zu haben (Monat als Text und Tag als Text).

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Epoch variables3.png
Ansichten: 270
Größe: 27,6 KB
ID: 426092

    Vergewissern Sie sich, dass die Seite in der deutschen Sprache angezeigt wird (nicht übersetzt). Der Code wird sonst leicht verändert.
    Code:
    char dayOfWeek[16];
    char month[16];
    int secondsSince2009;
    int nEvents;
    
    while (TRUE) {
        nEvents = getinputevent();
    
        if (nEvents & 0x08) {
            secondsSince2009 = getinput(0);
    
            // Divide secondsSince2009 by 86400 and make an integer of the result
            int daysSince2009 = secondsSince2009 / 86400;
    
            // Compute the remainder after dividing by 7 for day of the week
            int remainder = daysSince2009 % 7;
    
            // Map remainder to text output for day of the week
            // where Loxone epoch 1/1/2009 was a Thursday
            switch (remainder) {
                case 0:
                    strcpy(dayOfWeek, "Thursday");
                    break;
                case 1:
                    strcpy(dayOfWeek, "Friday");
                    break;
                case 2:
                    strcpy(dayOfWeek, "Saturday");
                    break;
                case 3:
                    strcpy(dayOfWeek, "Sunday");
                    break;
                case 4:
                    strcpy(dayOfWeek, "Monday");
                    break;
                case 5:
                    strcpy(dayOfWeek, "Tuesday");
                    break;
                case 6:
                    strcpy(dayOfWeek, "Wednesday");
                    break;
                default:
                    // Handle invalid remainder value
                    strcpy(dayOfWeek, "Invalid");
                    break;
            }
    
            // Extract year, month, day, hour, minute, and second.
            // Timezone is the same timezone referenced in input.
            int year = getyear(secondsSince2009, 0);
            int monthNum = getmonth(secondsSince2009, 0);
            int day = getday(secondsSince2009, 0);
            int hour = gethour(secondsSince2009, 0);
            int minute = getminute(secondsSince2009, 0);
            int second = getsecond(secondsSince2009, 0);
    
            // Map month number to text output using switch
            switch (monthNum) {
                case 1:
                    strcpy(month, "January");
                    break;
                case 2:
                    strcpy(month, "February");
                    break;
                case 3:
                    strcpy(month, "March");
                    break;
                case 4:
                    strcpy(month, "April");
                    break;
                case 5:
                    strcpy(month, "May");
                    break;
                case 6:
                    strcpy(month, "June");
                    break;
                case 7:
                    strcpy(month, "July");
                    break;
                case 8:
                    strcpy(month, "August");
                    break;
                case 9:
                    strcpy(month, "September");
                    break;
                case 10:
                    strcpy(month, "October");
                    break;
                case 11:
                    strcpy(month, "November");
                    break;
                case 12:
                    strcpy(month, "December");
                    break;
                default:
                    // Handle invalid month number
                    strcpy(month, "Invalid");
                    break;
            }
    
            // Convert to EIB date and timegroup
            int dategroup = (day * 65536) + (monthNum * 256) + (year - 2000); // EIB date
            int timegroup = (hour * 65536) + (minute * 256) + second; // EIB time
    
            // Print dategroup, timegroup, year,
            // month, day, hour, minute, and second
            setoutput(0, dategroup);
            setoutput(1, timegroup);
            setoutput(2, year);
            setoutput(3, monthNum);
            setoutput(4, day);
            setoutput(5, hour);
            setoutput(6, minute);
            setoutput(7, second);
    
            // Output the day of the week and month as text
            setoutputtext(0, month);
            setoutputtext(1, dayOfWeek);
        }
    
        sleep(500);
    }​​​
    Zuletzt geändert von Tico; 09.03.2024, 07:17. Grund: Der Code wurde aufgrund eines Speicherzuweisungsfehlers geändert.
    Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

    Kommentar

    • svethi
      Lebende Foren Legende
      • 25.08.2015
      • 6292

      Hi Tico,

      why so complicated?
      The following should do this much easier ;-)

      Code:
      char wkd[7][15] = { "Donnerstag", "Freitag", "Samstag", "Sonntag", "Montag", "Dienstag", "Mittwoch" };
      strcpy(dayOfWeek, wkd[remainder]);
      The same for the month.

      Greetings
      Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

      Kommentar


      • Tico
        Tico kommentierte
        Kommentar bearbeiten
        I've already tried setting up an array for both the day of week and month (similar to your example). The code would run successfully for 5-10 minutes before failing with a memory allocation error. I couldn't solve it, so reverted to what you see.
        I'll give yours a try.

      • svethi
        svethi kommentierte
        Kommentar bearbeiten
        Habe you initiated the char array’s inside a loop? You have to do this outside or have to free the memory after use. Otherwise it is a problem of the picoC implementation.
    • MarkusCosi
      Extension Master
      • 28.09.2023
      • 199

      Thank you very much for this useful script I will surely test it. Thank you both for sharing.

      Kommentar


      • Tico
        Tico kommentierte
        Kommentar bearbeiten
        You're welcome. I'll add a refined version below.
    • Tico
      Lox Guru
      • 31.08.2016
      • 1035

      Modified script with arrays -

      Code:
      char *monthNames[] = {
          "", "January", "February", "March", "April", "May", "June",
          "July", "August", "September", "October", "November", "December"
      };
      char *dayNames[] = {
          "Thursday", "Friday", "Saturday", "Sunday", "Monday", "Tuesday", "Wednesday"
      };
      int secondsSince2009;
      int nEvents;
      
      while (TRUE) {
          nEvents = getinputevent();
      
          if (nEvents & 0x08) {
              secondsSince2009 = getinput(0);
      
              // Extract year, month, day, hour, minute, and second.
              // Timezone is the same timezone referenced in input.
              int year = getyear(secondsSince2009, 0);
              int monthNum = getmonth(secondsSince2009, 0);
              int day = getday(secondsSince2009, 0);
              int hour = gethour(secondsSince2009, 0);
              int minute = getminute(secondsSince2009, 0);
              int second = getsecond(secondsSince2009, 0);
      
              // Convert to EIB date and timegroup
              int dategroup = (day * 65536) + (monthNum * 256) + (year - 2000);
              int timegroup = (hour * 65536) + (minute * 256) + second;
      
              // Output dategroup, timegroup, year,
              // month, day, hour, minute, and second
              setoutput(0, dategroup);
              setoutput(1, timegroup);
              setoutput(2, year);
              setoutput(3, monthNum);
              setoutput(4, day);
              setoutput(5, hour);
              setoutput(6, minute);
              setoutput(7, second);
      
              // Output the month and day of the week,
              // where Loxone epoch 01/01/2009 is a Thursday
              setoutputtext(0, monthNames[monthNum]);
              setoutputtext(1, dayNames[(secondsSince2009 / 86400) % 7]);
          }
      
          sleep(500);
      }​
      Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

      Kommentar

      • marmork33
        Smart Home'r
        • 28.08.2023
        • 41

        Salut zusammen.

        Ist es möglich, jedes Event in einem spezifischen Kalender abzugreifen? Ich würde zB gerne einen Feiertagskalender abfragen, der hat natürlich immer unterschiedliche Eventnamen (hierüber dann den Betriebsmodus "Feiertag" aktivieren).

        Wenn ich bei diesem Feiertags-Kalender keinen Eintrag in das "search terms" feld mache, funktioniert dies, jedoch nur bei einem Kalender (im MQTT benutze ich dann den Eintrag caldav4lox_events_next_Start, aber der workaround funktioniert nur bei einem Kalender. Und den workaround benutze ich schon im Kalender "Besuch".

        Ich könnte natürlich die 12 Feiertage jedes Jahr mit Namen abfragen, aber das wäre Plan B.

        Hoffe ich konnte mich verständlich ausdrücken.

        Herzlichen Dank

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          MQTT ist dafür nicht geeignet. Frage den Kalender aus Loxone nach der herkömmlichen Methode über http input, dann bekommst Du Deine verschiedenen Kalender getrennt ausgewertet

        • marmork33
          marmork33 kommentierte
          Kommentar bearbeiten
          vielen dank svethi!
      • Jim123
        Smart Home'r
        • 06.11.2023
        • 39

        Hallo!

        Ich bekomme leider keiner Wert aus dem Kalender:
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 88,9 KB ID: 428212​Hat jemand eine Ahnung was der Problem ist?

        Code:
        Invalid URL: 'https:/data.umweltprofis.at/opendata/AppointmentService/AppointmentService.asmx/GetTermineForLocationSecured?Key=TEMPKeyabvvMKVCic0cMcmsTEMPKey'error loading eventsSabre\VObject\ParseException Object
        
        (
        
        [message:protected] => Error reading from input stream
        
        [string:Exception:private] =>
        
        [code:protected] => 0
        
        [file:protected] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/vendor/sabre/vobject/lib/Parser/MimeDir.php
        
        [line:protected] => 284
        
        [trace:Exception:private] => Array
        
        (
        
        [0] => Array
        
        (
        
        [file] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/vendor/sabre/vobject/lib/Parser/MimeDir.php
        
        [line] => 144
        
        [function] => readLine
        
        [class] => Sabre\VObject\Parser\MimeDir
        
        [type] => ->
        
        )
        
        
        
        
        [1] => Array
        
        (
        
        [file] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/vendor/sabre/vobject/lib/Parser/MimeDir.php
        
        [line] => 90
        
        [function] => parseDocument
        
        [class] => Sabre\VObject\Parser\MimeDir
        
        [type] => ->
        
        )
        
        
        
        
        [2] => Array
        
        (
        
        [file] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/vendor/sabre/vobject/lib/Reader.php
        
        [line] => 47
        
        [function] => parse
        
        [class] => Sabre\VObject\Parser\MimeDir
        
        [type] => ->
        
        )
        
        
        
        
        [3] => Array
        
        (
        
        [file] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/caldav.php
        
        [line] => 241
        
        [function] => read
        
        [class] => Sabre\VObject\Reader
        
        [type] => ::
        
        )
        
        
        
        
        )
        
        
        
        
        [previous:Exception:private] =>
        
        )
        
        {
        
        "GelberSack": {
        
        "Start": -1,
        
        "End": -1,
        
        "Summary": "",
        
        "Description": "",
        
        "fwDay": -1,
        
        "wkDay": -1,
        
        "now": 481156326
        
        },
        
        "now": 481156326
        
        }
        ​
        Danke!

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Es steht doch in der Fehlermeldung, dass das eine ungültige URL ist.
      • Donjupp
        Dumb Home'r
        • 29.03.2024
        • 14

        Hey, ich scheine auch zu bl*d zu sein...,

        habe folgende URL(s) zum Kalender:



        gebe ich die URL im Browser ein, dann wird eine Datei heruntergeladen, welche ich auch öffnen kann. Diese ist mit Inhalt befüllt:
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 217
Größe: 74,3 KB
ID: 428318

        Im Plugin erhalte ich allerdings eine Fehlermeldung bzw keine korrekten Werte:

        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 241
Größe: 163,0 KB
ID: 428316

        Kann mir jemand weiterhelfen?

        Grüße
        Donjupp
        Angehängte Dateien

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Wie Du schon selbst herausgefunden hast, 404 heißt nicht gefunden. Diese Meldung kommt nicht vom Plugin sondern von dem Server, den Du da „anrufst“. Ich wüsste nicht wie Dir bei diesem Fehler einer helfen söllte
      • Jim123
        Smart Home'r
        • 06.11.2023
        • 39

        Hallo!

        Ich habe bisher auch keine Lösung gefunden. Muss die Quelle eigentlich ein "Kalender" sein? Ich habe einen webservice der XML liefert...

        GRUß

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Nein, muss es nicht! Du kannst jedes beliebige Dateiformat der Welt angeben! Wenn das Kalender-Plugin allerdings Kalendereinträge finden soll, dann macht es keinen Sinn ein Foto von der Großmutter an das Plugin zu übergeben.
      • Donjupp
        Dumb Home'r
        • 29.03.2024
        • 14

        svethi
        ich habe bewusst meine emailadresse "geschwärzt" wenn ich die korrekt 4* durch die korrekten Buchstaben ersetzte, dann funktioniert die URL. Ich glaube, dass ich den Suchbegriff nicht korrekt verwende. Wonach muss ich korrekt suchen in der Description?

        Hier dann mal der Link rein zum importieren Müllkalender:


        Hier mal ein Auszug:
        DTSTART:20240326T050000Z
        DTSTAMP:20240402T202137Z
        UID:248229@art-trier.de
        CLASS:PUBLIC
        CREATED:20240326T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Restmüll - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240410T040000Z
        DTSTAMP:20240402T202137Z
        UID:248230@art-trier.de
        CLASS:PUBLIC
        CREATED:20240410T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Restmüll - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240411T040000Z
        DTSTAMP:20240402T202137Z
        UID:248231@art-trier.de
        CLASS:PUBLIC
        CREATED:20240411T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Papier & Gelber Sack - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240424T040000Z
        DTSTAMP:20240402T202137Z
        UID:248232@art-trier.de
        CLASS:PUBLIC
        CREATED:20240424T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Restmüll - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240508T040000Z
        DTSTAMP:20240402T202137Z
        UID:248233@art-trier.de
        CLASS:PUBLIC
        CREATED:20240508T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Restmüll - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240510T040000Z
        DTSTAMP:20240402T202137Z
        UID:248234@art-trier.de
        CLASS:PUBLIC
        CREATED:20240510T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Papier & Gelber Sack - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240523T040000Z
        DTSTAMP:20240402T202137Z
        UID:248235@art-trier.de
        CLASS:PUBLIC
        CREATED:20240523T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Restmüll - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240605T040000Z
        DTSTAMP:20240402T202137Z
        UID:248236@art-trier.de
        CLASS:PUBLIC
        CREATED:20240605T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Restmüll - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240606T040000Z
        DTSTAMP:20240402T202137Z
        UID:248237@art-trier.de
        CLASS:PUBLIC
        CREATED:20240606T000000Z
        DESCRIPTIONer Abfall wird im Laufe des Tages abgeholt.
        LAST-MODIFIED:20240401T204750Z
        LOCATION:54608 Musterstadt
        SEQUENCE:0
        STATUS:CONFIRMED
        SUMMARY:Papier & Gelber Sack - Musterstadt - A.R.T. Abfuhrtermin
        TRANSP:OPAQUE
        END:VEVENT
        BEGIN:VEVENT
        DTSTART:20240619T040000Z
        DTSTAMP:20240402T202137Z
        UID:248238@art-trier.de
        CLASS:PUBLIC
        CREATED:20240619T000000Z


        Zuletzt geändert von Donjupp; 02.04.2024, 23:54.

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Und Du hast mal den importierten Kalender versucht? Siehe da, dieser funktioniert korrekt. Und auch hier wieder NOCH EINMAL 404 KOMMT VOM KALENDERSERVER UND SAGT, DASS DER ANGEGEBENE KALENDER NICHT GEFUNDEN WURDE!!!
          Das heißt NICHT dass kein Eintrag im Kalender gefunden wurde.

        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Ich kann mir auch nicht vorstellen, dass Deine emailadresse donjupp****(web.de ist
      • Donjupp
        Dumb Home'r
        • 29.03.2024
        • 14

        svethi

        donjupp****web.de ist nicht die korrekte Adresse. Die **** stehen für andere Buchstaben, welche ich nur in diesem Beitrag geändert habe. Im letzten Post habe ich ja einen korrekten Pfad eingefügt:


        Hier wird auch die ICS heruntergeladen, welche ich nicht schaffe auszulesen.

        Füge ich den Pfad in das Caldav-Plugin ein, dann schaffe ich mit der Testfunktion es nicht, einen validen Eintrag zu finden. Ich erhalte immer als Ergebnis so eine form:

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 4 Größe: 9,2 KB ID: 428485
        Daher nochmals die Frage, wonach ich den für den Test im Plugin Suchen müsste? ​
        Zuletzt geändert von Donjupp; 03.04.2024, 23:14.

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Lies meinen Kommentar richtig. Du hast nach Deinen * ein %40 was ein ( ist. Das ist sicherlich falsch.
          Deine andere URL habe ich zum Test bei mir eingegeben und erhalte da auch Kalendereinträge. Ich weiß nicht was Du da falsch machst. Wenn Du nur ein * angibst, werden die nächsten Einträge ausgegeben. Gesucht wird in Summary
      • Jim123
        Smart Home'r
        • 06.11.2023
        • 39

        Hallo svethi!

        Danke für deine Rückmeldung.

        Ich weiß was ein 404 Error bedeutet. Was ich mir halt nicht erklären kann ist, warum der 404 nur auftritt, wenn ich die URL über das Plugin abrufen will.
        Der Webservice sollte, ohne Einschränkungen, frei erreichbar sein: https://data.umweltprofis.at/opendata/AppointmentService/AppointmentService.asmx/GetTermineForLocationSecured?Key=TEMPKeyabvvMKVCic 0cMcmsTEMPKey&StreetNr=130518&HouseNr=Alle&interva ll=w%C3%B6chentlich

        Danke,
        Jim
        Zuletzt geändert von Jim123; 03.04.2024, 13:36.

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Das eine Problem wird sein, dass da am Ende keine Datei mit Endung ics aufgerufen wird, dadurch wird der Kalender als CalDAV verwendet, was er wohl nicht unterstützt und daher wohl die 404 kommt. Das Andere ist, wenn ich das im Browser aufrufe, bekomme ich keine validen iCal Kalenderdaten, somit kann das Plugin damit auch nichts anfangen.

        • Jim123
          Jim123 kommentierte
          Kommentar bearbeiten
          Deswegen meine Frage ob das Plugin einen "Kalender" erwartet. OK danke für die Info, dann werde ich den Webservice anders einbinden...

        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Mal ehrlich, wie soll denn ein Kalendertool ohne Kalender arbeiten? Dann kommst Du noch mit XML. Das sagt absolut nichts über die Daten aus, die enthalten sind. Das ist nur eine Strukturierungs“Sprache“. In XML könntest Du ebenso ein Bild übergeben. Wie soll denn das Plugin wohl mit diesen Daten etwas anfangen? Ich hatte gehofft, dass Du den Wink mit dem Zaunpfahl verstehst.
      • Donjupp
        Dumb Home'r
        • 29.03.2024
        • 14

        svethi
        Danke dir... hab die ganze Zeit die Kalender korrekt eingegeben, allerdings nach falschen Einträgen gesucht. Das der Start eingegeben werden muss, war mir aus der Anleitung nicht ersichtlicht -.-

        Wenigstens konnte ich nun über das Plugin im Browser sowohl die Kalender aus der Icloud und Google lesen.

        In Loxone aktualisieren sich allerdings nicht bzw kommen keine Werte aus meinem Icloud Kalender, die von Google hingegen schon. (Habe nur die URL getauscht, beide Kalender basieren auf der selben ICS, und nach paar Sekunden sind die Daten von Google da.

        Beim Einbinden des Kalenders bin ich nach der Anleitung:https://community.openhab.org/t/solv...nnection/32510 vorgegangen, bis zum Schritt am Ende:

        "
        Now in caldavio.cfg


        caldavio:AJ:url=https://p42-caldav.icloud.com:443/347723822/calendars/086e6106-1c0d-4301-a99d-5c5ebbcc5079/
        caldavio:AJ:username=myicloudusername
        caldavio:AJassword=myappspecifipass
        caldavio:AJ:reloadInterval=60
        caldavio:AJreloadTime=20000
        caldavio:AJ:disableCertificateVerification=false
        caldavio:timeZone=Australia/Adelaide



        and in calDAVPersonal.cfg


        caldavPersonal:usedCalendars=AJ


        Then a few items


        String OfficeCalName0 "Next Up [%s]" <calendar> { caldavPersonal="calendar:AJ type:EVENT eventNr:1 value:NAME" }
        DateTime OfficeCalTime0 "Starts [%1$tT, %1$td.%1$tm.%1$tY]" <calendar> { caldavPersonal="calendar:AJ type:EVENT eventNr:1 value:START" }


        and on the sitemap


        Text item=OfficeCalName0
        Text item=OfficeCalTime0


        Done!
        ​"


        Zuletzt geändert von Donjupp; 04.04.2024, 00:20.

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Ich weiß nicht was Du mir damit erzählen willst. Die Anleitung von Openhab taugt maximal bis zum Herausfinden der Kalender URL. Da hatte hier aber auch schonmal einer geschrieben wie das geht. Der ganze Kram, den Du hier gepostet hast, hat absolut nichts mit dem Plugin zu tun und kann hier auch absolut nicht funktionieren. Habe auch keine Ahnung, wie Du auf diese Idee kommst.
          Auch kann ich Deine Aussage, dass Du nach Start suchen musst nicht nachvollziehen. Ich sagte Dir nach, dass in Summary gesucht wird.
          Du wirst das schon machen.
      • Donjupp
        Dumb Home'r
        • 29.03.2024
        • 14

        Mittels Plugin im Loxberry bekomme ich die Daten aus einem Google-Kalender und auch eines Icloud-Kalenders mit Test data.

        Kopiere ich nun die URLS in den Miniserver, dann liefert nur der Google-Kalender zyklisch Werte. Das wollte ich damit "sagen".

        Kommentar

        • KapeOne
          Supermoderator
          • 23.08.2015
          • 313

          Moin svethi,

          hab an Ostern endlich meinen Loxberry auf die 3er Version umgestellt. Leider scheint jetzt CalDAV nicht mehr zu funktionieren - in der LOG erhalte ich die Fehlermeldung "no answer from curl". In einem älteren Beitrag habe ich gelesen, dass dieser Fehler kommen kann, wenn im Suchzeitraum kein Eintrag im Kalender vorhanden ist - bei mir sind aber in 3 und in 4 Tagen je ein Eintrag für die Mülltonnen vorhanden.


          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 167
Größe: 79,5 KB
ID: 428679


          Wenn ich die URL für den virtuellen Eingang im Browser aufrufe​, erhalte ich diese Fehlermeldung:

          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 137
Größe: 12,8 KB
ID: 428680

          Hast du einen Tipp, wo ich ansetzen kann?​
          Grüße
          Klaus
          ----------------------------
          KNX, MS1 / MS Compact, 1-Wire Ext., Air Ext. LoxBerry (1-Wire, 433MHz, Zigbee, MQTT, u.a.), Heliotherm WEB Gateway

          Kommentar


          • KapeOne
            KapeOne kommentierte
            Kommentar bearbeiten
            svethi - geht wieder, du bist spitze !!

            Kann es dann aber sein, dass das nicht nur bei mir nicht funktioniert?

          • svethi
            svethi kommentierte
            Kommentar bearbeiten
            Ja, kann gut sein. Ich werde das im Setup anpassen

          • svethi
            svethi kommentierte
            Kommentar bearbeiten
            Guckst Du. @ProfMobilux hat festgestellt, dass das Modul eigentlich zum LB gehören sollte und hat schon eine neue Version released, die das nachinstalliert. Da brauch ich gar nichts machen ;-)
        • Jim123
          Smart Home'r
          • 06.11.2023
          • 39

          Hallo!

          Ich habe nun (endlich) eine ICAL für den Müllplan gefunden. Leider bekomme ich immer noch die Daten korrekt ausgelesen...

          Mein File sieht wie folgt aus:
          Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 25,8 KB ID: 430511

          Search term:

          Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 93,6 KB ID: 430512Es scheint so als ob nichts gefunden wird? Ich habe schon versucht die Spaces mit "%20" zu ersetzen.. ohne Erfolg..
          Sollte ein Eintrag auch gefunden werden wenn ich nur nach "Altpapier" suchen lassen würde?

          Hat jemand eine Idee?

          Danke

          Kommentar


          • Jim123
            Jim123 kommentierte
            Kommentar bearbeiten
            Schade dass ich das Ical nicht lokal am loxberry ablegen kann
            "http://loxberry/admin/system/tools/filemanager/system/data/plugins/caldav4lox/waste-ical-2024/muellkalender.ics"
            ==> Please input a valid URL
            Zuletzt geändert von Jim123; 25.04.2024, 20:21.

          • Jim123
            Jim123 kommentierte
            Kommentar bearbeiten
            Wenn ich das ical auf einem webspace hochlade bekomme ich folgenden fehler...

            curl-Error: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error
            error loading eventsInvalidArgumentException Object
            (
            [messagerotected] => This parser can only read from strings or streams.
            [string:Exceptionrivate] =>
            [coderotected] => 0
            [filerotected] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/vendor/sabre/vobject/lib/Parser/MimeDir.php
            [linerotected] => 135
            [trace:Exceptionrivate] => Array
            (
            [0] => Array
            (
            [file] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/vendor/sabre/vobject/lib/Parser/MimeDir.php
            [line] => 83
            [function] => setInput
            [class] => Sabre\VObject\Parser\MimeDir
            [type] => ->
            )

            [1] => Array
            (
            [file] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/vendor/sabre/vobject/lib/Reader.php
            [line] => 47
            [function] => parse
            [class] => Sabre\VObject\Parser\MimeDir
            [type] => ->
            )

            [2] => Array
            (
            [file] => /opt/loxberry/webfrontend/html/plugins/caldav4lox/caldav.php
            [line] => 241
            [function] => read
            [class] => Sabre\VObject\Reader
            [type] => ::
            )

            )

            [previous:Exceptionrivate] =>
            )
            {
            "Restabfall": {
            "Start": -1,
            "End": -1,
            "Summary": "",
            "Description": "",
            "fwDay": -1,
            "wkDay": -1,
            "now": 483309210
            },
            "now": 483309210
            }

          • svethi
            svethi kommentierte
            Kommentar bearbeiten
            Ich könnte mir vorstellen, dass das Eingabefeld die URL nur als invalid erkennt, wenn Du da nur loxberry stehen hast. Versuche es mal mit der IP. Ob der Rest der URL richtig ist, kann ich nicht sagen.
            Warum die o.a. URL nicht funktioniert, habe ich Dir aber auch schon einmal geschrieben. Das Plugin wurde für CalDAV Kalenderserver geschrieben. In erster Linie kommuniziert es mit einen DAV Server. Da google das DAV mal abgesichert hat, musste mal auf die iCal Dateien ausweichen. Da gibt es aber immer in der URL dann ein „.ics“. Dies ist für das Plugin die Erkennung einer iCal Datei. Dies ist in der URL nicht enthalten. Daher funktioniert es nicht. Du könntest versuchen ein „&file.ics“ hintenan zu stellen. Wenn der Server das ignoriert, sollte es gehen.
        Lädt...