Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen

Scheduled Pinned Locked Moved Node-Red
node-red
114 Posts 13 Posters 26.3k Views 12 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mickymM mickym

    @icebear Du wandelst den JSON String mit einer JSON Node in ein Objekt um. Dann extrahierst Du den Wert, der Dich interessiert in dem Du die payload auf den Pfad zum den entsprechenden Wert setzt. Du gehst also mit der Maus neben den Wert und kopierst den Pfad und setzt die payload auf diesen Pfad:

    copy path.gif

    Nun hast Du 3 Möglichkeiten:

    1. Das Maximum und Minimum kannst Du entweder kodieren und mit einer Function Node in dem entsprechenden Kontext speichern.
    2. Du kodierst gar nichts und speicherst das Maximum oder Minimum im Flow Kontext.

    In beiden Fällen setzt Du jeden Tag mit einer Inject Node wieder zurück, wenn Du willst.

    1. Du installierst Dir die aggregate Node , die Dir Minimum und Maximum pro Zeiteinheit also pro Tag ausgibt.

    Falls Du Dich für eine der 3 Möglichkeiten entschieden hast, können wir das konkretisieren.

    icebearI Offline
    icebearI Offline
    icebear
    wrote on last edited by
    #94

    @mickym

    Ich hatte die aggregate node schon installiert, hatte ich aber garnich auf dem Schirm.

    Ich hab jetzt nochmal einen einfachen flow erstellt, der mir mit einem template node die aktuellen preise von tibber abholt.

    siehe hier:tib_array.png

    wie krieg ich das jetzt in die aggregate node rein

    Gruß
    Holger

    mickymM 1 Reply Last reply
    0
    • icebearI icebear

      @mickym

      Ich hatte die aggregate node schon installiert, hatte ich aber garnich auf dem Schirm.

      Ich hab jetzt nochmal einen einfachen flow erstellt, der mir mit einem template node die aktuellen preise von tibber abholt.

      siehe hier:tib_array.png

      wie krieg ich das jetzt in die aggregate node rein

      Gruß
      Holger

      mickymM Online
      mickymM Online
      mickym
      Most Active
      wrote on last edited by
      #95

      @icebear Klapp die Objekte auf und setze via Change Node die payload auf den Pfad des Wertes im Nachrichtenobjekt, der Dich interessiert wie in meiner Animation gezeigt. Und die payload verbindest dann mit der aggregate 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.

      icebearI 1 Reply Last reply
      0
      • mickymM mickym

        @icebear Klapp die Objekte auf und setze via Change Node die payload auf den Pfad des Wertes im Nachrichtenobjekt, der Dich interessiert wie in meiner Animation gezeigt. Und die payload verbindest dann mit der aggregate Node.

        icebearI Offline
        icebearI Offline
        icebear
        wrote on last edited by
        #96

        @mickym

        also ich habs jetzt so gemacht:

        tib_iob.png

        keine Ahnung ob das nich noch einfacher oder übersichtlicher geht, aber das Ergebnis stimmt.

        Gruß
        Holger

        mickymM 1 Reply Last reply
        0
        • icebearI icebear

          @mickym

          also ich habs jetzt so gemacht:

          tib_iob.png

          keine Ahnung ob das nich noch einfacher oder übersichtlicher geht, aber das Ergebnis stimmt.

          Gruß
          Holger

          mickymM Online
          mickymM Online
          mickym
          Most Active
          wrote on last edited by
          #97

          @icebear Nun - ich kannte die Anforderung nicht im Detail. Wenn Du willst, dass ich ggf. eine einfachere Lösung finde, dann exportiere mir doch auf der einen Seite mal alle Nodes hinter dieser tibber-query node und dann mach mal eine Debug Node hinter die tibber-query Node und kopiere mir mal das komplette Objekt hier in code-tags, sodass ich die Ausgabe der tibber-query Node mit einer Inject Node simulieren kann.

          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.

          icebearI 1 Reply Last reply
          0
          • mickymM mickym

            @icebear Nun - ich kannte die Anforderung nicht im Detail. Wenn Du willst, dass ich ggf. eine einfachere Lösung finde, dann exportiere mir doch auf der einen Seite mal alle Nodes hinter dieser tibber-query node und dann mach mal eine Debug Node hinter die tibber-query Node und kopiere mir mal das komplette Objekt hier in code-tags, sodass ich die Ausgabe der tibber-query Node mit einer Inject Node simulieren kann.

            icebearI Offline
            icebearI Offline
            icebear
            wrote on last edited by
            #98

            @mickym

            Vielen Dank erstmal für deine Hilfe.
            Ich hab mich jetzt doch anders entschieden und nehm die Werte mit den zugehörigen Graphen bzw. Anzeigen aus Grafana.
            Die 'gauges' Widgets aus iobroker gefallen mir nich so gut und passen nicht zu meiner VIS, da hab ich bei Grafana bessere Darstellungsmöglichkeiten.
            Das laden dauert zwar ein Mü länger, aber einen Tod muß man ja sterben.

            Trotzdem nochmal vielen Dank!

            Gruß Holger

            1 Reply Last reply
            0
            • Merlin123M Offline
              Merlin123M Offline
              Merlin123
              wrote on last edited by
              #99

              Ok... Kann mal jemand "für Dumme" erklären, wie das funktioniert...
              Hab bisher mit NodeRed nix am Hut und den nur installiert, um die Daten von Tibber auszulesen (danke an der Stelle für die tolle Beschreibung! ).
              Jetzt hab ich in IOB nen DP mit dem JSON und würde den gerne zerlegen. Also das die Werte in einzelnen DPs liegen.
              Das JSON sieht so aus:

              {"timestamp":"2023-06-19T16:13:37.000+02:00","power":0,"lastMeterConsumption":9194.1692,"accumulatedConsumption":0,"accumulatedProduction":3.5866,"accumulatedConsumptionLastHour":0,"accumulatedProductionLastHour":0.3924,"accumulatedCost":null,"accumulatedReward":null,"currency":null,"minPower":0,"averagePower":0,"maxPower":0,"powerProduction":1290,"minPowerProduction":676,"maxPowerProduction":4514,"lastMeterProduction":19342.1205,"powerFactor":null,"voltagePhase1":null,"voltagePhase2":null,"voltagePhase3":null,"currentL1":null,"currentL2":null,"currentL3":null,"signalStrength":null}
              

              Was muss ich da jetzt machen, damit die Daten des JSON in einzelne DPs kommen? Ich hab den Node importiert, verstehe hier aber grad nur Bahnhof 😞

              Beta-Tester

              mickymM 1 Reply Last reply
              0
              • Merlin123M Merlin123

                Ok... Kann mal jemand "für Dumme" erklären, wie das funktioniert...
                Hab bisher mit NodeRed nix am Hut und den nur installiert, um die Daten von Tibber auszulesen (danke an der Stelle für die tolle Beschreibung! ).
                Jetzt hab ich in IOB nen DP mit dem JSON und würde den gerne zerlegen. Also das die Werte in einzelnen DPs liegen.
                Das JSON sieht so aus:

                {"timestamp":"2023-06-19T16:13:37.000+02:00","power":0,"lastMeterConsumption":9194.1692,"accumulatedConsumption":0,"accumulatedProduction":3.5866,"accumulatedConsumptionLastHour":0,"accumulatedProductionLastHour":0.3924,"accumulatedCost":null,"accumulatedReward":null,"currency":null,"minPower":0,"averagePower":0,"maxPower":0,"powerProduction":1290,"minPowerProduction":676,"maxPowerProduction":4514,"lastMeterProduction":19342.1205,"powerFactor":null,"voltagePhase1":null,"voltagePhase2":null,"voltagePhase3":null,"currentL1":null,"currentL2":null,"currentL3":null,"signalStrength":null}
                

                Was muss ich da jetzt machen, damit die Daten des JSON in einzelne DPs kommen? Ich hab den Node importiert, verstehe hier aber grad nur Bahnhof 😞

                mickymM Online
                mickymM Online
                mickym
                Most Active
                wrote on last edited by
                #100

                @merlin123 ich kann Dir im Moment nur von unterwegs antworten, deshalb kann ich Dir keine Screenshots schicken. Du ziehst einfach die neue Node auf Deinen Flow und schließt sie an die Node an die Dein JSON rauskommt. Wenn du die Node öffnest dann kannst du einen Ordnernamen angeben unter dem die einzelnen States abgelegt werden sollen. Vorgegeben ist objRoot. Dann schließt Du an diese Node eine iobroker-Out Node an. Dort gibst du an, dass die States erstellt werden sollen, falls sie nicht existieren (in der Adapterkonfiguration muss Fremdobjekte erstellen aktiviert sein), dann solltest du als Typ „value“ angeben und eventuell noch als ReadOnly definieren.

                Falls das nicht klar ist, melde Duch nochmal, dann melde ich mich am Abend nochmal.

                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.

                Merlin123M 1 Reply Last reply
                0
                • mickymM mickym

                  @merlin123 ich kann Dir im Moment nur von unterwegs antworten, deshalb kann ich Dir keine Screenshots schicken. Du ziehst einfach die neue Node auf Deinen Flow und schließt sie an die Node an die Dein JSON rauskommt. Wenn du die Node öffnest dann kannst du einen Ordnernamen angeben unter dem die einzelnen States abgelegt werden sollen. Vorgegeben ist objRoot. Dann schließt Du an diese Node eine iobroker-Out Node an. Dort gibst du an, dass die States erstellt werden sollen, falls sie nicht existieren (in der Adapterkonfiguration muss Fremdobjekte erstellen aktiviert sein), dann solltest du als Typ „value“ angeben und eventuell noch als ReadOnly definieren.

                  Falls das nicht klar ist, melde Duch nochmal, dann melde ich mich am Abend nochmal.

                  Merlin123M Offline
                  Merlin123M Offline
                  Merlin123
                  wrote on last edited by
                  #101

                  @mickym Danke erstmal für die Erklärung. Ich hab mal versucht das umzusetzen, aber es wird nichts angelegt. Vermutlich ne Kleinigkeit....

                  Sieht bei mir jetzt so aus:
                  2023-06-19_18-08-26.png

                  2023-06-19_18-07-55.png

                  2023-06-19_18-09-05.png

                  Beta-Tester

                  mickymM 1 Reply Last reply
                  0
                  • Merlin123M Merlin123

                    @mickym Danke erstmal für die Erklärung. Ich hab mal versucht das umzusetzen, aber es wird nichts angelegt. Vermutlich ne Kleinigkeit....

                    Sieht bei mir jetzt so aus:
                    2023-06-19_18-08-26.png

                    2023-06-19_18-07-55.png

                    2023-06-19_18-09-05.png

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    wrote on last edited by mickym
                    #102

                    @merlin123 wenn Fremdobjekte in der Adapterkonfiguration erlaubt sind, dann topic in der iobroker-out Node rauslöschen das topic wird durch die neue Node gesetzt. Readonly würde ich noch setzen. Keep topic in der subflow node auf false lassen. Selbst einen Namen in der iobroker Out Node vergeben oder rauslöschen

                    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.

                    Merlin123M E 2 Replies Last reply
                    0
                    • mickymM mickym

                      @merlin123 wenn Fremdobjekte in der Adapterkonfiguration erlaubt sind, dann topic in der iobroker-out Node rauslöschen das topic wird durch die neue Node gesetzt. Readonly würde ich noch setzen. Keep topic in der subflow node auf false lassen. Selbst einen Namen in der iobroker Out Node vergeben oder rauslöschen

                      Merlin123M Offline
                      Merlin123M Offline
                      Merlin123
                      wrote on last edited by
                      #103

                      @mickym Dank Dir vielmals! das topic war das Problem 🙂

                      Und allgemein Danke für die Mühe, die Du dir machst 🙂

                      Beta-Tester

                      1 Reply Last reply
                      0
                      • mickymM mickym

                        @merlin123 wenn Fremdobjekte in der Adapterkonfiguration erlaubt sind, dann topic in der iobroker-out Node rauslöschen das topic wird durch die neue Node gesetzt. Readonly würde ich noch setzen. Keep topic in der subflow node auf false lassen. Selbst einen Namen in der iobroker Out Node vergeben oder rauslöschen

                        E Offline
                        E Offline
                        Einstein2002
                        wrote on last edited by
                        #104

                        @mickym
                        Hallo Mickym

                        so das würde ich jetzt gerne vertiefen und fange mal von oben an zu lesen.

                        Wenn es dazu Hilfe benötigt werde ich sehr gerne auf Dich zukommen! Wenn ich darf.

                        Oder hast Du eine bessere Idee wie und wo ich anfangen sollte?

                        Proxmox, VM`s Windows, IoBroker im unprivilegiert LXC, Openmediavault; LXC `s Tasmota, PiHole, , InfluxDB, Motioneye, WireguardVPN, UniFi:
                        Smarthome...Sonoff, Alexa, Wled, raspberrymatic,...

                        mickymM 1 Reply Last reply
                        0
                        • E Einstein2002

                          @mickym
                          Hallo Mickym

                          so das würde ich jetzt gerne vertiefen und fange mal von oben an zu lesen.

                          Wenn es dazu Hilfe benötigt werde ich sehr gerne auf Dich zukommen! Wenn ich darf.

                          Oder hast Du eine bessere Idee wie und wo ich anfangen sollte?

                          mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          wrote on last edited by
                          #105

                          @einstein2002 Na wenn es Dir nicht nur um das Zerlegen von Objekten geht - dann solltest Du lieber einen eigenen Thread aufmachen und dann können wir das Durchgehen. Was nutzt Du denn bis jetzt für Deine Logikmaschine?

                          Blockly oder Javascript?

                          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.

                          E 1 Reply Last reply
                          0
                          • mickymM mickym

                            @einstein2002 Na wenn es Dir nicht nur um das Zerlegen von Objekten geht - dann solltest Du lieber einen eigenen Thread aufmachen und dann können wir das Durchgehen. Was nutzt Du denn bis jetzt für Deine Logikmaschine?

                            Blockly oder Javascript?

                            E Offline
                            E Offline
                            Einstein2002
                            wrote on last edited by
                            #106

                            @mickym
                            Ich nenne den dann mal Anfänger fragen?? Oder?

                            Proxmox, VM`s Windows, IoBroker im unprivilegiert LXC, Openmediavault; LXC `s Tasmota, PiHole, , InfluxDB, Motioneye, WireguardVPN, UniFi:
                            Smarthome...Sonoff, Alexa, Wled, raspberrymatic,...

                            mickymM 1 Reply Last reply
                            0
                            • E Einstein2002

                              @mickym
                              Ich nenne den dann mal Anfänger fragen?? Oder?

                              mickymM Online
                              mickymM Online
                              mickym
                              Most Active
                              wrote on last edited by mickym
                              #107

                              @einstein2002 Vielleicht NodeRed für Anfänger und dann ins Einsteigerforum. Was nutzt Du denn jetzt?

                              Du kannst auch erst mal den Artikel lesen - der ist schon bissi älter aber in Summe funktioniert der noch.

                              https://www.smarthome-tricks.de/uebersicht-iobroker-node-red/

                              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.

                              E 1 Reply Last reply
                              0
                              • mickymM mickym

                                @einstein2002 Vielleicht NodeRed für Anfänger und dann ins Einsteigerforum. Was nutzt Du denn jetzt?

                                Du kannst auch erst mal den Artikel lesen - der ist schon bissi älter aber in Summe funktioniert der noch.

                                https://www.smarthome-tricks.de/uebersicht-iobroker-node-red/

                                E Offline
                                E Offline
                                Einstein2002
                                wrote on last edited by
                                #108

                                @mickym
                                Sorry hab schon einen neuen Thread aufgemacht! Aber dann lese ich mich mal dort ein...

                                Proxmox, VM`s Windows, IoBroker im unprivilegiert LXC, Openmediavault; LXC `s Tasmota, PiHole, , InfluxDB, Motioneye, WireguardVPN, UniFi:
                                Smarthome...Sonoff, Alexa, Wled, raspberrymatic,...

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  Marv21
                                  wrote on last edited by Marv21
                                  #109

                                  hey @mickym
                                  Danke fpr den tollen Subflow. Bin jetzt auch neu bei ioBroker dabei und versuche grade ein paar meiner MQTT Geschichten in einzelne Datenpunkte zu bekommen.

                                  Jetzt hab ich das Problem das ich ein Gerät habe, welches mehrere UnterTopics hat. Ich würde jetzt gerne einen Ordner für jedes unterTopic haben.

                                  /MeinGerät/TopicA hier sind mehrere Jsons
                                  /MeinGerät/TopicA/TopicB/ hier sind mehrere Jsons usw.
                                  Mit "KeepTopic" auf false legt dein flow keine weiteren "unterordner" an, die Jsons aus TopicA und TopicB werden zusammengewürfelt.
                                  Mit "KeepTopic" auf true, funktioniert es, ich bekomme unterordner für die Untertopics. Hier ist aber das Problem, dass der gesamte Baum vor meinen gewünschten Topic mit erscheint.

                                  Ist mein ioBrokerIN zB. auf MeinGerät.TopicA.TopicB.* und mein msg.top auf TopicB/, dann hab ich :
                                  0_userdata.0.TopicB.MeinGerät.TopicA.TopicB.* statt 0_userdata.0.TopicB.*

                                  Im Prinzip will ich KeepTopic, aber erst ab meinem ausgewählten Topic 🙂

                                  hast du einen Tipp? (Sorry bin hier beim schreiben mit der notierung von / . * # durcheinander gekommen, hab aber alle Kombinationen eigentlich gestestet)

                                  mickymM 1 Reply Last reply
                                  0
                                  • M Marv21

                                    hey @mickym
                                    Danke fpr den tollen Subflow. Bin jetzt auch neu bei ioBroker dabei und versuche grade ein paar meiner MQTT Geschichten in einzelne Datenpunkte zu bekommen.

                                    Jetzt hab ich das Problem das ich ein Gerät habe, welches mehrere UnterTopics hat. Ich würde jetzt gerne einen Ordner für jedes unterTopic haben.

                                    /MeinGerät/TopicA hier sind mehrere Jsons
                                    /MeinGerät/TopicA/TopicB/ hier sind mehrere Jsons usw.
                                    Mit "KeepTopic" auf false legt dein flow keine weiteren "unterordner" an, die Jsons aus TopicA und TopicB werden zusammengewürfelt.
                                    Mit "KeepTopic" auf true, funktioniert es, ich bekomme unterordner für die Untertopics. Hier ist aber das Problem, dass der gesamte Baum vor meinen gewünschten Topic mit erscheint.

                                    Ist mein ioBrokerIN zB. auf MeinGerät.TopicA.TopicB.* und mein msg.top auf TopicB/, dann hab ich :
                                    0_userdata.0.TopicB.MeinGerät.TopicA.TopicB.* statt 0_userdata.0.TopicB.*

                                    Im Prinzip will ich KeepTopic, aber erst ab meinem ausgewählten Topic 🙂

                                    hast du einen Tipp? (Sorry bin hier beim schreiben mit der notierung von / . * # durcheinander gekommen, hab aber alle Kombinationen eigentlich gestestet)

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    wrote on last edited by mickym
                                    #110

                                    @marv21 Nun das musst Du dann wie folgt selbst implementieren, wenn einerseits der Baum erhalten werden soll, Du aber nur einen Teil des Baumpfades schreiben willst. Also einfach aus dem gewünschten Teil des gesamten Topics ausschneiden.

                                    Nehmen wir mal meine Struktur an - ich habe nur statt TopicA.TopicB - einfach folgende Struktur:

                                    fbbeb7e7-8459-4aa5-a067-99763e3f4476-image.png

                                    Du möchtest nun nur den Teilbaum ab buero schreiben. Also top Ordner für computer und decke direkt unter 0_userdata.0. . Du konfigurierst den Subflow so, dass Du gar kein Basistopic angibst - also auch kein leeres Topic :

                                    edb13675-de38-4968-8b85-6a8434c423d0-image.png

                                    sprich auch schauen, dass in top auch kein Leerzeichen drin ist. Dann bekommst Du auch den ganzen Pfad wie Du sagst:

                                    8b5df35a-4d7c-471f-83cb-ed4073cdff50-image.png

                                    Das ist ja auch von dem Subflow so gewollt. Willst Du nun nur den hinteren Teil haben und schreiben, dann musst Du das topic halt einfach neu zusammensetzen, also selbst wie gewünscht kürzen. (Der Subflow kann nicht wissen, wo Du deine Wildcards setzt, die werden ja von der iobroker In Node verarbeitet). Klemm also einfach noch eine Change-Node dahinter und verändere das topic nach Deinen Wünschen.

                                    d9a81e0c-280f-4bc0-b06a-354de2520c5a-image.png

                                    Daraus machst Du dann aus den ursprünglichen topics die topics Deiner Wahl:

                                    d78d6d62-e520-4c69-9ba2-8c058eca8900-image.png

                                    Du bekommst also sowohl decke, als auch computer als eigene Ordner auf der Top-Ebene Deiner 0_userdata.0 Struktur.

                                    Hier die Change Node zum Import

                                    [
                                        {
                                            "id": "c2f09210b53d775b",
                                            "type": "change",
                                            "z": "7e6af0015415146d",
                                            "name": "",
                                            "rules": [
                                                {
                                                    "t": "change",
                                                    "p": "topic",
                                                    "pt": "msg",
                                                    "from": ".*buero(.*)$",
                                                    "fromt": "re",
                                                    "to": "0_userdata.0$1",
                                                    "tot": "str"
                                                }
                                            ],
                                            "action": "",
                                            "property": "",
                                            "from": "",
                                            "to": "",
                                            "reg": false,
                                            "x": 770,
                                            "y": 3420,
                                            "wires": [
                                                [
                                                    "60ac7b3cd26e0579"
                                                ]
                                            ]
                                        }
                                    ]
                                    

                                    Alternativ kannst Du natürlich Deine Wildcards bei topicB beginnen lassen und dann ohne keepTopic mehrere Subflow mit unterschiedlichen msg.tops verwenden.

                                    PS.: Man könnte zwar so eine Kürzung in den Subflow einarbeitet, aber da das mit der ChangeNode so einfach ist, glaube ich, dass man das besser direkt macht - also lange Erklärungen zu einem Subflow zu schreiben.

                                    Exakt funktioniert das mit dem Topic wie oben zwar so:

                                    ebcc3bc7-6eb3-4a3b-a8bc-f08b2001be3e-image.png

                                    aber das ist nur eine Schönheitsfrage.

                                    Bei Dir würde also die ChangeNode wie folgt aussehen:
                                    061a71b0-48ba-441f-894f-720905930cba-image.png

                                    und TopicB, sowie alle Topics auf der Ebene TopicB würden also direkt unter 0_userdata.0 angelegt.

                                    Als Wildcard würdest Du Dir alles ab TopicA ausgeben lassen:

                                    974ce472-e8d4-4eef-a21f-75f8e798570f-image.png

                                    Das Schöne ist in diesem Fall, dass Du Dir ja über eine Debug Node die topics ausgeben lassen kannst, um zu sehen, ob sie Deinen Wünschen entsprechen, bevor Du eine iobroker-Out Node eingibst.

                                    07041fd1-515b-4a0d-8691-5c6c51bc2019-image.png

                                    Das topic wird ja auch bei der Debug Ausgabe der payload immer mitausgegeben, so dass man das leicht kontrollieren kann.

                                    In meinem Beispiel kannst Du auch ab Licht nach unten gehen. Wie gesagt sobald der gesamte Pfad - durch KeepTopic erhalten bleibt - stehen Dir ja an Manipulation der Topics alle Möglichkeiten offen!!!

                                    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 Reply Last reply
                                    1
                                    • M Offline
                                      M Offline
                                      Marv21
                                      wrote on last edited by Marv21
                                      #111

                                      @mickym

                                      Hi,
                                      wow danke für die Ausführliche und detailierte Antwort!
                                      Ich habs mit der changenode hinbekommen.
                                      Wenn ich allerdings wie du im beispiel 0_userdata.0$1 eingebe, dann bekomme ich unter dem 0_userdata Ordner einen neuen Unterordner mit 0_userdata :D.
                                      Ich hab den userdata Ordner weggelassen und nur meine gewünschten Ordner hinterlegt (topicA.TopicB.$1).
                                      Damit geht es einwandfrei.

                                      EDIT: Bin zu doof zum lesen ;), hatte das Changenode VOR deinem Subflow 🙂

                                      Ich habs versucht zu googeln, aber es nicht verstanden. Wofür steht das $, bzw $1?

                                      Danke dir!

                                      mickymM 1 Reply Last reply
                                      0
                                      • M Marv21

                                        @mickym

                                        Hi,
                                        wow danke für die Ausführliche und detailierte Antwort!
                                        Ich habs mit der changenode hinbekommen.
                                        Wenn ich allerdings wie du im beispiel 0_userdata.0$1 eingebe, dann bekomme ich unter dem 0_userdata Ordner einen neuen Unterordner mit 0_userdata :D.
                                        Ich hab den userdata Ordner weggelassen und nur meine gewünschten Ordner hinterlegt (topicA.TopicB.$1).
                                        Damit geht es einwandfrei.

                                        EDIT: Bin zu doof zum lesen ;), hatte das Changenode VOR deinem Subflow 🙂

                                        Ich habs versucht zu googeln, aber es nicht verstanden. Wofür steht das $, bzw $1?

                                        Danke dir!

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        wrote on last edited by mickym
                                        #112

                                        @marv21 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                                        EDIT: Bin zu doof zum lesen ;), hatte das Changenode VOR deinem Subflow

                                        Deswegen mache ich eigentlich immer Screenshot von den Flows

                                        Ich habs versucht zu googeln, aber es nicht verstanden. Wofür steht das $, bzw $1?

                                        Dann schau Dir mal die Hilfe zu der Change Node an.

                                        43b1f723-91ff-426b-a7f6-e6865f482ef1-image.png

                                        Wenn Du also reguläre Ausdrücke verwendest, kannst Du in dem "Ändern Feld" über $1 die 1. Klammer innerhalb des regulären Ausdrucks referenzieren, mit $2 die 2. Klammer usw.

                                        0b70e696-70d1-405c-b49a-c854743a2e44-image.png

                                        Um reguläre Ausdrücke zu testen - und damit Du siehst wie das funktioniert hier mal der Link, mit dem du reguläre Ausdrücke ausprobieren kannst: https://regex101.com/r/qatrYo/1

                                        c904dd1b-81ed-41f6-be75-59bdae36c667-image.png

                                        Du siehst alles gelb unterstrichen, was ich über die 1. Capture Group eingefangen habe und wie das unten mit $1 referenziert wird.

                                        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.

                                        M 1 Reply Last reply
                                        1
                                        • mickymM mickym

                                          @marv21 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                                          EDIT: Bin zu doof zum lesen ;), hatte das Changenode VOR deinem Subflow

                                          Deswegen mache ich eigentlich immer Screenshot von den Flows

                                          Ich habs versucht zu googeln, aber es nicht verstanden. Wofür steht das $, bzw $1?

                                          Dann schau Dir mal die Hilfe zu der Change Node an.

                                          43b1f723-91ff-426b-a7f6-e6865f482ef1-image.png

                                          Wenn Du also reguläre Ausdrücke verwendest, kannst Du in dem "Ändern Feld" über $1 die 1. Klammer innerhalb des regulären Ausdrucks referenzieren, mit $2 die 2. Klammer usw.

                                          0b70e696-70d1-405c-b49a-c854743a2e44-image.png

                                          Um reguläre Ausdrücke zu testen - und damit Du siehst wie das funktioniert hier mal der Link, mit dem du reguläre Ausdrücke ausprobieren kannst: https://regex101.com/r/qatrYo/1

                                          c904dd1b-81ed-41f6-be75-59bdae36c667-image.png

                                          Du siehst alles gelb unterstrichen, was ich über die 1. Capture Group eingefangen habe und wie das unten mit $1 referenziert wird.

                                          M Offline
                                          M Offline
                                          Marv21
                                          wrote on last edited by
                                          #113

                                          @mickym

                                          Danke nochmals,
                                          den Hilfetext hatte ich nicht verstanden, deine Erklärung jetzt schon 🙂
                                          Du bist TOP!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          305

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe