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. Verständnis parser Adapter und Script

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    137

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    173

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    872

Verständnis parser Adapter und Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 2 Kommentatoren 431 Aufrufe
  • Ä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.
  • F Offline
    F Offline
    f0rd42
    schrieb am zuletzt editiert von
    #1

    Hi

    Ich habe hier glaube ich ein Verständnis Problem in Bezug auf den Parser Adapter und ein dazu passenden Script.

    Ich kann hier eine Pumpensteuerung per json auslesen. Ergebnis:

    {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.119.28"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":22.54},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":21.3},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":21.6},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"91:b:47:e3:50:cc","Homematic_CCU_ip":"192.168.119.27","WLAN_ssid":"LAN-Solo","WLAN_Signal_dBm":-37,"sec_seit_reset":1610,"zeitpunkt":"2019-01-23 15:22:55","firmware":"wiffi_pump2_90"}}
    

    Dazu habe ich viewtopic.php?f=21&t=13812&hilit=wiffipump auch ein passendes Script gefunden, welches bei mir nun so aussieht:

    var idJson = "parser.0.WiffiPump";
    var state1 = "javascript.0.WiffiPump.T1";
    var state2 = "javascript.0.WiffiPump.T2"; 
    var state3 = "javascript.0.WiffiPump.T3"; 
    var state4 = "javascript.0.WiffiPump.On"; 
    
    createState(state1, {name: "T1", unit: "°C"});
    createState(state2, {name: "T2", unit: "°C"});
    createState(state3, {name: "T3", unit: "°C"});
    createState(state4, {name: "On",});
    
    function werteAuslesen(jsonStr) {
        var myJson = JSON.parse(jsonStr);
        var T1 = myJson.vars[1].value;
        var T2 = myJson.vars[2].value;
        var T3 = myJson.vars[3].value;
        var On = myJson.vars[4].value;
        log("wiffiPumpT1: " + T1 + "°C");
        log("wiffiPumpT2: " + T2 + "°C");
        log("wiffiPumpT3: " + T3 + "°C");
        log("wiffiPumpOn: " + On);
        setState(state1, T1); 
        setState(state2, T2); 
        setState(state3, T3);
        setState(state4, On);
    }
    
    on({id:idJson,change:'ne'}, function (obj) {
        werteAuslesen(obj.state.val);
    });
    
    

    Soweit, so gut. Jedoch bin ich mir ziemlich sicher, dass ich dazu im Parser auch noch etwas konfigurieren muss ;) , einfach nur den Adapter installieren reicht ja nicht …..

    Kann mir da jemand von Euch auf die Sprünge helfen? Ich habe die Frage auch im o.g. Thread schon gepostet, aber man weiss ja, wie das ist mit den alten Threads .....

    PS: Die Variablen werden in den Objekten unter javascript.0.WiffiPump auch angelegt (macht ja das script), aber nicht mit "Leben" gefüllt.

    1 Antwort Letzte Antwort
    0
    • Lenny.CBL Offline
      Lenny.CBL Offline
      Lenny.CB
      Most Active
      schrieb am zuletzt editiert von
      #2

      @f0rd42:

      {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.119.28"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":22.54},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":21.3},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":21.6},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"91:b:47:e3:50:cc","Homematic_CCU_ip":"192.168.119.27","WLAN_ssid":"LAN-Solo","WLAN_Signal_dBm":-37,"sec_seit_reset":1610,"zeitpunkt":"2019-01-23 15:22:55","firmware":"wiffi_pump2_90"}}
      ```` `  
      

      wo liegt dein JSON?

      sollte hier sein:

      "parser.0.WiffiPump"
      

      probier mal:

      `var idJson = getState("parser.0.WiffiPump").val;
      
      function werteAuslesen() {
          var myJson = JSON.parse(idJson);
      
          for (i=0; i<(myJson.vars.length); i++){
              log(myJson.vars[i].homematic_name + ": " + myJson.vars[i].value);
          }
      }
      
      on({id: 'javascript.0.WiffiPump.json', change: "ne"}, function (obj) {
          werteAuslesen();
      });`[/i][/i]
      
      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        f0rd42
        schrieb am zuletzt editiert von
        #3

        Hi Lenny

        ja, liegt da, aber was genau konfiguriere ich im Parser.0.WiffiPump?

        ~~![](</s><URL url=)https://cdn.pbrd.co/images/HXNgDYW.png" />

        bin mir ziemlich sicher, dass meine Konfiguration falsch ist und dort einiges fehlt …...~~

        1 Antwort Letzte Antwort
        0
        • Lenny.CBL Offline
          Lenny.CBL Offline
          Lenny.CB
          Most Active
          schrieb am zuletzt editiert von
          #4

          Ich arbeite nicht mit dem parse-Adapter. Aber müsste da nicht nen Intervall angegeben werden? Der Typ müsste auch "string" sein, denke ich.

          1 Antwort Letzte Antwort
          0
          • F Offline
            F Offline
            f0rd42
            schrieb am zuletzt editiert von
            #5

            @Lenny.CB:

            Ich arbeite nicht mit dem parse-Adapter. Aber müsste da nicht nen Intervall angegeben werden? Der Typ müsste auch "string" sein, denke ich. `

            Das war es … Typ String ..... mal wieder zu kompliziert gedacht, ich dachte ich müsste für jeden Wert eine RegEx anlegen ....

            Danke

            1 Antwort Letzte Antwort
            0
            • Lenny.CBL Offline
              Lenny.CBL Offline
              Lenny.CB
              Most Active
              schrieb am zuletzt editiert von
              #6

              @f0rd42:

              @Lenny.CB:

              Ich arbeite nicht mit dem parse-Adapter. Aber müsste da nicht nen Intervall angegeben werden? Der Typ müsste auch "string" sein, denke ich. `

              Das war es … Typ String ..... mal wieder zu kompliziert gedacht, ich dachte ich müsste für jeden Wert eine RegEx anlegen ....

              Danke `
              super, du kannst die Daten auch im Script holen. Den Parser brauchst dann nicht. Sind 2 Zeilen mehr im Script.

              Im Grunde fragt der Parser-Adapter im eingestellten Intervall die eingestellte IP ab und speichert das json. Mit dem Script triggertst du auf Änderung des Datenpunkt.

              Das hier sollte das Gleiche tun, ohne Parse-Adapter (kanns leider nicht testen):```
              `var request = require('request');
              var url = 'http://192.168.119.28/json';

              function abfrage() {
              request(url, function (error, response, body) {
              myJson = JSON.parse(body);
              });
              for (i=0; i<(myJson.vars.length); i++){
              log(myJson.vars[i].homematic_name + ": " + myJson.vars[i].value);
              // hier noch die setState Sachen rein...
              // setState('javascript.0.WiffiPump.' + myJson.vars[i].homematic_name, myJson.vars[i].value, true);
              }
              }
              schedule("*/1 * * * *", abfrage);
              abfrage();` Im Grunde fragt der Parser-Adapter im eingestellten Intervall die eingestellte IP ab und speichert das json. Mit dem Script triggertst du auf Änderung des Datenpunkt.

              Das kannst auch in dem Script zusammen machen.[/i][/i][/i][/i]

              1 Antwort Letzte Antwort
              0
              • F Offline
                F Offline
                f0rd42
                schrieb am zuletzt editiert von
                #7

                cool, danke!

                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

                709

                Online

                32.8k

                Benutzer

                82.7k

                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