Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. SQL-Adapter speichert keine Werte von Alias-Datenpunkten

    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

    SQL-Adapter speichert keine Werte von Alias-Datenpunkten

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

      Da ich mit Lovelace experimentiere, habe ich mir den Alias-Adapter installiert, da der dort manchmal hilfreich ist. Die Idee, mir einen Datenpunkt zu spiegeln, um bei Bedarf auch das Gerät dahinter tauschen zu können, ohne eine neue Zeitreihe beginnen zu müssen, finde ich auch sehr praktisch.
      Allerdings funktioniert das nicht so, wie gedacht. Ich habe für ein Raumthermostat ein Alias mit mehreren Datenpunkten erstellt, die von Datenpunkten des Thermostats und von einem Skript gespeist werden. Die Werte werden auch übernommen, soweit sieht das gut aus:
      Bildschirmfoto 2023-11-30 um 22.12.35.png

      Wenn ich nun neben dem Objekt das Zahnrad anklicke, kann ich sie dort auch für den SQL-Adapter aktivieren:
      Bildschirmfoto 2023-11-30 um 22.14.48.png

      Bei allen "normalen" Objekten klappt das auch seit jeher problemlos, die Daten werden schön in die MySQL geschrieben. Nur bei meinen neuen Alias-Objekten passiert leider nichts. Außer einem initialen "null" zu dem Zeitpunkt, als ich SQL aktiviert habe, schreibt er nichts in die DB:
      Bildschirmfoto 2023-11-30 um 22.13.20.png

      Woran kann das liegen?

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @bfit last edited by

        @bfit sagte in SQL-Adapter speichert keine Werte von Alias-Datenpunkten:

        Außer einem initialen "null"

        wieso denn null?
        passt der Datentyp?

        B 1 Reply Last reply Reply Quote 0
        • B
          bfit @Homoran last edited by

          @homoran Keine Ahnung, wieso "null". Das Alias ist wie folgt definiert – also als "number":

          {
            "type": "state",
            "common": {
              "name": "Temperatur",
              "role": "value.temperature",
              "type": "number",
              "unit": "°C",
              "read": true,
              "write": true,
              "alias": {
                "id": "bshb.0.roomClimateControl_hz_9.TemperatureLevel.temperature"
              },
              "custom": {
                "lovelace.0": {
                  "enabled": true,
                  "entity": "sensor",
                  "name": "raum_technik_temperature",
                  "attr_mode": "box",
                  "attr_unit_of_measurement": "°C",
                  "attr_device_class": "temperature"
                },
                "sql.0": {
                  "enabled": true,
                  "storageType": "",
                  "counter": false,
                  "aliasId": "",
                  "debounceTime": 0,
                  "blockTime": 0,
                  "changesOnly": false,
                  "changesRelogInterval": 0,
                  "changesMinDelta": 0,
                  "ignoreBelowNumber": "",
                  "disableSkippedValueLogging": false,
                  "retention": 0,
                  "customRetentionDuration": 365,
                  "maxLength": 0,
                  "enableDebugLogs": false,
                  "debounce": 1000
                }
              }
            },
            "_id": "alias.0.raum.technik.temperature",
            "native": {},
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            },
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1701293808998
          }
          
          Homoran 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @bfit last edited by

            @bfit sagte in SQL-Adapter speichert keine Werte von Alias-Datenpunkten:

            "sql.0": {
            storageType": "",

            B 1 Reply Last reply Reply Quote 0
            • B
              bfit @Homoran last edited by bfit

              @homoran Hm, ok. Was sollte da drin stehen? Ich hab gerade mal stichprobenartig nachgeprüft: Bei allen anderen "normalen" Datenpunkten, die der SQL-Adapter erfolgreich wegschreibt, ist der storageType auch leer 🤔

              David G. 1 Reply Last reply Reply Quote 0
              • David G.
                David G. @bfit last edited by

                @bfit

                Bei mir sind die auch leer, vermutlich wenn der Typ auf Automatisch steht.

                Schau doch mal, ob der Datenpunkt in der Datenbank aufgeführt ist.
                Es gibt eine Tabelle "datapoints" da müsste er drinnen stehen.

                Screenshot_20231201_083928_RemoDB.jpg

                Hatte was ähnliches mal, als ich Daten per Skript in die DB schreiben wollte.

                B 1 Reply Last reply Reply Quote 0
                • B
                  bfit @David G. last edited by

                  @david-g Ja, die Datenpunkte gibt es in der MySQL-DB:
                  Bildschirmfoto 2023-12-01 um 14.07.19.png

                  In der Tabelle ts_numbers zeigt sich allerdings das selbe Bild, wie im ioBroker: Nur eine Handvoll null-Werte:
                  Bildschirmfoto 2023-12-01 um 14.09.02.png

                  Ich habe mittlerweile noch ein weiteres Alias (Zirkulationspumpe.Power) angelegt und dabei auch explizit darauf geachtet, dass von vornherein alle Types richtig gesetzt sind. Das holt sich die Werte aus einem Shelly-Messgerät. Auch dort gibt es einen ominösen null-Wert, allerdings auch einen richtigen:
                  Bildschirmfoto 2023-12-01 um 14.12.27.png

                  Dabei ist mir etwas kurioses aufgefallen: Solange ich den Reiter "Verlaufsdaten" offen habe, tauchen dort auch neue Zeilen mit Werten auf (siehe nächster Screenshot oberste Zeile). Sie sind allerdings wieder verschwunden, sobald ich auf einen anderen Reiter gehe und zurück. Auch in der MySQL-DB landen sie nicht:
                  7a5afe7c-ad5f-41b5-9e91-df421a00fe9c-image.png
                  Bildschirmfoto 2023-12-01 um 14.17.14.png

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @bfit last edited by

                    @bfit sagte in SQL-Adapter speichert keine Werte von Alias-Datenpunkten:

                    Das Alias ist wie folgt definiert – also als "number":

                    das heisst aber nicht, dass der Wert der da hinein geschrieben wird auch vom selben Typ ist.

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      bfit @Homoran last edited by

                      @homoran Ich steh gerade auf dem Schauch – worauf willst du hinaus?

                      Mein neues Alias "Zirkulationspumpe.Power" hat folgende Objektdaten:

                      {
                        "type": "state",
                        "common": {
                          "name": "Power",
                          "role": "value.power",
                          "type": "number",
                          "unit": "W",
                          "read": true,
                          "write": false,
                          "alias": {
                            "id": "shelly.0.shellyplusplugs#d4d4daf51a80#1.Relay0.Power"
                          },
                          "custom": {
                            "lovelace.0": {
                              "enabled": true,
                              "entity": "sensor",
                              "name": "Zirkulationspumpe_Power",
                              "attr_unit_of_measurement": "W",
                              "attr_device_class": "power"
                            },
                            "sql.0": {
                              "enabled": true,
                              "storageType": "",
                              "counter": false,
                              "aliasId": "",
                              "debounceTime": 0,
                              "blockTime": 0,
                              "changesOnly": true,
                              "changesRelogInterval": 0,
                              "changesMinDelta": 0,
                              "ignoreBelowNumber": "",
                              "disableSkippedValueLogging": false,
                              "retention": 1209600,
                              "customRetentionDuration": 365,
                              "maxLength": 0,
                              "enableDebugLogs": false,
                              "debounce": 1000
                            }
                          }
                        },
                        "_id": "alias.0.Zirkulationspumpe.Power",
                        "native": {},
                        "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                        },
                        "from": "system.adapter.admin.0",
                        "user": "system.user.admin",
                        "ts": 1701438899399
                      }
                      

                      Und das Objekt des Originalgerätes (Shelly Plus Plug S) sieht folgendermaßen aus (hier kann ich die Objektdaten so nicht öffnen, da das Objekt vom Shelly-Adapter erstellt wird):

                      2e2ab808-800e-44e9-bd6d-dfea0da54620-image.png

                      Die sind doch beides "Number", oder? Bei diesem Alias hat er ja sogar (siehe oben) schon einmal einen Zahlenwert in die Datenbank geschrieben – nur leider seitdem keinen weiteren, obwohl er sich mehrfach geändert hat.

                      Homoran 1 Reply Last reply Reply Quote 0
                      • B
                        bfit last edited by

                        Ich glaube, ich komme langsam dahinter: Wenn bisher der Wert des "Original"-Objekts per SQL-Adapter protokolliert wurde, und künftig nur noch der Wert des Alias-Objekts, dann braucht der SQL-Adapter einen Neustart. Die ersten Alias-Werte bekomme ich mittlerweile protokolliert. Ich beobachte weiter.

                        S 1 Reply Last reply Reply Quote -1
                        • Homoran
                          Homoran Global Moderator Administrators @bfit last edited by

                          @bfit sagte in SQL-Adapter speichert keine Werte von Alias-Datenpunkten:

                          Die sind doch beides "Number", oder?

                          wie gesagt, den Typ den du dem Datenpunkt gibst muss nicht der Typ sein, der dort hineingeschrieben wird.
                          So kann ein "Zahlenwert" per MQTT trotzdem als String kommen. Oder per Skript das selbe.

                          Dies wird allerdings seit einiger Zeit im Log angemeckert.

                          1 Reply Last reply Reply Quote 0
                          • S
                            seb Developer @bfit last edited by

                            @bfit Ich hatte eben das gleiche Problem. Ich hatte aber am originalen Datenpunkt kein Logging an. Ich musste aber auch erst den SQL-Adapter neu starten, damit er loggt.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            540
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            4
                            12
                            492
                            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