Skip to content
  • 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
  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:

    Ja aber das Admin Interface finde ich inzwischen bestens geeignet.

    Hi Micky

    Ich wollte das gerade bei einem JSON versuchen, um daraus 1 Preis vom Diesel zu filtern.
    Problem ist, dass der Name vom Wert öfter vorkommt. price

    {
      "Super Plus": {
        "title": "Super Plus",
        "date": "05.12.2022-11.12.2022",
        "price": "1,642 EUR"
      },
      "Super": {
        "title": "Super",
        "date": "05.12.2022-11.12.2022",
        "price": "1,498 EUR"
      },
      "Normal": {
        "title": "Normal",
        "date": "05.12.2022-11.12.2022",
        "price": "1,498 EUR"
      },
      "Diesel": {
        "title": "Diesel",
        "date": "05.12.2022-11.12.2022",
        "price": "1,685 EUR"
      },
      "Premium Diesel": {
        "title": "Premium Diesel",
        "date": "05.12.2022-11.12.2022",
        "price": "1,919 EUR"
      }
    }
    

    Ich hab den alias.0.IQ-Preis.Diesel angelegt.
    Dort 0_userdata.0.IQ_Sprit.IQ_Sprit hinterlegt.
    Dann wollte ich alias.0.IQ-Preis.Diesel bearbeiten. Bei Konverter beim Lesen hab ich JSON.parse(val).price verwendet.
    Nach dem speichern hats mir den ioB gekillt.
    Konnte nur mit Schnelligkeit auf einen anderen DP klicken und dann den Alias löschen.

    Was hab ich da falsch gemacht?

    javascript.1 2022-12-08 21:41:40.333	error	Error: Cannot read properties of undefined (reading 'toString')
    javascript.1 2022-12-08 21:41:40.333	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
    host.ioBroker 2022-12-08 21:41:17.690	error	instance system.adapter.javascript.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
    host.ioBroker 2022-12-08 21:41:17.690	error	Caught by controller[0]: at processImmediate (node:internal/timers:468:21)
    host.ioBroker 2022-12-08 21:41:17.690	error	Caught by controller[0]: at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:7439:39)
    host.ioBroker 2022-12-08 21:41:17.690	error	Caught by controller[0]: at Object.formatAliasValue (/opt/iobroker/node_modules/@iobroker/js-controller-common/lib/common/tools.js:2555:35)
    host.ioBroker 2022-12-08 21:41:17.690	error	Caught by controller[0]: TypeError: Cannot read properties of undefined (reading 'toString')
    javascript.0 2022-12-08 21:41:17.485	error	TypeError: Cannot read properties of undefined (reading 'toString') at Object.formatAliasValue (/opt/iobroker/node_modules/@iobroker/js-controller-common/lib/common/tools.js:2555:35) at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:7439:39) at processImmediate (node:internal/timers:468:21)
    javascript.0 2022-12-08 21:41:17.485	error	Error: Cannot read properties of undefined (reading 'toString')
    
    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #30

    @negalein Ist ja auch nicht price - sondern Du musst schon den ganzen Pfad eingeben und der Wert muss eindeutig sein.

    Wenn Du den Dieselpreis haben willst, dann musst Du das auch halt angeben

    JSON.parse(val).Diesel.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
    • NegaleinN Negalein

      @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

      Ja aber das Admin Interface finde ich inzwischen bestens geeignet.

      Hi Micky

      Ich wollte das gerade bei einem JSON versuchen, um daraus 1 Preis vom Diesel zu filtern.
      Problem ist, dass der Name vom Wert öfter vorkommt. price

      {
        "Super Plus": {
          "title": "Super Plus",
          "date": "05.12.2022-11.12.2022",
          "price": "1,642 EUR"
        },
        "Super": {
          "title": "Super",
          "date": "05.12.2022-11.12.2022",
          "price": "1,498 EUR"
        },
        "Normal": {
          "title": "Normal",
          "date": "05.12.2022-11.12.2022",
          "price": "1,498 EUR"
        },
        "Diesel": {
          "title": "Diesel",
          "date": "05.12.2022-11.12.2022",
          "price": "1,685 EUR"
        },
        "Premium Diesel": {
          "title": "Premium Diesel",
          "date": "05.12.2022-11.12.2022",
          "price": "1,919 EUR"
        }
      }
      

      Ich hab den alias.0.IQ-Preis.Diesel angelegt.
      Dort 0_userdata.0.IQ_Sprit.IQ_Sprit hinterlegt.
      Dann wollte ich alias.0.IQ-Preis.Diesel bearbeiten. Bei Konverter beim Lesen hab ich JSON.parse(val).price verwendet.
      Nach dem speichern hats mir den ioB gekillt.
      Konnte nur mit Schnelligkeit auf einen anderen DP klicken und dann den Alias löschen.

      Was hab ich da falsch gemacht?

      javascript.1 2022-12-08 21:41:40.333	error	Error: Cannot read properties of undefined (reading 'toString')
      javascript.1 2022-12-08 21:41:40.333	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
      host.ioBroker 2022-12-08 21:41:17.690	error	instance system.adapter.javascript.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
      host.ioBroker 2022-12-08 21:41:17.690	error	Caught by controller[0]: at processImmediate (node:internal/timers:468:21)
      host.ioBroker 2022-12-08 21:41:17.690	error	Caught by controller[0]: at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:7439:39)
      host.ioBroker 2022-12-08 21:41:17.690	error	Caught by controller[0]: at Object.formatAliasValue (/opt/iobroker/node_modules/@iobroker/js-controller-common/lib/common/tools.js:2555:35)
      host.ioBroker 2022-12-08 21:41:17.690	error	Caught by controller[0]: TypeError: Cannot read properties of undefined (reading 'toString')
      javascript.0 2022-12-08 21:41:17.485	error	TypeError: Cannot read properties of undefined (reading 'toString') at Object.formatAliasValue (/opt/iobroker/node_modules/@iobroker/js-controller-common/lib/common/tools.js:2555:35) at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:7439:39) at processImmediate (node:internal/timers:468:21)
      javascript.0 2022-12-08 21:41:17.485	error	Error: Cannot read properties of undefined (reading 'toString')
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #31

      @negalein sagte: alias.0.IQ-Preis.Diesel bearbeiten. Bei Konverter beim Lesen hab ich JSON.parse(val).price verwendet.

      JSON.parse(val).Diesel.price
      

      Der Alias muss vom Typ "string" sein.

      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

      mickymM 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @negalein sagte: alias.0.IQ-Preis.Diesel bearbeiten. Bei Konverter beim Lesen hab ich JSON.parse(val).price verwendet.

        JSON.parse(val).Diesel.price
        

        Der Alias muss vom Typ "string" sein.

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

        @paul53 😁 schneller 😉

        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 Ist ja auch nicht price - sondern Du musst schon den ganzen Pfad eingeben und der Wert muss eindeutig sein.

          Wenn Du den Dieselpreis haben willst, dann musst Du das auch halt angeben

          JSON.parse(val).Diesel.price 
          
          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          schrieb am zuletzt editiert von
          #33

          @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

          Wenn Du den Dieselpreis haben willst, dann musst Du das auch halt angeben

          @paul53 sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

          Der Alias muss vom Typ "string" sein.

          Danke euch Zwei. Dann probier ich es gleich nochmal. 🙂

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

          1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @paul53 😁 schneller 😉

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

            @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

            @paul53 😁 schneller 😉

            Hi Micky

            Das JSON hat sich wegen neuem Script geändert und sieht nun auszugsweise (der relevante Teil für mich) so aus.

            {
             "Ö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"
                   }
                 ],
            

            JSON.parse(val).Diesel.price

            muss es nun so lauten?

            JSON.parse(val).ÖSTERREICH.services.Diesel.price
            

            ° 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:

              @paul53 😁 schneller 😉

              Hi Micky

              Das JSON hat sich wegen neuem Script geändert und sieht nun auszugsweise (der relevante Teil für mich) so aus.

              {
               "Ö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"
                     }
                   ],
              

              JSON.parse(val).Diesel.price

              muss es nun so lauten?

              JSON.parse(val).ÖSTERREICH.services.Diesel.price
              
              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #35

              @negalein ja

              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.

              HomoranH 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @negalein ja

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #36

                @mickym ist ein Ö sinnvoll?

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                mickymM 1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

                  @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                  @paul53 😁 schneller 😉

                  Hi Micky

                  Das JSON hat sich wegen neuem Script geändert und sieht nun auszugsweise (der relevante Teil für mich) so aus.

                  {
                   "Ö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"
                         }
                       ],
                  

                  JSON.parse(val).Diesel.price

                  muss es nun so lauten?

                  JSON.parse(val).ÖSTERREICH.services.Diesel.price
                  
                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #37

                  @negalein sagte: muss es nun so lauten?

                  Nein, es ist noch ein Array mit einem Element hinzu gekommen.

                  JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price
                  

                  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
                  • HomoranH Homoran

                    @mickym ist ein Ö sinnvoll?

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

                    @homoran na besser ist ohne, aber da hat man ja oft keinen Einfluss darauf. Wenn das Teil streikt dann die Klammernotation mit Gänsefüßchen nutzen.

                    Und mit dem Array stimmt auch - diesmal ist paul schneller. Richtig müsste es heißen:

                    JSON.parse(val)["ÖSTERREICH"].services.Diesel[0].price
                    

                    aber ich sehe ja, dass genügend geballte Kompetenz vorhanden 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.

                    paul53P NegaleinN 2 Antworten Letzte Antwort
                    0
                    • mickymM mickym

                      @homoran na besser ist ohne, aber da hat man ja oft keinen Einfluss darauf. Wenn das Teil streikt dann die Klammernotation mit Gänsefüßchen nutzen.

                      Und mit dem Array stimmt auch - diesmal ist paul schneller. Richtig müsste es heißen:

                      JSON.parse(val)["ÖSTERREICH"].services.Diesel[0].price
                      

                      aber ich sehe ja, dass genügend geballte Kompetenz vorhanden ist.

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

                      @mickym sagte: Richtig müsste es heißen:

                      Mit Anführungszeichen funktioniert es nicht.

                      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

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @mickym sagte: Richtig müsste es heißen:

                        Mit Anführungszeichen funktioniert es nicht.

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

                        @paul53 Doch funktioniert

                        cd4eebbc-4989-4861-95d2-7c0cda7b2faf-image.png

                        6dae004f-e66f-40a3-9379-fcd884966f42-image.png

                        habs ja getestet-

                        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.

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @paul53 Doch funktioniert

                          cd4eebbc-4989-4861-95d2-7c0cda7b2faf-image.png

                          6dae004f-e66f-40a3-9379-fcd884966f42-image.png

                          habs ja getestet-

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

                          @mickym sagte: habs ja getestet-

                          Wie sieht es in RAW-Ansicht (JSON) 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

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @mickym sagte: habs ja getestet-

                            Wie sieht es in RAW-Ansicht (JSON) aus?

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

                            @paul53

                            Da werden sie auskommentiert - funktioniert aber:

                            {
                              "common": {
                                "name": "jsonState",
                                "desc": "Manuell erzeugt",
                                "role": "state",
                                "type": "string",
                                "read": true,
                                "write": true,
                                "def": "",
                                "alias": {
                                  "id": {
                                    "read": "0_userdata.0.Test.jsonState",
                                    "write": "0_userdata.0.Test.jsonState.set"
                                  },
                                  "read": "JSON.parse(val)[\"ÖSTERREICH\"].services.Diesel[0].price"
                                }
                              },
                              "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": 1670692903249
                            }
                            

                            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.

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @paul53

                              Da werden sie auskommentiert - funktioniert aber:

                              {
                                "common": {
                                  "name": "jsonState",
                                  "desc": "Manuell erzeugt",
                                  "role": "state",
                                  "type": "string",
                                  "read": true,
                                  "write": true,
                                  "def": "",
                                  "alias": {
                                    "id": {
                                      "read": "0_userdata.0.Test.jsonState",
                                      "write": "0_userdata.0.Test.jsonState.set"
                                    },
                                    "read": "JSON.parse(val)[\"ÖSTERREICH\"].services.Diesel[0].price"
                                  }
                                },
                                "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": 1670692903249
                              }
                              
                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #43

                              @mickym
                              Ja, mit Backslash davor funktioniert es.

                              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

                                @homoran na besser ist ohne, aber da hat man ja oft keinen Einfluss darauf. Wenn das Teil streikt dann die Klammernotation mit Gänsefüßchen nutzen.

                                Und mit dem Array stimmt auch - diesmal ist paul schneller. Richtig müsste es heißen:

                                JSON.parse(val)["ÖSTERREICH"].services.Diesel[0].price
                                

                                aber ich sehe ja, dass genügend geballte Kompetenz vorhanden ist.

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

                                @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"
                                  }
                                }
                                

                                ° 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:

                                  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
                                          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

                                          762

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe