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. Visualisierung
  4. Newbie Einzelnen Wert von Contact-Entity anzeigen

NEWS

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

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

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

Newbie Einzelnen Wert von Contact-Entity anzeigen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
33 Beiträge 4 Kommentatoren 2.1k 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.
  • T topsurfer

    Danke euch !!

    Werde ich morgen angehen, nur zum Verständnis mit dem JS Codes, wo muss oder müßte ich diese reinkopieren?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #9

    @topsurfer sagte: JS Codes, wo muss oder müßte ich diese reinkopieren?

    In den Editor des Javascript-Adapters.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • T topsurfer

      Danke euch !!

      Werde ich morgen angehen, nur zum Verständnis mit dem JS Codes, wo muss oder müßte ich diese reinkopieren?

      ZarelloZ Offline
      ZarelloZ Offline
      Zarello
      schrieb am zuletzt editiert von
      #10

      @topsurfer Ich bin auf ein ähnliches Problem gestoßen und habe kurzerhand ein kleines Skript geschrieben, welches sämtliche Daten der Geräte unter mqtt.0.zigbee2mqtt unter javascript.0.MQTT zur Verfügung stellt. Ich bin mir nicht sicher, ob das alles reibungslos funktioniert, aber ich möchte natürlich viele der Geräte auch in Visualisierungen verwenden und benötige dementsprechend die kopierten Datenpunkte mit Aktualisierungs-/Übertragungsfunktionen. Vielleicht hilft Dir das ja auch weiter: Datenpunkte im JSON-Format und deren Visualisierung

      T 1 Antwort Letzte Antwort
      0
      • ZarelloZ Zarello

        @topsurfer Ich bin auf ein ähnliches Problem gestoßen und habe kurzerhand ein kleines Skript geschrieben, welches sämtliche Daten der Geräte unter mqtt.0.zigbee2mqtt unter javascript.0.MQTT zur Verfügung stellt. Ich bin mir nicht sicher, ob das alles reibungslos funktioniert, aber ich möchte natürlich viele der Geräte auch in Visualisierungen verwenden und benötige dementsprechend die kopierten Datenpunkte mit Aktualisierungs-/Übertragungsfunktionen. Vielleicht hilft Dir das ja auch weiter: Datenpunkte im JSON-Format und deren Visualisierung

        T Offline
        T Offline
        topsurfer
        schrieb am zuletzt editiert von topsurfer
        #11

        Ich denke Node Red würde mir "zusagen",
        stoße aber direkt auf ein "Problem" (bevor ich noch den JSON String verarbeiten kann),
        habe ein "Debug" eingebaut um mir zunächst überhaupt anzeigen zu lassen, was an Daten "reinkommt"

        Habe auch den funktionierenden Temperatur-Sensor von Netatmo angelegt und "debug" verdrahtet, aber das rechte "Debug" Fenster bleibt immer komplett leer.
        Und auch einen SmartSwitch (#21), der über MQTT arbeitet und funktioniert.

        Im Debug-Menu habe ich "Msg" als auch mal "Kompletten Nachrichten Objekt" ausgewählt und probiert (und natürlich dann auch deployed), aber keinerlei Änderung. "Debug" bleibt leer

        Was übersehe ich? Wo ist mein (Denk) Fehler?
        (Habe "iobroker in", "iobroker get object" und "iobroker get" probiert)

        node-red-debug-leer.jpg

        mickymM 2 Antworten Letzte Antwort
        0
        • T topsurfer

          Ich denke Node Red würde mir "zusagen",
          stoße aber direkt auf ein "Problem" (bevor ich noch den JSON String verarbeiten kann),
          habe ein "Debug" eingebaut um mir zunächst überhaupt anzeigen zu lassen, was an Daten "reinkommt"

          Habe auch den funktionierenden Temperatur-Sensor von Netatmo angelegt und "debug" verdrahtet, aber das rechte "Debug" Fenster bleibt immer komplett leer.
          Und auch einen SmartSwitch (#21), der über MQTT arbeitet und funktioniert.

          Im Debug-Menu habe ich "Msg" als auch mal "Kompletten Nachrichten Objekt" ausgewählt und probiert (und natürlich dann auch deployed), aber keinerlei Änderung. "Debug" bleibt leer

          Was übersehe ich? Wo ist mein (Denk) Fehler?
          (Habe "iobroker in", "iobroker get object" und "iobroker get" probiert)

          node-red-debug-leer.jpg

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #12

          @topsurfer Hallo - Nun Du nimmst die iobroker IN Node. Wenn allerdings nichts getriggert wird, dann kommt auch nichts rein. ;)

          Also in der iobroker In Node noch spezifizieren, dass am Anfang der Datenpunkt ausgelesen wird:

          7c70f32b-e58a-4f4f-b5f3-bce457ceea54-image.png

          Wenn Du die Taste inaktiv drückst:

          22bc0c66-bc41-4df8-b4ff-737e74953e9d-image.png

          dann bleibt diese Node still - das geht auch ohne Übernahme/Deploy - damit kann man schnell Debug Nodes aktivieren und deaktivieren.

          Die iobroker- get Nodes die liefern nichts - und lesen nur aus, wenn Du sie triggerst. Du kannst eine Inject Node davorhängen und über die Taste triggern. Wie gesagt im Normalfall triggern die Datenpunkte selbst über die iobroker-In Node.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          T 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @topsurfer Hallo - Nun Du nimmst die iobroker IN Node. Wenn allerdings nichts getriggert wird, dann kommt auch nichts rein. ;)

            Also in der iobroker In Node noch spezifizieren, dass am Anfang der Datenpunkt ausgelesen wird:

            7c70f32b-e58a-4f4f-b5f3-bce457ceea54-image.png

            Wenn Du die Taste inaktiv drückst:

            22bc0c66-bc41-4df8-b4ff-737e74953e9d-image.png

            dann bleibt diese Node still - das geht auch ohne Übernahme/Deploy - damit kann man schnell Debug Nodes aktivieren und deaktivieren.

            Die iobroker- get Nodes die liefern nichts - und lesen nur aus, wenn Du sie triggerst. Du kannst eine Inject Node davorhängen und über die Taste triggern. Wie gesagt im Normalfall triggern die Datenpunkte selbst über die iobroker-In Node.

            T Offline
            T Offline
            topsurfer
            schrieb am zuletzt editiert von topsurfer
            #13

            OK, liegt wohl (zumindest beim ZigBee) Contact daran, das dieser trotz Auslösung des Magnet-Kontakt keine Daten geschickt hat, sondern nur alle 10 Minuten (?).
            Vom Netatmo kam gar nichts an, aber wie kann ich da mit Node Red und dem JSON testen, wenn nur alle 10 Minuten was im Debug was ankommt?

            data.jpg

            mickymM 1 Antwort Letzte Antwort
            0
            • T topsurfer

              OK, liegt wohl (zumindest beim ZigBee) Contact daran, das dieser trotz Auslösung des Magnet-Kontakt keine Daten geschickt hat, sondern nur alle 10 Minuten (?).
              Vom Netatmo kam gar nichts an, aber wie kann ich da mit Node Red und dem JSON testen, wenn nur alle 10 Minuten was im Debug was ankommt?

              data.jpg

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #14

              @topsurfer Wie gesagt mit der getNode kannst Du die Daten immer lesen musst die aber mit einer Inject Node triggern.

              Ansonsten nur um den JSON String zu testen kannst Du auch den ganzen String in eine Inject-Node kopieren.

              Nehmen wir mal an Du möchtest den in Deinem Screenshot abgebildeten JSON String und die weitere Verarbeitung testen:

              bc91b39a-a3c0-4e4c-81a7-aa3b4606b675-image.png

              Dann gehtst Du mit der Maus im Debugfenster auf Wert kopieren - wie abgebildet

              Sobald Du den Wert dann in die Inject Node kopiert hast:

              0fab76f8-936c-4bb3-9c83-b722fa0534f3-image.png

              und diese triggerst - solltest Du mit einer anschließenden Debug Node - die identische Ausgabe erhalten:
              5ffa1c51-78f2-48c8-9f20-a319341debed-image.png

              über eine anschließende JSON Node - siehst Du wie das Ganze in ein JS Objekt umgewandelt wurde:

              22d34707-ab93-4eba-aa44-b1a23702bf9c-image.png

              Nun kannst Du auf die Eigenschaften direkt zugreifen - wenn Du am Anfang nicht weißt wie, dann hilft Dir den Pfad zu kopieren, das ist das Icon vor dem Wert kopieren:

              Nehmen wir an Du bist an dem Wert linkquality interessiert:

              dann kopierst Du den Wert in die Zwischenablage - später weißt Du sowas auswendig:

              c143aa23-e16e-4860-817d-d5425c31ed9f-image.png

              mit einer Debug Node - kannst Du so schon den einzelnen Wert extrahieren:

              In die Debug Node kopierst Du den kopierten Pfad:

              ca0f3591-934f-4667-a4c4-6d985ed53937-image.png

              Du siehst auf die Objekteigenschaften greifst Du einfach mit einem Punkt zu. Also payload.linkquality oder payload.battery usw.

              Du bekommst also den Wert schon mal einzeln:

              d1cea4c0-436c-4e15-bc68-dac6b80c5105-image.png

              Um den Wert dann in einer payload einzeln zu verarbeiten kannst Du diese über eine Change Node setzen:

              32cf29ab-1e5f-491b-bb83-7d75c1a097fa-image.png

              Hier siehst Du jede Nachricht mit dem einzelnen Wert, den Du über eine iobroker-Out Node in einen eigenen Datenpunkt schreiben kannst oder was weiß ich, was Du damit anstellen willst.

              Damit Du üben kannst, brauchst Du nur den folgenden Flow importieren:

              [
                 {
                     "id": "be9ae138.a40b9",
                     "type": "inject",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "{\"battery\":100,\"contact\":false,\"linkquality\":134,\"voltage\":3005}",
                     "payloadType": "str",
                     "x": 550,
                     "y": 260,
                     "wires": [
                         [
                             "f77fee95.33031",
                             "87971ea6.bc01f"
                         ]
                     ]
                 },
                 {
                     "id": "f77fee95.33031",
                     "type": "debug",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "false",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 730,
                     "y": 260,
                     "wires": []
                 },
                 {
                     "id": "87971ea6.bc01f",
                     "type": "json",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "property": "payload",
                     "action": "",
                     "pretty": false,
                     "x": 720,
                     "y": 320,
                     "wires": [
                         [
                             "2b35c376.181bcc",
                             "11c50505.2a173b",
                             "c72940c6.73bce",
                             "1b4d9da3.b83512",
                             "57b43ac0.2e12a4"
                         ]
                     ]
                 },
                 {
                     "id": "2b35c376.181bcc",
                     "type": "debug",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "false",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 870,
                     "y": 320,
                     "wires": []
                 },
                 {
                     "id": "11c50505.2a173b",
                     "type": "debug",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload.linkquality",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 930,
                     "y": 380,
                     "wires": []
                 },
                 {
                     "id": "c72940c6.73bce",
                     "type": "change",
                     "z": "54b226bc.0793e8",
                     "name": "Batterie",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.battery",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 880,
                     "y": 460,
                     "wires": [
                         [
                             "4529c251.3c398c"
                         ]
                     ]
                 },
                 {
                     "id": "1b4d9da3.b83512",
                     "type": "change",
                     "z": "54b226bc.0793e8",
                     "name": "Kontakt",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.contact",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 880,
                     "y": 500,
                     "wires": [
                         [
                             "4529c251.3c398c"
                         ]
                     ]
                 },
                 {
                     "id": "57b43ac0.2e12a4",
                     "type": "change",
                     "z": "54b226bc.0793e8",
                     "name": "Voltage",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.voltage",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 880,
                     "y": 540,
                     "wires": [
                         [
                             "4529c251.3c398c"
                         ]
                     ]
                 },
                 {
                     "id": "4529c251.3c398c",
                     "type": "debug",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "false",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1080,
                     "y": 500,
                     "wires": []
                 }
              ]
              

              Einfach von hier in die Zwischenablage und dann im Menü auf Import und den Inhalt der Zwischenablage in das rosa Fenster kopieren:

              dc9a51d6-e8e1-4f1f-8b4f-4147d03add06-image.png

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              1 Antwort Letzte Antwort
              0
              • T topsurfer

                Ich denke Node Red würde mir "zusagen",
                stoße aber direkt auf ein "Problem" (bevor ich noch den JSON String verarbeiten kann),
                habe ein "Debug" eingebaut um mir zunächst überhaupt anzeigen zu lassen, was an Daten "reinkommt"

                Habe auch den funktionierenden Temperatur-Sensor von Netatmo angelegt und "debug" verdrahtet, aber das rechte "Debug" Fenster bleibt immer komplett leer.
                Und auch einen SmartSwitch (#21), der über MQTT arbeitet und funktioniert.

                Im Debug-Menu habe ich "Msg" als auch mal "Kompletten Nachrichten Objekt" ausgewählt und probiert (und natürlich dann auch deployed), aber keinerlei Änderung. "Debug" bleibt leer

                Was übersehe ich? Wo ist mein (Denk) Fehler?
                (Habe "iobroker in", "iobroker get object" und "iobroker get" probiert)

                node-red-debug-leer.jpg

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #15

                @topsurfer Ach und wenn Du mit NodeRed anfängst schalte zu Beginn gleich die Stringkonvertierung in den Adaptereinstellungen aus, das wird Dir später helfen - auch wenn Du über mqtt immer Strings bekommst:

                Ich habe Dir den Haken markiert, den Du wegmachen sollst:

                64e3452c-9184-4cca-bfbd-133bc415e5e9-image.png

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                1 Antwort Letzte Antwort
                0
                • T Offline
                  T Offline
                  topsurfer
                  schrieb am zuletzt editiert von
                  #16

                  DANKE Micky !
                  Teste ich nachher ...

                  Haken habe ich entfernt bei ".... Zeichenkette konvertieren"

                  Der "Pallett Manager" ist bei mir nicht aktiviert, konnte auf die schnelle auch nicht finden was der für eine Aufgabe hat.

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • T topsurfer

                    DANKE Micky !
                    Teste ich nachher ...

                    Haken habe ich entfernt bei ".... Zeichenkette konvertieren"

                    Der "Pallett Manager" ist bei mir nicht aktiviert, konnte auf die schnelle auch nicht finden was der für eine Aufgabe hat.

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #17

                    @topsurfer Der macht es Dir einfacher zusätzliche Nodes zu installieren - das kann man aber auch später bei Bedarf anhaken - das hat keine Auswirkungen auf Deine bisherigen Flows oder Deiner Arbeit. Die Konvertierung auszuschalten ist dagegen schon wichtig, sonst hat man später einen Aufwand wenn man es wieder umstellt.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    1 Antwort Letzte Antwort
                    0
                    • T Offline
                      T Offline
                      topsurfer
                      schrieb am zuletzt editiert von
                      #18

                      @mickym
                      So, konnte deiner Anleitung folgen und di ersten Werte so "erstellen".
                      (und Node Red zumindest etwas "verstehen", habe noch nie mit einer grafischen Erstellung von "Scripten" oder "Abläufen" zu tun gehabt!)

                      Danke!

                      Nur eine Frage (evtl. an andere), ich stehe ja dann letztlich vor der Entscheidung, Node red oder blockly zu nutzen.
                      Wie würde das ganze in blockly ausschauen?
                      Wie kann ich dort den JSON String in einzelne "Variablen" aufsplitten?

                      mickymM paul53P 2 Antworten Letzte Antwort
                      0
                      • T topsurfer

                        @mickym
                        So, konnte deiner Anleitung folgen und di ersten Werte so "erstellen".
                        (und Node Red zumindest etwas "verstehen", habe noch nie mit einer grafischen Erstellung von "Scripten" oder "Abläufen" zu tun gehabt!)

                        Danke!

                        Nur eine Frage (evtl. an andere), ich stehe ja dann letztlich vor der Entscheidung, Node red oder blockly zu nutzen.
                        Wie würde das ganze in blockly ausschauen?
                        Wie kann ich dort den JSON String in einzelne "Variablen" aufsplitten?

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #19

                        @topsurfer sagte in Newbie Einzelnen Wert von Contact-Entity anzeigen:

                        @mickym
                        So, konnte deiner Anleitung folgen und di ersten Werte so "erstellen".
                        (und Node Red zumindest etwas "verstehen", habe noch nie mit einer grafischen Erstellung von "Scripten" oder "Abläufen" zu tun gehabt!)

                        Danke!

                        Nur eine Frage (evtl. an andere), ich stehe ja dann letztlich vor der Entscheidung, Node red oder blockly zu nutzen.
                        Wie würde das ganze in blockly ausschauen?
                        Wie kann ich dort den JSON String in einzelne "Variablen" aufsplitten?

                        Nur so ungefähr müsste es meines erachtens so aussehen

                        ba9f44c8-3130-428f-8a03-41dceb5a345c-image.png

                        Du setzt also den Wert des triggers in die Variable JSONString- wandelst das in ein Objekt (ich habs hier object) genannt und ordnest die Eigenschaft battery Deiner Variablen Batterie zu,

                        Überprüfen und bessere Tipps zum Thema Blockly kann Dir sicher @paul53 geben. :) Auch @jan1 hilft Dir bei der Blockly Erstellung sicher gerne.

                        Und mal abgesehen von meiner persönlichen Präferenz, hast Du hier an Board viel mehr Blockly Unterstützung - das nehmen einfach die meisten. Warum weiß ich zwar nicht :D - aber insofern hast Du mit Blockly viel mehr Leute, die Dich unterstützen können.

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        1 Antwort Letzte Antwort
                        0
                        • T topsurfer

                          @mickym
                          So, konnte deiner Anleitung folgen und di ersten Werte so "erstellen".
                          (und Node Red zumindest etwas "verstehen", habe noch nie mit einer grafischen Erstellung von "Scripten" oder "Abläufen" zu tun gehabt!)

                          Danke!

                          Nur eine Frage (evtl. an andere), ich stehe ja dann letztlich vor der Entscheidung, Node red oder blockly zu nutzen.
                          Wie würde das ganze in blockly ausschauen?
                          Wie kann ich dort den JSON String in einzelne "Variablen" aufsplitten?

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #20

                          @topsurfer sagte: Wie würde das ganze in blockly ausschauen?

                          Bild_2021-12-08_212411.png

                          Wert (unter "Trigger"):

                          Blockly_DP_Props.JPG

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #21

                            @paul53 Ok hier zeigt sich der Meister - mehrere Schritte in einem. :)

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            1 Antwort Letzte Antwort
                            0
                            • T Offline
                              T Offline
                              topsurfer
                              schrieb am zuletzt editiert von
                              #22

                              So,
                              erste Versuche in blockly ..
                              (ioBroker ist auf Deutsch, aber blokcly ist "english")

                              Soweit kam ich, aber Object-ID "JSON" fehlt komplett, also wohl der Teil, wo der JSON String in einzelne Werte "gesplittet" wird.
                              Muss da noch ein Adapter installiert werden?

                              blockly-01.jpg

                              mickymM paul53P 3 Antworten Letzte Antwort
                              0
                              • T topsurfer

                                So,
                                erste Versuche in blockly ..
                                (ioBroker ist auf Deutsch, aber blokcly ist "english")

                                Soweit kam ich, aber Object-ID "JSON" fehlt komplett, also wohl der Teil, wo der JSON String in einzelne Werte "gesplittet" wird.
                                Muss da noch ein Adapter installiert werden?

                                blockly-01.jpg

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #23

                                @topsurfer Bei JSON bzw default muss Dein Datenpunkt rein, der Dein JSON String im MQTT enthält. Also der zigbee Pfad oder das Topic was Du in der iobroker In Node im Node-Red geschrieben hast. Das ganze Objekt wird dann wohl vom JSON String automatisch umgewandelt indem Du diesen Baustein verwendest. Über Wert wird der JSON String in diesen Blocklybaustein geladen und quasi implizit in ein Objekt umgewandelt - das was ich meinte noch konvertieren zu müssen. Das muss man anscheinend nicht (so verstehe ich das Blockly) - aber genaueres wird sicher ein Blockly-Spezialist erklären können.

                                Über die Attribute greifst Du dann auf die Eigenschaften des Objektes zu. Das ist was Du mit payload.battery im NodeRed rausgezogen hast. Die ObjectID ist ein von Dir selbst erstellter Datenpunkt unter 0_userdata.0 in den Du diesen Wert schreibst.

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • T topsurfer

                                  So,
                                  erste Versuche in blockly ..
                                  (ioBroker ist auf Deutsch, aber blokcly ist "english")

                                  Soweit kam ich, aber Object-ID "JSON" fehlt komplett, also wohl der Teil, wo der JSON String in einzelne Werte "gesplittet" wird.
                                  Muss da noch ein Adapter installiert werden?

                                  blockly-01.jpg

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #24

                                  @topsurfer sagte: Object-ID "JSON" fehlt komplett,

                                  Da muss der Datenpunkt "mqtt.0.zigbee2mqtt.Contact_01", der JSON enthält, zugewiesen werden.

                                  Den "update"-Blöcken müssen die eigenen Datenpunkte unter "0_userdata.0" zugewiesen werden. Erstelle einen Datenpunkt "0_userdata.0.Kontakt01.Kontakt" vom Typ "boolean" und einen weiteren "0_userdata.0.Kontakt01.Batterie" vom Typ "number".

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @topsurfer Bei JSON bzw default muss Dein Datenpunkt rein, der Dein JSON String im MQTT enthält. Also der zigbee Pfad oder das Topic was Du in der iobroker In Node im Node-Red geschrieben hast. Das ganze Objekt wird dann wohl vom JSON String automatisch umgewandelt indem Du diesen Baustein verwendest. Über Wert wird der JSON String in diesen Blocklybaustein geladen und quasi implizit in ein Objekt umgewandelt - das was ich meinte noch konvertieren zu müssen. Das muss man anscheinend nicht (so verstehe ich das Blockly) - aber genaueres wird sicher ein Blockly-Spezialist erklären können.

                                    Über die Attribute greifst Du dann auf die Eigenschaften des Objektes zu. Das ist was Du mit payload.battery im NodeRed rausgezogen hast. Die ObjectID ist ein von Dir selbst erstellter Datenpunkt unter 0_userdata.0 in den Du diesen Wert schreibst.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #25

                                    @mickym sagte: implizit in ein Objekt umgewandelt

                                    Ja, ist für die Funktion getAttr() so dokumentiert:

                                    If the first attribute is string, the function will try to parse the string as JSON string.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Antwort Letzte Antwort
                                    1
                                    • T topsurfer

                                      So,
                                      erste Versuche in blockly ..
                                      (ioBroker ist auf Deutsch, aber blokcly ist "english")

                                      Soweit kam ich, aber Object-ID "JSON" fehlt komplett, also wohl der Teil, wo der JSON String in einzelne Werte "gesplittet" wird.
                                      Muss da noch ein Adapter installiert werden?

                                      blockly-01.jpg

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von mickym
                                      #26

                                      @topsurfer Falls Du wirklich alle Datenpunkte eines JSON Strings in einzelne Datenpunkte schreiben willst, was ich eigentlich unsinnig finde und kannst Du auch im NodeRed meinen Flow verwenden - der wandelt JSON Strings automatisch in Datenpunkte um:
                                      https://forum.iobroker.net/topic/43856/json-string-oder-java-object-in-iobroker-struktur/14

                                      Unter Punkt 6 siehst Du wie ein JSON String in einzelne Datenpunkte in einem Baum erstellt werden. Allerdings würde ich es auch wenn es am Anfang schön aussieht auf Dauer nicht empfehlen, weil Du alle Daten hast und eigentlich nur für Visualisierung eigene Datenpunkte brauchst.

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @topsurfer Falls Du wirklich alle Datenpunkte eines JSON Strings in einzelne Datenpunkte schreiben willst, was ich eigentlich unsinnig finde und kannst Du auch im NodeRed meinen Flow verwenden - der wandelt JSON Strings automatisch in Datenpunkte um:
                                        https://forum.iobroker.net/topic/43856/json-string-oder-java-object-in-iobroker-struktur/14

                                        Unter Punkt 6 siehst Du wie ein JSON String in einzelne Datenpunkte in einem Baum erstellt werden. Allerdings würde ich es auch wenn es am Anfang schön aussieht auf Dauer nicht empfehlen, weil Du alle Daten hast und eigentlich nur für Visualisierung eigene Datenpunkte brauchst.

                                        T Offline
                                        T Offline
                                        topsurfer
                                        schrieb am zuletzt editiert von topsurfer
                                        #27

                                        Danke Paul (und Micky),
                                        es geht voran ;-)

                                        "Datenpunkte", musste erst Googeln, was und wie,...;
                                        aber diese habe ich angelegt (0_userdata/=/Kontakt_01_Batterie sowie: Kontakt_01_Status.
                                        (würde diese aber später dann in einen Unterordner "Kontakte" anlegen damit es übersichtlicher bleibt)

                                        Jetzt erscheint zumindest beim öffnen/schliessen des Kontakts eine Fehlermeldung (es wird also das richtige Objekt versucht zu verarbeiten ;-) )

                                        Was ist denn jetzt noch falsch, das Prinzip denke ich verstanden zu haben:

                                        Bei jeder Änderung des Objekts wird der JSON String nach contact und battery "durchsucht" und die Werte in die Datenpunkte Kontakt_01_Status/Batterie reingeschrieben.

                                        Wollte mit dem "Debug" noch etwas mehr Infos rausbekommen, aber unsicher, wie und wo sich das Auswirkt oder wo man diese Info "test" sehen kann.

                                        blockly-02.jpg

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • T topsurfer

                                          Danke Paul (und Micky),
                                          es geht voran ;-)

                                          "Datenpunkte", musste erst Googeln, was und wie,...;
                                          aber diese habe ich angelegt (0_userdata/=/Kontakt_01_Batterie sowie: Kontakt_01_Status.
                                          (würde diese aber später dann in einen Unterordner "Kontakte" anlegen damit es übersichtlicher bleibt)

                                          Jetzt erscheint zumindest beim öffnen/schliessen des Kontakts eine Fehlermeldung (es wird also das richtige Objekt versucht zu verarbeiten ;-) )

                                          Was ist denn jetzt noch falsch, das Prinzip denke ich verstanden zu haben:

                                          Bei jeder Änderung des Objekts wird der JSON String nach contact und battery "durchsucht" und die Werte in die Datenpunkte Kontakt_01_Status/Batterie reingeschrieben.

                                          Wollte mit dem "Debug" noch etwas mehr Infos rausbekommen, aber unsicher, wie und wo sich das Auswirkt oder wo man diese Info "test" sehen kann.

                                          blockly-02.jpg

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #28

                                          @topsurfer
                                          Du hast vermutlich eine eigene Variable Wert erstellt? Die Variable findet man unter "Trigger" wie bereits oben gezeigt.

                                          Zeige bitte die Objektstruktur der beiden Datenpunkte unter "0_userdata.0". Etwa so:

                                          Bild_2021-12-09_175727.png

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          T 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

                                          574

                                          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