Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Abfrage Wiffi Pump

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Abfrage Wiffi Pump

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      robsdobs last edited by

      Das ist kein gültiges JSON. Ist das aus dem Browser heraus kopiert?

      1 Reply Last reply Reply Quote 0
      • Jensen
        Jensen last edited by

        Ja, direkt aus dem Browser.

        Wobei ich gesehen habe, daß einige Doppelpunkte fehlen.

        Ich habe versucht, irgendwas mit einem abgewandelten Script aus dem Forum (Pegelstände) zu bekommen, da klappt nichts.

        Mit dem Parser Adapter bekomme ich mittlerweile einen Datenpunkt mit folgendem Inhalt:

        {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.43"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":25.90},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":23.6},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":23.4},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"ea:c8:37:94:1:60","Homematic_CCU_ip":"my_ccuip","WLAN_ssid":"WLAN-JN","WLAN_Signal_dBm":-49,"sec_seit_reset":46,"zeitpunkt":" 5 08:28","firmware":"wiffi_pump2_88"}}

        Aber was mache ich jetzt damit?

        1 Reply Last reply Reply Quote 0
        • ruhr70
          ruhr70 last edited by

          probiere mal bitte nur log und nicht console.log

          var request = require('request');
          request('http://192.168.178.43/json:', function (error, response, body) {
            log('error:', error); // Print the error if one occurred
            log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
            log('body:', body); // Print the HTML
          });
          
          1 Reply Last reply Reply Quote 0
          • ruhr70
            ruhr70 last edited by

            @Jensen:

            Ja, direkt aus dem Browser.

            Wobei ich gesehen habe, daß einige Doppelpunkte fehlen.

            Ich habe versucht, irgendwas mit einem abgewandelten Script aus dem Forum (Pegelstände) zu bekommen, da klappt nichts.

            Mit dem Parser Adapter bekomme ich mittlerweile einen Datenpunkt mit folgendem Inhalt:

            {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.43"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":25.90},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":23.6},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":23.4},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"ea:c8:37:94:1:60","Homematic_CCU_ip":"my_ccuip","WLAN_ssid":"WLAN-JN","WLAN_Signal_dBm":-49,"sec_seit_reset":46,"zeitpunkt":" 5 08:28","firmware":"wiffi_pump2_88"}}

            Aber was mache ich jetzt damit? `

            Der Datenpunkt enthält ein sauberes JSON, welches Du nun wunderbar mit einem Skript verarbeiten und in einzelne Datenpunkte die gewünschten Werte schreiben kannst.

            Dann würde ich an Deiner Stelle auf dieser Basis weitermachen.

            327_json_wifi.png

            1 Reply Last reply Reply Quote 0
            • R
              robsdobs last edited by

              War zu langsam

              1 Reply Last reply Reply Quote 0
              • Jensen
                Jensen last edited by

                Also die Sache mit request klappt nicht, egal ob Console.Log oder nur Log.

                Ich werde mich jetzt mit dem Inhalt des Datenpunktes beschäftigen.

                Gibt's da vielleicht noch Beispiele irgendwo?

                Allen Danke für die Hilfe

                Gruß Jens

                1 Reply Last reply Reply Quote 0
                • ruhr70
                  ruhr70 last edited by

                  @Jensen:

                  Also die Sache mit request klappt nicht, egal ob Console.Log oder nur Log.

                  Ich werde mich jetzt mit dem Inhalt des Datenpunktes beschäftigen.

                  Gibt's da vielleicht noch Beispiele irgendwo? `

                  probier mal bitte:

                  var idJson ="parser.o.deinJson";
                  
                  function werteAuslesen(jsonStr) {
                      var myJson = JSON.parse(jsonStr);
                      log("wiffi_vorlauftemp: ",myJson.vars[3].value + "°C");
                  }
                  
                  on({id:idJson,change:'ne'}, function (obj) {
                      werteAuslesen(obj.state.val);
                  });
                  
                  werteAuslesen(getState(idJson).val);
                  
                  

                  In der Zeile:

                  var idJson ="parser.o.deinJson";
                  

                  Muss die ID Deines Datenpunkts vom Parseradapter rein.

                  1 Reply Last reply Reply Quote 0
                  • Jensen
                    Jensen last edited by

                    Prima, danke, damit kann ich arbeiten.

                    1 Reply Last reply Reply Quote 0
                    • Jensen
                      Jensen last edited by

                      So sieht mein derzeitiges script aus. Damit lassen sich die relevanten Daten des WiffiPump abfragen.

                      Das Aktualisierungsintervall entspricht im Moment dem, was im Parser Adapter eingestellt ist.

                      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);
                      });
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • ruhr70
                        ruhr70 last edited by

                        @Jensen:

                        So sieht mein derzeitiges script aus. Damit lassen sich die relevanten Daten des WiffiPump abfragen.

                        Das Aktualisierungsintervall entspricht im Moment dem, was im Parser Adapter eingestellt ist.

                        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);
                        });
                        
                        ```` `  
                        

                        danke fürs teilen!

                        Gesendet von iPhone mit Tapatalk

                        1 Reply Last reply Reply Quote 0
                        • Jensen
                          Jensen last edited by

                          Und hier dann gleich noch für Wiffi WZ, vom gleichen Anbieter.

                          Auch eine interessante Sensorplatine.

                          var idJson = "parser.1.WiffiWZ";
                          var state01 = "javascript.0.WiffiWZ.CO2";
                          var state02 = "javascript.0.WiffiWZ.Temp"; 
                          var state03 = "javascript.0.WiffiWZ.Feuchte"; 
                          var state04 = "javascript.0.WiffiWZ.Taupunkt"; 
                          var state05 = "javascript.0.WiffiWZ.Absolutfeuchte"; 
                          var state06 = "javascript.0.WiffiWZ.Luftdruck"; 
                          var state07 = "javascript.0.WiffiWZ.Helligkeit"; 
                          var state08 = "javascript.0.WiffiWZ.MotionLinks"; 
                          var state09 = "javascript.0.WiffiWZ.MotionRechts"; 
                          var state10 = "javascript.0.WiffiWZ.Noise"; 
                          var state11 = "javascript.0.WiffiWZ.SecSinceReset"; 
                          
                          createState(state01, {name: "CO2", unit: "%"});
                          createState(state02, {name: "Temp", unit: "°C"});
                          createState(state03, {name: "Feuchte", unit: "%rH"});
                          createState(state04, {name: "Taupunkt", unit: "°C"});
                          createState(state05, {name: "Absolutfeuchte", unit: "g/m3"});
                          createState(state06, {name: "Luftdruck", unit: "mB"});
                          createState(state07, {name: "Helligkeit", unit: "lux"});
                          createState(state08, {name: "MotionLinks"});
                          createState(state09, {name: "MotionRechts"});
                          createState(state10, {name: "Noise"});
                          createState(state11, {name: "SecSinceReset", unit: "sec"});
                          
                          function werteAuslesen(jsonStr) {
                              var myJson = JSON.parse(jsonStr);
                              var v01 = myJson.vars[1].value;
                              var v02 = myJson.vars[2].value;
                              var v03 = myJson.vars[3].value;
                              var v04 = myJson.vars[4].value;
                              var v05 = myJson.vars[5].value;
                              var v06 = myJson.vars[6].value;
                              var v07 = myJson.vars[8].value;
                              var v08 = myJson.vars[9].value;
                              var v09 = myJson.vars[10].value;
                              var v10 = myJson.vars[12].value;
                              var v11 = myJson.Systeminfo.millis_seit_reset/1000;
                              setState(state01, v01); 
                              setState(state02, v02); 
                              setState(state03, v03);
                              setState(state04, v04);
                              setState(state05, v05);
                              setState(state06, v06);
                              setState(state07, v07);
                              setState(state08, v08);
                              setState(state09, v09);
                              setState(state10, v10);
                              setState(state11, v11);
                              log("WiffiWZ CO2: " + v01 + "%");
                          }
                          
                          on({id:idJson,change:'ne'}, function (obj) {
                              werteAuslesen(obj.state.val);
                          });
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            @Jensen:

                            für Wiffi WZ `
                            siehe hier:

                            viewtopic.php?f=34&t=2688&hilit=wiffi+skript

                            Gruß

                            Rainer

                            1 Reply Last reply Reply Quote 0
                            • F
                              f0rd42 last edited by

                              Sorry wenn ich den Thread noch mal auskrame.

                              Mir ist nicht so ganz klar, was ich denn beim Parser machen muss.

                              Derzeit habe ich den Parser installiert und den Endpunkt eingegeben:

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

                              als Script habe ich das letzte aus dem Thread genutzt:

                              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);
                              });
                              
                              

                              in den Objekten sehe ich nun auch unter javascript.0.WiffiPump die Objekte "ON", T1, T2 und T3

                              aber ein Update der Variablen findet nicht statt.

                              Ich denke mal ich habe hier im Parser noch was falsch, habe mich aber noch null damit beschäftigt.

                              Danke~~

                              1 Reply Last reply Reply Quote 0
                              • Jensen
                                Jensen last edited by

                                Hallo,

                                so wirklich kann ich nicht helfen, wundere mich fast über mich selbst, wenn ich die Beiträge durchscrolle, daß die von mir sind.

                                Aber schau' mal, weiter oben sind solche Log Zeilen mit drin, vielleicht kommst du damit dem Problem auf die Schliche?

                                Gruß Jens

                                1 Reply Last reply Reply Quote 0
                                • F
                                  f0rd42 last edited by

                                  Hallo Jens

                                  Kannst du mir mal einen Screenshot von deinen Parser Einstellungen schicken?

                                  Gesendet von iPhone mit Tapatalk

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  942
                                  Online

                                  31.9k
                                  Users

                                  80.2k
                                  Topics

                                  1.3m
                                  Posts

                                  6
                                  18
                                  1506
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo