NEWS
Ical Setzen eines Events
-
Gut und schön, nur dass ich die VIS nicht nutze. Schreib mir, wie vorhin kurz erwähnt die Werte nur in Homematic Variablen…
-
ja, ich sag ja, hier gibt es viele viele Skripte.
Alleine mein Skript wurde jetzt 3 mal umgebaut und an individuelle Bedürfnisse angepasst, Pix' Skript bestimmt noch häufiger
also Lösungen gibt es reichlich
Allerdings sind glaube ich eure Anforderungen unterschiedlich. Er will ja eine Warnung, wenn am Folgetag Müll ansteht. Mein Skript diente dazu, die Tage bis zum nächsten Müll auszulesen.
Hier:
http://forum.iobroker.net/viewtopic.php … 89#p124389
habe ich mal eine Lösung von mir dargestellt für Meldung am Vorabend, bei der man nicht nach spezifischen Müllsorten suchen muss. Das wiederum funktioniert dann aber nur, wenn man einen dedizierten Müllkalender hat und nicht einen Sammelkalender nutzt `
Dafür benötigt es keinen dedizierten Müllkalender.
Man nimmt einfach die states "Anzahl Tage" und wenn der auf 1 steht (für in dem Fall "Morgen") dann spuck Warnung aus
Ausser man hat Freude an sehr vielen Skripts wo man alles doppelt und dreifach pflegen muss bei einer Änderung
-
ich habe eine Möglichkeit gepostet, wie man ohne spezifische Suchbegriffe auskommen kann um darzustellen, dass es hier im Forum viele Möglichkeiten gibt.
Ich habe nicht gesagt, dass das die Ultima Ratio ist. Deine latent sarkastischen Hinweise sind also gerne geschenkt.
Dein Skript (übrigens meine Basis) , funktioniert anders. Dort ist die Vorgehensweise eben nach dezidierten Suchbegriffen und man erhält die Tage. Geht auch. Dann könnte ich natürlich schauen, ob Tage = 1 ist und dann ne Warnung raussenden. Ist doch kein Thema.
Aber das hilft dem TE auch alles nicht weiter.
@ cotolina: was genau tust du mit den Homematic Variablen? Sind die wirklich notwendig oder können wir dein Anliegen direkt via ioBroker erreichen?
-
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.
-
fehlersuche:
ich würde mal die homatic auslassen - also 2 scripts anlegen für 2 verschiedene tonnen und dann die objekte checken (natürlich kann man auch nur ein script verwenden) - läuft das, ist es ein homatic-einbindungsproblem - so wird der fehler eingekreist.
welches script man anschliessend verwendet ist danach eine individuelle entscheidung
-
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…
-
du meinst aber schon zwei unterschiedliche tonnenarten als event ?
-
Gut und schön, nur dass ich die VIS nicht nutze. Schreib mir, wie vorhin kurz erwähnt die Werte nur in Homematic Variablen… `
Dann verwende das Skript oben. Dann werden die Anzahl Tage bis zur nächsten Abholung in einzelne Variablen geschrieben.
Steht eine 0 dann ist es "Heute", steht eine 1 dann ist "Morgen und bei einer 14 ist es ne Woche..
Ps: kannst es ja gleichzeitig laufen lassen und prüfen ob alles klappt und später die 4 oder 5 anderen löschen
-
ich habe eine Möglichkeit gepostet, wie man ohne spezifische Suchbegriffe auskommen kann um darzustellen, dass es hier im Forum viele Möglichkeiten gibt. `
Spezifisch ist nur wiederum das man Datum mit Worten ersetzen muss, sonst wird auch kein "Morgen" gefunden.
Hab ich 3 Skripte mit blaue, gelb und Restmüll, brauch ich wieder 3 Skripte mit 3 Instanzen ical.
Mein Kommentar: Es geht alles in einem, das war alles
Und gerade weil es viele Möglichkeiten gibt, sollte man doch eigentlich versuchen, nicht 100 Skripte am laufen zu haben und den Überblick verlieren.
Deshalb mein "Wink mit dem Zaunpfahl" was Du als latent sarkastisch bezeichnest
Mit Deinem "Basisskript" (vielen Dank dafür), ist also alles möglich…....Nicht nur die Suche nach dem Müll.
-
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…
-
ich habe eine Möglichkeit gepostet, wie man ohne spezifische Suchbegriffe auskommen kann um darzustellen, dass es hier im Forum viele Möglichkeiten gibt. `
Spezifisch ist nur wiederum das man Datum mit Worten ersetzen muss, sonst wird auch kein "Morgen" gefunden.
Hab ich 3 Skripte mit blaue, gelb und Restmüll, brauch ich wieder 3 Skripte mit 3 Instanzen ical.
Mein Kommentar: Es geht alles in einem, das war alles
Und gerade weil es viele Möglichkeiten gibt, sollte man doch eigentlich versuchen, nicht 100 Skripte am laufen zu haben und den Überblick verlieren.
Deshalb mein "Wink mit dem Zaunpfahl" was Du als latent sarkastisch bezeichnest
Mit Deinem "Basisskript" (vielen Dank dafür), ist also alles möglich…....Nicht nur die Suche nach dem Müll. `
Das hast du falsch verstanden.
Das oben alternative Skript kann ALLE Müllsorten aus EINEM Kalender raussuchen, da es eben "Morgen" sucht. Statt dezidiert "Biotonne" sucht es dezidiert "Morgen" und sucht dann die passende Bezeichnung des Mülls raus. Und zwar unabhängig davon, ob morgen eine Müllsorte, zwei oder vier Sorten dran sind.
Der Unterschied ist: Suche ich nach der Müllart, oder suche ich nach dem Wann?
Wenn aber im iCal andere Termine mit drin sind, z.B. "Oma Trude besuchen", und der Termin auch "Morgen" ansteht, dann sucht das Skript eben raus "Morgen Oma Trude besuchen" und "Morgen Biomüll".
Daher eine dezidierte Ical Instanz für den Müll notwendig,aber nicht pro Müllart.
Dieser Satz
> Spezifisch ist nur wiederum das man Datum mit Worten ersetzen muss, sonst wird auch kein "Morgen" gefunden.
lässt sich auch umdrehen; denn viele haben nunmal "Ersetze Datum mit Worten" am laufen. Dann funkioniert dein Skript nicht. Ich verstehe ja, dass du dein Skript toll findest, ist ja auch schön umgesetzt von dir mit den vier Varianten (ich selber nutze das Skript ja auch, mit den Ergänzungen von PicNic, und nicht meine obige Alternative), aber deswegen sind andere Herangehensweisen noch lange nicht inferior. -
Gut und schön, nur dass ich die VIS nicht nutze. Schreib mir, wie vorhin kurz erwähnt die Werte nur in Homematic Variablen… `
Dann verwende das Skript oben. Dann werden die Anzahl Tage bis zur nächsten Abholung in einzelne Variablen geschrieben.
Steht eine 0 dann ist es "Heute", steht eine 1 dann ist "Morgen und bei einer 14 ist es ne Woche..
Ps: kannst es ja gleichzeitig laufen lassen und prüfen ob alles klappt und später die 4 oder 5 anderen löschen `
Hi Mikiline,
Ich habe dein Script verwendet und mit meinem Ical-Datenobjekt angepasst (–> ical.0). leider zeigt es bei den erstellen States immer NULL an. Was mache ich falsch?
Hier ein Auszug aus dem Log:
16:49:48.806 [info] javascript.0 Start javascript script.js._test.Muelltermine 16:49:48.807 [info] javascript.0 script.js._test.Muelltermine: Heute Gelber Sack Übermorgen GelberSack In 6 Tagen Biotonne 16:49:48.807 [info] javascript.0 script.js._test.Muelltermine: pos ist: -1 16:49:48.808 [info] javascript.0 script.js._test.Muelltermine: Datum ist: 16:49:48.808 [info] javascript.0 script.js._test.Muelltermine: pos1: 0 16:49:48.808 [info] javascript.0 script.js._test.Muelltermine: pos2: 0 16:49:48.809 [info] javascript.0 script.js._test.Muelltermine: , , 16:49:48.809 [info] javascript.0 script.js._test.Muelltermine: Sat Mar 10 2018 16:49:48 GMT+0100 (CET) 16:49:48.809 [info] javascript.0 script.js._test.Muelltermine: Datum heute ist: 1032018 16:49:48.809 [info] javascript.0 script.js._test.Muelltermine: Tage aktueller Monat: 31 16:49:48.810 [info] javascript.0 script.js._test.Muelltermine: Tage bis zum nächsten Müll: NaN 16:49:48.810 [info] javascript.0 script.js._test.Muelltermine: pos ist: 8 16:49:48.810 [info] javascript.0 script.js._test.Muelltermine: Datum ist: Heute 16:49:48.810 [info] javascript.0 script.js._test.Muelltermine: pos1: 0 16:49:48.810 [info] javascript.0 script.js._test.Muelltermine: pos2: 0 16:49:48.811 [info] javascript.0 script.js._test.Muelltermine: Heute , Heute , Heute 16:49:48.811 [info] javascript.0 script.js._test.Muelltermine: Sat Mar 10 2018 16:49:48 GMT+0100 (CET) 16:49:48.811 [info] javascript.0 script.js._test.Muelltermine: Datum heute ist: 1032018 16:49:48.811 [info] javascript.0 script.js._test.Muelltermine: Tage aktueller Monat: 31 16:49:48.811 [info] javascript.0 script.js._test.Muelltermine: Tage bis zum nächsten Müll: NaN 16:49:48.811 [info] javascript.0 script.js._test.Muelltermine: pos ist: -1 16:49:48.812 [info] javascript.0 script.js._test.Muelltermine: Datum ist: 16:49:48.812 [info] javascript.0 script.js._test.Muelltermine: pos1: 0 16:49:48.812 [info] javascript.0 script.js._test.Muelltermine: pos2: 0 16:49:48.812 [info] javascript.0 script.js._test.Muelltermine: , , 16:49:48.812 [info] javascript.0 script.js._test.Muelltermine: Sat Mar 10 2018 16:49:48 GMT+0100 (CET) 16:49:48.813 [info] javascript.0 script.js._test.Muelltermine: Datum heute ist: 1032018 16:49:48.813 [info] javascript.0 script.js._test.Muelltermine: Tage aktueller Monat: 31 16:49:48.813 [info] javascript.0 script.js._test.Muelltermine: Tage bis zum nächsten Müll: NaN 16:49:48.813 [info] javascript.0 script.js._test.Muelltermine: pos ist: 57 16:49:48.813 [info] javascript.0 script.js._test.Muelltermine: Datum ist: In 6 Tagen 16:49:48.813 [info] javascript.0 script.js._test.Muelltermine: pos1: 0 16:49:48.814 [info] javascript.0 script.js._test.Muelltermine: pos2: 0 16:49:48.814 [info] javascript.0 script.js._test.Muelltermine: In 6 Tagen , In 6 Tagen , In 6 Tagen 16:49:48.814 [info] javascript.0 script.js._test.Muelltermine: Sat Mar 10 2018 16:49:48 GMT+0100 (CET) 16:49:48.814 [info] javascript.0 script.js._test.Muelltermine: Datum heute ist: 1032018 16:49:48.814 [info] javascript.0 script.js._test.Muelltermine: Tage aktueller Monat: 31 16:49:48.814 [info] javascript.0 script.js._test.Muelltermine: Tage bis zum nächsten Müll: NaN 16:49:48.815 [info] javascript.0 script.js._test.Muelltermine: registered 0 subscriptions and 0 schedules
GELÖST
Ich hatte noch die relative Datumsangabe eingeschaltet
2783_2018-03-10_16-56-32.gif -
Edit 2: sehe gerade, er hats schon gelöst. :idea:
-
Hallo,
habe das Müllscript erfolgreich im Einsatz.
Im Log bekomme ich aber immer diese Warnung.
javascript.0 2018-03-22 14:44:28.663 warn at Object. (script.js.Kalender.Status_Restmüll:5:5)
javascript.0 2018-03-22 14:44:28.659 warn Wrong type of mqtt.0.example1.led1: "boolean". Please fix, while deprecated and will not work in next versions.
Was muss geändert werden damit der Fehler nicht mehr auftritt?
Danke
Dirk
-
Also das hier````
mqtt.0.example1.led1 -
Da bin ich wohl mit den scripten durcheinander gekommen, das kommt nicht von Müllscript sondern von dem hier, (wurde mit Blockly erzeugt)
on({id: "javascript.0.Muellwarnung.Rest Müll"/*Rest Müll wird morgen abgeholt*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.Muellwarnung.Rest Müll").val == true) { setState("mqtt.0.example1.led1"/*example1/led1*/, false); } else if (getState("javascript.0.Muellwarnung.Rest Müll").val == false) { setState("mqtt.0.example1.led1"/*example1/led1*/, true); } });
der schaut nach dem Status in Müllwarnung und schaltet dann Led´s ein je nachdem welche Tonne abgeholt wird.
Weiß jemand was man dort ändern sollte.
-
Hat nichts mit dem eigentlichen Thema zu tun.
Mach besser ein neues auf und schreibe in den Betreff auch "Blockly" mit rein.
Screenshot von dem Blockly auch posten.
-
Vergleiche mal mit === nicht ==
-
jedenfalls mal KEINE Leerzeichen und KEINE Umlaute (ä,ö,ü)
if (getState("javascript.0.Muellwarnung.Rest Müll")
Die solltest rausnehmen, kann immer Probleme machen (muss nicht aber kann)
-
Danke für eure Tipps, werd ich probieren.