NEWS
Mit Blockly zwei Werte addieren und neu in DB schreiben
-
@rudolfn Das ist aber seltsam, bei mir läuft das seit März durchgehend und ohne Fehler!
Konvertieren brauchst Du nicht (normal), weil es ja Zahlen sind -
Bin gerade dabei das blockly nachzubauen.
Bei der Übernahme der Datenpunkte habe ich das Problem, wenn ich z. B. mit klick 170 übernehmen und mit ok bestätigen möchte, so übernimmt er mir das Objekt nicht.
Offenbar kann man ein Objekt im blockly nicht 2 x verwenden, da es beim Versuch andere Objekte zu aktivieren funktioniert oder mach ich hier was anderes falsch ?Ist es möglich, dass du mir die Vorlage exportierst, dann könnte ich versuchen, diese gleich zu importieren.
Danke
-
@goetschhofer evtl weil der DP SUMME_170_270_- die falsche Rolle hat?
Ansonsten kannst Du DP sooft du willst in einem Blockly benutzen. Erst beim einschalten des Script´s hagelt es dann Fehler...
Aber nur falls es zu logikproblemen führt! -
@guergen said in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@goetschhofer evtl weil der DP SUMME_170_270_- die falsche Rolle hat?
Ansonsten kannst Du DP sooft du willst in einem Blockly benutzen. Erst beim einschalten des Script´s hagelt es dann Fehler...
Aber nur falls es zu logikproblemen führt!Datenpunkt 170 hat die Rolle number, sollte ich Zahl wählen ? Nein, mit value funktioniert es auch nicht.
-
@goetschhofer Ich sehe da was anderes:
Hier ist das Script:
<block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="**{}]7ei59`(N*|ou37v" x="-137" y="-1512"> <field name="SCHEDULE">*/2 * * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="04CEwCi/(d1*/(^%z-|X"> <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field> <value name="VALUE"> <block type="math_arithmetic" id="O)XOn2w+2MEYKh+_i^T6" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Vv3iW}5G,a%,hF?iO4dq"> <field name="NUM">1</field> </shadow> <block type="get_value" id="1MV.[J[?Vxe;s2g@VT9`"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.AMIS.170</field> </block> </value> <value name="B"> <shadow type="math_number" id="aNx(u#^_(su!4Pyla9C!"> <field name="NUM">1</field> </shadow> <block type="get_value" id="0W[V_Lxj$oW6%y|FyPon"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.AMIS.270</field> </block> </value> </block> </value> <next> <block type="controls_if" id="oFc2#are5W}sv^Kg9mbu"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="0]%B[Qg$Ymx_dz!muAe{"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="Rxg$Aa9AEbMX(jekLw#W"> <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field> </block> </value> <value name="B"> <block type="math_number" id="7o]@zP)1F-Tx6-lTKC/)"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="97rKiTzh+`j-w.@+Ej}i"> <field name="COMMENT">negative Summe</field> <next> <block type="update" id="_})C8E`6PiI3|I8Wg=$9"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="a@R-S-1p@S[@|#0UwguI"> <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="comment" id="c2p=K0}J1Z!9~oFQg!G("> <field name="COMMENT">negative Summe</field> <next> <block type="update" id="+Rg3Ho,}}V7g+Rb-t;eY"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="9#m9S/jEKqqM3q`fpA^K"> <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field> </block> </value> </block> </next> </block> </statement> <next> <block type="update" id=",]R8%D@+}|rm/}OUVPer"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.AMIS.SUMME_170_270</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="QWFsuL1-Xs)gB#NnSAC?"> <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block>
-
Danke für den Hinweis, nur soweit bin ich noch gar nicht.
-
Beim Importieren mit copy & paste über rechts oben-importieren, bekomme ich folgende Fehlermeldung ?
-
@goetschhofer Wenn ich das richtig verstehe, ist es bei Dir doch viel einfacher, die Zählerwerte (kWh) bei SA einzubinden um die Tageswerte zu erfahren. Mache ich genauso.
Und die Summe läuft bei mir mit dem o.g. Script. -
@guergen
Ja, dies glaube ich auch, aber noch braucht es bis es klappt. -
@goetschhofer Ich kann es importieren, grade selbst getestet
Welche Version von Java-Script hast du ? Ich bin bei 5.2.8 -
@goetschhofer kann ich nicht verstehen... könnte dir ja per Teamviewer helfen, muss aber jetzt leider arbeiten....
-
@guergen said in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@goetschhofer kann ich nicht verstehen... könnte dir ja per Teamviewer helfen, muss aber jetzt leider arbeiten....
Kein Problem, trotzdem danke.
-
@guergen
Kannst Du mir noch sagen/schreiben, wie Du bei Dir die Variable "Verbrauch" angelegt hast, kann ja eigentlich nur mehr dort das Problem sein?
Browser habe ich schon x-mal aktualisiert!
Lg -
Da ich kein neues blockly anlegen konnte und beim Import eine Fehlermeldung hatte, habe ich das alte blockly einfach ergänzt. Funktioniert soweit, dank der Vorlage von euch.
Ein Problem hatte ich noch, er musste den anderen Wert dann auf null setzen, hier hatte er den alten Wert einfach stehen gelassen.
Hier habe ich ihm nochmals eine Funktion, aktualisiere den anderen Werte auf null, eingebaut.Wie kann ich die Werte mit der Bezeichnung W (Watt) ergänzen ?
In den Einstellungen habe ich schon auf value.power geändert.Ich denke, damit kann ich den Wert in W, in SA aktivieren und freigeben.
Danke nochmals für eure Hilfe.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="5k}(y]MVDRUNbOxECkJt">summe</variable> </variables> <block type="schedule" id="**{}]7ei59`(N*|ou37v" x="-212" y="-1362"> <field name="SCHEDULE">*/2 * * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="04CEwCi/(d1*/(^%z-|X"> <field name="VAR" id="5k}(y]MVDRUNbOxECkJt">summe</field> <value name="VALUE"> <block type="math_arithmetic" id="O)XOn2w+2MEYKh+_i^T6" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Vv3iW}5G,a%,hF?iO4dq"> <field name="NUM">1</field> </shadow> <block type="get_value" id="1MV.[J[?Vxe;s2g@VT9`"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.AMIS.170</field> </block> </value> <value name="B"> <shadow type="math_number" id="aNx(u#^_(su!4Pyla9C!"> <field name="NUM">1</field> </shadow> <block type="get_value" id="0W[V_Lxj$oW6%y|FyPon"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.AMIS.270</field> </block> </value> </block> </value> <next> <block type="update" id=",]R8%D@+}|rm/}OUVPer"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.AMIS.SUMME_170_270</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="QWFsuL1-Xs)gB#NnSAC?"> <field name="VAR" id="5k}(y]MVDRUNbOxECkJt">summe</field> </block> </value> <next> <block type="comment" id="4DYxTs/C!iUnSa6-`k/_"> <field name="COMMENT">Positiver Saldo = BEZUG: 1.7.0 + (-)2.7.0 >0</field> <next> <block type="controls_if" id="8zbXYVm0}s=QnE=v:77["> <value name="IF0"> <block type="logic_compare" id="D*Fx%^xShdM9Pu;L@Ahl"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="2u[OL@uB6dK%HS#@]1*j"> <field name="VAR" id="5k}(y]MVDRUNbOxECkJt">summe</field> </block> </value> <value name="B"> <block type="math_number" id="0o._sWu/g~JgC2Y:2!R)"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="_e.hWhkcBFf:XJC+_7Tx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.AMIS.SUMME_170_270_+</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="kUdx$9hAck0M7pw`JM.A"> <field name="VAR" id="5k}(y]MVDRUNbOxECkJt">summe</field> </block> </value> <next> <block type="update" id="21a.`nyEyg+|qz`#Zq^%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.AMIS.SUMME_170_270_-</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="uj$;dI3bc6[~|;qY!UaM"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="LmYu;egZ=y]/lUN}J%Aq"> <field name="COMMENT">Negativer Saldo = EINSPEIS.: 1.7.0 + (-)2.7.0 <0</field> <next> <block type="controls_if" id=";HAm$Sqa4[({BH4i;D`S"> <value name="IF0"> <block type="logic_compare" id="th+%T3f4K%/3tFBWg(xd"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="?;j-RwSm+Vao(r]}uJyk"> <field name="VAR" id="5k}(y]MVDRUNbOxECkJt">summe</field> </block> </value> <value name="B"> <block type="math_number" id="Jsx#h?Ttx!vT5GVP{hcU"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="3ge#`3!wvdBO$8!h)?%p"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.AMIS.SUMME_170_270_-</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="I7Wr/ggQT|l$Avqg~JQt"> <field name="VAR" id="5k}(y]MVDRUNbOxECkJt">summe</field> </block> </value> <next> <block type="update" id="m5xv07hzh^D$h3K|;,5^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.AMIS.SUMME_170_270_+</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="C7%azoZ@V38KF+6!6sTy"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
EDIT:
Der Haken muß drinn sein. Datenpunkte legt das Blockly an.
Hier stellst Du den "Ort" ein, z.B. javascript.0(1 o. 2 usw.) oder 0_userdata.0
Das wird dann der Pfad/Ordner
EDIT2: Blockly Export nochmal geändert
In diesem Blockly ist kein Zeitplan, kannst Du aber tauschen wenn Du willstSieht dann so aus (habe ich von Deinem Screenshot abgeschrieben)
-
@dslraser said in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@rudolfn
Nimm im Javascript Adapter den Haken unten rechts raus.
Nicht alle Zustände beim Start abonnieren (Haken raus)Wenn ich deine Einstellungen in javaskript mit meinen vergleiche, fehlen bei mir einige Hacken.
Sollte ich diese setzen ?
Vielleicht war dies der Grund warum ich das blockly von @guergen nicht importieren oder die Objekte nicht mehrmals anklicken konnte ?Danke
-
@goetschhofer
ich habe hier noch editiert. https://forum.iobroker.net/post/671869 -
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
Wie kann ich die Werte mit der Bezeichnung W (Watt) ergänzen ?
den Datenpunkt mit unit ergänzen
-
- Datenpunkte:
Dies war auch der Grund warum er die Datenpunkte nicht automatisch angelegt hat.
Ich habe dies nicht unter javaskript angelegt, sondern unter 0_userdata händisch.
Diese Vorangsweise habe ich von einem anderen Benutzer des AMIS-Zählers.
Siehst du hier ein Problem ?
Wenn ich jetzt alle Hacken setze, legt er wahrscheinlich nochmals alle Datenpunkte in javaskript an oder nur wenn ich ihm dies in JS wie oben gezeigt mitgebe ?
Für die Zukunft weiß ich, dass dies JS selbständig macht, war ja auch bei allen anderen Skripts so.
- Zeitplan:
Ich habe schon einen Zeitplan, alle 2 Sekunden.
Dein neues Skript ist natürlich für mich "high level" !
Aber dient mir vom Ablauf und Logik als Vorlage für weitere blocklies.Was mir vorhin schon aufgefallen ist, dass du Logikfunktionen in blockly hast, welche ich nicht habe ?
Was ist hier der Grund ? Versionsabhängig ? Ich finde bei Logik nur diese mit anderen Bezeichnungen.Wo finde ich dies ?
Danke
- Datenpunkte:
-
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
Was mir vorhin schon aufgefallen ist, dass du Logikfunktionen in blockly hast, welche ich nicht habe ?
Was ist hier der Grund ? Versionsabhängig ? Ich finde bei Logik nur diese mit anderen Bezeichnungen.welche denn ?
Wo finde ich dies ?
da rechts in den Objekten auf den Stift klicken, dann auf das blaue + und unit auswählen, da schreibst Du Deine Einheit rein