NEWS
Blumen gießen , zeitgesteuert, basic - value list html style
-
Hallo
hat das noch keiner gemacht ?
-
Hallo audioconcept,
mit fallen da zwei Lösungen ein:
Lösung 1 (Skript mit https://de.wikipedia.org/wiki/Cron und VIS-Widget, feste Wochentage)
// Variable anlegen createState('Blumen_giessen', {name: 'Blumen gießen'}); // Mo, Mi, Fr um 10 Uhr auf wahr setzen schedule("0 10 * * 1,3,5", setState('Blumen_giessen', true));
VIS Widget HTML-State (setzt bei Klick auf unwahr)
[{"tpl":"tplBasicState","data":{"oid":"javascript.0.Bluemen_giessen","visibility-cond":"==","visibility-val":"true","html":" Blumen gießen ","value":"false","visibility-oid":"javascript.0.Blumen_giessen","name":"Blumen giessen","comment":"nur bei true, dann mit klick aus"},"style":{"left":"8px","top":"463px","width":"124px","height":"46px","z-index":"15","background-color":"rgba(150,150,250,0.8)"},"widgetSet":"basic"}]
Lösung 2 (ical-Adapter)
Nutze den ical Adapter und lege im Kalender für jeden Tag, an dem gegossen werden soll einen Termin "Blumen giessen" an. Trage den Kalender nach Anleitung im iCal-Adapter ein. Unter ical-Adapter/Ereignis legst du mit + ein neues Ereignis "Blumen giessen" an und setzt aktiviert auf true und anzeigen auf false.
Dann nutz du dieses VIS Widget HTML-State
[{"tpl":"tplBasicState","data":{"oid":"ical.0.events.Blumen","visibility-cond":"==","visibility-val":"true","html":" Blumen gießen ","value":"false","visibility-oid":"ical.0.events.Blumen","name":"Blumen gießen","comment":"nur bei true, dann mit klick aus"},"style":{"left":"8px","top":"463px","width":"124px","height":"46px","z-index":"15","background-color":"rgba(150,150,250,0.8)"},"widgetSet":"basic"}]
Wenn der Termin erreicht ist, leuchtet das Widget auf. Mit Druck auf das Widget setzt du es auf unwahr und es verschwindet bis zur nächsten Auslösung. Geht nicht nur für Blumen giessen :lol:
Gruß
Pix
PS: Der OCC-Adapter könnte dir auch helfen, aber da bin ich noch nicht so firm.
Edit: Hab mal die Cron Zeit angepasst
-
Du brauchst Skript:
var intervall; createState('giessenZeit', 0); // wann zuletz wurde gegossen (ack gedrückt) createState('giessenAck', 0); // ob es gegossen wurde (1 - ja(gegossen), 0 - nein(nicht gegossen)) function checkIntervall() { var time = getState('giessenZeit').val || 0; // falls es gegossen wurde => prüfe wann if (getState('giessenAck').val) { var now = (new Date()).getTime(); // falls mehr als 24 Stunden vergangen if (now - time > 24 * 60 * 60 * 1000) { // 24 Stunden, 60 Minuten, 60 Sekunden , 1000 ms // Wir brauchen kein Timer mehr if (intervall) clearInterval(intervall); intervall = null; // setze dass es nicht gegossen ist setState('giessenAck', 0, true); } else if (!intervall) { // falls timer nicht läuft => start timer intervall = setInterval(checkIntervall, 60 * 60 * 1000); // jede Stunde } } else if (intervall) { // es wurde nicht gegossen, aber timer läuft => stopp den clearInterval(intervall); intervall = null; } } on('giessenAck', function (obj) { if (!obj.newState.ack) { setState('giessenZeit', (new Date()).getTime(), true, function () { checkIntervall(); }); } }); checkIntervall();
Jetzt nur noch zwei widgets erzeugen:
[{"tpl":"tplValueListHtml8","data":{"oid":"javascript.0.giessenAck","visibility-cond":"==","visibility-val":1,"count":"2","value0":"giessen","value1":"gegossen","test_list":"1","style0":"color: red","style1":"color: green"},"style":{"left":"62px","top":"32.5px"},"widgetSet":"basic"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.giessenAck","visibility-cond":"==","visibility-val":"0","buttontext":"Bestätigen","padding":"5","value":"1","visibility-oid":"javascript.0.giessenAck"},"style":{"left":"145px","top":"31px"},"widgetSet":"jqui"}]
P.S. pix war schneller
-
pix war schneller `
Aber Bluefox hat die Frage korrekt und irgendwie professioneller beantwortet.Bei ihm löst die Meldung zu einer festen Zeit nach dem Tastendruck aus.
Bei mir zu festen Zeiten, egal, ob Taste gedrückt oder nicht (Wenn du Mo nicht giesst, sondern erst Di, meldet sich VIS trotzdem am Mi wieder)
Gruß
Pix
-
Danke euch. Werde es gleich mal testen.
-
Den Code trage ich dann bei dem Widget CTRL HTML State ein bei HTML oder Wert? Muss ich noch Objekt iD auswählen? (den Ical Adapter?)
-
Den Code trage ich dann bei dem Widget CTRL HTML State ein bei HTML oder Wert? Muss ich noch Objekt iD auswählen? (den Ical Adapter?) `
Den Code fürs VIS-Widget kannst du bei Widgets importieren einfügen.
Danach sind alle Einstellungen schon ausgefüllt.Gruß
Pix
-
Ich danke euch. Sieht sehr gut aus.
-
Hallo danke . Hab mich jetzt für das von Bluefox entschieden, da es zu meinen anderen besser passt.
Noch mal eine Frage.
Angenommen ich habe es auf 48 Std eingestellt und ich gieße es erst am dritten Tag (72 Std.) und bestätige es auch erst dann. Wird dann ab der Bestätigung wieder 48 Std. gezählt ?
-
Hallo danke . Hab mich jetzt für das von Bluefox entschieden, da es zu meinen anderen besser passt.
Noch mal eine Frage.
Angenommen ich habe es auf 48 Std eingestellt und ich gieße es erst am dritten Tag (72 Std.) und bestätige es auch erst dann. Wird dann ab der Bestätigung wieder 48 Std. gezählt ? `
Ja.