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. Off Topic
  4. [gelöst] Influx v2 - Daten vor Speicherung konvertieren

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    325

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

[gelöst] Influx v2 - Daten vor Speicherung konvertieren

Geplant Angeheftet Gesperrt Verschoben Off Topic
20 Beiträge 3 Kommentatoren 1.5k Aufrufe 2 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
    Sleepwalker
    schrieb am zuletzt editiert von Sleepwalker
    #1

    Moin Community,

    ich habe den Influx-Adapter mit einer InfluxDb v2 installiert und logge u.a. meine Heizzeiten.
    Die Daten kommen aus dem KNX-Bus, leider als Prozentwert (der Aktor gibt als Regler nur DPT 5.001 Telegramme aus, anderes Thema).
    0% bedeutet "Heizung ist aus"
    1% bis 100% bedeutet "Heizung ist an"

    Nun möchte ich gerne boolesche Werte in der Datenbank speichern, um spätere Verarbeitungen einfacher zu gestalten.
    0% -> false
    1% bis 100% -> true

    Ist das irgendwie von Haus aus möglich?

    Danke und Grüße aus dem Norden

    paul53P 1 Antwort Letzte Antwort
    0
    • S Sleepwalker

      Moin Community,

      ich habe den Influx-Adapter mit einer InfluxDb v2 installiert und logge u.a. meine Heizzeiten.
      Die Daten kommen aus dem KNX-Bus, leider als Prozentwert (der Aktor gibt als Regler nur DPT 5.001 Telegramme aus, anderes Thema).
      0% bedeutet "Heizung ist aus"
      1% bis 100% bedeutet "Heizung ist an"

      Nun möchte ich gerne boolesche Werte in der Datenbank speichern, um spätere Verarbeitungen einfacher zu gestalten.
      0% -> false
      1% bis 100% -> true

      Ist das irgendwie von Haus aus möglich?

      Danke und Grüße aus dem Norden

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

      @sleepwalker sagte: Nun möchte ich gerne boolesche Werte in der Datenbank speichern, um spätere Verarbeitungen einfacher zu gestalten.
      0% -> false
      1% bis 100% -> true

      Alias (Typ "boolean") mit automatischer Konvertierung.

      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

      S 2 Antworten Letzte Antwort
      1
      • paul53P paul53

        @sleepwalker sagte: Nun möchte ich gerne boolesche Werte in der Datenbank speichern, um spätere Verarbeitungen einfacher zu gestalten.
        0% -> false
        1% bis 100% -> true

        Alias (Typ "boolean") mit automatischer Konvertierung.

        S Offline
        S Offline
        Sleepwalker
        schrieb am zuletzt editiert von
        #3

        @paul53 Wow, danke dir!

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @sleepwalker sagte: Nun möchte ich gerne boolesche Werte in der Datenbank speichern, um spätere Verarbeitungen einfacher zu gestalten.
          0% -> false
          1% bis 100% -> true

          Alias (Typ "boolean") mit automatischer Konvertierung.

          S Offline
          S Offline
          Sleepwalker
          schrieb am zuletzt editiert von
          #4

          @paul53 Ok, ich hab mich zu früh gefreut.

          Habe einen Alias erstellt:

          {
            "common": {
              "name": "Fußbodenheizung Arbeitszimmer - Status",
              "desc": "Manuell erzeugt",
              "role": "state",
              "type": "boolean",
              "read": true,
              "write": true,
              "def": false,
              "alias": {
                "id": "openknx.0.Arbeitszimmer.Fußbodenheizung.FBH_Arbeitszimmer_-_Kreis_5_-_Stellgröße",
                "read": "Boolean(val)"
              },
              "custom": {
                "influxdb.0": {
                  "storageType": "Boolean"
                }
              }
            },
            "type": "state",
            "native": {},
            "_id": "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status",
            "acl": {
               ...
            },
            ...
          }
          

          Beim Lesen habe ich "Boolean(val)" konvertiert.
          Nun habe ich die Ursprungs-ID (also KNX) mit influx gespeichert, und dabei den Alias eingestellt.

          Jetzt wird allerdings "true %" geloggt.

          Kannst du mir da vllt. noch einen Tipp geben, was da falsch läuft?

          Danke und Grüße aus dem Norden.

          paul53P 1 Antwort Letzte Antwort
          0
          • S Sleepwalker

            @paul53 Ok, ich hab mich zu früh gefreut.

            Habe einen Alias erstellt:

            {
              "common": {
                "name": "Fußbodenheizung Arbeitszimmer - Status",
                "desc": "Manuell erzeugt",
                "role": "state",
                "type": "boolean",
                "read": true,
                "write": true,
                "def": false,
                "alias": {
                  "id": "openknx.0.Arbeitszimmer.Fußbodenheizung.FBH_Arbeitszimmer_-_Kreis_5_-_Stellgröße",
                  "read": "Boolean(val)"
                },
                "custom": {
                  "influxdb.0": {
                    "storageType": "Boolean"
                  }
                }
              },
              "type": "state",
              "native": {},
              "_id": "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status",
              "acl": {
                 ...
              },
              ...
            }
            

            Beim Lesen habe ich "Boolean(val)" konvertiert.
            Nun habe ich die Ursprungs-ID (also KNX) mit influx gespeichert, und dabei den Alias eingestellt.

            Jetzt wird allerdings "true %" geloggt.

            Kannst du mir da vllt. noch einen Tipp geben, was da falsch läuft?

            Danke und Grüße aus dem Norden.

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

            @sleepwalker sagte: Beim Lesen habe ich "Boolean(val)" konvertiert.

            Das ist nicht nötig, da Zahlen automatisch konvertiert werden. Andernfalls

                  "read": "!!val"
            

            oder

                  "read": "val > 0"
            

            Oder handelt es sich um einen String (mit %)? Dann

                  "read": "!!parseInt(val)"
            

            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

            S 1 Antwort Letzte Antwort
            1
            • paul53P paul53

              @sleepwalker sagte: Beim Lesen habe ich "Boolean(val)" konvertiert.

              Das ist nicht nötig, da Zahlen automatisch konvertiert werden. Andernfalls

                    "read": "!!val"
              

              oder

                    "read": "val > 0"
              

              Oder handelt es sich um einen String (mit %)? Dann

                    "read": "!!parseInt(val)"
              
              S Offline
              S Offline
              Sleepwalker
              schrieb am zuletzt editiert von
              #6

              @paul53 said in Influx v2 - Daten vor Speicherung konvertieren:

              "read": "!!parseInt(val)"

              Hm, es klappt jetzt nur noch teilweise und ich bekomme Spalten-Datentypen-Probleme laut Log:

              influxdb.0
              2022-10-11 22:06:07.567
              warn
              
              Error on writePoint("{"value":true,"time":"2022-10-11T20:06:07.517Z","from":"system.adapter.openknx.0","q":0,"ack":true}): HttpError: failure writing points to database: partial write: field type conflict: input field "value" on measurement "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status" is type boolean, already exists as type float dropped=1 / "failure writing points to database: partial write: field type conflict: input field \"value\" on measurement \"alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status\" is type boolean, already exists as type float dropped=1""
              
              paul53P S 2 Antworten Letzte Antwort
              0
              • S Sleepwalker

                @paul53 said in Influx v2 - Daten vor Speicherung konvertieren:

                "read": "!!parseInt(val)"

                Hm, es klappt jetzt nur noch teilweise und ich bekomme Spalten-Datentypen-Probleme laut Log:

                influxdb.0
                2022-10-11 22:06:07.567
                warn
                
                Error on writePoint("{"value":true,"time":"2022-10-11T20:06:07.517Z","from":"system.adapter.openknx.0","q":0,"ack":true}): HttpError: failure writing points to database: partial write: field type conflict: input field "value" on measurement "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status" is type boolean, already exists as type float dropped=1 / "failure writing points to database: partial write: field type conflict: input field \"value\" on measurement \"alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status\" is type boolean, already exists as type float dropped=1""
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @sleepwalker sagte: is type boolean, already exists as type float

                Mit Influx kenne ich mich nicht aus.

                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
                • S Sleepwalker

                  @paul53 said in Influx v2 - Daten vor Speicherung konvertieren:

                  "read": "!!parseInt(val)"

                  Hm, es klappt jetzt nur noch teilweise und ich bekomme Spalten-Datentypen-Probleme laut Log:

                  influxdb.0
                  2022-10-11 22:06:07.567
                  warn
                  
                  Error on writePoint("{"value":true,"time":"2022-10-11T20:06:07.517Z","from":"system.adapter.openknx.0","q":0,"ack":true}): HttpError: failure writing points to database: partial write: field type conflict: input field "value" on measurement "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status" is type boolean, already exists as type float dropped=1 / "failure writing points to database: partial write: field type conflict: input field \"value\" on measurement \"alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status\" is type boolean, already exists as type float dropped=1""
                  
                  S Offline
                  S Offline
                  SpacerX
                  schrieb am zuletzt editiert von
                  #8

                  @sleepwalker das Measurement in influxdb ist vom Typ float und du versuchst einen bool zu schreiben.
                  Neues Measurement mit Wert bool anlegen.
                  Soll heißen jetziges loggen deaktivieren. Measurement löschen und loggen mit Wert bool aktivieren so das von Anfang an bool Werte geschrieben werden.

                  DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                  S 1 Antwort Letzte Antwort
                  1
                  • S SpacerX

                    @sleepwalker das Measurement in influxdb ist vom Typ float und du versuchst einen bool zu schreiben.
                    Neues Measurement mit Wert bool anlegen.
                    Soll heißen jetziges loggen deaktivieren. Measurement löschen und loggen mit Wert bool aktivieren so das von Anfang an bool Werte geschrieben werden.

                    S Offline
                    S Offline
                    Sleepwalker
                    schrieb am zuletzt editiert von
                    #9

                    @spacerx @spacerx Moin & danke dir. Ich nehme an mit Measurement meinst du indirekt einen neuen Alias anlegen?
                    Das hatte ich probiert. Ich habe auch schon die komplette DB per Adapter geleert. Als auch das nicht half, habe ich sogar den iobroker-Bucket in Influx gelöscht. Hat alles nichts geholfen. Der Fehler bleibt der gleiche.

                    Ich habe nur eine unbefriedigende Lösung, falls ich den Alias direkt logge. Aber das ist nicht das, was ich möchte, weil es keinem roten Faden mehr folgt.

                    Es sieht aktuell wie folgt aus:

                    {
                      "common": {
                        "name": "Fußbodenheizung Arbeitszimmer - Status",
                        "desc": "Manuell erzeugt",
                        "role": "state",
                        "type": "boolean",
                        "read": true,
                        "write": true,
                        "def": false,
                        "alias": {
                          "id": "openknx.0.Arbeitszimmer.Fußbodenheizung.FBH_Arbeitszimmer_-_Kreis_5_-_Stellgröße"
                        },
                        "custom": {
                          "influxdb.0": {
                            "storageType": "Boolean"
                          }
                        }
                      },
                      "type": "state",
                      "native": {},
                      "_id": "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status",
                      "acl": {
                        "object": 1636,
                        "state": 1636,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator"
                      },
                      "from": "system.adapter.influxdb.0",
                      "user": "system.user.admin",
                      "ts": 1665562347585
                    }
                    

                    Konfig:
                    objekt_1.png
                    objekt_2.png

                    Diesen Alias stelle ich bei dem originalen Objekt bei Influx ein:
                    konfig.png

                    Dann wird genau 1x geloggt. Alle späteren Änderungen werden ignoriert. Dabei taucht gleichzeitig ein Fehler auf:
                    log.png

                    Fehler:
                    fehler.png

                    S 1 Antwort Letzte Antwort
                    0
                    • S Sleepwalker

                      @spacerx @spacerx Moin & danke dir. Ich nehme an mit Measurement meinst du indirekt einen neuen Alias anlegen?
                      Das hatte ich probiert. Ich habe auch schon die komplette DB per Adapter geleert. Als auch das nicht half, habe ich sogar den iobroker-Bucket in Influx gelöscht. Hat alles nichts geholfen. Der Fehler bleibt der gleiche.

                      Ich habe nur eine unbefriedigende Lösung, falls ich den Alias direkt logge. Aber das ist nicht das, was ich möchte, weil es keinem roten Faden mehr folgt.

                      Es sieht aktuell wie folgt aus:

                      {
                        "common": {
                          "name": "Fußbodenheizung Arbeitszimmer - Status",
                          "desc": "Manuell erzeugt",
                          "role": "state",
                          "type": "boolean",
                          "read": true,
                          "write": true,
                          "def": false,
                          "alias": {
                            "id": "openknx.0.Arbeitszimmer.Fußbodenheizung.FBH_Arbeitszimmer_-_Kreis_5_-_Stellgröße"
                          },
                          "custom": {
                            "influxdb.0": {
                              "storageType": "Boolean"
                            }
                          }
                        },
                        "type": "state",
                        "native": {},
                        "_id": "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status",
                        "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                        },
                        "from": "system.adapter.influxdb.0",
                        "user": "system.user.admin",
                        "ts": 1665562347585
                      }
                      

                      Konfig:
                      objekt_1.png
                      objekt_2.png

                      Diesen Alias stelle ich bei dem originalen Objekt bei Influx ein:
                      konfig.png

                      Dann wird genau 1x geloggt. Alle späteren Änderungen werden ignoriert. Dabei taucht gleichzeitig ein Fehler auf:
                      log.png

                      Fehler:
                      fehler.png

                      S Offline
                      S Offline
                      SpacerX
                      schrieb am zuletzt editiert von SpacerX
                      #10

                      @sleepwalker
                      In den Einstellungen zum loggen des Alias mal auf "nur Änderungen loggen" aktivieren, es sei denn du möchtest alle paar Sekunden den Zustand speichern. Aber ich glaube mal das nur Änderungen interessant sind.
                      Unter Speichern als auch mal bool auswählen, sonst wird bestimmt als String speichern. Das sieht man ja auch an den geloggten Werten die das "%" enthalten.
                      Dann noch mal von Vorn. Du bekommst was von deinem Gerät in den Datenpunkt? Einen String, eine Zahl.
                      Im Alias hast nach deinem Screenshot zufolge die Konvertierungsfunktion nicht aktiviert. Also wird das geloggt was rein kommt.
                      Das was @paul53 weiter oben in Code-Tags geschrieben hat gehört in die Konvertierungsfunktion.

                      DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                      S 1 Antwort Letzte Antwort
                      1
                      • S SpacerX

                        @sleepwalker
                        In den Einstellungen zum loggen des Alias mal auf "nur Änderungen loggen" aktivieren, es sei denn du möchtest alle paar Sekunden den Zustand speichern. Aber ich glaube mal das nur Änderungen interessant sind.
                        Unter Speichern als auch mal bool auswählen, sonst wird bestimmt als String speichern. Das sieht man ja auch an den geloggten Werten die das "%" enthalten.
                        Dann noch mal von Vorn. Du bekommst was von deinem Gerät in den Datenpunkt? Einen String, eine Zahl.
                        Im Alias hast nach deinem Screenshot zufolge die Konvertierungsfunktion nicht aktiviert. Also wird das geloggt was rein kommt.
                        Das was @paul53 weiter oben in Code-Tags geschrieben hat gehört in die Konvertierungsfunktion.

                        S Offline
                        S Offline
                        Sleepwalker
                        schrieb am zuletzt editiert von Sleepwalker
                        #11

                        @spacerx said in Influx v2 - Daten vor Speicherung konvertieren:

                        @sleepwalker
                        In den Einstellungen zum loggen des Alias mal auf "nur Änderungen loggen" aktivieren, es sei denn du möchtest alle paar Sekunden den Zustand speichern. Aber ich glaube mal das nur Änderungen interessant sind.

                        Danke für den Hinweis. Das ist aktuell zum Einstieg tatsächlich so gewollt. Die Sensoren melden alle 5 Minuten die Temperatur auf dem Bus, außer bei starken Schwankungen, dann melden Sie direkt. Das möchte ich so speichern. Wären im Normalfall bei aktuell 15 Sensoren vertretbare 1.576.800 Datenpunkte im Jahr. Wenn mir das nicht gefällt, setzte ich es aber wieder auf den von dir genannten Standard zurück :-)

                        Unter Speichern als auch mal bool auswählen, sonst wird bestimmt als String speichern. Das sieht man ja auch an den geloggten Werten die das "%" enthalten.

                        Wenn ich das richtig verstanden habe, wird der originale Wert weiterhin "normal" gespeichert und nur der Alias hat einen ggf. anderen Wert. Richtig?
                        Der Sensor meldet einen Int zw. 0 und 100, die Einheit des Objektes im ioBroker ist allerdings auf "%" gesetzt. Jetzt steht dort "true %", was eigentlich auch nicht gewollt ist. Wenn ich den Alias richtig verstanden habe, kann man theoretisch die originalen Werte behalten und nur im Alias die angepassten Werte ablegen. Oder hab ich das falsch verstanden? Das ist jedenfalls mein Ziel. Den Originalwert als "x %" und den Alias als bool zu speichern.
                        Wenn ich den Originalwert als bool speichere, meckert Influx direkt, dass der Typ nicht passt:

                        HttpError: runtime error @4:12-4:169: filter: type conflict: bool != string
                        

                        Dann noch mal von Vorn. Du bekommst was von deinem Gerät in den Datenpunkt? Einen String, eine Zahl.

                        Eine Zahl. ioBroker setzt die Einheit % dahinter. Objekt sieht so gerade so aus (mit Speicherung als Boolean und der obigen Fehlermeldung dazu)

                        {
                          "_id": "openknx.0.Arbeitszimmer.Fußbodenheizung.FBH_Arbeitszimmer_-_Kreis_5_-_Stellgröße",
                          "type": "state",
                          "common": {
                            "desc": "Basetype: 8-bit unsigned value",
                            "min": 0,
                            "max": 100,
                            "name": "FBH Arbeitszimmer - Kreis 5 - Stellgröße",
                            "read": true,
                            "role": "state",
                            "type": "number",
                            "unit": "%",
                            "write": true,
                            "custom": {
                              "influxdb.0": {
                                "enabled": true,
                                "storageType": "Boolean",
                                "aliasId": "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status",
                                "debounceTime": 0,
                                "blockTime": 0,
                                "changesOnly": false,
                                "changesRelogInterval": 0,
                                "changesMinDelta": 0,
                                "ignoreBelowNumber": "",
                                "disableSkippedValueLogging": false,
                                "enableDebugLogs": false,
                                "debounce": 1000
                              }
                            }
                          },
                          "native": {
                            "address": "7/2/5",
                            "answer_groupValueResponse": false,
                            "autoread": true,
                            "bitlength": 8,
                            "dpt": "DPT5.001",
                            "valuetype": "basic"
                          },
                          "acl": {
                            "object": 1636,
                            "state": 1636,
                            "file": 1632,
                            "owner": "system.user.admin",
                            "ownerGroup": "system.group.administrator"
                          },
                          "from": "system.adapter.admin.0",
                          "user": "system.user.admin",
                          "ts": 1665583001418
                        }
                        

                        Im Alias hast nach deinem Screenshot zufolge die Konvertierungsfunktion nicht aktiviert. Also wird das geloggt was rein kommt.
                        Das was @paul53 weiter oben in Code-Tags geschrieben hat gehört in die Konvertierungsfunktion.

                        Ich habe die ursprüngliche Konvertierung rausgenommen, weil sie eigentlich nicht nötig sein sollte. Der Alias loggt ja auch korrekt booleans. Ungewollt ist eigentlich nur der boolean im originalen Objekt und die Fehlermeldung aus Influx.

                        Ich bin echt am verzweifeln. Kann das wirklich so kompliziert sein?

                        S 1 Antwort Letzte Antwort
                        0
                        • S Sleepwalker

                          @spacerx said in Influx v2 - Daten vor Speicherung konvertieren:

                          @sleepwalker
                          In den Einstellungen zum loggen des Alias mal auf "nur Änderungen loggen" aktivieren, es sei denn du möchtest alle paar Sekunden den Zustand speichern. Aber ich glaube mal das nur Änderungen interessant sind.

                          Danke für den Hinweis. Das ist aktuell zum Einstieg tatsächlich so gewollt. Die Sensoren melden alle 5 Minuten die Temperatur auf dem Bus, außer bei starken Schwankungen, dann melden Sie direkt. Das möchte ich so speichern. Wären im Normalfall bei aktuell 15 Sensoren vertretbare 1.576.800 Datenpunkte im Jahr. Wenn mir das nicht gefällt, setzte ich es aber wieder auf den von dir genannten Standard zurück :-)

                          Unter Speichern als auch mal bool auswählen, sonst wird bestimmt als String speichern. Das sieht man ja auch an den geloggten Werten die das "%" enthalten.

                          Wenn ich das richtig verstanden habe, wird der originale Wert weiterhin "normal" gespeichert und nur der Alias hat einen ggf. anderen Wert. Richtig?
                          Der Sensor meldet einen Int zw. 0 und 100, die Einheit des Objektes im ioBroker ist allerdings auf "%" gesetzt. Jetzt steht dort "true %", was eigentlich auch nicht gewollt ist. Wenn ich den Alias richtig verstanden habe, kann man theoretisch die originalen Werte behalten und nur im Alias die angepassten Werte ablegen. Oder hab ich das falsch verstanden? Das ist jedenfalls mein Ziel. Den Originalwert als "x %" und den Alias als bool zu speichern.
                          Wenn ich den Originalwert als bool speichere, meckert Influx direkt, dass der Typ nicht passt:

                          HttpError: runtime error @4:12-4:169: filter: type conflict: bool != string
                          

                          Dann noch mal von Vorn. Du bekommst was von deinem Gerät in den Datenpunkt? Einen String, eine Zahl.

                          Eine Zahl. ioBroker setzt die Einheit % dahinter. Objekt sieht so gerade so aus (mit Speicherung als Boolean und der obigen Fehlermeldung dazu)

                          {
                            "_id": "openknx.0.Arbeitszimmer.Fußbodenheizung.FBH_Arbeitszimmer_-_Kreis_5_-_Stellgröße",
                            "type": "state",
                            "common": {
                              "desc": "Basetype: 8-bit unsigned value",
                              "min": 0,
                              "max": 100,
                              "name": "FBH Arbeitszimmer - Kreis 5 - Stellgröße",
                              "read": true,
                              "role": "state",
                              "type": "number",
                              "unit": "%",
                              "write": true,
                              "custom": {
                                "influxdb.0": {
                                  "enabled": true,
                                  "storageType": "Boolean",
                                  "aliasId": "alias.0.KNX.Arbeitszimmer.Fußbodenheizung_Arbeitszimmer_-_Status",
                                  "debounceTime": 0,
                                  "blockTime": 0,
                                  "changesOnly": false,
                                  "changesRelogInterval": 0,
                                  "changesMinDelta": 0,
                                  "ignoreBelowNumber": "",
                                  "disableSkippedValueLogging": false,
                                  "enableDebugLogs": false,
                                  "debounce": 1000
                                }
                              }
                            },
                            "native": {
                              "address": "7/2/5",
                              "answer_groupValueResponse": false,
                              "autoread": true,
                              "bitlength": 8,
                              "dpt": "DPT5.001",
                              "valuetype": "basic"
                            },
                            "acl": {
                              "object": 1636,
                              "state": 1636,
                              "file": 1632,
                              "owner": "system.user.admin",
                              "ownerGroup": "system.group.administrator"
                            },
                            "from": "system.adapter.admin.0",
                            "user": "system.user.admin",
                            "ts": 1665583001418
                          }
                          

                          Im Alias hast nach deinem Screenshot zufolge die Konvertierungsfunktion nicht aktiviert. Also wird das geloggt was rein kommt.
                          Das was @paul53 weiter oben in Code-Tags geschrieben hat gehört in die Konvertierungsfunktion.

                          Ich habe die ursprüngliche Konvertierung rausgenommen, weil sie eigentlich nicht nötig sein sollte. Der Alias loggt ja auch korrekt booleans. Ungewollt ist eigentlich nur der boolean im originalen Objekt und die Fehlermeldung aus Influx.

                          Ich bin echt am verzweifeln. Kann das wirklich so kompliziert sein?

                          S Offline
                          S Offline
                          SpacerX
                          schrieb am zuletzt editiert von SpacerX
                          #12

                          @sleepwalker es wird aber ein String geloggt. Deshalb das %. Du solltest das speichern als Automatisch auf Bool stellen. Richtig ist dein Orginal Datenpunkt wird nicht geändert. Der Alias nimmt den Wert an den du verknüpfst oder peer Korrektur vorgibst. Loggen tuhst du dann den Alias.

                          DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                          S 1 Antwort Letzte Antwort
                          1
                          • S SpacerX

                            @sleepwalker es wird aber ein String geloggt. Deshalb das %. Du solltest das speichern als Automatisch auf Bool stellen. Richtig ist dein Orginal Datenpunkt wird nicht geändert. Der Alias nimmt den Wert an den du verknüpfst oder peer Korrektur vorgibst. Loggen tuhst du dann den Alias.

                            S Offline
                            S Offline
                            Sleepwalker
                            schrieb am zuletzt editiert von Sleepwalker
                            #13

                            @spacerx said in Influx v2 - Daten vor Speicherung konvertieren:

                            @sleepwalker es wird aber ein String geloggt. Deshalb das %. Du solltest das speichern als Automatisch auf Bool stellen. Richtig ist dein Orginal Datenpunkt wird nicht geändert. Der Alias nimmt den Wert an den du verknüpfst oder peer Korrektur vorgibst. Loggen tuhst du dann den Alias.

                            Hab ich gemacht, dann kommt der obige Fehler "... bool != string..." aus Influx heraus.

                            als_bool.png

                            Oder bin ich irgendwo auf der falschen Fährte?! Meiner Ansicht nach, habe ich schon sämtliche Kombinationen ausprobiert :D

                            PS: Danke für deine Geduld :D

                            S 1 Antwort Letzte Antwort
                            0
                            • S Sleepwalker

                              @spacerx said in Influx v2 - Daten vor Speicherung konvertieren:

                              @sleepwalker es wird aber ein String geloggt. Deshalb das %. Du solltest das speichern als Automatisch auf Bool stellen. Richtig ist dein Orginal Datenpunkt wird nicht geändert. Der Alias nimmt den Wert an den du verknüpfst oder peer Korrektur vorgibst. Loggen tuhst du dann den Alias.

                              Hab ich gemacht, dann kommt der obige Fehler "... bool != string..." aus Influx heraus.

                              als_bool.png

                              Oder bin ich irgendwo auf der falschen Fährte?! Meiner Ansicht nach, habe ich schon sämtliche Kombinationen ausprobiert :D

                              PS: Danke für deine Geduld :D

                              S Offline
                              S Offline
                              SpacerX
                              schrieb am zuletzt editiert von
                              #14

                              @sleepwalker jetzt mal eine neue AliasID geben damit das Measurement (Messung) neu erstellt wird und nicht schon als String oder Zahl vorliegt.

                              DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                              S 1 Antwort Letzte Antwort
                              1
                              • S SpacerX

                                @sleepwalker jetzt mal eine neue AliasID geben damit das Measurement (Messung) neu erstellt wird und nicht schon als String oder Zahl vorliegt.

                                S Offline
                                S Offline
                                SpacerX
                                schrieb am zuletzt editiert von SpacerX
                                #15

                                @spacerx du musst dann aber auch schon den Alias loggen. Du bist doch mit dem Loggen im knx-Zweig

                                Was in deinem Screenshot als Alias bezeichnet wird ist nur eine Bezeichnung für das Measurement, ein Name halt, damit dort nicht die Pfade benutzt werden.

                                Du musst unter alias.0.knx.*** den Datenpunkt zum loggen auswählen. und nicht deinen originalen Datenpunkt.

                                DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                                S 1 Antwort Letzte Antwort
                                0
                                • S SpacerX

                                  @spacerx du musst dann aber auch schon den Alias loggen. Du bist doch mit dem Loggen im knx-Zweig

                                  Was in deinem Screenshot als Alias bezeichnet wird ist nur eine Bezeichnung für das Measurement, ein Name halt, damit dort nicht die Pfade benutzt werden.

                                  Du musst unter alias.0.knx.*** den Datenpunkt zum loggen auswählen. und nicht deinen originalen Datenpunkt.

                                  S Offline
                                  S Offline
                                  Sleepwalker
                                  schrieb am zuletzt editiert von
                                  #16

                                  @spacerx said in Influx v2 - Daten vor Speicherung konvertieren:

                                  @spacerx du musst dann aber auch schon den Alias loggen. Du bist doch mit dem Loggen im knx-Zweig

                                  Was in deinem Screenshot als Alias bezeichnet wird ist nur eine Bezeichnung für das Measurement, ein Name halt, damit dort nicht die Pfade benutzt werden.

                                  Du musst unter alias.0.knx.*** den Datenpunkt zum loggen auswählen. und nicht deinen originalen Datenpunkt.

                                  Hm, das verstehe ich nicht. Muss ich das wirklich? Das funktioniert ja auch, allerdings ist dann mein o.g. "roter Faden" nicht eingehalten.

                                  Wenn ich nur den Alias loggen möchte, muss ich beim KNX-Objekt gar keine Influx-Spezifischen Dinge wie den Alias angeben. Dann bräuchte ich nur den Alias selbst anlegen und loggen und könnte das KNX-Objekt ignorieren. Ja, das funktioniert theoretisch und praktisch. Habe ich weiter oben erwähnt.

                                  Dann ist für mich die Alias-ID-Option in den Influx-Einstellungen missverständlich.
                                  alias.png
                                  Hat das da gar nichts mit zu tun?

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • S Sleepwalker

                                    @spacerx said in Influx v2 - Daten vor Speicherung konvertieren:

                                    @spacerx du musst dann aber auch schon den Alias loggen. Du bist doch mit dem Loggen im knx-Zweig

                                    Was in deinem Screenshot als Alias bezeichnet wird ist nur eine Bezeichnung für das Measurement, ein Name halt, damit dort nicht die Pfade benutzt werden.

                                    Du musst unter alias.0.knx.*** den Datenpunkt zum loggen auswählen. und nicht deinen originalen Datenpunkt.

                                    Hm, das verstehe ich nicht. Muss ich das wirklich? Das funktioniert ja auch, allerdings ist dann mein o.g. "roter Faden" nicht eingehalten.

                                    Wenn ich nur den Alias loggen möchte, muss ich beim KNX-Objekt gar keine Influx-Spezifischen Dinge wie den Alias angeben. Dann bräuchte ich nur den Alias selbst anlegen und loggen und könnte das KNX-Objekt ignorieren. Ja, das funktioniert theoretisch und praktisch. Habe ich weiter oben erwähnt.

                                    Dann ist für mich die Alias-ID-Option in den Influx-Einstellungen missverständlich.
                                    alias.png
                                    Hat das da gar nichts mit zu tun?

                                    S Offline
                                    S Offline
                                    SpacerX
                                    schrieb am zuletzt editiert von
                                    #17

                                    @sleepwalker Mal ein Beispiel!

                                    Homematic Termometer:
                                    SnipSnap_1.jpeg

                                    Dazu der Alias.

                                    SnipSnap_2.jpeg

                                    Du siehst am Alias das Zahnrad für InfluxDB.
                                    Nun noch die Konfiguration influxdb.0 zum loggen des Alias.

                                    SnipSnap_3.jpeg

                                    Dann gib als Namen meinetwegen "KnxArbeitszimmerFußbodenheizungArbeitszimmerStatus" ein.

                                    Das macht aber so auch keinen Sinn weil im WebGui von InfluxDB siehst du eh nicht alle Zeichen und wer will in der VIS solche Schlangen sehen.

                                    Kurze eindeutige Namen: Bsp.: "AZ_Fussbodenheizung_State". Und das ist schon lang.

                                    DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                                    S 1 Antwort Letzte Antwort
                                    1
                                    • S SpacerX

                                      @sleepwalker Mal ein Beispiel!

                                      Homematic Termometer:
                                      SnipSnap_1.jpeg

                                      Dazu der Alias.

                                      SnipSnap_2.jpeg

                                      Du siehst am Alias das Zahnrad für InfluxDB.
                                      Nun noch die Konfiguration influxdb.0 zum loggen des Alias.

                                      SnipSnap_3.jpeg

                                      Dann gib als Namen meinetwegen "KnxArbeitszimmerFußbodenheizungArbeitszimmerStatus" ein.

                                      Das macht aber so auch keinen Sinn weil im WebGui von InfluxDB siehst du eh nicht alle Zeichen und wer will in der VIS solche Schlangen sehen.

                                      Kurze eindeutige Namen: Bsp.: "AZ_Fussbodenheizung_State". Und das ist schon lang.

                                      S Offline
                                      S Offline
                                      Sleepwalker
                                      schrieb am zuletzt editiert von
                                      #18

                                      @spacerx Oh man, und ich habe die ganze Zeit gedacht, dass die Verknüpfung zwischen Originalobjekt und Alias beidseitig ist und man in Influx nur den Originalwert loggen müsse, unter Angabe des Aliases :face_palm:

                                      Was die Benennung angeht: Kann man die nicht erst in der VIS "begradigen"? Meine Objekte haben größtenteils ausführliche Namen. Bis jetzt fand ich das in Node Red auch recht gut.

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • S Sleepwalker

                                        @spacerx Oh man, und ich habe die ganze Zeit gedacht, dass die Verknüpfung zwischen Originalobjekt und Alias beidseitig ist und man in Influx nur den Originalwert loggen müsse, unter Angabe des Aliases :face_palm:

                                        Was die Benennung angeht: Kann man die nicht erst in der VIS "begradigen"? Meine Objekte haben größtenteils ausführliche Namen. Bis jetzt fand ich das in Node Red auch recht gut.

                                        S Offline
                                        S Offline
                                        SpacerX
                                        schrieb am zuletzt editiert von
                                        #19

                                        @sleepwalker der Alias ist so zu sagen der Zwilling der auf den Bruder zeigt. Wenn dieser auf Write steht kann über den Alias auch der Original Datenpunkt gesteuert werden.
                                        Den Namen kannst du in Grafana dann mit einem Overide noch schön machen.

                                        DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                                        S 1 Antwort Letzte Antwort
                                        1
                                        • S SpacerX

                                          @sleepwalker der Alias ist so zu sagen der Zwilling der auf den Bruder zeigt. Wenn dieser auf Write steht kann über den Alias auch der Original Datenpunkt gesteuert werden.
                                          Den Namen kannst du in Grafana dann mit einem Overide noch schön machen.

                                          S Offline
                                          S Offline
                                          Sleepwalker
                                          schrieb am zuletzt editiert von
                                          #20

                                          @spacerx Herzlichen Dank. So ergibt ein Alias auch durch Sinn. Habe mich durch das Konfig-Feld verwirren lassen. Da saß das Problem wohl vor dem Bildschirm ;)

                                          OT: Da ich mich aktuell für VIS entschieden habe, schaue ich mal, ob mir Grafana oder das schon fertige Histogramm vom Material Design zusagt. Danke dir vielmals!

                                          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

                                          541

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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