From 88a595fadfaac0015232f957f7b9e1ef46a9f5bf Mon Sep 17 00:00:00 2001 From: kuckuckmann <99131208+kuckuckmann@users.noreply.github.com> Date: Tue, 6 Sep 2022 22:14:09 +0200 Subject: [PATCH] Updated ioBroker FAQ & Anleitungen (markdown) --- ioBroker---FAQ-&-Anleitungen.md | 100 +++++++++++++++++++++++--------- 1 file changed, 72 insertions(+), 28 deletions(-) diff --git a/ioBroker---FAQ-&-Anleitungen.md b/ioBroker---FAQ-&-Anleitungen.md index 19aca9b..97e753a 100644 --- a/ioBroker---FAQ-&-Anleitungen.md +++ b/ioBroker---FAQ-&-Anleitungen.md @@ -418,7 +418,7 @@ Java Skript: 1 = Hier muss der Pfad zum ICal Adapter zum Punkt **ical.0.data.table** eigestellt werden. Achtet auf die Instanznummer beim Adapter 2 = Muss nur angepasst werden, wenn Eure Datenpunkte nicht unter **0_userdata.0.Abfallkalender.** liegen 3 = Die Bezeichnungen der Abfallbehälter in Eurem Kalender. Die Namen müssen passen, das mit das Parsen funktioniert. Tipp: Die Ziffern bei "setze Color auf ....." sind die Farbcodierungen im Dezimalsystem. -4 = Für's parsen wichtig. Bei funktioniert die 0, es kann sein dass dies bei euch anders ist. +4 = Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0. ![image](https://user-images.githubusercontent.com/99131208/188515648-9fe879b9-fe5c-402b-8924-47710f4baa95.png) @@ -427,38 +427,82 @@ Java Skript:
Java Skript - ``` -var i, Muell_JSON, Event2, Color; + ` +const idAbfalliCal = 'ical.1'; // iCal Instanz zum Abfallkalender +const idZeichenLoeschen = 14; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0 +const idRestmuellName ='Hausmüll'; // Schwarze Tonne +const idWertstoffName = 'Gelber Sack'; // Gelbe Tonne / Sack +const idPappePapierName = 'Papier'; // Blaue Tonne +const idBioabfaelleName = 'Biomüll'; // Braune Tonne -function subsequenceFromStartLast(sequence, at1) { - var start = at1; - var end = sequence.length - 1 + 1; - return sequence.slice(start, end); + +var i, Muell_JSON, Event2, Color = 0; + +for (i = 1; i <= 4; i++) { + if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date')) { + log(i + '.date nicht vorhanden, wurde erstellt'); + createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date', '', + { + name: parseFloat(i) + '.date', + role: 'state', + type: 'string', + read: true, + write: true, + def: '' + }); + }; + if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event')) { + log(i + '.event nicht vorhanden, wurde erstellt'); + createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event', '', + { + name: parseFloat(i) + '.event', + role: 'state', + type: 'string', + read: true, + write: true, + def: '' + }); + }; + if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color')) { + log(i + '.color nicht vorhanden, wurde erstellt'); + createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color', '', + { + name: parseFloat(i) + '.color', + role: 'state', + type: 'number', + read: true, + write: true, + def: 0 + }); + }; } +function subsequenceFromStartLast(sequence, at1) { + var start = at1; + var end = sequence.length; + return sequence.slice(start, end); +} -on({id: 'ical.1.data.table', change: "ne"}, async function (obj) { - var value = obj.state.val; - var oldValue = obj.oldState.val; - for (i = 0; i <= 3; i++) { - Muell_JSON = getState("ical.1.data.table").val; - setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false); - Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 0); - setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false); - if (Event2 == 'Restabfalltonne') { - Color = 33840; - } else if (Event2 == 'Bio - tonne') { - Color = 2016; - } else if (Event2 == 'Blaue Tonne') { - Color = 31; - } else if (Event2 == 'Gelbe Tonne') { - Color = 65504; +on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () { + + for (i = 0; i <= 3; i++) { + Muell_JSON = getState(idAbfalliCal + '.data.table').val; + setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false); + Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), idZeichenLoeschen); + setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false); + if (Event2 == idRestmuellName) { + Color = 33840; + } else if (Event2 == idBioabfaelleName) { + Color = 2016; + } else if (Event2 == idPappePapierName) { + Color = 31; + } else if (Event2 == idWertstoffName) { + Color = 65504; + } + setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false); } - setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false); - } }); -``` +`
@@ -468,7 +512,7 @@ Blockly Skript: 1 = Hier muss der Pfad zum ICal Adapter zum Punkt **ical.0.data.table** eigestellt werden. Achtet auf die Instanznummer beim Adapter 2 = Muss nur angepasst werden, wenn Eure Datenpunkte nicht unter **0_userdata.0.Abfallkalender.** liegen 3 = Die Bezeichnungen der Abfallbehälter in Eurem Kalender. Die Namen müssen passen, das mit das Parsen funktioniert. Tipp: Die Ziffern bei "setze Color auf ....." sind die Farbcodierungen im Dezimalsystem. -4 = Für's parsen wichtig. Bei funktioniert die 1, es kann sein dass dies bei euch anders ist. +4 = Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 1. ![image](https://user-images.githubusercontent.com/99131208/188515546-1c2b3048-0d5c-427a-b70c-aab035eeaab4.png) ![image](https://user-images.githubusercontent.com/99131208/188515563-bc6a65a2-4e07-454c-8038-f04366d20516.png)