NEWS
Konvertierung von Zeichenkette nach Zahl?
-
danke sehr super!!!
-
Noch besser wäre für mich aber wirklich Zählerstand aktuelle Werst -Zählerstand letzter Wert.
Kann das jemand per Javascript oder per Blocky? Blocky wäre noch besser damit ich daran weitermachen kann.
Habe mittlerweile alles per Blocky durch und nichts funktioniert ….
-
jemand ne Idee`?
-
Noch besser wäre für mich aber wirklich Zählerstand aktuelle Werst -Zählerstand letzter Wert.
Kann das jemand per Javascript oder per Blocky? Blocky wäre noch besser damit ich daran weitermachen kann.
Habe mittlerweile alles per Blocky durch und nichts funktioniert …. `
Sorry, aber mir ist nicht ganz klar,was du machen möchtest. Ansonsten kann ich gerne versuchen dir zu helfen.
-
Moin,
ich würde gerne von einem Objekt zb. Zählerstand den aktuellen Wert - vorherigen Wert rechnen lassen.
Das hätte den charm das ich den aktuelle Leistung ermitteln könnte.(nicht auslesbar aus meinen Zähler/vom betreiber deaktiviert)
-
var wert = parseFloat(obj.state.val) - parseFloat(obj.oldState.val);
-
und wo kommen die Objektnamen rein? und das neu zu schreibende Objekt?
-
Bei der on Subscription oben ist dann obj.state.val der aktuelle Wert und obj.oldState.val der alte.
Ein Objekt setzen kannst du mit setState()
-
setState(XXXXXX)var wert = XXXXXXX parseFloat(obj.state.val) - XXXXXXX parseFloat(obj.oldState.val);
so oder wie? XXXXXX = das Objekt?
-
Du hast doch schon eine gute Erklärung von paul53 bekommen.
viewtopic.php?p=226209#p224599
Wenn du die Grundlagen von einer Programmiersprache nicht kennst, wie man Variablen setzt, etc, dann wird es einfach schwierig dir zu helfen.
Lies dich ein wenig ein und beschäftigte dich mit JavaScript, fange klein an und dann geht der Lernfortschritt schneller, als du denkst. - Oder bleibe bei Blockly, das ist noch einfacher.
-
habe alles probiert. bin wohl zu blöd.
-
on({id: 'javascript.0.Zählerstand_Haus', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setStateDelayed('javascript.0.Zählerstand_Haus_Tag_kwh', (getState("javascript.0.Zählerstand_Haus").obj.state.val - getState("javascript.0.Zählerstand_Haus").obj.oldState.val), false, parseInt(2000, 10), false); });
Fehler im log:
error javascript.0 at Object. <anonymous>(script.js.common.Skript_2:4:106)
das möchte ich gerne aber es funktioniert immernoch nicht. kann mir jemand nochmals helfen?</anonymous>
-
on({id: 'javascript.0.Zählerstand_Haus', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setStateDelayed('javascript.0.Zählerstand_Haus_Tag_kwh', (getState("javascript.0.Zählerstand_Haus").value - getState("javascript.0.Zählerstand_Haus").oldValue), false, parseInt(2000, 10), false); });
so ist ist im Moment aber es kommt "null kwh" raus. er nimmt also nicht den letzten alten wert sondern 2 mal den gleichen…
Jemand ne Idee wie ich das lösen kann. Vom Zähler bekomme ich nur alle 300 Sekunden den aktuellen Zählerstand geliefert aber nicht die Watt darum der Aufwand.
-
on({id: 'javascript.0.Zählerstand_Haus', change: "any"}, function (obj) { var value = obj.state.val; //das ist der aktuelle Wert var oldValue = obj.oldState.val; // das ist der alte Wert //setState("OBJEKTINDASGESCHRIEBENWERDENSOLL", "WERT") var wert_ausrechnen = obj.state.val - obj.oldState.val; setState(obj.id, wert_ausrechnen); //obj.id ist das, worauf die Subscription reagiert hat - also 'javascript.0.Zählerstand_Haus'. wert_ausrechnen ist die Variable in der Zeile über dieser hier });
Bitte beschäftige dich mehr mit Javascript. Es scheint, dass du noch keine andere Programmiersprachen kennst, deswegen würde ich dir empfehlen Blockly zu benutzen. Da brauchst du dir das alles nicht merken.
-
das ich den aktuelle Leistung ermitteln könnte.(nicht auslesbar aus meinen Zähler/vom betreiber deaktiviert) `
https://forum.iobroker.net/viewtopic.php?f=20&t=6244#p64454. -
danke das hat mir sehr geholfen. Jetzt läuft alles wie ich es wollte!!!
Habe nur meine Variablen eingetragen!