Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Konzept: JSON State Mapper für ioBroker Javascript Engine

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Konzept: JSON State Mapper für ioBroker Javascript Engine

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 4 Kommentatoren 805 Aufrufe 3 Watching
  • Ä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.
  • S Offline
    S Offline
    stev-io
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen!

    Ich bin ein ioBroker-Neuling und arbeite viel mit Geräten, die JSON-Dokumente veröffentlichen. Also habe ich nach Möglichkeiten gesucht, Werte aus JSON-Dokumenten automatisch als separate Datenpunkte zu speichern. Das Ganze so konfigurativ wie möglich, also ohne für jeden neuen Sensor etc. Skripte anpassen zu müssen. Da ich mit mäßig umfangreicher Recherche keine Lösung finden konnte, die meinen Vorlieben und Arbeitsweisen am besten entsprach, und ich parallel dazu ohnehin in die Tiefen und Untiefen von ioBroker eintauchen wollte, habe ich eine eigene Softwarekomponente (ein TypeScript-Modul) entworfen. Im Sinne eines Proof of Concept, um zu sehen, ob sich mein Wunsch realisieren lässt. Wahrscheinlich gibt es da draußen auch bessere Lösungen. Vielleicht ist mein "Flow" auch nicht der der Allgemeinheit, weshalb meine Lösung für andere möglicherweise nicht so gut passt. Aber: Da das Modul schon etwas an Größe gewonnen hat und bei mir schon eine Weile erfolgreich im Einsatz ist, dachte ich, ich könnte den aktuellen Stand der Arbeit teilen. Als Inspiration, wie man es machen kann, nicht machen sollte oder was auch immer ;) Das Modul liegt hier:

    https://github.com/stevenengland/iobJs-JsonStateMapper

    Aktuell ist alles auf Englisch dokumentiert. Mir ist erst auf dem Weg zur Lösung aufgefallen, wie viel umfangreicher die Deutsche Community für ioBroker ist ;) Mal ganz was neues für mich... Wenn sich irgendwer hierfür interessiert und es auf Deutsch braucht, schaue ich einmal, dass ich das nachziehe.

    Zur Lösung: Grob gesagt konfiguriert man, welche Änderungen welcher Datenpunkte, bestehend aus JSON-Dokumenten (Quelldatenpunkte), man abonnieren möchte und wohin (Zieldatenpunkte) Werte aus der Quelle bei jeder Änderung der Quelle geschrieben werden sollen. Bildlich dargestellt:
    ed573a33-f90a-4194-a474-81ace902c206-1698483580024-622c7bed-bc13-4892-97ec-b009f222e217-grafik.png
    Es handelt sich hierbei um eine Tasmota Steckdose, von der ich die Leistung (Power), welche im Datenpunkt SENSOR steckt in einen eigenen Datenpunkt CURRENT_POWER übertragen möchte.

    Wie genau es funktioniert und was benötigt wird, ist in der README im Repo dokumentiert. Da ist viel Hinführung drin, am besten einmal zum Beispiel ganz unten springen. Viel mehr mag ich hier gar nicht schreiben, da ich aus Aktualitätsgründen die Dateils lieber im Repository pflege.

    VG

    T 1 Antwort Letzte Antwort
    1
    • S stev-io

      Hallo zusammen!

      Ich bin ein ioBroker-Neuling und arbeite viel mit Geräten, die JSON-Dokumente veröffentlichen. Also habe ich nach Möglichkeiten gesucht, Werte aus JSON-Dokumenten automatisch als separate Datenpunkte zu speichern. Das Ganze so konfigurativ wie möglich, also ohne für jeden neuen Sensor etc. Skripte anpassen zu müssen. Da ich mit mäßig umfangreicher Recherche keine Lösung finden konnte, die meinen Vorlieben und Arbeitsweisen am besten entsprach, und ich parallel dazu ohnehin in die Tiefen und Untiefen von ioBroker eintauchen wollte, habe ich eine eigene Softwarekomponente (ein TypeScript-Modul) entworfen. Im Sinne eines Proof of Concept, um zu sehen, ob sich mein Wunsch realisieren lässt. Wahrscheinlich gibt es da draußen auch bessere Lösungen. Vielleicht ist mein "Flow" auch nicht der der Allgemeinheit, weshalb meine Lösung für andere möglicherweise nicht so gut passt. Aber: Da das Modul schon etwas an Größe gewonnen hat und bei mir schon eine Weile erfolgreich im Einsatz ist, dachte ich, ich könnte den aktuellen Stand der Arbeit teilen. Als Inspiration, wie man es machen kann, nicht machen sollte oder was auch immer ;) Das Modul liegt hier:

      https://github.com/stevenengland/iobJs-JsonStateMapper

      Aktuell ist alles auf Englisch dokumentiert. Mir ist erst auf dem Weg zur Lösung aufgefallen, wie viel umfangreicher die Deutsche Community für ioBroker ist ;) Mal ganz was neues für mich... Wenn sich irgendwer hierfür interessiert und es auf Deutsch braucht, schaue ich einmal, dass ich das nachziehe.

      Zur Lösung: Grob gesagt konfiguriert man, welche Änderungen welcher Datenpunkte, bestehend aus JSON-Dokumenten (Quelldatenpunkte), man abonnieren möchte und wohin (Zieldatenpunkte) Werte aus der Quelle bei jeder Änderung der Quelle geschrieben werden sollen. Bildlich dargestellt:
      ed573a33-f90a-4194-a474-81ace902c206-1698483580024-622c7bed-bc13-4892-97ec-b009f222e217-grafik.png
      Es handelt sich hierbei um eine Tasmota Steckdose, von der ich die Leistung (Power), welche im Datenpunkt SENSOR steckt in einen eigenen Datenpunkt CURRENT_POWER übertragen möchte.

      Wie genau es funktioniert und was benötigt wird, ist in der README im Repo dokumentiert. Da ist viel Hinführung drin, am besten einmal zum Beispiel ganz unten springen. Viel mehr mag ich hier gar nicht schreiben, da ich aus Aktualitätsgründen die Dateils lieber im Repository pflege.

      VG

      T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von ticaki
      #2

      @stev-io

      Will das jetzt nicht kritisieren, hab was ähnliches für shelly plus geräte am laufen, aber es gibt den Sonoff Adapter der im Grunde das macht, was du erzielen möchtest.

      Wenn du jedoch mit "richtigem" Mqtt arbeiten möchtest, ist der Adapter natürlich nicht zielführend. Das ist auch der Grund für mein shelly skript.

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      S 1 Antwort Letzte Antwort
      0
      • T ticaki

        @stev-io

        Will das jetzt nicht kritisieren, hab was ähnliches für shelly plus geräte am laufen, aber es gibt den Sonoff Adapter der im Grunde das macht, was du erzielen möchtest.

        Wenn du jedoch mit "richtigem" Mqtt arbeiten möchtest, ist der Adapter natürlich nicht zielführend. Das ist auch der Grund für mein shelly skript.

        S Offline
        S Offline
        stev-io
        schrieb am zuletzt editiert von
        #3

        Hi, @ticaki danke für deine Ausführung. Das würde ich auch nicht als Kritik auffassen, sondern als Hinweise. Im Prinzip genau wie du sagst + ein anderer Aspekte:

        • Ich nutze einen eigenen MQTT Broker
        • Ich verarbeite auch non Sonoff kompatible Geräte

        Ansonsten ist natürlich der Sonoff Adapter sicher eine feine Sache, keine Frage.

        T 1 Antwort Letzte Antwort
        0
        • S stev-io

          Hi, @ticaki danke für deine Ausführung. Das würde ich auch nicht als Kritik auffassen, sondern als Hinweise. Im Prinzip genau wie du sagst + ein anderer Aspekte:

          • Ich nutze einen eigenen MQTT Broker
          • Ich verarbeite auch non Sonoff kompatible Geräte

          Ansonsten ist natürlich der Sonoff Adapter sicher eine feine Sache, keine Frage.

          T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von
          #4

          @stev-io
          Soweit ich das sehe kannst du damit keine Schaltbefehle senden oder?

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          S 1 Antwort Letzte Antwort
          0
          • T ticaki

            @stev-io
            Soweit ich das sehe kannst du damit keine Schaltbefehle senden oder?

            S Offline
            S Offline
            stev-io
            schrieb am zuletzt editiert von
            #5

            @ticaki Das stimmt. Die einzige Aufgabe ist das "Mappen" von JSON Quelldatenpunkten auf eigene Zieldatenpunkte.

            1 Antwort Letzte Antwort
            0
            • B Offline
              B Offline
              Blockmove
              schrieb am zuletzt editiert von
              #6

              @stev-io

              Ich finde deinen Ansatz richtig gut.
              Der Flow Device -> MQTT (JSON) -> ioBroker ist recht häufig.
              Egal ob nun Tasmota / Sonoff, WLED oder ähnliches.
              Klar gibt es für Etliches entsprechende Adapter. Aber nicht alle sind gut gepflegt.
              Da ist eine Art Universal-Empfänger schon nicht verkehrt.

              Vielen Dank für deine Mühe!

              The difference beetween Man and Boys:
              The price of their toys 😀

              S haus-automatisierungH 2 Antworten Letzte Antwort
              0
              • B Blockmove

                @stev-io

                Ich finde deinen Ansatz richtig gut.
                Der Flow Device -> MQTT (JSON) -> ioBroker ist recht häufig.
                Egal ob nun Tasmota / Sonoff, WLED oder ähnliches.
                Klar gibt es für Etliches entsprechende Adapter. Aber nicht alle sind gut gepflegt.
                Da ist eine Art Universal-Empfänger schon nicht verkehrt.

                Vielen Dank für deine Mühe!

                S Offline
                S Offline
                stev-io
                schrieb am zuletzt editiert von
                #7

                @blockmove Vielen Dank 😊 Deine Zusammenfassung ist echt um Längen besser als all meine vielen erklärenden Worte :-D Ich werde das Wording glaube ich so oder so ähnlich übernehmen ;)

                1 Antwort Letzte Antwort
                0
                • B Blockmove

                  @stev-io

                  Ich finde deinen Ansatz richtig gut.
                  Der Flow Device -> MQTT (JSON) -> ioBroker ist recht häufig.
                  Egal ob nun Tasmota / Sonoff, WLED oder ähnliches.
                  Klar gibt es für Etliches entsprechende Adapter. Aber nicht alle sind gut gepflegt.
                  Da ist eine Art Universal-Empfänger schon nicht verkehrt.

                  Vielen Dank für deine Mühe!

                  haus-automatisierungH Online
                  haus-automatisierungH Online
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @blockmove sagte in Konzept: JSON State Mapper für ioBroker Javascript Engine:

                  Aber nicht alle sind gut gepflegt.

                  Konkret? Würde gern aushelfen und die Adapter besser machen

                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                  📚 Meine inoffizielle ioBroker Dokumentation

                  B 1 Antwort Letzte Antwort
                  0
                  • haus-automatisierungH haus-automatisierung

                    @blockmove sagte in Konzept: JSON State Mapper für ioBroker Javascript Engine:

                    Aber nicht alle sind gut gepflegt.

                    Konkret? Würde gern aushelfen und die Adapter besser machen

                    B Offline
                    B Offline
                    Blockmove
                    schrieb am zuletzt editiert von
                    #9

                    @haus-automatisierung said in Konzept: JSON State Mapper für ioBroker Javascript Engine:

                    @blockmove sagte in Konzept: JSON State Mapper für ioBroker Javascript Engine:

                    Aber nicht alle sind gut gepflegt.

                    Konkret? Würde gern aushelfen und die Adapter besser machen

                    Ich kann dir aktuell keinen Adapter nennen.
                    Als letztes hat mich aber der WLED-Adapter "geärgert", da da die Anpassung an die neue WLED-Version sehr lange gedauert hat und in der Zwischenzeit das Log mit Warnmeldungen geflutet wurde. Ist aber mittlerweile wohl gefixt. Mir ist klar, dass fast alles rund um ioBroker Community-Projekte sind und deshalb ist das auch absolut keine Kritik! Also bitte keine Diskussion um Adapterentwicklung.
                    Ich persönlich versuche nun, wenn MQTT verwendet wird, auf Adapter zu verzichten und direkt mit MQTT zu arbeiten. Daher finde ich diesen universellen Ansatz @stev-io sehr interessant.
                    Aber das passt eben zu meiner Art mit ioBroker Dinge umzusetzen, Andere können das anders sehen.

                    Für mich persönlich ist ioBroker eine Art universelles IoT-Tool, quasi eine Steigerung der Möglichkeiten von Node RED. Mag vielleicht daran liegen, dass ich aus der industriellen i4.0-Ecke komme und nicht unbedingt der "normale" Smarthome-Bastler bin.

                    The difference beetween Man and Boys:
                    The price of their toys 😀

                    1 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    900

                    Online

                    32.5k

                    Benutzer

                    81.6k

                    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