NEWS
[gelöst] Blockly Skript wenn PV liefert Strom Klimaanlage an.
-
Hallo
Möchte mir wieder einemal ein Blockly zusammenbauen …..
nur schaffe ich es wieder mal nicht ohne eure Hilfe.
Ich möchte mir ein Skript schreiben für meine Klimaanlage...
die soll angehen wenn meine PV Anlage Strom liefert.
Das heißt ich habe einen Fronius Wechselrichter mit einem Smartmeter...
kann so auslesen, wenn ich einen Überschuss an Strom habe ....
Wenn ich einen Überschuss von 2000W Habe soll sich die Klimaanlage mit 1500W einschalten....
und wenn der Überschuss länger als 10 min unter NULL fällt soll die Klimaanlage wieder ausschalten.
Ich habe schon mal was versucht (bin noch Anfänger!!)
Aber glaube das das so nicht ganz richtig ist. :roll:
Kann mir da mal wer drüber schauen und mir helfen.
Danke
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id="e.F4o/3lIYc]TaBKoR:+" type="on_ext" x="213" y="163"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow id="[@#MR4-iJfPK]`Wc[g;p" type="field_oid"><field name="oid">fronius.0.powerflow.P_Grid</field></shadow></value> <statement name="STATEMENT"><block id="^8Z%0D._[K/[P5The1ai" type="controls_if"><value name="IF0"><block id=")pHA[GSgE#bP6:x}O42S" type="logic_compare"><field name="OP">GT</field> <value name="A"><block id=",4lXNOJNET67H_VAYx4;" type="on_source"><field name="ATTR">state.val</field></block></value> <value name="B"><block id="{57g7bmQ/2Me+Fe^ZsYh" type="math_number"><field name="NUM">-2000</field></block></value></block></value> <next><block id="#+Zu#tV?]GQv1E?t3N#T" type="control"><mutation delay_input="false"></mutation> <field name="OID">hs100.0.192_168_188_133.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="d5pbH`:7cIBUvnf@WH@9" type="logic_boolean"><field name="BOOL">TRUE</field></block></value> <next><block id="RbDQAW5K03#xk~@04U(`" type="controls_if"><value name="IF0"><block id=".:Umk@ii_9a:Xbl#RYo:" type="logic_compare"><field name="OP">LT</field> <value name="A"><block id="02pZCM8vO{L~.G8`WllU" type="on_source"><field name="ATTR">state.val</field></block></value> <value name="B"><block id="!IZ+ubfFPeW3!]CFJFh!" type="math_number"><field name="NUM">0</field></block></value></block></value> <next><block id="btpF2HLRasp~g37b-5^h" type="control"><mutation delay_input="true"></mutation> <field name="OID">hs100.0.192_168_188_133.power</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">10</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block id="QIeDzD}%,t;=6M~MqPfW" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></next></block></statement></block></xml>
[4668_unbenannt_1.png](/assets/uploads/files/4668_unbenannt_1.png) [4668_unbenannt_2.png](/assets/uploads/files/4668_unbenannt_2.png)
-
das ist schon mal nicht ganz falsch, nur gehören die Aktionen in die "mache" Klammer
-
Wo ist mein Posting
Also nochmal:
was ist "Wert"??
Da muss "Wert von ID(PV-Leistung)" Block rein.
Außerdem müssen die "steuere" Blöcke jeweils in das Maul der "mache"-Blöcke
Gruß
Rainer
-
-
Wert = value: Wert vom auslösenden Datenpunkt. `
Super, Danke!again what learned
das verkürzt das Ganze natürlich!
( und so komme ich auch an den last_timestamp )
Gruß
Rainer
-
also so
4668_unbenannt_5.png -
Ja jetzt hast nur noch das Problem, dass hier keiner weiß wo die Variable "Wert" bei Dir her kommt. Variablen, können nur innerhalb des Script definiert werden und wenn das Dein ganzes Script ist, dann wird das nix. Du musst diesen Wert an ja irgendwo her beziehen.
-
OK ich dachte da oben ja im Objekt ID "grid power" eingetragen ist vom Fronius das er dann den Wert nimmt wie am Bild Markiert.
Oder liege ich da falsch?
Was muss ich an noch ergänzen?
4668_unbenannt_6.png -
im Objekt ID "grid power" eingetragen ist vom Fronius das er dann den Wert nimmt wie am Bild Markiert.
Oder liege ich da falsch?
Nein, das ist richtig !
-
falsch gedacht
Aus den System Blöcken nimmst einfach "Wert vom…", ich denke der Rest erklärt sich dann von alleine.
Das was Du im Trigger einträgst, bezieht sich dann auch nur auf das Ereignis, welches den Trigger auslöst. Heißt das Trigger Ereignis muss nichts mit Deiner Funktion darin zu tun haben.
-
Danke für die Antworten!
Aber ich muss da aufgeben… und auf eure Hilfe hoffen.
Muss der Objekt ID ein Datenpunkt sein?
Wie muss ich da den WERT definieren.
Sorry für die blöden Fragen, aber ich hatte noch nie was mit programmieren zu tun!
Nur seit kurzen lerne ich stück für stück dazu seit dem ich ioBroker betreibe
Bitte um Hilfe.
Danke
-
Genau das was oben gelb markiert hast, ist das was Du brauchst :lol:
Das ist einfacher wie Du denkst, wenn Du erst mal geschnackelt hast wie das läuft. Probiere einfach aus und stell weniger Fragen, so bin ich auch drauf gekommen. Fragen kannst immer noch, wenn Du gar nicht mehr weiter kommst.
-
Hallo jan,
wo ist jetzt dein Problem?
wenn paul sagt, dass
@paul53:Wert = value: Wert vom auslösenden Datenpunkt. `
dann ist jetzt das Blockly korrekt.Ich war auch der Meinung, dass der "Wert von.."-Block zu benutzen sei, weil ich diese Variante noch nicht kannte.
Gruß
Rainer
-
falsch gedacht
Aus den System Blöcken nimmst einfach "Wert vom…", ich denke der Rest erklärt sich dann von alleine.
Das was Du im Trigger einträgst, bezieht sich dann auch nur auf das Ereignis, welches den Trigger auslöst. Heißt das Trigger Ereignis muss nichts mit Deiner Funktion darin zu tun haben. `
Selber falsch gedacht!
Ich kenne deine Javascript-Kenntnisse nicht, aber paul53 hat "uns Blockly-Programmierern" ein paar Dinge gezeigt, wie manches einfacher, bzw. kürzer zu schreiben geht. Und das ist so schon woanders gemacht und getestet worden und hat auch funktioniert!
Enrico
-
Ist richtig, das man da schon einiges aus dem Trigger für das eigentliche Programm darunter verwenden kann, nur was da wie genau zusammen spielt ist eben nicht so schnell ersichtlich.
Problem? Gar keins, ist manchmal nur einfacher, wenn man durch simples probieren selber auf die Lösung kommt, als alles zu erfragen. Er ist doch schon recht dicht dran und wenn er das was er gelb markiert hat da einfügt, müsste das schon laufen.
Ich kapiere jetzt gerade nicht was Ihr wollt, ist doch alles gut und das Blockly könnte funktionieren. Im Übrigen beruhen meine Kenntnisse auf derzeit 5-6 Wochen basteln mit IOBroker. Also wenn ich hier nicht 100% richtig liege, ist das eben so. Wenn's danach trotzdem funktioniert, ist doch egal. Das meiste habe ich durch einfaches ausprobieren gelernt und ab und an mal ein paar Anregungen hier aufgeschnappt.
Das was er vor hat ist eigentlich auf den ersten Blick recht einfach und er war ja schon auf dem richtigen Weg.
-
Er ist doch schon recht dicht dran `
Er ist nicht nur dicht dran, es
@Homoran:ist jetzt das Blockly korrekt. `
wenn er das was er gelb markiert hat da einfügt `
muss er ja nicht, da es in dem benutzten Baustein (aus der Gruppe Trigger! - nicht Variable!) schon enthalten ist:
@paul53:Wert = value: Wert vom auslösenden Datenpunkt. `
Also
@Jan1:müsste das schon laufen. `
Gruß
Rainer
-
Jungs alles klar, da hatten eben bei mir ein paar Antworten gefehlt und das ergab bei mir dann keinen Sinn mehr.
Für mich hat "Wert" nach einer selber definierten Variable ausgesehen, da war ich auf dem Holzweg :lol: :lol:
Somit schon wieder was gelernt und erspart mir doch gleich wieder einiges an Blöcken beim nächsten Blockly.
-
OK
Danke für die Hilfe
Werde das Blockly gleich morgen mal testen….
den heute ist es schon etwas zu dunkel für meine PV :lol:
Danke
-
en heute ist es schon etwas zu dunkel für meine PV `
Ich fürchte du hast wieder am falschen Ende gespart und nur Solarmodule verbaut.Beim nächsten mal baust du auch noch ein paar Lunarmodule mit ein :lol:
Gruß
Rainer
-
oder der Mond nimmt an Strahlung zu :lol: