Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Werte aus JSON in Alias-DP zerlegen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    297

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

Werte aus JSON in Alias-DP zerlegen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 4 Kommentatoren 1.2k Aufrufe 3 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.
  • W wolfi913

    @paul53
    Vielen Dank Paul,
    muss werde mal abchecken, ob das JSON immer in der gleichen Reihenfolge kommt. Brauch daraus nämlich ca. 40 DP.
    Wenn nicht muss ich halt auf Scripts ausweichen.

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

    @wolfi913 sagte: Wenn nicht muss ich halt auf Scripts ausweichen.

    In dem Fall könnte man wahrscheinlich "label" als letzten Teil der Datenpunkt-ID verwenden?

    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
    • W wolfi913

      @paul53
      Vielen Dank Paul,
      muss werde mal abchecken, ob das JSON immer in der gleichen Reihenfolge kommt. Brauch daraus nämlich ca. 40 DP.
      Wenn nicht muss ich halt auf Scripts ausweichen.

      haus-automatisierungH Offline
      haus-automatisierungH Offline
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von haus-automatisierung
      #5

      @wolfi913 sagte in Werte aus JSON in Alias-DP zerlegen:

      muss werde mal abchecken, ob das JSON immer in der gleichen Reihenfolge kommt

      Ansonsten könnte man auch mit .find(...) den entsprechenden Eintrag aus dem Array suchen. z.B.

      parseFloat(JSON.parse(val).find(e => e.name === 'modbus_sunspec_fronius_inverter_12345678_harmonized_power_out').state.split('|').pop())
      

      oder dein ursprünglicher Ansatz auf den link:

      parseFloat(JSON.parse(val).find(e => e.link === 'http://192.168.4.201/rest/items/modbus_sunspec_fronius_inverter_12345678_harmonized_power_out').state.split('|').pop())
      

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      W 1 Antwort Letzte Antwort
      0
      • haus-automatisierungH haus-automatisierung

        @wolfi913 sagte in Werte aus JSON in Alias-DP zerlegen:

        muss werde mal abchecken, ob das JSON immer in der gleichen Reihenfolge kommt

        Ansonsten könnte man auch mit .find(...) den entsprechenden Eintrag aus dem Array suchen. z.B.

        parseFloat(JSON.parse(val).find(e => e.name === 'modbus_sunspec_fronius_inverter_12345678_harmonized_power_out').state.split('|').pop())
        

        oder dein ursprünglicher Ansatz auf den link:

        parseFloat(JSON.parse(val).find(e => e.link === 'http://192.168.4.201/rest/items/modbus_sunspec_fronius_inverter_12345678_harmonized_power_out').state.split('|').pop())
        
        W Online
        W Online
        wolfi913
        schrieb am zuletzt editiert von
        #6

        @haus-automatisierung
        Funktioniert :+1:
        Die erste Variante find ich besser falls sich aus unerfindlichen Gründen mal die IP ändern sollte. Dann müssten da ja die Alias-DP nicht mehr geändert werden.
        @paul53
        Der Ansatz wäre grundsätzlich nicht schlecht. Leider sind aber teilweise die Werte bei label doppelt vorhanden.

        Vielen Dank für Eure Hilfe

        L 1 Antwort Letzte Antwort
        1
        • W wolfi913

          @haus-automatisierung
          Funktioniert :+1:
          Die erste Variante find ich besser falls sich aus unerfindlichen Gründen mal die IP ändern sollte. Dann müssten da ja die Alias-DP nicht mehr geändert werden.
          @paul53
          Der Ansatz wäre grundsätzlich nicht schlecht. Leider sind aber teilweise die Werte bei label doppelt vorhanden.

          Vielen Dank für Eure Hilfe

          L Offline
          L Offline
          Laser
          schrieb am zuletzt editiert von Laser
          #7

          @haus-automatisierung
          Habe einen einfachen Fall: ich möchte erkennen, ob dieser Eintrag (connection lost) vorhanden ist und das auf irgendeine Art im Alias Datenpunkt darstellen.
          So geht es schon mal nicht: JSON.parse(val)."message" oder JSON.parse(val)."connection lost" oder JSON.parse(message).connection lost
          Json:

              "date": "Heute 11:42",
              "severity": "<span class='logError logSeverity'>error</span>",
              "from": "vedirect.0",
              "message": "[2 Einträge] No data received for 10 seconds, connection lost ?",
              "ts": 1714124548068
          
          paul53P 1 Antwort Letzte Antwort
          0
          • L Laser

            @haus-automatisierung
            Habe einen einfachen Fall: ich möchte erkennen, ob dieser Eintrag (connection lost) vorhanden ist und das auf irgendeine Art im Alias Datenpunkt darstellen.
            So geht es schon mal nicht: JSON.parse(val)."message" oder JSON.parse(val)."connection lost" oder JSON.parse(message).connection lost
            Json:

                "date": "Heute 11:42",
                "severity": "<span class='logError logSeverity'>error</span>",
                "from": "vedirect.0",
                "message": "[2 Einträge] No data received for 10 seconds, connection lost ?",
                "ts": 1714124548068
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #8

            @laser
            Typ: "boolean"

            JSON.parse(val).message.includes('connection lost')
            

            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

            L 1 Antwort Letzte Antwort
            2
            • paul53P paul53

              @laser
              Typ: "boolean"

              JSON.parse(val).message.includes('connection lost')
              
              L Offline
              L Offline
              Laser
              schrieb am zuletzt editiert von Laser
              #9

              @paul53 sagte in Werte aus JSON in Alias-DP zerlegen:

              JSON.parse(val).message.includes('connection lost')

              Als Wert steht immer nur "null" da

              Habe den Alias noch mal komplett gelöscht und neu angelegt. Jetzt sieht der Inhalt so aus (?)
              Da muß ich noch etwas probieren, bis das klappt...

              {
                "type": "state",
                "common": {
                  "name": "JSON",
                  "role": "json",
                  "type": "boolean",
                  "read": true,
                  "write": false,
                  "alias": {
                    "id": "logparser.0.filters.vedirect.json",
                    "read": "JSON.parse(val).message.includes('connection lost')"
                  }
                },
                "_id": "alias.0.Logparser.json",
                "native": {},
                "acl": {
                  "object": 1638,
                  "state": 1638,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                },
                "from": "system.adapter.admin.1",
                "user": "system.user.admin",
                "ts": 1714127601731
              
              paul53P 2 Antworten Letzte Antwort
              0
              • L Laser

                @paul53 sagte in Werte aus JSON in Alias-DP zerlegen:

                JSON.parse(val).message.includes('connection lost')

                Als Wert steht immer nur "null" da

                Habe den Alias noch mal komplett gelöscht und neu angelegt. Jetzt sieht der Inhalt so aus (?)
                Da muß ich noch etwas probieren, bis das klappt...

                {
                  "type": "state",
                  "common": {
                    "name": "JSON",
                    "role": "json",
                    "type": "boolean",
                    "read": true,
                    "write": false,
                    "alias": {
                      "id": "logparser.0.filters.vedirect.json",
                      "read": "JSON.parse(val).message.includes('connection lost')"
                    }
                  },
                  "_id": "alias.0.Logparser.json",
                  "native": {},
                  "acl": {
                    "object": 1638,
                    "state": 1638,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "from": "system.adapter.admin.1",
                  "user": "system.user.admin",
                  "ts": 1714127601731
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #10

                @laser
                Ändere besser Zeilen 4 und 5:

                    "name": "Connection lost",
                    "role": "indicator",
                

                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
                1
                • L Laser

                  @paul53 sagte in Werte aus JSON in Alias-DP zerlegen:

                  JSON.parse(val).message.includes('connection lost')

                  Als Wert steht immer nur "null" da

                  Habe den Alias noch mal komplett gelöscht und neu angelegt. Jetzt sieht der Inhalt so aus (?)
                  Da muß ich noch etwas probieren, bis das klappt...

                  {
                    "type": "state",
                    "common": {
                      "name": "JSON",
                      "role": "json",
                      "type": "boolean",
                      "read": true,
                      "write": false,
                      "alias": {
                        "id": "logparser.0.filters.vedirect.json",
                        "read": "JSON.parse(val).message.includes('connection lost')"
                      }
                    },
                    "_id": "alias.0.Logparser.json",
                    "native": {},
                    "acl": {
                      "object": 1638,
                      "state": 1638,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    },
                    "from": "system.adapter.admin.1",
                    "user": "system.user.admin",
                    "ts": 1714127601731
                  
                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #11

                  @laser sagte: Als Wert steht immer nur "null" da
                  Das JSON sieht so aus?

                  {
                      "date": "Heute 11:42",
                      "severity": "<span class='logError logSeverity'>error</span>",
                      "from": "vedirect.0",
                      "message": "[2 Einträge] No data received for 10 seconds, connection lost ?",
                      "ts": 1714124548068
                  }
                  

                  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

                  L 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @laser sagte: Als Wert steht immer nur "null" da
                    Das JSON sieht so aus?

                    {
                        "date": "Heute 11:42",
                        "severity": "<span class='logError logSeverity'>error</span>",
                        "from": "vedirect.0",
                        "message": "[2 Einträge] No data received for 10 seconds, connection lost ?",
                        "ts": 1714124548068
                    }
                    
                    L Offline
                    L Offline
                    Laser
                    schrieb am zuletzt editiert von Laser
                    #12

                    @paul53 Das JSON:

                    [
                      {
                        "date": "Heute 12:42",
                        "severity": "<span class='logError logSeverity'>error</span>",
                        "from": "vedirect.0",
                        "message": "[10 Einträge] No data received for 10 seconds, connection lost ?",
                        "ts": 1714128144018
                      },
                      {
                        "date": "Heute 11:51",
                        "severity": "<span class='logError logSeverity'>error</span>",
                        "from": "sourceanalytix.0",
                        "message": "[calculationHandler] reading incorrect after conversion contact DEV and provide these info | Reading",
                        "ts": 1714125078042
                      }
                    ]
                    
                    paul53P 1 Antwort Letzte Antwort
                    0
                    • L Laser

                      @paul53 Das JSON:

                      [
                        {
                          "date": "Heute 12:42",
                          "severity": "<span class='logError logSeverity'>error</span>",
                          "from": "vedirect.0",
                          "message": "[10 Einträge] No data received for 10 seconds, connection lost ?",
                          "ts": 1714128144018
                        },
                        {
                          "date": "Heute 11:51",
                          "severity": "<span class='logError logSeverity'>error</span>",
                          "from": "sourceanalytix.0",
                          "message": "[calculationHandler] reading incorrect after conversion contact DEV and provide these info | Reading",
                          "ts": 1714125078042
                        }
                      ]
                      
                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #13

                      @laser sagte: Das JSON:

                      Das ist ein Array. Lesekonvertierung:

                      JSON.parse(val)[0].message.includes('connection lost')
                      

                      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

                      L 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

                        @laser sagte: Das JSON:

                        Das ist ein Array. Lesekonvertierung:

                        JSON.parse(val)[0].message.includes('connection lost')
                        
                        L Offline
                        L Offline
                        Laser
                        schrieb am zuletzt editiert von Laser
                        #14

                        @paul53 Ich hatte gehofft, mit dem Logparser komfortabel bestimme Fehlermeldungen des VE-Adapters im Log detektieren zu können.
                        Das generierte JSON dann auf die Fehlermeldung durchsuchen. Mit Hilfe eines Alias. Das wird aber einfach nichts!

                        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

                        832

                        Online

                        32.5k

                        Benutzer

                        81.9k

                        Themen

                        1.3m

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

                        • Du hast noch kein Konto? Registrieren

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