NEWS
Blackly-Script-Hilfe
-
@bananajoe okay, da ich bei Blockly noch Newbie bin, bekomme ich da die Fäden noch nicht ganz zusammen... könntest Du den gesamten Blockly darstellen ? Wäre sehr hilfreich.
@Dreistein Ich nehme ab und an die Sicherung raus, was aber keine Dauerlösung schon aufgrund des Verschleisses sein kann. RFID kann die Wallbox nicht. Die hat einen Master-/Slave-RS485-Anschluss für Lastenverteilung, mehr nicht.
-
@blebbens sagte in Blackly-Script-Hilfe:
was aber keine Dauerlösung schon aufgrund des Verschleisses sein kann.
Ist das so?
Dann muss ein Schütz dahinter zum trennen. Die sind für häufiges schalten gedacht. -
@blebbens exportiere mal bitte deinen Blockly und poste den hier, Danke
und dann den Text aus dem neuen Fenster kopieren und hier einfügen - hier vorher auf das Code-Block-Symbol klicken:
damit das dann so aussieht
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="T*0C?R)v7]1YBy@Zh8ND">UpOrDown</variable> <variable id="mwzvOH%7FYdnA,#m+)oW">VolumeTargetDifference</variable> <variable id="@nX4/elkK8VjYw{F)g{W">VolumeTargetDevice</variable> </variables> <block type="variables_set" id="d8h7D%Q^TIAbI$7;8lW?" x="171" y="-194"> <field name="VAR" id="T*0C?R)v //und so weiter
-
@bananajoe hier das Skript:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="on_ext" id="a4qMP}#6NR5?dL-u,2gX" x="37" y="63"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="qMtamnY@C{3Li5!%[l}D"> <field name="oid">powerfox2.0.devices.XXX.currentPowerConsumption</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_settimeout" id="o;{!U/lO?g@TlfXe2YEU"> <field name="NAME">timeout</field> <field name="DELAY">30</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="OCEdL83u)tU=kvQZ%rpU"> <value name="IF0"> <block type="logic_compare" id="ko`LNud=-0`}={pek1gB"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="DbYl|9p/7mXQudcQ2~by"> <field name="ATTR">val</field> <field name="OID">powerfox2.0.devices.XXX.currentPowerConsumption</field> </block> </value> <value name="B"> <block type="math_number" id="i+($wb:VTLz{AyN/e9g,"> <field name="NUM">8000</field> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="XXX"> <field name="INSTANCE"></field> <field name="SOUND">pushover</field> <field name="PRIORITY">1</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="KI-/B,:F^B3*pNY|hyi0"> <field name="TEXT">Wallbox aktiv</field> </shadow> </value> <value name="TITLE"> <block type="text" id="O32=A`s!{n*pJiU!~Tm@"> <field name="TEXT">Wallbox aktiv !</field> </block> </value> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
Habe nur die ID für den Powerfox-Adapter und Pushover durch "XXX" ersetzt.
Reicht das so aus ? -
@blebbens sagte in Blackly-Script-Hilfe:
hat leider nicht Funktioniert dein Export, musste ich nun doch nachbauen (vermutlich weil ich kein pushover habe)
ganz unten der Export:
Du musst nach dem Import den Text
0_userdata.0.tasmota.Gosund187-Datenschrank.Energy-Power
mit dem von deinem Datenpunkt ersetzen. Ja, man kann da einfach ein Textfeld draufziehen und den dann so angeben. Finde ich leserlicher.
Da ich kein pushover habe, habe ich einen Telegram Block für das Bild eingesetzt, im Export ist da nur ein Kommentar.
da musst du dann deine Nachricht einbauen.
Wert
findest du auch bei den Triggern:
Und dann in der Auswahl auf Wert ändern. Wenn du auf einen Datenpunkt triggerst steht da der neue Wert drin
Ich hätte das noch weiter kürzen können aber ich hoffe so ist es verständlicherHier der Export:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="`9eM`gXdF!FaApi;b^.-">bMessageSend</variable> </variables> <block type="comment" id="WXecL#NuEU/|-rovEnk0" x="88" y="88"> <field name="COMMENT">Hilfsvariable ob Nachricht bereits Versand wurde</field> <next> <block type="variables_set" id="aBAmXNpj_KlX.ZEPF`bL"> <field name="VAR" id="`9eM`gXdF!FaApi;b^.-">bMessageSend</field> <value name="VALUE"> <block type="logic_boolean" id=")8)=b/v]9W4OpZPypN+m"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="comment" id="Q/:Zo)ys%7?UCLF3MXg;"> <field name="COMMENT">Wenn sich die Leistung ändert ...</field> <next> <block type="on_ext" id="U_$+w{+@zqqha%hqzdtF"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="61l{+N;;tF!S$g$kQniA"> <field name="oid">default</field> </shadow> <block type="text" id="B6WDqd5_J6,v)Tj!(hA*"> <field name="TEXT">0_userdata.0.tasmota.Gosund187-Datenschrank.Energy-Power</field> </block> </value> <statement name="STATEMENT"> <block type="comment" id="jsA7JQ{}uHx5SSn1:amI"> <field name="COMMENT">In "Wert" steht der Wert des Datenpunktes</field> <next> <block type="controls_if" id="F1qClR+Q@IYtO]-~aQ`N"> <value name="IF0"> <block type="logic_operation" id="q{G9Ek_*9V#hFv6H+ecw" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="34ZJd`FQ$Q6CNJ6}x]*W" inline="false"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="WttIb$A9YodWUNA7|pAh"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="HYk:2w@1,GEnL6$Q|bgD"> <field name="NUM">8000</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="~=9j]B[*l1i6;,tYj02B"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id=",YiglPYrV=.{Wi4Jl*(I"> <field name="VAR" id="`9eM`gXdF!FaApi;b^.-">bMessageSend</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Fs*9trN4%ahN~#)r27z]"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="?uL-WU%j,yKVKZpwK9=I"> <field name="COMMENT">Wallbox aktiv</field> <next> <block type="comment" id="_XPai+/[cT^_TP1MqEb}"> <field name="COMMENT">hier den pushover Block einfügen</field> <next> <block type="variables_set" id="4:8nH=7w?/gJGiCt06Tm"> <field name="VAR" id="`9eM`gXdF!FaApi;b^.-">bMessageSend</field> <value name="VALUE"> <block type="logic_boolean" id=",h2EW^:$^M9)Y~IqKbDe"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="/%SJ2nx;VuNRz?o]h7)6"> <value name="IF0"> <block type="logic_operation" id="/$pI|Yd^kExK}ACJbVD9" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="3kMs@GQL3-@J*3)?3aK-" inline="false"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="OJs`q5:p*To.n5aU-I^Q"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="2HTeGg=Ka:YwX=OhwtI!"> <field name="NUM">5000</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="Xmy)@;dH*^RZ%/Cr)`j*"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="AX$/u(_=7pw.WXNmYzYq"> <field name="VAR" id="`9eM`gXdF!FaApi;b^.-">bMessageSend</field> </block> </value> <value name="B"> <block type="logic_boolean" id="VZy3mx-QPU-!7O#LbT*8"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="_4Pi.}Xu+%YAx@A4^yjs"> <field name="COMMENT">Unter 5000W</field> <next> <block type="comment" id="g`C)enpt.Kv];}@(*7F["> <field name="COMMENT">hier den pushover Block einfügen</field> <next> <block type="variables_set" id="lXZS1o!Ollu~;HjnU{]}"> <field name="VAR" id="`9eM`gXdF!FaApi;b^.-">bMessageSend</field> <value name="VALUE"> <block type="logic_boolean" id=";vc.%d)=z8JKXy3My=}1"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
PS: Das bei mir z.B,. beim Vergleich die Werte untereinander stehen und nicht hintereinander -> Rechtsklick darauf und "Externe Eingänge" wählen
-
@bananajoe besten Dank dafür. Muss früh raus und schaue es mir direkt morgen nach der Arbeit an.
-
@bananajoe besten Dank, das Skript läuft soweit. Die Nachrichten funktionieren.
Nun wäre es toll, wenn im Skript gegengeprüft wird, ob es mein Auto ist, das lädt. Dazu würde ich die Datenpunkte des Tronity-Adapters ("Charge") heranziehen wollen. Hast Du noch die Zeit oder Idee, eine solche weitere Bedingung einzubauen ? -
@blebbens sagte in Blackly-Script-Hilfe:
Dazu würde ich die Datenpunkte des Tronity-Adapters ("Charge") heranziehen wollen.
kommt die Info über die Auto-Cloud (??) denn zeitnah?
bei einigen kann es 10 Minuten dauern, bis sich das Auto meldet.einen Punkt Charge sehe ich nicht.
Solltst du charging meinen, was steht denn dort wenn du lädtst? -
@blebbens
(kenne den Status nicht wenn das Auto angeschlossen ist deshalb "ungleich Disconnected")
So würde es gehen aber...@homoran sagte in Blackly-Script-Hilfe:
kommt die Info über die Auto-Cloud (??) denn zeitnah?
bei einigen kann es 10 Minuten dauern, bis sich das Auto meldet.dies gilt es zu beachten.
-
@Homoran oben gibt es das Objekt „charging“ mit dem Status „disconnected“.
Muss nur noch testen, ob während des Ladens dort auch „connected“ steht. An sich gibt der Tesla über die Tronity-App zumindest die Ladedaten erst dann raus, wenn ich den Typ2-Stecker rausziehe. Dabei ist er während des Ladens jedoch permanent online.
-
@blebbens sagte in Blackly-Script-Hilfe:
oben gibt es das Objekt „charging“ mit dem Status „disconnected“.
dann passt es ja
@homoran sagte in Blackly-Script-Hilfe:
einen Punkt Charge sehe ich nicht.
Solltst du charging meinen, was steht denn dort wenn du lädtst?bleibt noch zu überprüfen.
@DJMarc75 hat es sicherheitshalber nicht disconnected formuliert.Lustig wird es wenn du connected an einem Powercharger in München hängst, während bei dir zu Hause jemand Strom klaut.
-
@homoran sagte in Blackly-Script-Hilfe:
Lustig wird es wenn du connected an einem Powercharger in München hängst, während bei dir zu Hause jemand Strom klaut.
Ja, da gilt es dann im Blockly das Charching mit dem Standort "daheim" zu verknüpfen.
Gibt es im Adapter denn einen Datenpunkt welcher den Standort (also nicht Lat und Lon) anzeigt. Oder noch besser:
Wenn das Auto in der Garage steht? -
@djmarc75 sagte in Blackly-Script-Hilfe:
also nicht Lat und Lon)
warum nicht?
kann man ja mit genügender Unschärfe nutzen -
@djmarc75 dee Tronity-Adapter zeigt doch latitude und longitude des Autos an. Das müsste man nur um etwas 100m ausweiten vorsichtshalber.
Und im Optimalfall müsste das Eufy-Außen-Kamerasystem ein Bild aufnehmen und es per pushover zusätzlich zum Text senden.
Aber, als nicht versierter Programmierer, kann ich das selbst noch nicht realisieren.
-
@homoran sagte in Blackly-Script-Hilfe:
kann man ja mit genügender Unschärfe nutzen
Echt? Wie geht das? Bestimmt über ein Blockly?
-
@djmarc75 sagte in Blackly-Script-Hilfe:
@homoran sagte in Blackly-Script-Hilfe:
kann man ja mit genügender Unschärfe nutzen
Echt? Wie geht das? Bestimmt über ein Blockly?
indem man nicht mit allen Nachkommastellen arbeitet.
-
@homoran sagte in Blackly-Script-Hilfe:
indem man nicht mit allen Nachkommastellen arbeitet.
Also z.B. Google Maps verwendet ja viel weniger Nachkommastellen. Wieder was gelernt !
Danke -
@djmarc75 geht natürlich beliebig komplex.
so berechne ich über die Positionen der Flugzeuge bei PiAware deren Abstand über Grund und im dreidimensionalen Raumich hoffe da ist jetzt kein grober fehler drin
-
@homoran sagte in Blackly-Script-Hilfe:
so berechne ich über die Positionen der Flugzeuge bei PiAware deren Abstand über Grund und im dreidimensionalen Raum
Du kennst Dich aus - Wahnsinn... bin ja selber schon froh wenn ich meinen eigenen Standort in VIS darstellen kann
-
@homoran sagte in Blackly-Script-Hilfe:
ich hoffe da ist jetzt kein grober fehler drin
Habs schnell überflogen und ist alles richtig