[Modul] Abfallwirtschaft - Awido, Abfall+, Regio IT, MyMüll, MüllMax, ICS

Du bräuchtest dazu eine eigene Domain bzw. fixe IP mit dem Link/Pfad zu deinem Kalender.

Von daher wird dir aktuell nichts anderes übrig bleiben, als die Daten so wie gemacht einzeln einzubinden.

Servus pitti, es hatte funktioniert. Seit ein paar Tagen kommt nichts mehr an. Hatte aber noch keine Zeit zuschauen.
Viele Grüße
Mario

@pitti , könntest du nicht im ICS Modul die Möglichkeit einbauen, statt einer URL auch direkt eine ics Datei (SelectFile) hochzuladen?
Bei meinem Anbieter in Hannover ist es so, dass für den Abruf der ics ein POST-Aufruf erforderlich ist - da reicht die Angabe der url mit GET-Parametern nicht aus…
Da die ics-Dateien die Temine für ein Jahr enthalten, wäre der Aufwand die Datei einmal im Jahr manuell einzufügen für mich auch vertretbar.

Du könntest die Datei auf den Symcon Server legen und von dort abrufen, dann hättest du eine URL.

Bei mir liegt die ics im user Ordner, es geht.

Klar geht das alles - wäre aber doch komfortabler und gibt auch andere Gründe:

Der user-Ordner sollte ja aus Sicherheitsgründen nicht mehr verwendet werden: Sicherheitsrisiko oder Feature - #4 von paresy

Mittels Hook geht’s natürlich auch - macht die Sache aber noch etwas aufwändiger (noch ein weiteres Script und eigene Absicherung notwendig).

Dann könnt ich auch weiter meine eigene Klasse verwenden

Ja, mal schauen! Es gibt leider immer mehr Anbieter die das Abrufen der Dateien extrem erschweren oder mittels Javascript, Popups und was weiß ich drumrumbauen …

Gruß Heiko

Das wäre wirklich hilfreich, einen Anbieter/Abfall.ICS zu wählen und eine eigene URL zu nutzen, funktioniert leider nicht.

[Analysieren] führt leider bei allen Versuchen zu „Keine Daten“.

Ich habe es jetzt mit dem Hinweis von tomgr geschafft lokal die ICS-Datei im user-Verzeichnis abzulegen. Dann habe ich mit diesem Link die Daten abrufen können:

Das ist kein Problem, die Datei wird laut Debug auch gelesen, allerdings mit der Meldung „Keine Einträge in Daten vorhanden!“, was leider falsch ist.

Z.B.

BEGIN:VEVENT
CLASS:PUBLIC
DTSTAMP:20250107T092952Z
UID:33f22e82536a3f7bea4887958fdc6a15
CREATED:20250107T092952Z
DTSTART;VALUE=DATE:20250115
DTEND;VALUE=DATE:20250116
LOCATION:Hartenbrakenstr. xxx, Hannover / Bothfeld
SUMMARY:Papier
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Denk dran Papier
TRIGGER:-PT6H
END:VALARM
END:VEVENT

sollte ja eigentlich erkannt werden. Der Header der ICS ist auch ok.

Versuche mal den Namen der ICS-Datei ganz simpel zu halten … bsp. Rest2025.ics oder dgl.
Habe bemerkt, dass er bei mir bspw. das „ü“ von Restmüll nicht mag …

EDIT:
und bei mir steht zu Begin dieser Header:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//RISKommunal.Net//iCalendar MIMEDIR//EN
X-WR-CALNAME:Restmüll
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART;VALUE=DATE:20250116
DTEND;VALUE=DATE:20250117
LOCATION:
CATEGORIES:Müllkalender

und am Ende das hier:

DESCRIPTION:Reminder
PRIORITY:5
END:VALARM
END:VEVENT
END:VCALENDAR

Danke für den Hinweis, wie so oft leider Error 40, wenn man die URL korrekt angibt, dann wird auch etwas erkannt. Aktuell noch zu viel, da verschobene Termine mit einem * markiert sind, aber so kann ich weiter testen.

Soo, ICS umgebaut (erweitert) und funzt :smiley:

Wenn das nächtlich Update zufriedenstellend läuft - gibt es morgen ein größeres Update!!!

:angel:

1 „Gefällt mir“

Hi pitti,
meine Frau würde sich noch den Wochentag beim Datum wünschen. Jetzt kann ich mir das eh über ein eigenes Skript auslesen und darstellen:

<?php
$dateString =  GetValueString(IPS_GetParent(IPS_GetParent($_IPS['SELF'])));
$wochentagID = IPS_GetParent($_IPS['SELF']);

$date = DateTime::createFromFormat('d.m.Y', $dateString);

if ($date) {
    $wochentage = [
        'Monday' => 'Montag',
        'Tuesday' => 'Dienstag',
        'Wednesday' => 'Mittwoch',
        'Thursday' => 'Donnerstag',
        'Friday' => 'Freitag',
        'Saturday' => 'Samstag',
        'Sunday' => 'Sonntag',
    ];

    $wochentagEnglisch = $date->format('l');
    echo $wochentage[$wochentagEnglisch]; // Gibt den Wochentag auf Deutsch aus
    SetValueString($wochentagID,$wochentage[$wochentagEnglisch]);
} else {
    echo "Ungültiges Datum!";
}
?>

Cool wäre es, wenn es gleich in der HTML-Box also in der Variable „Abholung“ (String) drinnen wäre. Geht das? :innocent:

Gibts doch schon …

image

ooohh aso … das hängt mit der Größe der HTML-Box zusammen. Hab ich erst jetzt gecheckt :person_gesturing_ok:t2:

Echt Geiles Modul! :love_you_gesture:t2:
Super Danke!

1 „Gefällt mir“

Und leider auch vom OS, auf Android im IPSview ist da nur die große Tonne von morgen, obwohl die Auflösung größer ist wie auf der Windows-Anzeige. Dort wird alles komplett als Tabelle angezeigt.

Ich muss mir den HTML Code noch mal genauer ansehen.

Leider liefert die HTMLBox vom IPSview etwas ungünstige Daten zurück. Die 743 bzw. 1162 Pixel Breite der Box ist das Minimum, um die jeweilige Ansicht zu erreichen. D.h. die min-width Werte sind irgendwie anders.

Leider habe ich keine Möglichkeit gefunden, die echten Werte im HTML auszugeben.

Bei der ganzen Spielerei ist mir noch aufgefallen
grafik

<tr><td><svg class="icon icon--gray" ...</td>
<td>Leichtverpackungen</td>...

das du da noch die falsche Class setzt, dass müsste icon--yellow sein.

Guten Morgen,
kann mir jemand sagen warum nur eine Tonne angezeigt wird in der Kachel für die nächste Abholung? (Generell wird bei mir nur eine Tonne angezeigt). In 6 Tagen/14.01 müsste eigentlich auch der allgemeine Müll angezeigt werden. Auf „Aktualisieren“ im Modul habe ich geklickt. In der ICS-Datei ist der 14.01 auch enthalten. Was muß ich da noch beachten?

Vielen Dank schon mal

Die Lösung steht kurz vor deiner Frage oben :wink: .

Die Kachel muss größer werden.