Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Neuer Datenpunkt in Baum automatisch in Datenbank schreiben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Neuer Datenpunkt in Baum automatisch in Datenbank schreiben

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

      Hallo.

      ich habe einen LoRaWAN-Sensor, der über Chirpstack -> MQTT -> IOBROKER schreibt.
      Dieser Sensor hat einige Datenpunkte, die ich in die Datenbank speichere (Timeseries)

      Der Sensor ist im Objektbaum unter dem Topic zu finden:
      /server/application/123/device/[dev-EUI]/event/up/[json]

      Das funktioniert ohne Probleme. Ich möchte, wenn ich einen neuen Sensor dieses Typs hinzufüge und der über MQTT erscheint, dass auch für diesen neuen Sensor automatisch genau die gleichen Werte in der DB erscheinen, die ich oben für den ersten Sensor dieses Typs speichere. Ich habe vor einige hundert Sensoren dieses Typs hinzuzufügen und da wäre es sehr lästig die Konfiguration von Hand zu machen. Natürlich hat jeder Sensor die genau gleichen Datenfelder im JSON und unterscheidet sich nur durch die [dev-EUI]
      Geht das?

      Außerdem möchte Daten über Script verarbeiten, aber nicht Zeit- sondern Ereignisbasiert: Immer wenn ein Sensor eines Typs per MQTT aktualiesiert wird, soll das Script mit den Daten dieses Sensors aufgerufen werden.
      Geht das?

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Sven Schumacher last edited by

        @sven-schumacher das ganze ist noch etwas konfus

        @sven-schumacher sagte in Neuer Datenpunkt in Baum automatisch in Datenbank schreiben:

        automatisch genau die gleichen Werte in der DB erscheinen,

        meinst du wirklich Werte oder Datenpunkte?

        wäre das nicht eher ein Thema für den Logik Adapter deiner Wahl?
        wenn ich dich richtig verstehe willst du das unbekannte JSON zerlegen.
        bei einem neuen identischen Sensor genauso.

        Wie machst du es jetzt?
        Wäre es sooo umständlich, in dem unbekannten Skript nur die ID oder wasauchimmer auszutauschen?
        und mit der Kopie writerzuarbeiten?

        Sven Schumacher 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Sven Schumacher last edited by paul53

          @sven-schumacher sagte: Geht das?

          Prinzip mit RegExp-Trigger und Array of IDs.

          EDIT: Wie sieht das JSON aus? Welche Werte sollen wo gespeichert werden?

          1 Reply Last reply Reply Quote 0
          • Sven Schumacher
            Sven Schumacher @Homoran last edited by Sven Schumacher

            @homoran Sorry etwas ungenau, meine Anfrage.

            Es geht darum, dass ich möglichst keine Handarbeit verrichten will, wenn neue Sensoren dazu kommen.

            Der neue Sensor soll automatisch verarbeitet werden: Das JSON soll in aufgelöst werden und stattdessen sollen z.B. Temperatur und Luftfeuchte als Wert im Objektbaum erscheinen. Diese Werte sollen dann auch bei jeder Änderung in die DB geschrieben werden.

            Außerdem soll - wenn bei einem beliebigen Sensor - mit dem gleichen Schema - ein script die Werte noch verarbeiten und ggf. Aktionen auslösen. Warnmeldungen absenden oder aktoren.

            Ich habe jetzt 50 Gateways & ca. 3000 Sensoren im Netz und es sollen in den nächsten Jahren noch einige 1000 dazu kommen. Also das Abrechnungssystem bleibt bestehen. IOBROKER soll nur dazu kommen.

            Wir nutzen bisher nur wenige Daten für eine Abrechnung und der IO-Broker soll die bisher ungenutzten Daten für Dashboards und Auswertungen aufbereiten.

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @Sven Schumacher last edited by

              @sven-schumacher sagte in Neuer Datenpunkt in Baum automatisch in Datenbank schreiben:

              Es geht darum, dass ich möglichst keine Handarbeit verrichten will, wenn neue Sensoren dazu kommen.

              Du kannst alles mögliche machen. Also automatisch Datenpunkte, Aliase usw. anlegen. Außerdem könntest Du auch mit sendTo das Logging automatisch aktivieren. Ohne ein konkretes Beispiel kann aber kaum jemand mehr als "ja, geht" antworten.

              Sven Schumacher 1 Reply Last reply Reply Quote 1
              • Sven Schumacher
                Sven Schumacher @haus-automatisierung last edited by

                @haus-automatisierung

                ich werde versuchen, das umfassender zu beschreiben, damit es konkreter wird. Schaffe ich aber erst nächste Woche.

                Danke schon mal.

                J 1 Reply Last reply Reply Quote 0
                • J
                  J_Paul @Sven Schumacher last edited by J_Paul

                  @sven-schumacher
                  Der LoraWan Adapter wäre doch schon mal der erste mögliche Schritt bei deinem Vorhaben?
                  Damit würden zumindest schon mal alle Daten in Datenpunkte geschrieben werden.
                  Nachdem ich deine Eingangsfrage 10x gelesen habe, ahne ich was Dein Ziel ist.
                  Mit dem "IDs from Selector" "lauscht" der Trigger auf jedes "up" in der MQTT Instanz, zieht sich aus dem JSON die ApplicationID, ApplicationName und DevEUI und erstellt daraus eine Ordnerstruktur in 0_Userdata
                  61d746ed-743a-4ab0-8443-a597c613ad1a-image.png
                  Bei der Erstellung vom Datenpunkt wird der Eintrag fürs Logging
                  ("custom":{ "influxdb.1":{ "enabled":true,..........)
                  gleich mit übergeben.

                  createState("0_userdata.0."+ Ordner +".Temperature", 0,{ name: "Temperature", unit: "°C", read: true, write: true, desc: "Beschreibung", type: "number", "custom": {      "influxdb.1": {        "enabled": true,        "storageType": "",        "aliasId": "",        "debounceTime": 0,        "blockTime": 0,        "changesOnly": false,        "changesRelogInterval": 0,        "changesMinDelta": 0,        "ignoreBelowNumber": "",        "disableSkippedValueLogging": false,        "enableDebugLogs": false,        "debounce": 0      }    } });
                  

                  62c55d9e-a45e-4c3f-97c0-67ae2ecdd1b9-image.png
                  Auf die Art ist es egal, ob du ein Device hast, oder 1000. Sobald du Geräte in Chirpstack hinzufügst werden, sofern noch nicht vorhanden die Datenpunkte erstellt, befüllt und in der Datenbank (hier InfluxDB). NoTouch sozusagen, in Iobroker musst du dann nix machen. Den ID Selctor kannst musst du evtl noch mit der ApplicationID ergänzen, falls da in CS auch noch andere Devicetypen mit drin hast.
                  Eigentlich ist genau mit diesem Hintergrund der LoraWan Adapter entstanden, der das gleiche macht. Die Möglichkeit, dass beim Anlegen der DP automatisch ein logging Eintrag erstellt wird, kommt wohl in den nächsten Tagen mit rein.
                  Nachtrag 30.07.2024:
                  Im LoraWan Adapter 1.3.0 (auf GIT) ist die "Auto Logging" Funktion integriert, siehe (weiter unten):
                  Anleitung Automatik Logging einrichten

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate
                  FAQ Cloud / IOT
                  HowTo: Node.js-Update
                  HowTo: Backup/Restore
                  Downloads
                  BLOG

                  946
                  Online

                  31.9k
                  Users

                  80.3k
                  Topics

                  1.3m
                  Posts

                  5
                  7
                  313
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo