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. EVSE WIFI JSON String mit JS auswerten

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

EVSE WIFI JSON String mit JS auswerten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
5 Beiträge 2 Kommentatoren 687 Aufrufe 1 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.
  • WiednitzW Offline
    WiednitzW Offline
    Wiednitz
    schrieb am zuletzt editiert von
    #1

    Grüße,

    EVSE WIFI Dokumentation

    der Aufruf von http://1xx.1xx.xx.xx/getParameters mit Blockly Request schreibt folgenden JSON String in javascript.0.openEVSE.Parameter:

    {"type":"parameters","list":[{"vehicleState":1,"evseState":false,"maxCurrent":32,"actualCurrent":32,"actualPower":0,"duration":0,"alwaysActive":false,"lastActionUser":"","lastActionUID":"","energy":0,"mileage":0,"meterReading":0,"currentP1":0,"currentP2":0,"currentP3":0}]}
    

    Diesen wollte ich mit Javascript auswerten und die Parameter in einzelne Objekte schreiben:

    on({id: 'javascript.0.openEVSE.Parameter', change: 'any'}, function (obj) {
    
    var obj = JSON.parse(getState('javascript.0.openEVSE.Parameter').val);
    createState('javascript.0.openEVSE.Status');
    setState('javascript.0.openEVSE.Status', obj.vehicleState, true); 
    
    });
    

    Leider ohne Erfolg. Ich vermute es liegt daran, das es ein Multiline JSON ist. Lasse ich "parameters" und "list" weg, findet das Script den Wert von vehicleState.

    Wie kann ich das Script dazu bringen, trotz "parameter" und "list" am Anfang des Strings, die richtigen Werte zu finden ???

    Danke

    paul53P 1 Antwort Letzte Antwort
    0
    • WiednitzW Wiednitz

      Grüße,

      EVSE WIFI Dokumentation

      der Aufruf von http://1xx.1xx.xx.xx/getParameters mit Blockly Request schreibt folgenden JSON String in javascript.0.openEVSE.Parameter:

      {"type":"parameters","list":[{"vehicleState":1,"evseState":false,"maxCurrent":32,"actualCurrent":32,"actualPower":0,"duration":0,"alwaysActive":false,"lastActionUser":"","lastActionUID":"","energy":0,"mileage":0,"meterReading":0,"currentP1":0,"currentP2":0,"currentP3":0}]}
      

      Diesen wollte ich mit Javascript auswerten und die Parameter in einzelne Objekte schreiben:

      on({id: 'javascript.0.openEVSE.Parameter', change: 'any'}, function (obj) {
      
      var obj = JSON.parse(getState('javascript.0.openEVSE.Parameter').val);
      createState('javascript.0.openEVSE.Status');
      setState('javascript.0.openEVSE.Status', obj.vehicleState, true); 
      
      });
      

      Leider ohne Erfolg. Ich vermute es liegt daran, das es ein Multiline JSON ist. Lasse ich "parameters" und "list" weg, findet das Script den Wert von vehicleState.

      Wie kann ich das Script dazu bringen, trotz "parameter" und "list" am Anfang des Strings, die richtigen Werte zu finden ???

      Danke

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

      @Wiednitz:

      on('javascript.0.openEVSE.Parameter', function (dp) {
         let obj = JSON.parse(dp.state.val).list[0];
      

      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

      WiednitzW 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @Wiednitz:

        on('javascript.0.openEVSE.Parameter', function (dp) {
           let obj = JSON.parse(dp.state.val).list[0];
        
        WiednitzW Offline
        WiednitzW Offline
        Wiednitz
        schrieb am zuletzt editiert von
        #3

        @paul53

        Vielen Dank für die schnelle Antwort. Ich habe nicht viel Ahnung von Javascript. Mit Erfolg einfügen konnte ich deine Zeilen bisher leider nicht...

        paul53P 1 Antwort Letzte Antwort
        0
        • WiednitzW Wiednitz

          @paul53

          Vielen Dank für die schnelle Antwort. Ich habe nicht viel Ahnung von Javascript. Mit Erfolg einfügen konnte ich deine Zeilen bisher leider nicht...

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

          @Wiednitz
          Komplett (ich gehe davon aus, dass der Datenpunkt "javascript.0.openEVSE.Status" bereits existiert):

          on('javascript.0.openEVSE.Parameter', function (dp) {
             let obj = JSON.parse(dp.state.val).list[0];
             setState('javascript.0.openEVSE.Status', obj.vehicleState, true);
          });
          

          Beachte: Der Inhalt des JSON-Strings muss sich erst ändern, damit getriggert wird.

          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

          WiednitzW 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @Wiednitz
            Komplett (ich gehe davon aus, dass der Datenpunkt "javascript.0.openEVSE.Status" bereits existiert):

            on('javascript.0.openEVSE.Parameter', function (dp) {
               let obj = JSON.parse(dp.state.val).list[0];
               setState('javascript.0.openEVSE.Status', obj.vehicleState, true);
            });
            

            Beachte: Der Inhalt des JSON-Strings muss sich erst ändern, damit getriggert wird.

            WiednitzW Offline
            WiednitzW Offline
            Wiednitz
            schrieb am zuletzt editiert von
            #5

            @paul53

            Ja Danke, die Änderung war die Ursache, das Script hatte ich so auch probiert. Dachte der Start des Scriptes reicht schon aus.

            Nochmals Vielen Dank !!!

            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

            658

            Online

            32.7k

            Benutzer

            82.4k

            Themen

            1.3m

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

            • Du hast noch kein Konto? Registrieren

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