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

      Hallo zusammen,

      ich versuche krampfhaft die Json Ausgabe von Wiffi Pump (https://www.stall.biz/project/wiffi-pum … berwachung) in den ioBroker zu bekommen, aber scheitere jämmerlich.

      Mit http://192.168.178.43/json: bekomme ich eine Ausgabe im Browser.

      Aber dieses script

          var request = require('request');
          request('http://192.168.178.43/json:', function (error, response, body) {
            console.log('error:', error); // Print the error if one occurred
            console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
            console.log('body:', body); // Print the HTML
          });
      
      

      liefert nichts.

      Was mache ich falsch?

      Danke und Gruß

      Jens

      1 Reply Last reply Reply Quote 0
      • 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

                                        939
                                        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