NEWS
SOLVED [gelöst] Tageszähler
-
Wie kann man eine Steuerung bauen die ab einem angegebenen Datum die Tage bis Heute zählt und diesen Tageswert in einen Datenpunkt schriebt.
Hintergrund:
Meine schon bestehende Triton Lösungs Steuerungen die astrein Funktionieren dank @paul53 .
Würde ich gerne ab dem Tag wo ich die Lösungen jeweils neu ansetze zählen lassen. damit ich genau weiß, seid wann eine Lösung läuft. Damit ich meinen Verbrauch ermitteln kann um somit dann eine Meldung raus zu geben wann es Zeit ist neue Lösungen zu kaufen.
Klar kann man auch auf die Kanister gucken und schätzen ok noch ein Liter also langsam mal neue Lösungen besorgen.
Diese Steuerung soll ja dann auch für die Osmose in einer neuen Steuerung zählen wann es Zeit ist die Sediment Filter zu wechseln oder die Haupt Membran zu wechseln. -
-
-
Ergebnis ist 0
Was ist denn da falsch !?on({id: "Aqua_Control.0.System.Test"/*Test*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("Aqua_Control.0.System.Test").val == true) { setState("alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak"/*speak*/, (String(Math.floor(86400000 / ((new Date().getTime()) - getDateObject('2019-07-28').getTime()))) + '')); } });
-
Warum sind deine Blöcke eigentlich immer untereinander!? Meine sind immer nebeneinander, kann man das irgendwie umstellen?
-
@Aphofis sagte in Tageszähler:
Was ist denn da falsch !?
Nicht 86400000 / Zeitdifferenz, sondern so wie im Blockly zu sehen: Zeitdifferenz / 86400000.
@Aphofis sagte in Tageszähler:
kann man das irgendwie umstellen?
Mauszeiger über dem Block - rechte Maustaste - externe Eingänge auswählen
-
@paul53
Ja jetzt versteht man die Bausteine auch besser wenn sie übereinander sind!
So ist es viel Besser!
Danke -
Hab den Zähler eingebaut und er funktioniert! Vielen Dank @paul53
-
@paul53
noch ein kleiner Nachtrag !?
Kann man auch ein Datum im Format 01.02.2019 das in einem Datenpunkt steht als gemischt
als Ausgangsdatum nehmen und dann das Aktuelle Datum und die vergangenen Tage zählen und ausgeben lassen !?
Ich hab es versucht es wird immer NaN angeben. -
-
@paul53
Das schon mal sehr geil !?
Jedes mal wie Weihnachten, man stellt dir eine Frage und kurze Zeit später.
Hast Du eine Steuerug gebastelt.
Ist es so möglich, Alexa diesen Datums Datenpunkt & Den Rollenverbrauch aktuallisierungen zu lassen per sprachbefehl!?In dieser Form !?
var Vliesrollen_L_C3_A4nge; Vliesrollen_L_C3_A4nge = getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val; on({id: 'Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset").val == true) { // Datums Reset setState("Aqua_Control.0.Vliesfilter.Vliesrolle_eingesetzt"/*Vliesrolle_eingesetzt*/, formatDate(new Date(), "DD.MM.YYYY"), true); // 100 Meter Reset setState("Aqua_Control.0.Vliesfilter.Vliesrolle"/*Vliesrolle*/, Vliesrollen_L_C3_A4nge, true); setStateDelayed("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset"/*Vliesfilter_Vlies_&_Datum_Reset*/, false, 10000, false); } });
Alexa Sprachsteuerung auf dem Datenpunkt
Datenpunkte:
-
@Aphofis sagte:
Alexa diesen Datums Datenpunkt & Den Rollenverbrauch aktuallisierungen zu lassen per sprachbefehl!?
Mit Alexa kenne ich mich nicht aus.
@Aphofis sagte in [gelöst] Tageszähler:
In dieser Form !?
Die Variable Vliesrollen_Länge sollte innerhalb des Triggers auf den Wert des entsprechenden Datenpunktes gesetzt werden, da sie sonst praktisch eine Konstante ist. Die Verzögerung im letzten Befehl ist nicht erforderlich.
-
@paul53
Du meinst so?
Das ist gut zu wissen, das keine Zeitverzögerung da rein muss!
Ich habe einige Steuerungen die auch sehr umfangreich aber simpel sind, wo mehrere Geräte gesteuert werden sollen und Steuerungen ein oder ausgeschaltet werden müssen. da habe ich sowas auch drin. Vielleicht, müssen die ja garnicht sein. Nur kommt es manchmal zu fehl schaltungen.var Vliesrollen_Laenge; Vliesrollen_Laenge = getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val; on({id: 'Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset").val == true) { Vliesrollen_Laenge = Vliesrollen_Laenge; // Datums Reset setState("Aqua_Control.0.Vliesfilter.Vliesrolle_eingesetzt"/*Vliesrolle_eingesetzt*/, formatDate(new Date(), "DD.MM.YYYY"), true); // 100 Meter Reset setState("Aqua_Control.0.Vliesfilter.Vliesrolle"/*Vliesrolle*/, Vliesrollen_Laenge, true); setState("alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak"/*speak*/, ('Ich habe,, das Vliesfilter Datum und den Vliesrollenverbrauch,, zurückgesetzt')); sendTo("telegram.0", "send", { text: (['Vliesfilter Datum und Vliesrollenverbrauch','\n','wurden auf das heutige Datum und ',getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val / 100,'Meter Rolle zurückgesetzt'].join('')) }); console.log("telegram: " + (['Vliesfilter Datum und Vliesrollenverbrauch','\n','wurden auf das heutige Datum und ',getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val / 100,'Meter Rolle zurückgesetzt'].join(''))); setState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset"/*Vliesfilter_Vlies_&_Datum_Reset*/, false); } });
-
@Aphofis sagte:
Du meinst so?
Nein, die ehemalige Zeile 4 muss in die neue Zeile 9.
setze Vliesrollen_Laenge auf Wert von Objekt Vlies_Rollenlänge -
@paul53
Korregt ?var Vliesrollen_Laenge; Vliesrollen_Laenge = getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val; on({id: 'Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset").val == true) { Vliesrollen_Laenge = getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val; // Datums Reset setState("Aqua_Control.0.Vliesfilter.Vliesrolle_eingesetzt"/*Vliesrolle_eingesetzt*/, formatDate(new Date(), "DD.MM.YYYY"), true); // 100 Meter Reset setState("Aqua_Control.0.Vliesfilter.Vliesrolle"/*Vliesrolle*/, Vliesrollen_Laenge, true); setState("alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak"/*speak*/, ('Ich habe,, das Vliesfilter Datum und den Vliesrollenverbrauch,, zurückgesetzt')); sendTo("telegram.0", "send", { text: (['Vliesfilter Datum und Vliesrollenverbrauch','\n','wurden auf das heutige Datum und ',getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val / 100,'Meter Rolle zurückgesetzt'].join('')) }); console.log("telegram: " + (['Vliesfilter Datum und Vliesrollenverbrauch','\n','wurden auf das heutige Datum und ',getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val / 100,'Meter Rolle zurückgesetzt'].join(''))); setState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset"/*Vliesfilter_Vlies_&_Datum_Reset*/, false); } });
-
@Aphofis
Korrekt. -
@paul53
Dann kanns ja los gehen.
Hatte die Sprachsteuerung mal getestet Datenpunkte werden korregt gesetzt.
Prima
Vielen Dank