du meinst aber schon zwei unterschiedliche tonnenarten als event ? `
Ja genau. Das kommt zwar nur 1x im Monat vor, ist aber trotzdem nicht schön…
du meinst aber schon zwei unterschiedliche tonnenarten als event ? `
Ja genau. Das kommt zwar nur 1x im Monat vor, ist aber trotzdem nicht schön…
Nochmal, ich hab für jede Tonne ein Script und die laufen auch zuverlässig. Nur dann nicht, wenn 2 Events in der iCal table stehen…
Nein glaub eher nicht. Bzw, würde schon gehen, würde mir aber wieder viel Umbauarbeit bedeuten.
Mit den HM Variablen füttere ich Mediola Neo, welches ich zur Visualisierung auf verschiedenen. Div. nutze.
Dort werden mir Statusgrafiken angezeigt, für die verschiedenen Tonnenarten und dann separiert nach heute und morgen.
Außerdem sende ich mir pushMails wenn die Tonnen "heute" raus müssen. Aber wie gesagt, das geht ja über die iCal Eventeinträge relativ einfach zu realisieren.
Gut und schön, nur dass ich die VIS nicht nutze. Schreib mir, wie vorhin kurz erwähnt die Werte nur in Homematic Variablen…
Guter Ansatz, muss ich nochmal prüfen. Da ich aber Variablen in Homematic schreibe, welche alle eine andere ID haben denk ich eher nicht. Die Script habe ich sogar mittlerweile schon von der Laufzeit 1 Minute auseinander gezogen damit es nicht zu Laufzeitproblemen kommt…
Aber auch das werde ich nochmal nachprüfen
OK, werde ich probieren…
Mich irritiert halt, dass alle 4 Tonnen funktionieren, solange sie einzeln abgeholt werden. Erst wenn in der Tabelle 2 Events drin stehen, funktioniert mein Script nicht.
Ich gebe Bescheid...
Die Suchbegriffe passen noch, da es ja den ganzen Monat funktioniert - solange eben nur ein Termin am Tag ansteht.
Und genau an der Stelle hänge ich eben auch - sobald in der iCal table 2 Events stehen, wird nur das zweite erkannt.
Ich lasse für jede Tonne ein eigenes Script jeweils für heute und für morgen laufen… Deshalb sieht man in diesem Script halt auch nur die Abfrage "Biotonne".
Sollte ich lieber alle Tonnen in einem Script verarbeiten?
OK, also ich hab für jede Tonne ein eigenes Script laufen. Hier Beispielhaft mal das Script für die "Biotonne morgen". Bis auf die Schlagworte zur Suche und die zu setzenden IDs sind die Script gleich.
Ich muss noch dazu sagen, dass ich dieses Müllscript seit der Abholung von zwei Tonnen pro Tag nur noch für die morgige Abfrage nutze. Für die Abfrage Heute lese ich jetzt einfach die Events vom iCal Adapter aus, da ich so das Problem mit der Nichterkennung umgehe.
! /* Kalenderevent in der Zukunft suchen
! sucht im iCal Adapter nach events, die noch kommen
! http://forum.iobroker.net/viewtopic.php … 9ce#p34975
! Vorbereitung: relative Datumsangabe in iCal-Adapter einschalten
! 20.09.2016 erstellt von pix
! */
! // User Anpassungen
! var suchstring = 'Bioabfall'; // Suchbegriff
! var stichtag = 1; // 0 heute; 1 morgen; 2 übermorgen; 3 In 3 Tagen
! var idTabelle = 'ical.0.data.table'; // Instanz eintragen
! var logging = true; // debug Log ein/ausschalten
! // Ende User Anpassungen
! var tage = ['Heute','Morgen','Übermorgen','In 3 Tagen']; // dafür relative Datumsangabe in iCal-Adapter einschalten, ggf. in andere Sprachen übersetzen
! function pruefeKalender() {
! var kalender = getState(idTabelle).val;
! try{
! var ereignisse = JSON.stringify(kalender, null, 2); // Ausgabe als String
! if (logging) log(ereignisse);
! for(var i = 0; i <kalender.length; i++)/{/alle/events/durchgehen<br="">if (kalender__.date.indexOf(tage[stichtag]) != -1) { // Strings Datum oder relatives Datum (nicht nicht) gefunden
! var termin = kalender__.event;
! if (termin.indexOf(suchstring) != -1) {
! log('Treffer: ' + tage[stichtag] + ' ' + suchstring);
! setState("hm-rega.0.7797"/Abfall Biotonne morgen/, true);
! // weitere Aktionen, setState oder so
! }
! else setState("hm-rega.0.7797"/Abfall Biotonne morgen/, false);
! }
! else setState("hm-rega.0.7797"/Abfall Biotonne morgen/, false);
! }
! } catch (fehler_try) {
! log('Fehler beim Kalenderevents einlesen ' + fehler_try, 'error');
! }
! }
! // bei Aktualisierung
! on ({id: idTabelle, change: 'any'}, function(data) {
! pruefeKalender();
! });
! // 1Min nach Mitternacht
! schedule("3 5 * * ", pruefeKalender);
! //bei Skriptstart
! pruefeKalender();____</kalender.length;> __```
`/ Kalenderevent in der Zukunft suchen
sucht im iCal Adapter nach events, die noch kommen
http://forum.iobroker.net/viewtopic.php?f=21&t=3761&sid=4319378b32a0ce096bbbbfc0ebd859ce#p34975
Vorbereitung: relative Datumsangabe in iCal-Adapter einschalten
20.09.2016 erstellt von pix
*/
// User Anpassungen
var suchstring = 'Bioabfall'; // Suchbegriff
var stichtag = 1; // 0 heute; 1 morgen; 2 übermorgen; 3 In 3 Tagen
var idTabelle = 'ical.0.data.table'; // Instanz eintragen
var logging = true; // debug Log ein/ausschalten
// Ende User Anpassungen
var tage = ['Heute','Morgen','Übermorgen','In 3 Tagen']; // dafür relative Datumsangabe in iCal-Adapter einschalten, ggf. in andere Sprachen übersetzen
function pruefeKalender() {
var kalender = getState(idTabelle).val;
try{
var ereignisse = JSON.stringify(kalender, null, 2); // Ausgabe als String
if (logging) log(ereignisse);
for(var i = 0; i <kalender.length; 5/i++)/{/alle/events/durchgehen/if/(kalender[i].date.indexof(tage[stichtag])/!="-1)" strings/datum/oder/relatives/(nicht/nicht)/gefunden/var/termin="kalender[i].event;" (termin.indexof(suchstring)/log('treffer:/'/+/tage[stichtag]/suchstring);/setstate("hm-rega.0.7797"/*abfall/biotonne/morgen*/,/true);/weitere/aktionen,/setstate/so/}/else/false);/catch/(fehler_try)/log('fehler/beim/kalenderevents/einlesen/fehler_try,/'error');/bei/aktualisierung/on/({id:/idtabelle,/change:/'any'},/function(data)/pruefekalender();/});/1min/nach/mitternacht/schedule("3/*/*",/pruefekalender);/skriptstart/pruefekalender();<e=""></kalender.length;>`[/i][/i]
Hallo,
erst einmal ein großen Dankeschön für das Müllscript an Pix!.
Ich habe es nun schon eine ganze Weile erfolgreich im Einsatz.
Seit Anfang 2018 hat unser Entsorgungsunternehmen allerdings die Termine geändert. Nun werden 1x im Monat 2 Tonnen am gleichen Tag geholt.
Leider erkennt das Script nicht beide iCal Eventeinträge, sondern scheinbar immer nur den zweiten.
Die Eventeinträge von iCal Seite her, werden sauber geschrieben…
Wie gesagt, bei einem Eventeintrag lauft es seit langer Zeit ohne Probleme.
Da ich nicht ganz so fit in JavaScript bin, hoffe ich, dass mir hier eventuell jemand weiter helfen kann.
Danke und VG Cotonila