Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Blackly-Script-Hilfe

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blackly-Script-Hilfe

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Blebbens last edited by

      Hallo,

      ich versuche mich an einem Blockly-Script. Da es bei uns "Fremdlader" mit sehr viel Dreistigkeit gibt, möchte ich gerne informiert werden, sobald jemand Strom aus meiner Wallbox zapft.

      Dazu habe ich einen IR-Lesekopf am Stromzähler. Das Skript sendet mir eine Push-Nachricht, sobald der Stromverbrauch >8.000W steigt. Es würde mir während der Ladung jedoch alle 30 Sekunden eine Nachricht senden, sodass es nerven würde. Wie genau kann man das Skript bauen, dass es mich bei Fremdladung informiert, ab dann aber nur dann wieder, wenn der Verbrauch zwischenzeitlich <5.000W gesunken ist ?

      Und, müsste man ggf. von "falls Objekt - ist wahr" auf "... bei Änderung" wechseln ?

      Komme mit Blockly noch nicht ganz klar.

      Bildschirmfoto 2022-05-29 um 15.12.57.png

      Bildschirmfoto 2022-05-29 um 15.14.21.png

      BananaJoe paul53 2 Replies Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @Blebbens last edited by

        @blebbens du setzt die eine Hilfsvariable

        Mögliche Lösung:

        • Den "Ausführen Inverval" nimmst du raus
        • Variablen => Variable erstellen => Name MessageWasSend
          vor deinem ganzen Block setzt du diese einmal auf falsch (findest du unter Logik)
          d9375e14-2f21-41b5-ae81-8c85253f41c9-image.png
          Wenn nun der Verbrauch über 8.000 UND MessageWasSend = falsch ist
        • sendest du deine Nachricht
        • setzt du MessageWasSend auf Wahr

        Direkt darunter setzt du eine 2. Prüfung die testest ob

        • MessageWasSend = Wahr ist UND
        • Der Verbrauch unter 5.000 ist
          Wenn ja setzt du MessageWasSend wieder auf falsch
        B 1 Reply Last reply Reply Quote 0
        • ?
          A Former User last edited by A Former User

          Wie wäre es einfach die Sicherung ausschalten wenn du nicht lädst ?
          Hat deine "Wallbox" keinen RFID Leser ?
          Oder sowas :
          https://www.ebay.de/itm/152716797260?hash=item238ea1654c:g:N5gAAOSw1aVZyO0D
          (keine Werbung es geht hier nur um das Bild)

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Blebbens last edited by

            @blebbens sagte: von "falls Objekt - ist wahr" auf "... bei Änderung" wechseln ?

            Ja, unbedingt.

            Bild_2022-05-29_171102540.png

            1 Reply Last reply Reply Quote 0
            • B
              Blebbens @BananaJoe last edited by

              @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.

              Homoran BananaJoe 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Blebbens last edited by

                @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.

                1 Reply Last reply Reply Quote 0
                • BananaJoe
                  BananaJoe Most Active @Blebbens last edited by

                  @blebbens exportiere mal bitte deinen Blockly und poste den hier, Danke

                  c647caef-6074-4f6e-9f26-d70f7358289b-image.png

                  und dann den Text aus dem neuen Fenster kopieren und hier einfügen - hier vorher auf das Code-Block-Symbol klicken:
                  2ae0742a-e11d-4c5c-adb4-152bf2cf8797-image.png

                  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
                  
                  B 1 Reply Last reply Reply Quote 0
                  • B
                    Blebbens @BananaJoe last edited by

                    @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 ?

                    BananaJoe 1 Reply Last reply Reply Quote 0
                    • BananaJoe
                      BananaJoe Most Active @Blebbens last edited by BananaJoe

                      @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:
                      9ec0b43c-3b40-4144-afea-1bf91e53220e-image.png

                      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:
                      0a7a4074-3646-45ca-88e6-f1f8d9be5a8c-image.png
                      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ändlicher

                      Hier 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

                      B 2 Replies Last reply Reply Quote 0
                      • B
                        Blebbens @BananaJoe last edited by

                        @bananajoe besten Dank dafür. Muss früh raus und schaue es mir direkt morgen nach der Arbeit an.

                        1 Reply Last reply Reply Quote 0
                        • B
                          Blebbens @BananaJoe last edited by

                          @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 ?

                          1B4C1228-48ED-48A8-819C-31673CCB78AC_1_201_a.jpeg

                          F64636ED-275E-41D1-ADCC-28C60DEC580A_1_201_a.jpeg

                          Homoran DJMarc75 2 Replies Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Blebbens last edited by Homoran

                            @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?

                            B 1 Reply Last reply Reply Quote 0
                            • DJMarc75
                              DJMarc75 @Blebbens last edited by DJMarc75

                              @blebbens
                              Screenshot 2022-05-30 204704.png
                              (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.

                              1 Reply Last reply Reply Quote 1
                              • B
                                Blebbens @Homoran last edited by

                                @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.

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @Blebbens last edited by

                                  @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.

                                  DJMarc75 1 Reply Last reply Reply Quote 0
                                  • DJMarc75
                                    DJMarc75 @Homoran last edited by

                                    @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.

                                    @Blebbens

                                    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?

                                    Homoran B 2 Replies Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @DJMarc75 last edited by

                                      @djmarc75 sagte in Blackly-Script-Hilfe:

                                      also nicht Lat und Lon)

                                      warum nicht?
                                      kann man ja mit genügender Unschärfe nutzen

                                      DJMarc75 1 Reply Last reply Reply Quote 0
                                      • B
                                        Blebbens @DJMarc75 last edited by

                                        @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.

                                        1 Reply Last reply Reply Quote 0
                                        • DJMarc75
                                          DJMarc75 @Homoran last edited by

                                          @homoran sagte in Blackly-Script-Hilfe:

                                          kann man ja mit genügender Unschärfe nutzen

                                          Echt? Wie geht das? Bestimmt über ein Blockly?

                                          Homoran 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @DJMarc75 last edited by

                                            @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.

                                            DJMarc75 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            418
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            33
                                            1801
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo