Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    936

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON

Scheduled Pinned Locked Moved ioBroker Allgemein
67 Posts 6 Posters 6.8k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by
    #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 Reply Last reply
    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
      wrote on last edited by
      #32

      @paul53 :grin: 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 Reply Last reply
      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
        wrote on last edited by
        #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 & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
        ° Node.js Fixer ---> iob nodejs-update
        ° Fixer ---> iob fix

        1 Reply Last reply
        0
        • mickymM mickym

          @paul53 :grin: schneller ;)

          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          wrote on last edited by
          #34

          @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

          @paul53 :grin: 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 & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
          ° Node.js Fixer ---> iob nodejs-update
          ° Fixer ---> iob fix

          mickymM paul53P 2 Replies Last reply
          0
          • NegaleinN Negalein

            @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

            @paul53 :grin: 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
            wrote on last edited by
            #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 Reply Last reply
            0
            • mickymM mickym

              @negalein ja

              HomoranH Do not disturb
              HomoranH Do not disturb
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #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 Reply Last reply
              0
              • NegaleinN Negalein

                @mickym sagte in OpenMQTT Gateway Wetterstation Iobroker Datenpunkt JSON:

                @paul53 :grin: 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
                wrote on last edited by
                #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 Reply Last reply
                0
                • HomoranH Homoran

                  @mickym ist ein Ö sinnvoll?

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  wrote on last edited by 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 Replies Last reply
                  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
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • paul53P paul53

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

                      Mit Anführungszeichen funktioniert es nicht.

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      wrote on last edited by
                      #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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        • paul53P paul53

                          @mickym sagte: habs ja getestet-

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

                          mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          wrote on last edited by
                          #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 Reply Last reply
                          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
                            wrote on last edited by
                            #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 Reply Last reply
                            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
                              wrote on last edited by 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 & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                              ° Node.js Fixer ---> iob nodejs-update
                              ° Fixer ---> iob fix

                              mickymM 1 Reply Last reply
                              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
                                wrote on last edited by 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 Reply Last reply
                                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
                                  wrote on last edited by
                                  #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 & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                  ° Node.js Fixer ---> iob nodejs-update
                                  ° Fixer ---> iob fix

                                  mickymM 1 Reply Last reply
                                  0
                                  • NegaleinN Offline
                                    NegaleinN Offline
                                    Negalein
                                    Global Moderator
                                    wrote on last edited by
                                    #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 & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                    ° Node.js Fixer ---> iob nodejs-update
                                    ° Fixer ---> iob fix

                                    1 Reply Last reply
                                    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
                                      wrote on last edited by 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 Reply Last reply
                                      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
                                        wrote on last edited by 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 & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                        ° Node.js Fixer ---> iob nodejs-update
                                        ° Fixer ---> iob fix

                                        mickymM 1 Reply Last reply
                                        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
                                          wrote on last edited by 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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          319

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe