NEWS
Iobroker Blockly Probleme Subtraktion
-
Moin,
ich errechne derzeit die Werte meines Regensensors via Blockly.
Hier habe ich das folgende Verhalten. Ich setze zeitgesteuert Startwerte. Bei Änderung des Regensensors führe ich Berechnungen aus und schreibe das Ergebnis wieder in entsprechende Datenpunkte.
Als Beispiel hier:
Datenpunkt RegenTagesbeginn wurde um 00:00Uhr auf 63.9 gesetzt -> soweit o.K.
Berechnung jetzt, sobald sich Wert Regensensor ändert, aktualisiere RegenHeute mit Wert Sensor_Total - RegenTagesbeginn
In meinem Beispiel: 64.8-63.9
Ich würde als Ergebnis 0.9 erwarten. Tatsächlich steht aber im Datenpunkt der Wert 0.8999999999999986
Was wird denn da Intern gerechnet? Man kann hier sicherlich mit Runden nachhelfen, aber warum ist das so?
Das eigentliche Problem, was ich habe. Ich übertrage die Wetterdaten Richtung WU, habe mir hier ein Scriptbeispiel aus dem Forum angepasst. Da die Werte in Inch übertragen werden vermute ich hier Rundungsfehler o. Ä, die Werte auf WU weichen leicht von den eigentlichen Werten ab.
Beispiel für Heute: der Wert Regen / Stunde war zwischen 03:00 und 04:00 0.6mm. WU zeigt 0.5mm. Der Regen Total heute ist eigentlich 0.9mm. WU zeigt 1.02mm,
https://www.wunderground.com/personal-w … 14#history
Gruß
Matze
Gruß
Matze
-
Keiner eine Idee?
Das witzige ist, es kommen nicht immer krumme Werte dabei raus. :roll:
!
schedule("*/15 * * * *", function () { if (getState("Datenpunkte.0.RegenAktuell").val == getState("Datenpunkte.0.RegenStunde").val) { setState("Datenpunkte.0.RegenAktuell"/*RegenAktuell*/, 0, true); } }); schedule("0 * * * *", function () { setState("Datenpunkte.0.RegenStundenbeginn"/*RegenStundenbeginn*/, getState("rflink.1.channels.DKW2012_1.RAIN").val, true); setState("Datenpunkte.0.RegenStunde"/*RegenStunde*/, 0, true); }); schedule("0 0 * * *", function () { setState("Datenpunkte.0.RegenTagesbeginn"/*RegenTagesbeginn*/, getState("rflink.1.channels.DKW2012_1.RAIN").val, true); setState("Datenpunkte.0.RegenGestern"/*RegenGestern*/, getState("Datenpunkte.0.RegenHeute").val, true); setState("Datenpunkte.0.RegenHeute"/*RegenHeute*/, 0, true); }); schedule("0 0 * * 0", function () { setState("Datenpunkte.0.RegenWochenbeginn"/*RegenWochenbeginn*/, getState("rflink.1.channels.DKW2012_1.RAIN").val, true); setState("Datenpunkte.0.Regen_Woche"/*Regen_Woche*/, 0, true); }); schedule("1 0 1 * *", function () { setState("Datenpunkte.0.RegenMonatsbeginn"/*RegenMonatsbeginn*/, getState("rflink.1.channels.DKW2012_1.RAIN").val, true); setState("Datenpunkte.0.Regen_Monat"/*Regen_Monat*/, 0, true); }); on({id: "rflink.1.channels.DKW2012_1.RAIN"/*DKW2012_ 1 Total rain level*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("Datenpunkte.0.RegenAktuell"/*RegenAktuell*/, (getState("rflink.1.channels.DKW2012_1.RAIN").val - getState("Datenpunkte.0.RegenStundenbeginn").val), true); setState("Datenpunkte.0.RegenStunde"/*RegenStunde*/, (getState("rflink.1.channels.DKW2012_1.RAIN").val - getState("Datenpunkte.0.RegenStundenbeginn").val), true); setState("Datenpunkte.0.RegenHeute"/*RegenHeute*/, (getState("rflink.1.channels.DKW2012_1.RAIN").val - getState("Datenpunkte.0.RegenTagesbeginn").val), true); setState("Datenpunkte.0.Regen_Woche"/*Regen_Woche*/, (getState("rflink.1.channels.DKW2012_1.RAIN").val - getState("Datenpunkte.0.RegenWochenbeginn").val), true); setState("Datenpunkte.0.Regen_Monat"/*Regen_Monat*/, (getState("rflink.1.channels.DKW2012_1.RAIN").val - getState("Datenpunkte.0.RegenMonatsbeginn").val), true); }); !
3514_datenpunkte.png
3514_blockly.png -
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden