@tt-tom sagte in SONOFF NSPanel mit Lovelace UI:
@ompi du könntest jetzt als Event / Suchmuster folgendes machen. Hast dann aber nur zwei Tonnenfarben. z.B.
const idRestmuellName: string = 'Gelbe Tonne, Biotonne, Restmülltonne'; // Schwarze Tonne
const idWertstoffName: string = 'Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich'; // Gelbe Tonne / Sack
wirst aber Probleme mit dem Eventnamen auf dem Display haben, wegen begrenzte Anzahl an Zeichen.
Edit: wie würdest du es am liebsten auf dem Display haben bzw. angezeigt bekommen.
Danke für die Antwort. Wenn ich es so eingebe, scheint das Skript wohl Übereinstimmungen zu finden, kann diese aber anscheinend nicht in die Objekte schreiben.
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: getState(id=ical.0.data.table, timerId=undefined) => {"val":[{"date":"14.12.2023 ","event":" Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","_class":"ical_Abfall ","_date":"2023-12-13T23:00:00.000Z","_end":"2023-12-14T23:00:00.000Z","_IDID":"6568f816d4d7f","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfall","_calColor":"#FF0000","_object":{"type":"VEVENT","params":[],"start":"2023-12-13T23:00:00.000Z","datetype":"date","end":"2023-12-14T23:00:00.000Z","dtstamp":"2023-12-05T21:43:50.000Z","uid":"6568f816d4d7f","class":"PUBLIC","created":"2023-11-30T21:01:19.000Z","lastmodified":"2023-11-30T21:01:19.000Z","sequence":"0","status":"CONFIRMED","summary":" Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","transparency":"OPAQUE","MICROSOFT-CDO-ALLDAYEVENT":"TRUE","method":"PUBLISH"}},{"date":"29.12.2023 ","event":" Gelbe Tonne, Biotonne, Restmülltonne","_class":"ical_Abfall ","_date":"2023-12-28T23:00:00.000Z","_end":"2023-12-29T23:00:00.000Z","_IDID":"6568f816d4d84","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfall","_calColor":"#FF0000","_object":{"type":"VEVENT","params":[],"start":"2023-12-28T23:00:00.000Z","datetype":"date","end":"2023-12-29T23:00:00.000Z","dtstamp":"2023-12-05T21:43:50.000Z","uid":"6568f816d4d84","class":"PUBLIC","created":"2023-11-30T21:01:23.000Z","lastmodified":"2023-11-30T21:01:23.000Z","sequence":"0","status":"CONFIRMED","summary":" Gelbe Tonne, Biotonne, Restmülltonne","transparency":"OPAQUE","MICROSOFT-CDO-ALLDAYEVENT":"TRUE","method":"PUBLISH"}}],"ack":true,"ts":1701812630745,"q":0,"from":"system.adapter.ical.0","user":"system.user.admin","lc":1701812630745}
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Rohdaten von iCal: [{"date":"14.12.2023 ","event":" Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","_class":"ical_Abfall ","_date":"2023-12-13T23:00:00.000Z","_end":"2023-12-14T23:00:00.000Z","_IDID":"6568f816d4d7f","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfall","_calColor":"#FF0000","_object":{"type":"VEVENT","params":[],"start":"2023-12-13T23:00:00.000Z","datetype":"date","end":"2023-12-14T23:00:00.000Z","dtstamp":"2023-12-05T21:43:50.000Z","uid":"6568f816d4d7f","class":"PUBLIC","created":"2023-11-30T21:01:19.000Z","lastmodified":"2023-11-30T21:01:19.000Z","sequence":"0","status":"CONFIRMED","summary":" Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","transparency":"OPAQUE","MICROSOFT-CDO-ALLDAYEVENT":"TRUE","method":"PUBLISH"}},{"date":"29.12.2023 ","event":" Gelbe Tonne, Biotonne, Restmülltonne","_class":"ical_Abfall ","_date":"2023-12-28T23:00:00.000Z","_end":"2023-12-29T23:00:00.000Z","_IDID":"6568f816d4d84","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfall","_calColor":"#FF0000","_object":{"type":"VEVENT","params":[],"start":"2023-12-28T23:00:00.000Z","datetype":"date","end":"2023-12-29T23:00:00.000Z","dtstamp":"2023-12-05T21:43:50.000Z","uid":"6568f816d4d84","class":"PUBLIC","created":"2023-11-30T21:01:23.000Z","lastmodified":"2023-11-30T21:01:23.000Z","sequence":"0","status":"CONFIRMED","summary":" Gelbe Tonne, Biotonne, Restmülltonne","transparency":"OPAQUE","MICROSOFT-CDO-ALLDAYEVENT":"TRUE","method":"PUBLISH"}}]
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Anzahl iCal - Daten: 2
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft ---------
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Startdatum UTC: 2023-12-13T23:00:00.000Z
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Datum: 14.12.2023
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Event: Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich%
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.date, state={"val":"14.12.2023 ","ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"})
2023-12-05 22:43:50.746 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.date, state={"val":"14.12.2023 ","ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.event, state={"val":"Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"})
2023-12-05 22:43:50.746 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.event, state={"val":"Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.color, state={"val":65504,"ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"})
2023-12-05 22:43:50.746 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.color, state={"val":65504,"ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Abfallnummer: 1
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft ---------
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Startdatum UTC: 2023-12-28T23:00:00.000Z
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Datum: 29.12.2023
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Event: Gelbe Tonne, Biotonne, Restmülltonne
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Gelbe Tonne, Biotonne, Restmülltonne%
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.date, state={"val":"29.12.2023 ","ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"})
2023-12-05 22:43:50.747 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.date, state={"val":"29.12.2023 ","ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.event, state={"val":"Gelbe Tonne, Biotonne, Restmülltonne","ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"})
2023-12-05 22:43:50.747 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.event, state={"val":"Gelbe Tonne, Biotonne, Restmülltonne","ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.color, state={"val":33840,"ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"})
2023-12-05 22:43:50.747 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.color, state={"val":33840,"ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Abfallnummer: 2
Die Anzeige aus dem Beispiel würde mir schon reichen. Wobei mir die Restmülltonne, Blaue Tonne und Gelbe Tonne reichen würden.

Der trashschedule Adapter schafft es die Tonnen zu trennen und die jeweiligen Abholdaten anzuzeigen. Das hilft mir beim NSPanel aber nicht weiter, oder?