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

      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

                                    930
                                    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