Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Daten zu Json

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Daten zu Json

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

      Hallo zusammne,

      ich habe mehrere Xiaomi Pflanzensensoren. Die einzelnen Daten würde ich gerne in einer Json zusammenfassen . Habt ihr eine Idee/Tipp wie das in NodeRed oder Blockly funktioniert. Am ende sollen die Informationen vom Widget ,,Icon List" des Adapters ,,Materialdesdign" angezeigt werden.

      Link zum Adapter

      Daten der Sensoren:
      Daten.jpg

      Danke

      liv-in-sky H 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active last edited by mickym

        Ich kann das nur für Node-RED beantworten.
        Du liest die Daten ein und setzt via msg.text schon die Überschriften. Dann nimmst Du einen JOIN-Node und lässt Dir ein Schlüssel/Wert Objekte erstellen - konvertierst das mit dem Json Node in einen String und schreibst ihn in den Datenpunkt, den Du vom Adapter auslesen lässt.

        Den Change node musst Du dann nur noch mit Deinem Datenpunkt verknüpfen:

        [
            {
                "id": "b3d46b13.445ed8",
                "type": "debug",
                "z": "6e170384.60c96c",
                "name": "",
                "active": true,
                "tosidebar": true,
                "console": false,
                "tostatus": false,
                "complete": "false",
                "x": 990,
                "y": 4000,
                "wires": []
            },
            {
                "id": "928c0e78.55d72",
                "type": "json",
                "z": "6e170384.60c96c",
                "name": "",
                "property": "payload",
                "action": "",
                "pretty": false,
                "x": 860,
                "y": 4040,
                "wires": [
                    [
                        "b3d46b13.445ed8"
                    ]
                ]
            },
            {
                "id": "9d312779.3573f8",
                "type": "change",
                "z": "6e170384.60c96c",
                "name": "",
                "rules": [
                    {
                        "t": "change",
                        "p": "topic",
                        "pt": "msg",
                        "from": ".*\\/(\\S*)$",
                        "fromt": "re",
                        "to": "$1",
                        "tot": "str"
                    }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 530,
                "y": 4040,
                "wires": [
                    [
                        "5851d4b0.81a2dc"
                    ]
                ]
            },
            {
                "id": "5851d4b0.81a2dc",
                "type": "join",
                "z": "6e170384.60c96c",
                "name": "",
                "mode": "custom",
                "build": "object",
                "property": "payload",
                "propertyType": "msg",
                "key": "topic",
                "joiner": "\\n",
                "joinerType": "str",
                "accumulate": true,
                "timeout": "",
                "count": "1",
                "reduceRight": false,
                "reduceExp": "",
                "reduceInit": "",
                "reduceInitType": "num",
                "reduceFixup": "",
                "x": 710,
                "y": 4040,
                "wires": [
                    [
                        "928c0e78.55d72"
                    ]
                ]
            }
        ]
        

        sieht dann so aus:

        Json.png

        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @4Josh last edited by

          @4Josh

          beispiel mit blockly - überflogen (braucht noch trigger und richtige formatierung, beispiel mit magnet-schalter für xiaomi)) - du könntest auch für jede pflanze ein ein bild einsetzen und anzeigen. bei so vielen wäre eine schleife durch alle geräte sinnvoller .

          du musst im funtions-blockly die angaben machen, wie das ganze in dem widget formatiert sein soll

          Image 4.png

          <xml xmlns="http://www.w3.org/1999/xhtml">
            <variables>
              <variable type="" id="e*sqn=jvJ5TFiV=AY_B4">vax1</variable>
              <variable type="" id="{SmQKQbv/TM4fnAy(MlQ">vax2</variable>
              <variable type="" id="{U*(.D:K)C,t}A`!f/$/">vax3</variable>
              <variable type="" id="?u%|U|C@eOKqc!VN^1V?">myJsonWidget</variable>
            </variables>
            <block type="procedures_defcustomnoreturn" id="HSM1@J(Namit/,yB6LiK" x="138" y="287">
              <mutation statements="false">
                <arg name="vax1" varid="e*sqn=jvJ5TFiV=AY_B4"></arg>
                <arg name="vax2" varid="{SmQKQbv/TM4fnAy(MlQ"></arg>
                <arg name="vax3" varid="{U*(.D:K)C,t}A`!f/$/"></arg>
              </mutation>
              <field name="NAME">etwas tun2</field>
              <field name="SCRIPT">IG15SnNvbldpZGdldC5wdXNoKHsNCiAgICAgICAgRGV2aWNlIDogdmF4MSwNCiAgICAgICAgV2VydCA6IHZheDIsDQogICAgICAgIFN0YXR1cyA6IHZheDMNCiAgICB9DQoNCiAgICApOw==</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
            </block>
            <block type="variables_set" id="LdSkCfoT*X[q5A`iKPQt" x="162" y="363">
              <field name="VAR" id="?u%|U|C@eOKqc!VN^1V?" variabletype="">myJsonWidget</field>
              <value name="VALUE">
                <block type="lists_create_with" id="wSAU?~dKAg6/_L-(Ue+J">
                  <mutation items="0"></mutation>
                </block>
              </value>
              <next>
                <block type="procedures_callcustomnoreturn" id="t3#xa=Mp3^rpaDW}U1.J">
                  <mutation name="etwas tun2">
                    <arg name="vax1"></arg>
                    <arg name="vax2"></arg>
                    <arg name="vax3"></arg>
                  </mutation>
                  <value name="ARG0">
                    <block type="get_value" id="A2Y_3?n7?dUd`fX]*d7!">
                      <field name="ATTR">val</field>
                      <field name="OID">mihome.0.devices.magnet_158d0003d0c488.percent</field>
                    </block>
                  </value>
                  <value name="ARG1">
                    <block type="get_value" id="k5D=W2+,W,?UxS1L6@T}">
                      <field name="ATTR">val</field>
                      <field name="OID">mihome.0.devices.magnet_158d0003d0c488.state</field>
                    </block>
                  </value>
                  <value name="ARG2">
                    <block type="get_value" id="U[kZV/QZq)@vjPvD3X{=">
                      <field name="ATTR">val</field>
                      <field name="OID">mihome.0.devices.magnet_158d0003d0c488.voltage</field>
                    </block>
                  </value>
                  <next>
                    <block type="procedures_callcustomnoreturn" id="vh2Xf`@BKTlxs7R{?l[G">
                      <mutation name="etwas tun2">
                        <arg name="vax1"></arg>
                        <arg name="vax2"></arg>
                        <arg name="vax3"></arg>
                      </mutation>
                      <value name="ARG0">
                        <block type="get_value" id="Jsp}]sgEv,~zUz#OJefk">
                          <field name="ATTR">val</field>
                          <field name="OID">mihome.0.devices.magnet_158d0003e7ccfb.percent</field>
                        </block>
                      </value>
                      <value name="ARG1">
                        <block type="get_value" id="zCSU$zp-R!D#jq93E8X*">
                          <field name="ATTR">val</field>
                          <field name="OID">mihome.0.devices.magnet_158d0003e7ccfb.state</field>
                        </block>
                      </value>
                      <value name="ARG2">
                        <block type="get_value" id="5z2]2!UB,kL1ByvyD$6e">
                          <field name="ATTR">val</field>
                          <field name="OID">mihome.0.devices.magnet_158d0003e7ccfb.voltage</field>
                        </block>
                      </value>
                      <next>
                        <block type="debug" id="1Ui[)2+5AHd_6eK;jBag">
                          <field name="Severity">log</field>
                          <value name="TEXT">
                            <shadow type="text" id=")c1rZT4obu8ko^-E{2U%">
                              <field name="TEXT">test</field>
                            </shadow>
                            <block type="variables_get" id="W!K*{M-bZ,wYgVM)ISav">
                              <field name="VAR" id="?u%|U|C@eOKqc!VN^1V?" variabletype="">myJsonWidget</field>
                            </block>
                          </value>
                          <next>
                            <block type="control" id="afLj*mrG^Q{f]B2zSiKF">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">controll-own.0.AAATEST.test.html</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="convert_object2json" id="Ezfqir#AAANnf4WT$}C,">
                                  <field name="PRETTIFY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id="do{x)ov./$Lc;3%iScI=">
                                      <field name="VAR" id="?u%|U|C@eOKqc!VN^1V?" variabletype="">myJsonWidget</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </xml>
          

          4Josh 1 Reply Last reply Reply Quote 0
          • 4Josh
            4Josh @liv-in-sky last edited by 4Josh

            @liv-in-sky hat sehr gut funktioniert. 🙂

            Wie würde das mit der schleife funktionieres? Das diese automatisch anhand der Objektstruktur gefunden Pflanzensoren in die json integriert.

            Gruß 4Josh

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • H
              homecineplexx @4Josh last edited by

              @4Josh said in Daten zu Json:

              Hallo zusammne,

              ich habe mehrere Xiaomi Pflanzensensoren. Die einzelnen Daten würde ich gerne in einer Json zusammenfassen . Habt ihr eine Idee/Tipp wie das in NodeRed oder Blockly funktioniert. Am ende sollen die Informationen vom Widget ,,Icon List" des Adapters ,,Materialdesdign" angezeigt werden.

              Link zum Adapter

              Daten der Sensoren:
              Daten.jpg

              Danke

              hallo
              sag, wie bekommst du die daten in den ioBroker? mit einem bluetooth dongle??

              4Josh 1 Reply Last reply Reply Quote 0
              • 4Josh
                4Josh @homecineplexx last edited by

                @homecineplexx mittels des Adapters ,,ble" und den plugin ,,Xiaomi". Kein Dongle ich verwende das interne ble des Nuc7i5.

                H 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @4Josh last edited by

                  @4Josh eine schleife würde ich direkt mit javascript und nicht über blockly machen - das funktioniert dann wie z.b das batterie script https://forum.iobroker.net/topic/28789/script-fürtabelle-der-batterie-zustände

                  was bei einer schleife eher negativ wäre, wenn du individuelle werte für die einzelnen geräte hast (z.b. ein eigenes bild pro pflanze für die anzeige)- dann muss man für jedes gerät eine definition hinterlegen z.b in diesem script wird jeder ip adresse ein name zugewiesen https://forum.iobroker.net/topic/30057/ip-devices-im-netzwerk-html-tabelle-vis-iqontrol/2

                  1 Reply Last reply Reply Quote 0
                  • H
                    homecineplexx @4Josh last edited by

                    @4Josh said in Daten zu Json:

                    Nuc7i5.

                    dankeschön..muß ich mal schauen ob mein Nuc auch bluetooth hat

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    1.2k
                    Online

                    31.7k
                    Users

                    79.7k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    626
                    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