Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Json-String in Objekte schreiben

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    2.8k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    4.9k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    4.1k

Json-String in Objekte schreiben

Geplant Angeheftet Gesperrt Verschoben JavaScript
23 Beiträge 4 Kommentatoren 4.4k Aufrufe 1 Beobachtet
  • Ä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.
  • C ChrisChros

    @paul53 vielen Dank, sieht etwas schlanker aus als bei mir.
    Eine Frage noch, wird bei setState auch ein Object angelegt oder nur der Wert aktualisiert?

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

    @chrischros sagte: wird bei setState auch ein Object angelegt oder nur der Wert aktualisiert?

    Es wird nur der Zustand aktualisiert. Der Datenpunkt muss bereits existieren.
    Erstelle eigene Datenpunkte besser unter "0_userdata.0".

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

    C 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @chrischros sagte: wird bei setState auch ein Object angelegt oder nur der Wert aktualisiert?

      Es wird nur der Zustand aktualisiert. Der Datenpunkt muss bereits existieren.
      Erstelle eigene Datenpunkte besser unter "0_userdata.0".

      C Offline
      C Offline
      ChrisChros
      schrieb am zuletzt editiert von
      #9

      @paul53 ok, danke für den Hinweis.
      werde dann mal alles in "0_userdate.0" schreiben.

      setState('0_userdate.0.Hichi_Wifi_IR.Bezug', (kWh));
      

      Wenn ich einen eigenen Datenpunkt erstellen möchte, würde das so klappen?

      createState('0_userdate.0.Hichi_Wifi_IR.Bezug'', 0,{type: 'nummer',name: 'Bezug kWh Zahl', read: true,write: true,role: 'value.watt'})
      

      Diese Zeilen müssten dann auch ganz an den Anfang des Skrips, noch vor

      on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
      

      oder?

      paul53P 1 Antwort Letzte Antwort
      0
      • C ChrisChros

        @paul53 ok, danke für den Hinweis.
        werde dann mal alles in "0_userdate.0" schreiben.

        setState('0_userdate.0.Hichi_Wifi_IR.Bezug', (kWh));
        

        Wenn ich einen eigenen Datenpunkt erstellen möchte, würde das so klappen?

        createState('0_userdate.0.Hichi_Wifi_IR.Bezug'', 0,{type: 'nummer',name: 'Bezug kWh Zahl', read: true,write: true,role: 'value.watt'})
        

        Diese Zeilen müssten dann auch ganz an den Anfang des Skrips, noch vor

        on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
        

        oder?

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

        @chrischros sagte: würde das so klappen?

        Nein, so:

        createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
        

        @chrischros sagte in Json-String in Objekte schreiben:

        Diese Zeilen müssten dann auch ganz an den Anfang des Skrips, noch vor on

        Ja, oder in einem zusätzlichen Skript, das anschließend gelöscht werden kann.
        Erstelle manuell im Tab "Objekte" ein Objekt (Typ "folder" oder "device") unter "0_userdata.0" mit dem Namen "Hichi_Wifi_IR".

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

        C 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @chrischros sagte: würde das so klappen?

          Nein, so:

          createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
          

          @chrischros sagte in Json-String in Objekte schreiben:

          Diese Zeilen müssten dann auch ganz an den Anfang des Skrips, noch vor on

          Ja, oder in einem zusätzlichen Skript, das anschließend gelöscht werden kann.
          Erstelle manuell im Tab "Objekte" ein Objekt (Typ "folder" oder "device") unter "0_userdata.0" mit dem Namen "Hichi_Wifi_IR".

          C Offline
          C Offline
          ChrisChros
          schrieb am zuletzt editiert von
          #11

          @paul53 sagte in Json-String in Objekte schreiben:

          Hichi_Wifi_IR

          Super danke, wie sieht das dann bei z.B. der Seriennummer aus, die sowohl aus Zahlen und Buchstaben besteht?

          createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', 0, {type: 'mixed', name: 'Seriennummer', read: true, write: false, role: 'state'})
          
          paul53P T 2 Antworten Letzte Antwort
          0
          • C ChrisChros

            @paul53 sagte in Json-String in Objekte schreiben:

            Hichi_Wifi_IR

            Super danke, wie sieht das dann bei z.B. der Seriennummer aus, die sowohl aus Zahlen und Buchstaben besteht?

            createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', 0, {type: 'mixed', name: 'Seriennummer', read: true, write: false, role: 'state'})
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #12

            @chrischros sagte: Seriennummer

            type: 'string'
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

            1 Antwort Letzte Antwort
            1
            • C ChrisChros

              @paul53 sagte in Json-String in Objekte schreiben:

              Hichi_Wifi_IR

              Super danke, wie sieht das dann bei z.B. der Seriennummer aus, die sowohl aus Zahlen und Buchstaben besteht?

              createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', 0, {type: 'mixed', name: 'Seriennummer', read: true, write: false, role: 'state'})
              
              T Offline
              T Offline
              ticaki
              schrieb am zuletzt editiert von
              #13

              @chrischros

              eine Zeichenkette die keine nummer ist ist ein string.

              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

              Spenden

              1 Antwort Letzte Antwort
              1
              • C Offline
                C Offline
                ChrisChros
                schrieb am zuletzt editiert von ChrisChros
                #14

                Vielen Dank für die Unterstützung.
                Habe das jetzt noch etwas angepasst, sieht nun so aus:

                createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Export', 0, {type: 'number', name: 'Export', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', 0, {type: 'number', name: 'Leistung_aktuell', unit: 'W', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', 0, {type: 'number', name: 'Leistung_L1', unit: 'W', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', 0, {type: 'number', name: 'Leistung_L2', unit: 'W', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', 0, {type: 'number', name: 'Leistung_L3', unit: 'W', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', 0, {type: 'number', name: 'Spannung_L1', unit: 'V', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', 0, {type: 'number', name: 'Spannung_L2', unit: 'V', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', 0, {type: 'number', name: 'Spannung_L3', unit: 'V', read: true, write: false, role: 'value.energy'})
                createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', 0, {type: 'string', name: 'Seriennummer', read: true, write: false, role: 'state'})
                
                on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
                    let obj = {};
                    //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
                    try {obj = JSON.parse(dp.state.val).sn.SM;
                    } catch (e) {
                       console.error('Cannot parse: ' + dp.state.val);
                       return;
                    }
                   
                    setState('0_userdata.0.Hichi_Wifi_IR.Bezug', obj['1_8_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Export', obj['2_8_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', obj['16_7_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', obj['36_7_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', obj['56_7_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', obj['76_7_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', obj['32_7_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', obj['52_7_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', obj['72_7_0'], true);
                    setState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', obj['96_1_0'], true);
                });
                

                Würde das soweit passen oder gibt es noch Fehler darin?

                T paul53P 2 Antworten Letzte Antwort
                0
                • C ChrisChros

                  Vielen Dank für die Unterstützung.
                  Habe das jetzt noch etwas angepasst, sieht nun so aus:

                  createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Export', 0, {type: 'number', name: 'Export', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', 0, {type: 'number', name: 'Leistung_aktuell', unit: 'W', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', 0, {type: 'number', name: 'Leistung_L1', unit: 'W', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', 0, {type: 'number', name: 'Leistung_L2', unit: 'W', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', 0, {type: 'number', name: 'Leistung_L3', unit: 'W', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', 0, {type: 'number', name: 'Spannung_L1', unit: 'V', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', 0, {type: 'number', name: 'Spannung_L2', unit: 'V', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', 0, {type: 'number', name: 'Spannung_L3', unit: 'V', read: true, write: false, role: 'value.energy'})
                  createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', 0, {type: 'string', name: 'Seriennummer', read: true, write: false, role: 'state'})
                  
                  on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
                      let obj = {};
                      //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
                      try {obj = JSON.parse(dp.state.val).sn.SM;
                      } catch (e) {
                         console.error('Cannot parse: ' + dp.state.val);
                         return;
                      }
                     
                      setState('0_userdata.0.Hichi_Wifi_IR.Bezug', obj['1_8_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Export', obj['2_8_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', obj['16_7_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', obj['36_7_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', obj['56_7_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', obj['76_7_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', obj['32_7_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', obj['52_7_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', obj['72_7_0'], true);
                      setState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', obj['96_1_0'], true);
                  });
                  

                  Würde das soweit passen oder gibt es noch Fehler darin?

                  T Offline
                  T Offline
                  ticaki
                  schrieb am zuletzt editiert von
                  #15

                  @chrischros

                  ich weiß gerade nicht ob obj im Fehlerfall {} oder undefinied enthält. Das solltest du checken in dem du einen absichtlich Fehler erzeugst. Ansonsten siehts gut aus.

                  Noch was kleinkarriertes, wenn du rolen benutzten willst, hier findest du die richtigen: https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • C ChrisChros

                    Vielen Dank für die Unterstützung.
                    Habe das jetzt noch etwas angepasst, sieht nun so aus:

                    createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Export', 0, {type: 'number', name: 'Export', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', 0, {type: 'number', name: 'Leistung_aktuell', unit: 'W', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', 0, {type: 'number', name: 'Leistung_L1', unit: 'W', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', 0, {type: 'number', name: 'Leistung_L2', unit: 'W', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', 0, {type: 'number', name: 'Leistung_L3', unit: 'W', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', 0, {type: 'number', name: 'Spannung_L1', unit: 'V', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', 0, {type: 'number', name: 'Spannung_L2', unit: 'V', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', 0, {type: 'number', name: 'Spannung_L3', unit: 'V', read: true, write: false, role: 'value.energy'})
                    createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', 0, {type: 'string', name: 'Seriennummer', read: true, write: false, role: 'state'})
                    
                    on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
                        let obj = {};
                        //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
                        try {obj = JSON.parse(dp.state.val).sn.SM;
                        } catch (e) {
                           console.error('Cannot parse: ' + dp.state.val);
                           return;
                        }
                       
                        setState('0_userdata.0.Hichi_Wifi_IR.Bezug', obj['1_8_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Export', obj['2_8_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', obj['16_7_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', obj['36_7_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', obj['56_7_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', obj['76_7_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', obj['32_7_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', obj['52_7_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', obj['72_7_0'], true);
                        setState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', obj['96_1_0'], true);
                    });
                    

                    Würde das soweit passen oder gibt es noch Fehler darin?

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

                    @chrischros sagte: gibt es noch Fehler darin?

                    Der Initialisierungswert für die Seriennummer sollte ein Leerstring sein - keine 0.
                    Die Rollen passen nicht. Leistung: "value.power", Spannung: "value.voltage".

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                    1 Antwort Letzte Antwort
                    0
                    • C Offline
                      C Offline
                      ChrisChros
                      schrieb am zuletzt editiert von
                      #17

                      habe das Skript angepasst:

                      createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Export', 0, {type: 'number', name: 'Export', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', 0, {type: 'number', name: 'Leistung_aktuell', unit: 'W', read: true, write: false, role: 'value.power'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', 0, {type: 'number', name: 'Leistung_L1', unit: 'W', read: true, write: false, role: 'value.power'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', 0, {type: 'number', name: 'Leistung_L2', unit: 'W', read: true, write: false, role: 'value.power'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', 0, {type: 'number', name: 'Leistung_L3', unit: 'W', read: true, write: false, role: 'value.power'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', 0, {type: 'number', name: 'Spannung_L1', unit: 'V', read: true, write: false, role: 'value.voltage'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', 0, {type: 'number', name: 'Spannung_L2', unit: 'V', read: true, write: false, role: 'value.voltage'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', 0, {type: 'number', name: 'Spannung_L3', unit: 'V', read: true, write: false, role: 'value.voltage'})
                      createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', ' ', {type: 'string', name: 'Seriennummer', read: true, write: false, role: 'state'})
                      
                      on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
                          let obj = {};
                          //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
                          try {obj = JSON.parse(dp.state.val).sn.SM;
                          } catch (e) {
                             console.error('Cannot parse: ' + dp.state.val);
                             return;
                          }
                         
                          setState('0_userdata.0.Hichi_Wifi_IR.Bezug', obj['1_8_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Export', obj['2_8_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', obj['16_7_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', obj['36_7_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', obj['56_7_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', obj['76_7_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', obj['32_7_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', obj['52_7_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', obj['72_7_0'], true);
                          setState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', obj['96_1_0'], true);
                      });
                      

                      Ist der Leerstring so richtig eingepflegt?

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • C ChrisChros

                        habe das Skript angepasst:

                        createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Export', 0, {type: 'number', name: 'Export', unit: 'kWh', read: true, write: false, role: 'value.energy'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', 0, {type: 'number', name: 'Leistung_aktuell', unit: 'W', read: true, write: false, role: 'value.power'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', 0, {type: 'number', name: 'Leistung_L1', unit: 'W', read: true, write: false, role: 'value.power'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', 0, {type: 'number', name: 'Leistung_L2', unit: 'W', read: true, write: false, role: 'value.power'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', 0, {type: 'number', name: 'Leistung_L3', unit: 'W', read: true, write: false, role: 'value.power'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', 0, {type: 'number', name: 'Spannung_L1', unit: 'V', read: true, write: false, role: 'value.voltage'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', 0, {type: 'number', name: 'Spannung_L2', unit: 'V', read: true, write: false, role: 'value.voltage'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', 0, {type: 'number', name: 'Spannung_L3', unit: 'V', read: true, write: false, role: 'value.voltage'})
                        createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', ' ', {type: 'string', name: 'Seriennummer', read: true, write: false, role: 'state'})
                        
                        on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
                            let obj = {};
                            //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
                            try {obj = JSON.parse(dp.state.val).sn.SM;
                            } catch (e) {
                               console.error('Cannot parse: ' + dp.state.val);
                               return;
                            }
                           
                            setState('0_userdata.0.Hichi_Wifi_IR.Bezug', obj['1_8_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Export', obj['2_8_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', obj['16_7_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', obj['36_7_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', obj['56_7_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', obj['76_7_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', obj['32_7_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', obj['52_7_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', obj['72_7_0'], true);
                            setState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', obj['96_1_0'], true);
                        });
                        

                        Ist der Leerstring so richtig eingepflegt?

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

                        @chrischros sagte: Ist der Leerstring so richtig eingepflegt?

                        Das ist zwar ein String mit einem Leerzeichen, ist aber auch in Ordnung.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                        1 Antwort Letzte Antwort
                        0
                        • T ticaki

                          @chrischros

                          ich weiß gerade nicht ob obj im Fehlerfall {} oder undefinied enthält. Das solltest du checken in dem du einen absichtlich Fehler erzeugst. Ansonsten siehts gut aus.

                          Noch was kleinkarriertes, wenn du rolen benutzten willst, hier findest du die richtigen: https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md

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

                          @ticaki sagte: ob obj im Fehlerfall {} oder undefinied enthält.

                          Das spielt keine Rolle, da obj im Fehlerfall nicht ausgewertet wird.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                          T 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @ticaki sagte: ob obj im Fehlerfall {} oder undefinied enthält.

                            Das spielt keine Rolle, da obj im Fehlerfall nicht ausgewertet wird.

                            T Offline
                            T Offline
                            ticaki
                            schrieb am zuletzt editiert von
                            #20

                            @paul53
                            Recht hast du, hab das return übersehen.

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            1 Antwort Letzte Antwort
                            0
                            • C Offline
                              C Offline
                              ChrisChros
                              schrieb am zuletzt editiert von
                              #21

                              Habe nun das Skript mal aktiviert, die neuen Objekte werden erstellt aber es sind nur "0" Werte hinterlegt.

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • C ChrisChros

                                Habe nun das Skript mal aktiviert, die neuen Objekte werden erstellt aber es sind nur "0" Werte hinterlegt.

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

                                @chrischros sagte: es sind nur "0" Werte hinterlegt.

                                Nur bis zum ersten Trigger, wenn das JSON so stimmt, wie angegeben.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                                C 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @chrischros sagte: es sind nur "0" Werte hinterlegt.

                                  Nur bis zum ersten Trigger, wenn das JSON so stimmt, wie angegeben.

                                  C Offline
                                  C Offline
                                  ChrisChros
                                  schrieb am zuletzt editiert von
                                  #23

                                  @paul53
                                  ok, habe festgestellt, dass das Json nicht wirklich aktualisiert wird. Muss ich mal schauen woran das liegt.

                                  1 Antwort Letzte Antwort
                                  0

                                  Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                  Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                  Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                  Registrieren Anmelden
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  254

                                  Online

                                  33.0k

                                  Benutzer

                                  83.4k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2026
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Home
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe