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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON

NEWS

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

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

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

OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
63 Beiträge 6 Kommentatoren 6.1k Aufrufe 4 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.
  • NegaleinN Negalein

    @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

    Richtig müsste es heißen:

    bekomme das im Log (Alias-DP wurden aber aktualisiert)

    web.0 2022-12-10 18:28:58.193	error	Invalid read function for undefined: JSON.parse(val).Diesel.date => Cannot read properties of undefined (reading 'date')
    web.0 2022-12-10 18:28:58.192	error	Invalid read function for undefined: JSON.parse(val).Diesel.price => Cannot read properties of undefined (reading 'price')
    javascript.0 2022-12-10 18:28:50.637	error	Invalid read function for undefined: JSON.parse(val)["ÖSTERREICH"].services.Diesel[0].date => Cannot read properties of undefined (reading 'services')
    javascript.1 2022-12-10 18:28:50.634	error	Invalid read function for undefined: JSON.parse(val)["ÖSTERREICH"].services.Diesel[0].date => Cannot read properties of undefined (reading 'services')
    javascript.0 2022-12-10 18:28:07.912	error	Invalid read function for undefined: JSON.parse(val)["ÖSTERREICH"].services.Diesel[0].price => Cannot read properties of undefined (reading 'services')
    javascript.1 2022-12-10 18:28:07.912	error	Invalid read function for undefined: JSON.parse(val)["ÖSTERREICH"].services.Diesel[0].price => Cannot read properties of undefined (reading 'services')
    

    So ist das komplette JSON

    {
      "ÖSTERREICH": {
        "services": {
          "Super Plus": [
            {
              "date": "05.12.2022-11.12.2022:",
              "price": "1,642 EUR"
            }
          ],
          "Super": [
            {
              "date": "05.12.2022-11.12.2022:",
              "price": "1,498 EUR"
            }
          ],
          "Normal": [
            {
              "date": "05.12.2022-11.12.2022:",
              "price": "1,498 EUR"
            }
          ],
          "Diesel": [
            {
              "date": "05.12.2022-11.12.2022:",
              "price": "1,685 EUR"
            }
          ],
          "Premium Diesel": [
            {
              "date": "05.12.2022-11.12.2022:",
              "price": "1,919 EUR"
            }
          ],
          "IQ Motoröle und Chemie": "10 % Rabatt",
          "Autowäsche": "10 % Rabatt"
        },
        "info": "",
        "countryname": "ÖSTERREICH"
      },
      "BOSNIEN UND HERZEGOWINA": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "BOSNIEN UND HERZEGOWINA"
      },
      "BELGIEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "BELGIEN"
      },
      "BULGARIEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "BULGARIEN"
      },
      "DEUTSCHLAND": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "DEUTSCHLAND"
      },
      "DÄNEMARK": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "DÄNEMARK"
      },
      "SPANIEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "SPANIEN"
      },
      "FRANKREICH": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "FRANKREICH"
      },
      "GROßBRITANNIEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "GROßBRITANNIEN"
      },
      "UNGARN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "UNGARN"
      },
      "ITALIEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "ITALIEN"
      },
      "LITAUEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "LITAUEN"
      },
      "LUXEMBURG": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "LUXEMBURG"
      },
      "NIEDERLANDE": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "NIEDERLANDE"
      },
      "NORWEGEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "NORWEGEN"
      },
      "POLEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "POLEN"
      },
      "RUMÄNIEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "RUMÄNIEN"
      },
      "SLOWENIEN": {
        "services": {},
        "info": "Sie tanken zum aktuellen Pumpenabgabepreis",
        "countryname": "SLOWENIEN"
      }
    }
    
    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #45

    @negalein Ich bekomme Deinen Fehler wie gesagt nicht. Auch nicht im Log. Hab deinen kompletten JSON bei mir reinkopiert. Insofern schwierig für mich nachzuvollziehen. Du kannst ja auch mit einfachen Hochkomma nutzen, Du musst es halt in der Maske eintragen und nicht in dem Common Objekt, sonst musst halt mit \ die Gänsefüsschen maskieren.

    Bei mir tut das in der Maske eingegeben ohne Probleme:

    48f3d424-95b5-4dbb-9609-f9ce5403be45-image.png

    Dein zuerst gepostetes JSON war ja unvollständig, aber mit dem vollständigen funktioniert es auch.

    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.

    NegaleinN 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @negalein Ich bekomme Deinen Fehler wie gesagt nicht. Auch nicht im Log. Hab deinen kompletten JSON bei mir reinkopiert. Insofern schwierig für mich nachzuvollziehen. Du kannst ja auch mit einfachen Hochkomma nutzen, Du musst es halt in der Maske eintragen und nicht in dem Common Objekt, sonst musst halt mit \ die Gänsefüsschen maskieren.

      Bei mir tut das in der Maske eingegeben ohne Probleme:

      48f3d424-95b5-4dbb-9609-f9ce5403be45-image.png

      Dein zuerst gepostetes JSON war ja unvollständig, aber mit dem vollständigen funktioniert es auch.

      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      schrieb am zuletzt editiert von
      #46

      @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

      Du musst es halt in der Maske eintragen und nicht in dem Common Objekt

      Common schaut so aus

      {
        "type": "state",
        "common": {
          "name": "IQ_Sprit",
          "role": "state",
          "type": "string",
          "read": true,
          "write": true,
          "alias": {
            "id": "0_userdata.0.IQ_Sprit.IQ_Sprit",
            "read": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price"
          }
        },
        "_id": "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit",
        "native": {},
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        },
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1670534620818
      }
      

      Und so in der Maske (bereits mit einfachem Hochkomma)
      adf325c8-2f2f-4cbb-8621-4ec4bf77fff5-image.png
      JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price

      ° Node.js: 20.17.0 NPM: 10.8.2
      ° Proxmox, Ubuntu 22.04.3 LTS
      ° Fixer ---> iob fix

      mickymM 1 Antwort Letzte Antwort
      0
      • NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        schrieb am zuletzt editiert von
        #47

        @mickym

        sehe gerade, dass das im Log noch von alten Konvertierungsfunktion ist.

        Invalid read function for undefined: JSON.parse(val).Diesel.price => Cannot read properties of undefined (reading 'price')

        Eingetragen ist aber schon JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price

        Werde mal neu starten.

        ° Node.js: 20.17.0 NPM: 10.8.2
        ° Proxmox, Ubuntu 22.04.3 LTS
        ° Fixer ---> iob fix

        1 Antwort Letzte Antwort
        0
        • NegaleinN Negalein

          @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

          Du musst es halt in der Maske eintragen und nicht in dem Common Objekt

          Common schaut so aus

          {
            "type": "state",
            "common": {
              "name": "IQ_Sprit",
              "role": "state",
              "type": "string",
              "read": true,
              "write": true,
              "alias": {
                "id": "0_userdata.0.IQ_Sprit.IQ_Sprit",
                "read": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price"
              }
            },
            "_id": "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit",
            "native": {},
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            },
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1670534620818
          }
          

          Und so in der Maske (bereits mit einfachem Hochkomma)
          adf325c8-2f2f-4cbb-8621-4ec4bf77fff5-image.png
          JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #48

          @negalein Irgendwie stimmt bei Dir was oben nicht - mit dem Anhaken der unterschiedlichen Lesen Schreiben Funktion.

          Na ich weiss den Fehler. Du hast den nicht auf ReadOnly gesetzt. Wenn Du schreiben willst musst halt da das stringify setzen. Der Fehler tritt natürlich nur auf wenn Du in den Alias schreiben willst und da hast Du weder unterschiedliche Punkte angegeben.

          Wie gesagt wenn Du das nur extrahieren willst und nicht schreiben setz den Alias mal auf ReadOnly

          Oh ich sehe gerade da gibts einen Bug mit dem Alias. Der zerstört den Quelldatenpunkt auch wenn ReadOnly gesetzt ist und schreibt. Dann musst halt bei Schreiben auch setzen.

          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.

          NegaleinN 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @negalein Irgendwie stimmt bei Dir was oben nicht - mit dem Anhaken der unterschiedlichen Lesen Schreiben Funktion.

            Na ich weiss den Fehler. Du hast den nicht auf ReadOnly gesetzt. Wenn Du schreiben willst musst halt da das stringify setzen. Der Fehler tritt natürlich nur auf wenn Du in den Alias schreiben willst und da hast Du weder unterschiedliche Punkte angegeben.

            Wie gesagt wenn Du das nur extrahieren willst und nicht schreiben setz den Alias mal auf ReadOnly

            Oh ich sehe gerade da gibts einen Bug mit dem Alias. Der zerstört den Quelldatenpunkt auch wenn ReadOnly gesetzt ist und schreibt. Dann musst halt bei Schreiben auch setzen.

            NegaleinN Offline
            NegaleinN Offline
            Negalein
            Global Moderator
            schrieb am zuletzt editiert von Negalein
            #49

            @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

            Wie gesagt wenn Du das nur extrahieren willst und nicht schreiben setz den Alias mal auf ReadOnly

            Ja, nur vom orig. DP in den Alias schreiben (konvertiert).

            Du meinst da auch das JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price bei Write eintragen?
            8b10ee3a-b331-44c6-a557-d40082c03107-image.png

            Bzw. da
            769285f4-e495-4ee5-a855-3be56d093445-image.png

            ° Node.js: 20.17.0 NPM: 10.8.2
            ° Proxmox, Ubuntu 22.04.3 LTS
            ° Fixer ---> iob fix

            mickymM 1 Antwort Letzte Antwort
            0
            • NegaleinN Negalein

              @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

              Wie gesagt wenn Du das nur extrahieren willst und nicht schreiben setz den Alias mal auf ReadOnly

              Ja, nur vom orig. DP in den Alias schreiben (konvertiert).

              Du meinst da auch das JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price bei Write eintragen?
              8b10ee3a-b331-44c6-a557-d40082c03107-image.png

              Bzw. da
              769285f4-e495-4ee5-a855-3be56d093445-image.png

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #50

              @negalein Also im Prinzip taucht der Fehler nicht auf, wenn Du nicht in den Alias schreibst. Sonst musst Du das gesamte Objekt mir stringfy schreiben. ist aber doof in meinen Augen. Nein nicht parsen. Also das Problem ist, dass das ReadOnly im Alias nicht funktioniert. Du kannst als Umgehung einfach in einen Dummy Datenpunkt schreiben.

              Ja so kann man das Teil überlisten ohne Log Einträge:

              a3e1d520-d59f-4a4e-8265-0c429fc530df-image.png

              und den Alias selbst auf ReadOnly:

              91ab7402-8834-4b21-9a28-47a206df4285-image.png

              Der dummy Datenpunkt muss nicht existieren:

                "common": {
                  "name": "jsonState",
                  "desc": "Manuell erzeugt",
                  "role": "state",
                  "type": "string",
                  "read": true,
                  "write": false,
                  "def": "",
                  "alias": {
                    "id": {
                      "read": "0_userdata.0.Test.jsonState",
                      "write": "0_userdata.0.Test.jsonState.dummy"
                    },
                    "read": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price"
                  }
                }
              

              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.

              NegaleinN 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @negalein Also im Prinzip taucht der Fehler nicht auf, wenn Du nicht in den Alias schreibst. Sonst musst Du das gesamte Objekt mir stringfy schreiben. ist aber doof in meinen Augen. Nein nicht parsen. Also das Problem ist, dass das ReadOnly im Alias nicht funktioniert. Du kannst als Umgehung einfach in einen Dummy Datenpunkt schreiben.

                Ja so kann man das Teil überlisten ohne Log Einträge:

                a3e1d520-d59f-4a4e-8265-0c429fc530df-image.png

                und den Alias selbst auf ReadOnly:

                91ab7402-8834-4b21-9a28-47a206df4285-image.png

                Der dummy Datenpunkt muss nicht existieren:

                  "common": {
                    "name": "jsonState",
                    "desc": "Manuell erzeugt",
                    "role": "state",
                    "type": "string",
                    "read": true,
                    "write": false,
                    "def": "",
                    "alias": {
                      "id": {
                        "read": "0_userdata.0.Test.jsonState",
                        "write": "0_userdata.0.Test.jsonState.dummy"
                      },
                      "read": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price"
                    }
                  }
                
                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von
                #51

                @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                Du kannst als Umgehung einfach in einen Dummy Datenpunkt schreiben.

                kannst du das für mich verständlicher Beschreiben? Ich versteh gerade nur Bahnhof. :disappointed_relieved:

                ° Node.js: 20.17.0 NPM: 10.8.2
                ° Proxmox, Ubuntu 22.04.3 LTS
                ° Fixer ---> iob fix

                mickymM paul53P 2 Antworten Letzte Antwort
                0
                • NegaleinN Negalein

                  @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                  Du kannst als Umgehung einfach in einen Dummy Datenpunkt schreiben.

                  kannst du das für mich verständlicher Beschreiben? Ich versteh gerade nur Bahnhof. :disappointed_relieved:

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #52

                  @negalein sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                  @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                  Du kannst als Umgehung einfach in einen Dummy Datenpunkt schreiben.

                  kannst du das für mich verständlicher Beschreiben? Ich versteh gerade nur Bahnhof. :disappointed_relieved:

                  Also das Problem mit den Log-Einträgen entsteht nur, wenn Du in den Alias was schreibst. Du willst aber doch nur den Preis auslesen? - Richtig?

                  Deshalb sollte man den Alias auf ReadOnly stellen. Das scheint aber nicht auszureichen. Deswegen einen Dummy Datenpunkt zum Schreiben angeben. Der muss nicht existieren. Dann sollte es gehen. Ich hab Dir die Screenshots im letzten Post gepostet.

                  Oder willst Du selbst Preise schreiben? - Glaub ich eigentlich nicht, sonst musst Du das ganze Objekt in die Schreibfunktion kopieren.

                  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.

                  NegaleinN 1 Antwort Letzte Antwort
                  0
                  • NegaleinN Negalein

                    @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                    Du kannst als Umgehung einfach in einen Dummy Datenpunkt schreiben.

                    kannst du das für mich verständlicher Beschreiben? Ich versteh gerade nur Bahnhof. :disappointed_relieved:

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

                    @negalein
                    Der Dummy-Datenpunkt verhindert, dass der Alias einen ungültigen Wert in den Original-Datenpunkt schreibt.

                    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
                    • mickymM mickym

                      @negalein sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                      @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                      Du kannst als Umgehung einfach in einen Dummy Datenpunkt schreiben.

                      kannst du das für mich verständlicher Beschreiben? Ich versteh gerade nur Bahnhof. :disappointed_relieved:

                      Also das Problem mit den Log-Einträgen entsteht nur, wenn Du in den Alias was schreibst. Du willst aber doch nur den Preis auslesen? - Richtig?

                      Deshalb sollte man den Alias auf ReadOnly stellen. Das scheint aber nicht auszureichen. Deswegen einen Dummy Datenpunkt zum Schreiben angeben. Der muss nicht existieren. Dann sollte es gehen. Ich hab Dir die Screenshots im letzten Post gepostet.

                      Oder willst Du selbst Preise schreiben? - Glaub ich eigentlich nicht, sonst musst Du das ganze Objekt in die Schreibfunktion kopieren.

                      NegaleinN Offline
                      NegaleinN Offline
                      Negalein
                      Global Moderator
                      schrieb am zuletzt editiert von
                      #54

                      @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                      Ich hab Dir die Screenshots im letzten Post gepostet.

                      Ich habs jetzt genau so gemacht

                      10d1623a-7d35-493a-a43e-db2285ba9b9a-image.png
                      6b7d1d05-3133-4ffd-a801-f8d50b9f44b7-image.png

                      Aber trotzdem kommt

                      web.0 2022-12-10 19:13:28.743	error	Invalid read function for undefined: JSON.parse(val).Diesel.price => Cannot read properties of undefined (reading 'price')
                      

                      ° Node.js: 20.17.0 NPM: 10.8.2
                      ° Proxmox, Ubuntu 22.04.3 LTS
                      ° Fixer ---> iob fix

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • NegaleinN Negalein

                        @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                        Ich hab Dir die Screenshots im letzten Post gepostet.

                        Ich habs jetzt genau so gemacht

                        10d1623a-7d35-493a-a43e-db2285ba9b9a-image.png
                        6b7d1d05-3133-4ffd-a801-f8d50b9f44b7-image.png

                        Aber trotzdem kommt

                        web.0 2022-12-10 19:13:28.743	error	Invalid read function for undefined: JSON.parse(val).Diesel.price => Cannot read properties of undefined (reading 'price')
                        
                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #55

                        @negalein Bei Lesen sehe ich 2mal IQ_Sprit???

                        b4af6fd6-9dd9-4a1c-8e4a-0b5ce3d056b5-image.png

                        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.

                        NegaleinN 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @negalein Bei Lesen sehe ich 2mal IQ_Sprit???

                          b4af6fd6-9dd9-4a1c-8e4a-0b5ce3d056b5-image.png

                          NegaleinN Offline
                          NegaleinN Offline
                          Negalein
                          Global Moderator
                          schrieb am zuletzt editiert von
                          #56

                          @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                          Bei Lesen sehe ich 2mal IQ_Sprit???

                          Ja, das passt
                          2aaaa11c-096d-464e-b9d6-33f095d84ef2-image.png

                          Was mich wundert, dass im Log immer JSON.parse(val).Diesel.price anstatt JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price steht.

                          ° Node.js: 20.17.0 NPM: 10.8.2
                          ° Proxmox, Ubuntu 22.04.3 LTS
                          ° Fixer ---> iob fix

                          paul53P mickymM 2 Antworten Letzte Antwort
                          0
                          • NegaleinN Negalein

                            @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                            Bei Lesen sehe ich 2mal IQ_Sprit???

                            Ja, das passt
                            2aaaa11c-096d-464e-b9d6-33f095d84ef2-image.png

                            Was mich wundert, dass im Log immer JSON.parse(val).Diesel.price anstatt JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price steht.

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

                            @negalein sagte: im Log immer JSON.parse(val).Diesel.price

                            Ein vergessener Alias? Wenn nicht, starte mal ioBroker neu.

                            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

                            NegaleinN 1 Antwort Letzte Antwort
                            0
                            • NegaleinN Negalein

                              @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                              Bei Lesen sehe ich 2mal IQ_Sprit???

                              Ja, das passt
                              2aaaa11c-096d-464e-b9d6-33f095d84ef2-image.png

                              Was mich wundert, dass im Log immer JSON.parse(val).Diesel.price anstatt JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price steht.

                              mickymM Online
                              mickymM Online
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #58

                              @negalein Schau mal dass das common Objekt so aussieht, wie ich gepostet habe. Es muss diese unterschiedliche IDs für Lesen und Schreiben angehakt sein.

                              88c61586-6a2a-4d7f-bfba-5a3b45504c16-image.png

                              Und beim Lesen darf der Fehler nicht auftreten. Also wie @paul53 gesagt hat durchsuchen, ob noch eine Definition drin ist oder mal neu starten.

                              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.

                              NegaleinN 1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @negalein Schau mal dass das common Objekt so aussieht, wie ich gepostet habe. Es muss diese unterschiedliche IDs für Lesen und Schreiben angehakt sein.

                                88c61586-6a2a-4d7f-bfba-5a3b45504c16-image.png

                                Und beim Lesen darf der Fehler nicht auftreten. Also wie @paul53 gesagt hat durchsuchen, ob noch eine Definition drin ist oder mal neu starten.

                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                schrieb am zuletzt editiert von
                                #59

                                @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                                Schau mal dass das common Objekt so aussieht, wie ich gepostet habe. Es muss diese unterschiedliche IDs für Lesen und Schreiben angehakt sein.

                                Ja, das passt

                                oder mal neu starten.

                                schon dabei

                                ° Node.js: 20.17.0 NPM: 10.8.2
                                ° Proxmox, Ubuntu 22.04.3 LTS
                                ° Fixer ---> iob fix

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @negalein sagte: im Log immer JSON.parse(val).Diesel.price

                                  Ein vergessener Alias? Wenn nicht, starte mal ioBroker neu.

                                  NegaleinN Offline
                                  NegaleinN Offline
                                  Negalein
                                  Global Moderator
                                  schrieb am zuletzt editiert von
                                  #60

                                  @paul53 sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                                  Wenn nicht, starte mal ioBroker neu.

                                  @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                                  oder mal neu starten.

                                  Läuft

                                  Ein Reboot tut gut ;)

                                  ° Node.js: 20.17.0 NPM: 10.8.2
                                  ° Proxmox, Ubuntu 22.04.3 LTS
                                  ° Fixer ---> iob fix

                                  1 Antwort Letzte Antwort
                                  0
                                  • NegaleinN Negalein

                                    @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                                    Schau mal dass das common Objekt so aussieht, wie ich gepostet habe. Es muss diese unterschiedliche IDs für Lesen und Schreiben angehakt sein.

                                    Ja, das passt

                                    oder mal neu starten.

                                    schon dabei

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #61

                                    @negalein Wie gesagt Du musst suchen, ob Du noch woanders ein fehlerhaften Alias definiert hast.

                                    Diese Meldung ist noch was altes:

                                     JSON.parse(val).Diesel.price
                                    

                                    Da hattest Du noch kein Array angegeben.

                                    Wie gesagt der Bug in der Alias Funktion ist, dass sie den originären Datenpunkt überschreibt auch wenn read-only angegeben ist.

                                    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.

                                    NegaleinN 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @negalein Wie gesagt Du musst suchen, ob Du noch woanders ein fehlerhaften Alias definiert hast.

                                      Diese Meldung ist noch was altes:

                                       JSON.parse(val).Diesel.price
                                      

                                      Da hattest Du noch kein Array angegeben.

                                      Wie gesagt der Bug in der Alias Funktion ist, dass sie den originären Datenpunkt überschreibt auch wenn read-only angegeben ist.

                                      NegaleinN Offline
                                      NegaleinN Offline
                                      Negalein
                                      Global Moderator
                                      schrieb am zuletzt editiert von
                                      #62

                                      @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                                      Diese Meldung ist noch was altes:

                                      Ja, das war vom alten Script. Da sah das JSON anders aus.
                                      Den dürfte er trotz Änderung (sind ja nur 1 oorig. JSON und 2 Alias-DP verschluckt haben.

                                      Jetzt nach reboot kommt auch keine Fehlermeldung. :)

                                      ° Node.js: 20.17.0 NPM: 10.8.2
                                      ° Proxmox, Ubuntu 22.04.3 LTS
                                      ° Fixer ---> iob fix

                                      1 Antwort Letzte Antwort
                                      0
                                      • mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #63

                                        Na ist trotzdem ein Bug drin in der Alias funktion. Wenn ich den Alias auf Read-Only setze dann darf der nix in den originalen Datenpunkt schreiben.

                                        Ansonsten muss man das ganze Objekt in die Schreibfunktion eingeben. Das funktioniert zwar - ist aber unübersichtlich:

                                        bf4688f9-138e-40df-8d99-bc7c560c6a44-image.png

                                        {
                                          "common": {
                                            "name": "jsonState",
                                            "desc": "Manuell erzeugt",
                                            "role": "state",
                                            "type": "string",
                                            "read": true,
                                            "write": true,
                                            "def": "",
                                            "alias": {
                                              "id": "0_userdata.0.Test.jsonState",
                                              "read": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price",
                                              "write": "JSON.stringify({   \"ÖSTERREICH\": {     \"services\": {       \"Super Plus\": [         {           \"date\": \"05.12.2022-11.12.2022:\",           \"price\": \"1,642 EUR\"         }       ],       \"Super\": [         {           \"date\": \"05.12.2022-11.12.2022:\",           \"price\": \"1,498 EUR\"         }       ],       \"Normal\": [         {           \"date\": \"05.12.2022-11.12.2022:\",           \"price\": \"1,498 EUR\"         }       ],       \"Diesel\": [         {           \"date\": \"05.12.2022-11.12.2022:\",           \"price\": val         }       ],       \"Premium Diesel\": [         {           \"date\": \"05.12.2022-11.12.2022:\",           \"price\": \"1,919 EUR\"         }       ],       \"IQ Motoröle und Chemie\": \"10 % Rabatt\",       \"Autowäsche\": \"10 % Rabatt\"     },     \"info\": \"\",     \"countryname\": \"ÖSTERREICH\"   },   \"BOSNIEN UND HERZEGOWINA\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"BOSNIEN UND HERZEGOWINA\"   },   \"BELGIEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"BELGIEN\"   },   \"BULGARIEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"BULGARIEN\"   },   \"DEUTSCHLAND\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"DEUTSCHLAND\"   },   \"DÄNEMARK\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"DÄNEMARK\"   },   \"SPANIEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"SPANIEN\"   },   \"FRANKREICH\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"FRANKREICH\"   },   \"GROßBRITANNIEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"GROßBRITANNIEN\"   },   \"UNGARN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"UNGARN\"   },   \"ITALIEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"ITALIEN\"   },   \"LITAUEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"LITAUEN\"   },   \"LUXEMBURG\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"LUXEMBURG\"   },   \"NIEDERLANDE\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"NIEDERLANDE\"   },   \"NORWEGEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"NORWEGEN\"   },   \"POLEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"POLEN\"   },   \"RUMÄNIEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"RUMÄNIEN\"   },   \"SLOWENIEN\": {     \"services\": {},     \"info\": \"Sie tanken zum aktuellen Pumpenabgabepreis\",     \"countryname\": \"SLOWENIEN\"   } })"
                                            }
                                          },
                                          "type": "state",
                                          "native": {},
                                          "_id": "alias.0.test.jsonState",
                                          "acl": {
                                            "object": 1636,
                                            "state": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator"
                                          },
                                          "from": "system.adapter.admin.0",
                                          "user": "system.user.admin",
                                          "ts": 1670697253009
                                        }
                                        

                                        Du siehst man muss das gesamte Objekt mitgeben. Ist ziemlich unübersichtlich.

                                        Ich würde mal ein Issue erstellen - es DARF nicht SEIN, dass ein Alias den ich auf ReadOnly setze, dann was in den Datenpunkt geschrieben wird und damit den JSON zerstört - was natürlich passiert, wenn ich nicht den ganzen JSON neu schreibe.

                                        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 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
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        801

                                        Online

                                        32.4k

                                        Benutzer

                                        81.4k

                                        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