NEWS
Test Adapter TrashSchedule
-
Danke für den Adapter, ich hatte das Thema Müllkalender vor mir hergeschoben und werde es mit deinem Adapter jetzt mal angehen.
p.s.: deinen YT Kanal habe ich schon eine Weile aboniert, Daumen hoch

-
Aktuelle Test Version 2.0.0 Veröffentlichungsdatum 04.05.2022 Github Link https://github.com/klein0r/ioBroker.trashschedule Im Forum existieren mehrere Themen, wie man aus einem iCal-Kalender die Müllabfahrtzeiten extrahieren kann. Dafür werden immer wieder Blockly und JavaScript-Funktionen geteilt. Ich dachte mir, dass es doch viel schöner wäre, wenn das ein Adapter erledigen könnte.
Die Idee kommt aus dem FHEM-Umfeld, wo das ABFALL-Modul genau das gleiche macht. Auch dort wurden zuvor viele Funktionen bereitgestellt und jeder hat das Thema anders gelöst.
Dieser Adapter nimmt eine iCal-Instanz als Quelle und durchsucht die nächsten Events nach den vorher definierten "Abfall-Typen". Wird ein Typ gefunden, werden die Tage bis zur Abholung berechnet und in einem State bereitgestellt. So entsteht eine Struktur, welche als Basis für VIS o.ä. genutzt werden kann.
Weiterhin gibt es eine Zusammenfassung der nächsten Abholung, wenn mehrere "Abfall-Typen" auf einmal abgeholt werden. Diese kann man zum Beispiel für Pushover- oder Telegram-Nachrichten nutzen.
Konfiguration
Gelöscht. Bitte die aktuelle Doku nutzen: https://github.com/klein0r/ioBroker.trashschedule/blob/master/docs/de/README.md
Wichtige Änderung ab Version 1.1.0
Leider musste ich die Namen der Datenpunkte aufräumen, da immer wieder Quatsch dort reingeschrieben wurde. Solltest Du also Scripts oder eine Visualisierung auf den Datenpunkten der einzelnen Abfalltypen haben, müssen diese kontrolliert und ggf. angepasst werden.
Reihenfolge um ab Version 1.0.1 wieder Daten zu bekommen (in VIS)
- Trashschedule Instanz stoppen
- Alle Datenpunkte des Adapters löschen (also von trashschedule.0). Einfach in der Objektansicht auf die Mülltonne klicken und weg damit.
- In der Expertenansicht der Adapterliste erst bei Trashschedule auf Upload klicken, dann bei VIS
- iCal einmal Instanzliste neustarten, dann Trashschedule wieder starten
Danach sollte alles wieder richtig sein.
@haus-automatisierung
Leider weicht hier in Hamburg die Stadtreinigung von der üblichen Vorgehensweise ab, und setzt in dem iCal die Abholtermine immer einen Tag früher rein.
Das heißt auch dein schöner Adapter rechnet für mich persönlich falsch.
Kannst du vielleicht noch einen Offset mit in deine Konfiguration einsetzen, dass würde extrem helfen
Thomas -
@haus-automatisierung
Leider weicht hier in Hamburg die Stadtreinigung von der üblichen Vorgehensweise ab, und setzt in dem iCal die Abholtermine immer einen Tag früher rein.
Das heißt auch dein schöner Adapter rechnet für mich persönlich falsch.
Kannst du vielleicht noch einen Offset mit in deine Konfiguration einsetzen, dass würde extrem helfen
Thomas@leuchttrm sagte in Test Adapter TrashSchedule:
und setzt in dem iCal die Abholtermine immer einen Tag früher rein.
kommen die bei euch immer verschieden oder zB "Rest" alle 6 Wochen, "Papier" alle 3 Wochen, usw.?
-
@leuchttrm sagte in Test Adapter TrashSchedule:
und setzt in dem iCal die Abholtermine immer einen Tag früher rein.
kommen die bei euch immer verschieden oder zB "Rest" alle 6 Wochen, "Papier" alle 3 Wochen, usw.?
@Negalein
In Hamburg gibt es einen pro Straße genauen iCal Kalender der Stadtreinigung. Die Abholung,
Ändert sich leider öfter mal wegen Feiertagen etc. -
So, kurze Frage von mir - hat vermutlich erstmal nix dem Adapter zu tun. Der läuft super VIELEN DANK dafür. Jetzt konnte ich endlich das hier aus dem Forum bekannte und angepasste "Müll" Skript abschalten.
Also meine Frage bezieht sich auf den Datenpunkt ".nextdateformat" Wie kann ich es erreichen, das der TEXT des Datenpunktes im VIS zu einer voreingestellten Zeit (z.B. 2 Tage) vor erreichen des Datums, von weiß auf Rot umspringt? Welches Widget muss ich dafür nehmen? Ich habe mir schon einen Wolf gesucht.

-
@haus-automatisierung
Leider weicht hier in Hamburg die Stadtreinigung von der üblichen Vorgehensweise ab, und setzt in dem iCal die Abholtermine immer einen Tag früher rein.
Das heißt auch dein schöner Adapter rechnet für mich persönlich falsch.
Kannst du vielleicht noch einen Offset mit in deine Konfiguration einsetzen, dass würde extrem helfen
Thomas@leuchttrm said in Test Adapter TrashSchedule: Kannst du vielleicht noch einen Offset mit in deine Konfiguration einsetzen, dass würde extrem helfen
Guter Hinweis, nehme ich mit auf! Was es alles gibt...
-
So, kurze Frage von mir - hat vermutlich erstmal nix dem Adapter zu tun. Der läuft super VIELEN DANK dafür. Jetzt konnte ich endlich das hier aus dem Forum bekannte und angepasste "Müll" Skript abschalten.
Also meine Frage bezieht sich auf den Datenpunkt ".nextdateformat" Wie kann ich es erreichen, das der TEXT des Datenpunktes im VIS zu einer voreingestellten Zeit (z.B. 2 Tage) vor erreichen des Datums, von weiß auf Rot umspringt? Welches Widget muss ich dafür nehmen? Ich habe mir schon einen Wolf gesucht.

@JB_Sullivan Trage beim Text unter "CSS Font & Text" bei color ein Binding ein:
{wert:trashschedule.0.type.Biotonne.daysleft; wert<2 ? "#ff0000" :: "#ffffff"}Hinter "wert" kommt der gewünschte Datenpunktname, <2 sind die Tage, der Rest heißt dann soviel wie wenn kleiner als 2 Tage färbe rot (ff0000), sonst weiß (ffffff)
-
Danke Mathias, finde ich klasse. Einfacher geht es nicht. Hatte vorher auch ein abgewandeltes Skript laufen - aber einen Adapter als Ausgangspunkt für weitere Aktionen finde ich deutlich geschmeidiger. Reines Bauchgefühl, technisch unbegründet.

-
@JB_Sullivan Trage beim Text unter "CSS Font & Text" bei color ein Binding ein:
{wert:trashschedule.0.type.Biotonne.daysleft; wert<2 ? "#ff0000" :: "#ffffff"}Hinter "wert" kommt der gewünschte Datenpunktname, <2 sind die Tage, der Rest heißt dann soviel wie wenn kleiner als 2 Tage färbe rot (ff0000), sonst weiß (ffffff)
@SBorg sagte in Test Adapter TrashSchedule:
@JB_Sullivan Trage beim Text unter "CSS Font & Text" bei color ein Binding ein:
{wert:trashschedule.0.type.Biotonne.daysleft; wert<2 ? "#ff0000" :: "#ffffff"}Hinter "wert" kommt der gewünschte Datenpunktname, <2 sind die Tage, der Rest heißt dann soviel wie wenn kleiner als 2 Tage färbe rot (ff0000), sonst weiß (ffffff)
Vielen Dank, ich habe es gerade mit meinen Datenpunktnamen ausprobiert. Im Editor färbt sich das Feld zwar Rot in der Laufzeit bleibt es aber weiß (
Tage ) müsste bei Stand 2 Tage ja Rot werden. -
@SBorg sagte in Test Adapter TrashSchedule:
@JB_Sullivan Trage beim Text unter "CSS Font & Text" bei color ein Binding ein:
{wert:trashschedule.0.type.Biotonne.daysleft; wert<2 ? "#ff0000" :: "#ffffff"}Hinter "wert" kommt der gewünschte Datenpunktname, <2 sind die Tage, der Rest heißt dann soviel wie wenn kleiner als 2 Tage färbe rot (ff0000), sonst weiß (ffffff)
Vielen Dank, ich habe es gerade mit meinen Datenpunktnamen ausprobiert. Im Editor färbt sich das Feld zwar Rot in der Laufzeit bleibt es aber weiß (
Tage ) müsste bei Stand 2 Tage ja Rot werden.@JB_Sullivan Nö, "2" ist nicht kleiner "2", dann musst du wert<=2 eintragen

-
@JB_Sullivan Nö, "2" ist nicht kleiner "2", dann musst du wert<=2 eintragen

@SBorg sagte in Test Adapter TrashSchedule:
@JB_Sullivan Nö, "2" ist nicht kleiner "2", dann musst du wert<=2 eintragen

OK, alle klar, mein Fehler - ich habe <= mit "alt"+8804 (≤) versucht. Scheint im Editor nicht interpretierbar zu sein.
Jetzt geht es - vielen Dank wieder etwas dazu gelernt.

-
@SBorg sagte in Test Adapter TrashSchedule:
@JB_Sullivan Nö, "2" ist nicht kleiner "2", dann musst du wert<=2 eintragen

OK, alle klar, mein Fehler - ich habe <= mit "alt"+8804 (≤) versucht. Scheint im Editor nicht interpretierbar zu sein.
Jetzt geht es - vielen Dank wieder etwas dazu gelernt.

@JB_Sullivan Die Bindings sind JS und da gibt es nur "<=", ">="...
Du könntest auch ein Binding bei den CSS-Klassen definieren. Dann kannst du bspw. bei "0" Tagen auch noch den Text blinken, flashen,glühen... lassen
-
Getestet und funktioniert auch hier

Aber sollte was sowas nicht generisch in den ical Adapter?
-
Getestet und funktioniert auch hier

Aber sollte was sowas nicht generisch in den ical Adapter?
@darkiop Da war ich mir auch unsicher. Auf der einen Seite ist das ja sehr speziell. Gerade wenn noch eigene Widgets usw. hier mit rein wandern. Auf der anderen Seite könnte man das bestimmt sehr generisch bauen, um noch mehr verschiedene Szenarien damit abbilden zu können. Wenn es dann zu generisch wird, verstehen die User die Anwendungsmöglichkeiten und die Idee dahinter nicht mehr (schon in vielen FHEM Modulen passiert).
Gerade das Beispiel mit dem offset ist ja etwas schwierig in den ical Adapter zu übernehmen.
-
@darkiop Da war ich mir auch unsicher. Auf der einen Seite ist das ja sehr speziell. Gerade wenn noch eigene Widgets usw. hier mit rein wandern. Auf der anderen Seite könnte man das bestimmt sehr generisch bauen, um noch mehr verschiedene Szenarien damit abbilden zu können. Wenn es dann zu generisch wird, verstehen die User die Anwendungsmöglichkeiten und die Idee dahinter nicht mehr (schon in vielen FHEM Modulen passiert).
Gerade das Beispiel mit dem offset ist ja etwas schwierig in den ical Adapter zu übernehmen.
@haus-automatisierung ja, da finden sich argumente für beide Optionen. Je mehr ich darüber nachdenke überwiegen aber diese für eine Trennung. So kann man in der Entwicklung einfacher auf spezielle Wünsche eingehen. Der Pflegeaufwand wird halt entsprechend höher wenn es mal 5 Versionen gibt und grundlegen Code-Zeilen in allen angepasst werden sollen.
-
Ich habe jetzt noch einen Offset eingebaut, sodass man alle Termine im Kalender um x Tage verschieben kann (Abholungen in Hamburg sind einen Tag später als im Kalender angegeben).
Weitergibt es die Möglichkeit, die Text-Suche in den Terminen auf "Exakt" zu stellen, sodass der Text nicht enthalten sein muss, sondern komplett übereinstimmen (Wunsch eines Nutzers).
-
@LJSven sagte in Test Adapter TrashSchedule:
PS. Ich würde es gut finden, wenn es noch einen Datenpunkt geben würde, der bei "unter 2 tagen / oder einen Wert nach eigenem Empfinden" true / oder false ausgibt.
So hab ich es gelöst!
{val:trashschedule.0.type.Gelbersack; val<=1? "mdui-red-pulse": val>=2? "": "yellowgreen"}@Negalein sagte in Test Adapter TrashSchedule:
@LJSven sagte in Test Adapter TrashSchedule:
PS. Ich würde es gut finden, wenn es noch einen Datenpunkt geben würde, der bei "unter 2 tagen / oder einen Wert nach eigenem Empfinden" true / oder false ausgibt.
So hab ich es gelöst!
{val:trashschedule.0.type.Gelbersack; val<=1? "mdui-red-pulse": val>=2? "": "yellowgreen"}Geht bei mir nicht - was mache ich falsch?
{val:trashschedule.0.type.Biotonne.daysleft; val<=13 ? "true":"false"}

-
@Negalein sagte in Test Adapter TrashSchedule:
@LJSven sagte in Test Adapter TrashSchedule:
PS. Ich würde es gut finden, wenn es noch einen Datenpunkt geben würde, der bei "unter 2 tagen / oder einen Wert nach eigenem Empfinden" true / oder false ausgibt.
So hab ich es gelöst!
{val:trashschedule.0.type.Gelbersack; val<=1? "mdui-red-pulse": val>=2? "": "yellowgreen"}Geht bei mir nicht - was mache ich falsch?
{val:trashschedule.0.type.Biotonne.daysleft; val<=13 ? "true":"false"}

@LJSven normalerweise will man in der vis eine eigenschaft in abhängigkeit ändern
z.b soll die hintergrundfarbe verschieden sein - also verschiedene farben haben - deine formel übersetzt: wenn der wert ..daysleft kleiner 13 ist, soll die eigenschaft true sein , sonst false - welche eigenschaft ist das bei dir
daher gehört die formel in eine solche eigenschaft - da du es in einem feld hast, welches mit ID endet - scheint das wenig sinn zu ergeben
was genau willst du erreichen und welches widget ist das ?
-
@LJSven normalerweise will man in der vis eine eigenschaft in abhängigkeit ändern
z.b soll die hintergrundfarbe verschieden sein - also verschiedene farben haben - deine formel übersetzt: wenn der wert ..daysleft kleiner 13 ist, soll die eigenschaft true sein , sonst false - welche eigenschaft ist das bei dir
daher gehört die formel in eine solche eigenschaft - da du es in einem feld hast, welches mit ID endet - scheint das wenig sinn zu ergeben
was genau willst du erreichen und welches widget ist das ?
@liv-in-sky sagte in Test Adapter TrashSchedule:
@LJSven normalerweise will man in der vis eine eigenschaft in abhängigkeit ändern
z.b soll die hintergrundfarbe verschieden sein - also verschiedene farben haben - deine formel übersetzt: wenn der wert ..daysleft kleiner 13 ist, soll die eigenschaft true sein , sonst false - welche eigenschaft ist das bei dir
daher gehört die formel in eine solche eigenschaft - da du es in einem feld hast, welches mit ID endet - scheint das wenig sinn zu ergeben
was genau willst du erreichen und welches widget ist das ?
Ich will erreiche, daß wenn es weniger als 13 Tage sind, soll die Hintergrundfarbe "BG gray" sein, sonst "BG brown"
-
@liv-in-sky sagte in Test Adapter TrashSchedule:
@LJSven normalerweise will man in der vis eine eigenschaft in abhängigkeit ändern
z.b soll die hintergrundfarbe verschieden sein - also verschiedene farben haben - deine formel übersetzt: wenn der wert ..daysleft kleiner 13 ist, soll die eigenschaft true sein , sonst false - welche eigenschaft ist das bei dir
daher gehört die formel in eine solche eigenschaft - da du es in einem feld hast, welches mit ID endet - scheint das wenig sinn zu ergeben
was genau willst du erreichen und welches widget ist das ?
Ich will erreiche, daß wenn es weniger als 13 Tage sind, soll die Hintergrundfarbe "BG gray" sein, sonst "BG brown"
@LJSven bitte den widgetnamen - auf den ersten blick erkenne ich das nicht - dann kann ich es ansehen und wir können weitermachen