Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Blockly soll Modbus-Datenpunkt ändern

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    370

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    326

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    945

Blockly soll Modbus-Datenpunkt ändern

Geplant Angeheftet Gesperrt Verschoben Blockly
10 Beiträge 2 Kommentatoren 715 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    daddy
    schrieb am zuletzt editiert von
    #1

    Guten Abend,
    Ich möchte mit Blockly den Modbus-Datenpunkt meiner Wallbox "modbus.0.holdingRegisters.40262_MaximalCurrentCommand" von 0 auf 60 ändern.
    Habe bis jetzt nur mit Blockly gespielt und mir Videos dazu angesehen.

    Ich möchte:
    Wenn "0_userdata.0.JKBMS_120.sensor.capacity_remaining" größer gleich 90
    oder "0_userdata.0.JKBMS_120.sensor.state_of_charge" größer gleich 50
    dann "modbus.0.holdingRegisters.40262_MaximalCurrentCommand" = 60 setzen

    Angefangen habe ich so:
    blockly.png

    egal welches Blockly-Modul ich in "mache" einsetze, es wird nicht der modbus-Datenpunkt
    eingesetzt, immer nur das "100=10A".

    blockly_datenpunkt_wert_setzen.png

    Wie kann ich das realisieren oder geht das so garnicht.
    Bin für jede Hilfe dankbar.

    1 Antwort Letzte Antwort
    0
    • M Online
      M Online
      MCU
      schrieb am zuletzt editiert von MCU
      #2

      @daddy 2 Dinge.

      1. Du willst in eine ObjektID einen WERT schreiben?

      -> Diesen Block nutzen
      cacf7fcc-501a-484b-a331-d38b5d93956c-image.png
      2. Bei Adaptern sollte man nicht aktualisieren nutzen, sondern steuere.

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      D 1 Antwort Letzte Antwort
      0
      • M MCU

        @daddy 2 Dinge.

        1. Du willst in eine ObjektID einen WERT schreiben?

        -> Diesen Block nutzen
        cacf7fcc-501a-484b-a331-d38b5d93956c-image.png
        2. Bei Adaptern sollte man nicht aktualisieren nutzen, sondern steuere.

        D Offline
        D Offline
        daddy
        schrieb am zuletzt editiert von
        #3

        @mcu Danke für deine Antwort.
        Ja ich möchte in eine ObjektID einen Wert ändern.
        blockly_2.png
        Mit steuere wird auch nur 100=10A eingetragen und da komme ich nicht weiter.
        Ich habe die Auswahl der ObjektID, also "modbus.0.holdingRegisters.40262_MaximalCurrentCommand" erwartet.

        Manuell kann ich von 60 bis 160 jeden Wert eingeben und die Wallbox lädt dann mit min. 6A bis max. 16A. Ich dachte mir, dass kann man doch bestimmt auch automatisieren.
        Im ersten Post habe ich mich vertippt. Bei der oder Bedingung muss auch 90 stehen.

        M 1 Antwort Letzte Antwort
        0
        • D daddy

          @mcu Danke für deine Antwort.
          Ja ich möchte in eine ObjektID einen Wert ändern.
          blockly_2.png
          Mit steuere wird auch nur 100=10A eingetragen und da komme ich nicht weiter.
          Ich habe die Auswahl der ObjektID, also "modbus.0.holdingRegisters.40262_MaximalCurrentCommand" erwartet.

          Manuell kann ich von 60 bis 160 jeden Wert eingeben und die Wallbox lädt dann mit min. 6A bis max. 16A. Ich dachte mir, dass kann man doch bestimmt auch automatisieren.
          Im ersten Post habe ich mich vertippt. Bei der oder Bedingung muss auch 90 stehen.

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von MCU
          #4

          @daddy
          52025f4f-9c78-465f-acb9-43739c66369c-image.png
          muss da rein
          b74700af-2f19-4ff8-9b7f-672eb978d007-image.png

          Den Rest löschen
          2be95544-f9e7-4ae1-85bd-d32f93996041-image.png

          Das geht auch nicht
          4d2ed60a-aa2d-4c49-b194-8bba370ac9e4-image.png

          Da muss nur eine Objekt ID hinein.
          Da du 2 Änderungen untersuchen möchtest musst du eine ObjektID zusätzlich setzen.

          3e392986-6f42-4b9f-b4de-a9477b4a5046-image.png

          Hier mal als Export

          <xml xmlns="https://developers.google.com/blockly/xml">
           <block type="on_ext" id="$C}wX/YBzMF,zjw)mXM-" x="113" y="-37">
             <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id="iF]{r%?B7^YIx!M*@hDk">
                 <field name="oid">default</field>
               </shadow>
             </value>
             <value name="OID1">
               <shadow type="field_oid" id="{YNM+hK8}|Jfi{{|.a@a">
                 <field name="oid">default</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="M;C~/0V#Sa]lBa.778EQ">
                 <value name="IF0">
                   <block type="logic_operation" id="_:zweHrS]?q!x%AT^yWZ">
                     <field name="OP">OR</field>
                     <value name="A">
                       <block type="logic_compare" id="8wa(2N/Qn-{cyPjJPmyF">
                         <field name="OP">GT</field>
                         <value name="A">
                           <block type="get_value" id="m-k]Hv7d[V8=zUTMOFoM">
                             <field name="ATTR">val</field>
                             <field name="OID">ID auswählen</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="math_number" id="r0o+dxhVLq.1o|Tn,`gQ">
                             <field name="NUM">90</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="B">
                       <block type="logic_compare" id="(E@^5I6aVBMkmNAXd.`D">
                         <field name="OP">GT</field>
                         <value name="A">
                           <block type="get_value" id="6]%mf$~:$}K~W?_v88FR">
                             <field name="ATTR">val</field>
                             <field name="OID">ID auswählen</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="math_number" id="?kx`vxwD/|o))v+rLyU8">
                             <field name="NUM">90</field>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="control" id="b]!HG/gkak94uL.Ru[/8">
                     <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="math_number" id="6W#1}a7U`XFoQQ@l%,Nl">
                         <field name="NUM">60</field>
                       </block>
                     </value>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
           <block type="comment" id="8Vi`XMVsyFA$cxtL!gJ$" x="438" y="-37">
             <field name="COMMENT">capacity_remaining</field>
             <next>
               <block type="comment" id="-I_DbQ}40cH`RxA+6Zg|">
                 <field name="COMMENT">state_of_charge</field>
               </block>
             </next>
           </block>
          </xml>
          

          c312fade-9252-4983-aec4-285e8a5c2ca1-image.png

          Kann man hiermit importieren
          563e3436-aaa5-4737-8776-00e9686dde1b-image.png

          -> Export vom Blockly anklicken
          -> Inhalt markieren + STRG+C
          -> neues Blockly in Skripte erstellen
          -> auf Import Button klicken
          -> STRG+V und Import klicken
          -> Speichern

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          D 1 Antwort Letzte Antwort
          0
          • M MCU

            @daddy
            52025f4f-9c78-465f-acb9-43739c66369c-image.png
            muss da rein
            b74700af-2f19-4ff8-9b7f-672eb978d007-image.png

            Den Rest löschen
            2be95544-f9e7-4ae1-85bd-d32f93996041-image.png

            Das geht auch nicht
            4d2ed60a-aa2d-4c49-b194-8bba370ac9e4-image.png

            Da muss nur eine Objekt ID hinein.
            Da du 2 Änderungen untersuchen möchtest musst du eine ObjektID zusätzlich setzen.

            3e392986-6f42-4b9f-b4de-a9477b4a5046-image.png

            Hier mal als Export

            <xml xmlns="https://developers.google.com/blockly/xml">
             <block type="on_ext" id="$C}wX/YBzMF,zjw)mXM-" x="113" y="-37">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="iF]{r%?B7^YIx!M*@hDk">
                   <field name="oid">default</field>
                 </shadow>
               </value>
               <value name="OID1">
                 <shadow type="field_oid" id="{YNM+hK8}|Jfi{{|.a@a">
                   <field name="oid">default</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="controls_if" id="M;C~/0V#Sa]lBa.778EQ">
                   <value name="IF0">
                     <block type="logic_operation" id="_:zweHrS]?q!x%AT^yWZ">
                       <field name="OP">OR</field>
                       <value name="A">
                         <block type="logic_compare" id="8wa(2N/Qn-{cyPjJPmyF">
                           <field name="OP">GT</field>
                           <value name="A">
                             <block type="get_value" id="m-k]Hv7d[V8=zUTMOFoM">
                               <field name="ATTR">val</field>
                               <field name="OID">ID auswählen</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="r0o+dxhVLq.1o|Tn,`gQ">
                               <field name="NUM">90</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="B">
                         <block type="logic_compare" id="(E@^5I6aVBMkmNAXd.`D">
                           <field name="OP">GT</field>
                           <value name="A">
                             <block type="get_value" id="6]%mf$~:$}K~W?_v88FR">
                               <field name="ATTR">val</field>
                               <field name="OID">ID auswählen</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="?kx`vxwD/|o))v+rLyU8">
                               <field name="NUM">90</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="control" id="b]!HG/gkak94uL.Ru[/8">
                       <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="math_number" id="6W#1}a7U`XFoQQ@l%,Nl">
                           <field name="NUM">60</field>
                         </block>
                       </value>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
             <block type="comment" id="8Vi`XMVsyFA$cxtL!gJ$" x="438" y="-37">
               <field name="COMMENT">capacity_remaining</field>
               <next>
                 <block type="comment" id="-I_DbQ}40cH`RxA+6Zg|">
                   <field name="COMMENT">state_of_charge</field>
                 </block>
               </next>
             </block>
            </xml>
            

            c312fade-9252-4983-aec4-285e8a5c2ca1-image.png

            Kann man hiermit importieren
            563e3436-aaa5-4737-8776-00e9686dde1b-image.png

            -> Export vom Blockly anklicken
            -> Inhalt markieren + STRG+C
            -> neues Blockly in Skripte erstellen
            -> auf Import Button klicken
            -> STRG+V und Import klicken
            -> Speichern

            D Offline
            D Offline
            daddy
            schrieb am zuletzt editiert von
            #5

            @mcu Danke für die Hilfe.
            Habe exportiert, importiert und bearbeitet.
            Habe die Werte weiter runter gesetzt, damit die Bedingungen zutreffen.
            Funktioniert aber nicht und so sieht das jetzt bei mir aus.
            blockly_MCU.png
            Ich verstehe nicht, wie Blockly mit "steuere 100 = 10A" wissen soll, welchen Wert in welchen Datenpunkt geändert werden soll.

            M 1 Antwort Letzte Antwort
            0
            • D daddy

              @mcu Danke für die Hilfe.
              Habe exportiert, importiert und bearbeitet.
              Habe die Werte weiter runter gesetzt, damit die Bedingungen zutreffen.
              Funktioniert aber nicht und so sieht das jetzt bei mir aus.
              blockly_MCU.png
              Ich verstehe nicht, wie Blockly mit "steuere 100 = 10A" wissen soll, welchen Wert in welchen Datenpunkt geändert werden soll.

              M Online
              M Online
              MCU
              schrieb am zuletzt editiert von MCU
              #6

              @daddy 100=10A ist der Name vom DP.
              84a27407-44db-4885-ae22-f6f1f74a6ff6-image.png

              Was funktioniert nicht?
              Setz da mal ein debug rein, um zu sehen, ob er überhaupt was macht.
              32ac3e26-2f16-4b93-a209-dab61d0c90c5-image.png
              Ändern sich die Werte (capacity_remaining und state_of_charge) denn jetzt überhaupt?

              Sind die DPs überhaupt vom Type "number"?
              0199f44a-0396-4dce-b107-8c0bc74d4d4c-image.png

              5dc6535a-08cf-4666-884a-17166600209c-image.png

              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

              D 1 Antwort Letzte Antwort
              0
              • M MCU

                @daddy 100=10A ist der Name vom DP.
                84a27407-44db-4885-ae22-f6f1f74a6ff6-image.png

                Was funktioniert nicht?
                Setz da mal ein debug rein, um zu sehen, ob er überhaupt was macht.
                32ac3e26-2f16-4b93-a209-dab61d0c90c5-image.png
                Ändern sich die Werte (capacity_remaining und state_of_charge) denn jetzt überhaupt?

                Sind die DPs überhaupt vom Type "number"?
                0199f44a-0396-4dce-b107-8c0bc74d4d4c-image.png

                5dc6535a-08cf-4666-884a-17166600209c-image.png

                D Offline
                D Offline
                daddy
                schrieb am zuletzt editiert von
                #7

                @mcu Habe debug an und komplette Protokollierung. Es wird kein Fehler angezeigt.
                Es erscheint auch nirgends "Habe eine Änderung" oder "Wert wird geändert".
                Die Werte von capacity_remaining und state_of_charge ändern sich nicht laufend, da ich keine großen Verbraucher habe. Die DPs sind number.
                typ1.png typ2.png
                Ich werde mal den Wasserkocher anstellen, vielleicht ändert sich ein Wert.

                M 1 Antwort Letzte Antwort
                0
                • D daddy

                  @mcu Habe debug an und komplette Protokollierung. Es wird kein Fehler angezeigt.
                  Es erscheint auch nirgends "Habe eine Änderung" oder "Wert wird geändert".
                  Die Werte von capacity_remaining und state_of_charge ändern sich nicht laufend, da ich keine großen Verbraucher habe. Die DPs sind number.
                  typ1.png typ2.png
                  Ich werde mal den Wasserkocher anstellen, vielleicht ändert sich ein Wert.

                  M Online
                  M Online
                  MCU
                  schrieb am zuletzt editiert von MCU
                  #8

                  @daddy Ohne Änderung von einem dieser Werte, wird auch nichts passieren.
                  Sind das nur ganzzahlige Werte, dann kann es schon etwas dauern?

                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  D 1 Antwort Letzte Antwort
                  0
                  • M MCU

                    @daddy Ohne Änderung von einem dieser Werte, wird auch nichts passieren.
                    Sind das nur ganzzahlige Werte, dann kann es schon etwas dauern?

                    D Offline
                    D Offline
                    daddy
                    schrieb am zuletzt editiert von
                    #9

                    @mcu Der Wasserkocher hat geholfen. Die beiden Debugtexte wurden ausgegeben und der Modbus-Datenpunkt wurde auf 6A geändert.
                    Da werde ich mir wohl andere Bedingungen ausdenken müssen.
                    Nochmals danke für deine Hilfe.

                    M 1 Antwort Letzte Antwort
                    0
                    • D daddy

                      @mcu Der Wasserkocher hat geholfen. Die beiden Debugtexte wurden ausgegeben und der Modbus-Datenpunkt wurde auf 6A geändert.
                      Da werde ich mir wohl andere Bedingungen ausdenken müssen.
                      Nochmals danke für deine Hilfe.

                      M Online
                      M Online
                      MCU
                      schrieb am zuletzt editiert von
                      #10

                      @daddy Ok. Gerne.

                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      589

                      Online

                      32.8k

                      Benutzer

                      82.8k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe