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.
    • P
      pix last edited by

      Hallo,

      poste die JSON Ausgabe des Wiffi hier, dann kann man helfen, auch wenn man selbst keinen Wiffi Pump hat.

      Gruß

      Pix

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

        Ich dachte, daß es mit dem Inhalt weniger zu tun hat, als generell mit der Vorgehensweise.

        
        modultyp	"wiffi-pump"
        vars	
        0	
        name	"0"
        homematic_name	"wiffi_pump_ip"
        desc	"ip des wiffi-pump"
        type	"string"
        unit	""
        value	"192.168.178.43"
        1	
        name	"4"
        homematic_name	"wiffi_ntc"
        desc	"Temperatur_NTC"
        type	"number"
        unit	"%"
        value	26.57
        2	
        name	"2"
        homematic_name	"wiffi_ww_temp"
        desc	"Temperatur_A"
        type	"number"
        unit	"gradC"
        value	24
        3	
        name	"3"
        homematic_name	"wiffi_vorlauftemp"
        desc	"Temperatur_B"
        type	"number"
        unit	"gradC"
        value	24
        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	-50
        sec_seit_reset	1786
        zeitpunkt	" 7 16:06"
        firmware	"wiffi_pump2_88"
        
        1 Reply Last reply Reply Quote 0
        • 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

                                      927
                                      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