Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • mcm1957
      mcm1957 @Linedancer last edited by

      @linedancer

      Danke f.d. Info.
      Der Adapter benötigt nur einige Anpassungen da er z.B. noch deprecated Funktionen verwendet die mit dem nächsten major Release entfernt werden. Wenn Interesse existiert (und so sieht es aus) werde ich eine Migration einplanen. Das wird KEIN neuer Adapter und es wird auch auch keine Änderungen an den States geben. Es würde / wird nur das Repository verlegt damit ein Wartungszugriff möglich wird.

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @ufelet last edited by

        @ufelet erst einmal zur Klarstellung:
        Was du da machst geht an der Aufgabe des Adapters vorbei!
        Wenn's klappt ist gut, wenn nicht würde ich sagen: ist so!

        Da wir aber alle kleine Bastler sind, finde ich das Projekt interessant.
        Deswegen habe ich dir gestern den Link zum Adapter Readme auf github geschickt.

        Deine Sensoren erfüllen demnach nicht die Voraussetzungen um mit dem Adapter funktionieren zu können.

        @ufelet sagte in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

        Eugen kann doch nicht der Einzige sein.

        doch! Der Adapter ist ja für seine Geräte geschrieben worden!


        Ansonsten:

        @ufelet sagte in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

        Ich habe gestern auch Dr. Stall (Eugen - vy73) geschrieben

        wer, wo ist das denn?
        Eugen läuft unter @funkleuchtturm, war hier allerdings zuletzt 2018 unterwegs.

        im Homematic Forum dürftest du eher Glück haben

        F U 2 Replies Last reply Reply Quote 0
        • F
          funkleuchtturm @Homoran last edited by

          @homoran
          Hallo, der wiffi wz adapter kann nicht nur für den alten wiffi wz sondern auch für die aktuellen Module verwendet werden.
          Ich bekomme oft Anfragen, wie eine Integration insbesondere meiner Wetterstation (Weatherman 2) unter IObroker gemacht werden kann und dann verweise ich gerne auf dieses Forum.
          Der aktuelle Weatherman kann auch Mqtt insbesondere für Homeassistant und wäre damit sicher auch über diesen alternativen Weg in Iobroker einzubinden.
          Würde mich freuen, wenn ihr den wiffi wz Adapter nicht herausnehmt.

          Homoran 1 Reply Last reply Reply Quote 1
          • U
            ufelet @Homoran last edited by

            @homoran

            Ich wusste nicht, dass Dr. Stall auch hier unter funkleuchtturm angemeldet ist. Ihn mit Vornamen anzusprechen ist zwar unter Funkamateuren so üblich, deshalb eine gebräuchliche Abkürzung unter Funkamateuren für viel Grüße, im Forum steht mir allerdings das Recht nicht zu ihn zu duzen.
            Die Readme hat nur noch meine Annahme bestätigt, dass die Sensoren ihre Daten an den Adapter senden und nicht vom Adapter abgefragt werden. Zum Protokoll ist nichts gesagt.
            Inzwischen bin ich der Überzeugung, dass ich hier ganz bestimmt keine Antwort auf meine Frage erhalten werde.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @funkleuchtturm last edited by

              @funkleuchtturm Hallo Eugen!
              schön von dir hier zu hören.
              Hoffentlich geht's dir gut.

              @funkleuchtturm sagte in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

              Würde mich freuen, wenn ihr den wiffi wz Adapter nicht herausnehmt.

              ich hoffe, der bleibt!
              ich nutze ihn ja auch.

              Aber hier ist gerade die umgekehrte Herausforderung!
              @ufelet hat selbstgebastelte Sensoren, die er dem Adapter als WIFFIs verkaufen will.

              Da bräuchte er Infos wie die notwendige Datenstruktur auf Sensorseite se7n muss.

              crunchip 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @ufelet last edited by Homoran

                @ufelet sagte in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

                Die Readme hat nur noch meine Annahme bestätigt, dass die Sensoren ihre Daten an den Adapter senden und nicht vom Adapter abgefragt werden.

                ja, deswegen hab ich es dir ja verlinkt!
                mit ausführlicher Erklärung

                @homoran sagte in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

                So!
                habe mich nach Jahren nochmal eingearbeitet.
                Anscheinend kann der Adapter auch an iobroker pushen.
                Das hatte ich nie genutzt, weil mein wiffi an die CCU gepusht hat, und ich von iob gepullt habe.
                pushen an 2 clients geht nicht!
                Die Pull option hat Eugen damals für ioBroker "nachgerüstet"

                bevor es den Adapter gab, gab es das folgende Skript

                //var request = require("request");
                
                var pfad    = "WIFFI" + ".";
                var url     = 'http://192.168.123.45/?json:';
                
                
                
                // TODO:
                //
                
                
                function timeLastData() {
                   return formatDate(new Date(), "DD.MM, hh:mm:ss");
                }
                
                function parseJson(text) {
                   if (text === "") return {};
                   try {
                       json = JSON.parse(text);
                   } catch (ex) {
                       json = {};
                   }
                   if(!json) json = {};
                   return json;
                }
                
                function readJson(url, callback) {
                   httpGet(url, function (err, response, state){
                       if (response.data) {
                           var json = parseJson(response.data);
                           callback(null, json);
                       } else {
                           var error = "(" + err + ") ERROR bei Abfrage 33 von: " + url;
                           log(error, "warn");  
                           callback(error, null);
                       }
                   });
                }
                
                
                
                function readVars() {
                   readJson(url, function(err,json) {
                       if(!err) {
                           var myJson = json;
                           var dPname, init;
                           var anzahlVars = myJson.vars.length;
                           for (var i = 1; i < anzahlVars; i++) {
                               if(myJson.vars[i].homematic_name) {
                              dPname = pfad + myJson.vars[i].homematic_name;
                              init = myJson.vars[i].value;
                              setState(dPname, init,true);
                           }
                           }
                           for (var systeminfo in myJson.Systeminfo) {
                               dPname = pfad + "Systeminfo." + systeminfo;
                               init = myJson.Systeminfo[systeminfo];
                               setState(dPname, init ,true);
                           }
                           setState(pfad + "LetzteAbfrage",timeLastData(),true);
                           var statusNe = getState(pfad + "Last_State_Count").val;
                           if (statusNe < 0) {
                               setState(pfad + "Last_State_Count",0,true);
                           } else {
                               setState(pfad + "Last_State_Count",statusNe + 1,true);
                           }
                           log("WIFFI Daten aktualisiert: " + url,"debug");
                       } else {
                           log("Fehler beim Auslesen des JSON 69. Keine Daten erhalten.","warn");
                           if (statusNe > 0) {
                               setState(pfad + "Last_State_Count",0,true);
                           } else {
                               setState(pfad + "Last_State_Count",statusNe - 1,true);
                           }
                       }
                   });
                }
                
                
                function createDpFromJson(myJson) {
                   var dPname = "";
                   var name = "";
                   var forceCreation = false;
                   var common;
                   var init;
                   var type, desc, unit;
                   var anzahlVars = myJson.vars.length;
                   for (var i = 1; i < anzahlVars; i++) {
                       dPname = pfad + myJson.vars[i].homematic_name;
                       init = myJson.vars[i].value;
                       type = myJson.vars[i].type;
                       desc = myJson.vars[i].desc;
                       name = desc;
                       unit = myJson.vars[i].unit.replace('grad','°');
                       common = '{"desc":"' + desc + '","type":"' + type + '","unit":"' + unit + '","role":"value"' +',"name":"' + name + '"}'; 
                       common = JSON.parse(common);
                       //createState(dPname, init , forceCreation, common);
                       if(myJson.vars[i].homematic_name) createState(dPname, init , forceCreation, common);
                       //createState(dPname, init);
                       log("neuer Datenpunkt: " + dPname + ": " + init +", common: " + common,"info");
                   }
                   for (var systeminfo in myJson.Systeminfo) {
                       dPname = pfad + "Systeminfo." + systeminfo;
                       init = myJson.Systeminfo[systeminfo];
                       common = '{"name":"'+systeminfo+'","desc":"'+systeminfo+'","role":"value"}';
                       common = JSON.parse(common);
                       log("neuer Datenpunkt: " + dPname + ": " + init +", common: " + common,"info");
                       createState(dPname, init , forceCreation, common);
                   }
                   createState(pfad + "System.Modultyp",myJson.modultyp);
                   createState(pfad + "System.url",url.replace("json:","xpert:0:"));
                   createState(pfad + "Last_State_Count",0,true);
                   createState(pfad + "LetzteAbfrage"  ,timeLastData());
                   createState(pfad + "Skriptstart"    ,timeLastData()),true;
                   createState(pfad + "Control_GetData",false,true,        {"name":"Daten mit true manuell abrufen","type":"boolean","role":"value"});
                }
                
                
                
                function createDp() {
                   readJson(url, function (err,json) {
                       if(!err) {
                           var myJson = json;
                           createDpFromJson(myJson);
                           log("WIFFI Datenpunkte angelegt/aktualisiert");
                       } else {
                           log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","error");
                           log("Keine Datenpunkte angelegt. Skript beendet","error");
                           return;
                       }
                   });
                }
                
                function createOn() {
                   var dpId = "javascript." + instance + "." + pfad + "Control_GetData"; 
                   on({id: dpId ,change:'any'}, function (obj) {
                       log(obj.state.val,"warn");
                       if(obj.state.val) {
                           readVars();
                       }
                   });
                
                   schedule("*/4 * * * *", function () { // alle 4 Minute die Werte abfragen
                       readVars();
                   });
                
                }
                
                
                function main() {
                   readVars();
                }
                
                
                // Skriptstart
                
                createDp();
                setTimeout(createOn,    3000);
                setTimeout(main,        3000);
                
                

                Was Eugen in seinen Wiffis zum pushen programmiert hat weiß ich nicht.
                Der Header war anscheinend nur für die CCU notwendig. Zu ioBroker wird IMHO nur das JSON geschickt

                @ufelet sagte in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

                Inzwischen bin ich der Überzeugung, dass ich hier ganz bestimmt keine Antwort auf meine Frage erhalten werde.

                wieso nicht?
                wende dich doch vertrauensvoll an deinen Vorposter

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

                  @funkleuchtturm said in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

                  @homoran
                  Hallo, der wiffi wz adapter kann nicht nur für den alten wiffi wz sondern auch für die aktuellen Module verwendet werden.
                  Ich bekomme oft Anfragen, wie eine Integration insbesondere meiner Wetterstation (Weatherman 2) unter IObroker gemacht werden kann und dann verweise ich gerne auf dieses Forum.
                  Der aktuelle Weatherman kann auch Mqtt insbesondere für Homeassistant und wäre damit sicher auch über diesen alternativen Weg in Iobroker einzubinden.
                  Würde mich freuen, wenn ihr den wiffi wz Adapter nicht herausnehmt.

                  Danke für dein Feedback.

                  Um im Fehlerfall besser eingreifen zu können bzw. den Code besser zu verstehen eine Frage:
                  Ist das Format der gesendeten JSON Blöcke irgendwo dokumentiert? Es kann natürlich aus dem Adaptercode rekonstruiert werden - weniger Aufwand wär's allerdings wenn es eine (auch nur minimalistische) Doku dazu gäbe. Auch wäre es mit Doku leichter möglich für Testzwecke simulierte Blöcke zu senden.

                  Und da der Adapter offensichtlich benutzt wird wird er zu 99% nicht enfernt sondern nur soweit Zeit vorhanden und zwingender Bedarf gegeben ist aktualisisert werden.

                  1 Reply Last reply Reply Quote 1
                  • bahnuhr
                    bahnuhr Forum Testing Most Active last edited by

                    @mcm1957
                    Ist die Doku auf git nicht ausreichend ?
                    https://github.com/t4qjXH8N/ioBroker.wiffi-wz?tab=readme-ov-file
                    und darin verlinkt:
                    https://www.stall.biz/project/der-wiffi-wz-2-0-der-wohnzimmersensor/

                    Da steht schon vieles drin.

                    1 Reply Last reply Reply Quote 2
                    • mcm1957
                      mcm1957 last edited by

                      @bahnuhr said in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

                      @mcm1957
                      Ist die Doku auf git nicht ausreichend ?
                      https://github.com/t4qjXH8N/ioBroker.wiffi-wz?tab=readme-ov-file
                      und darin verlinkt:
                      https://www.stall.biz/project/der-wiffi-wz-2-0-der-wohnzimmersensor/

                      Da steht schon vieles drin.

                      Ich habe da aufs erste mal keine Dokumentation der JSON Datenpakete gefunden. Wenn du sie wo gesehen hast, bitte sag mir wo.

                      bahnuhr 1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active @mcm1957 last edited by

                        @mcm1957
                        Habe den Wiffi schon lange nicht mehr.
                        Für mich waren die Punkte damals klar.

                        mcm1957 1 Reply Last reply Reply Quote 0
                        • mcm1957
                          mcm1957 @bahnuhr last edited by

                          @bahnuhr
                          Es geht mir NICHT um die States die der Adapter anlegt. Da der Adapter nicht mehr gewartet ist plane ich ihn in den iobroker-community Bereich zu übernehmen. Um den Adapetr längerfristig warten zu können ist es allerdings notwendig zu verstehen wie die Daten "auf der Leitung" übermittelt werden - sprich wie die Datenpakate / json Pakete aussehen.

                          Auch zum Testen des Adapters ist es notwendig simulierte Pakate senden zu können - und dazu muss deren Format un Inhalt bekannt sein.

                          Das ist das Ziel meiner Frage nach einer Doku.

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @mcm1957 last edited by Homoran

                            @mcm1957 sagte in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

                            wie die Datenpakate / json Pakete aussehen.

                            {"modultyp":"wiffi-wz","vars":[{"name":"0","homematic_name":"wz_ip","desc":"ip des wiffi-wz","type":"string","unit":"","value":"192.168.123.45"},{"name":"1","homematic_name":"wz_co2","desc":"Luftqualitaet","type":"number","unit":"%","value":76},{"name":"2","homematic_name":"wz_temp","desc":"Temperatur","type":"number","unit":"gradC","value":20.0},{"name":"3","homematic_name":"wz_feuchte","desc":"Luftfeuchte","type":"number","unit":"%","value":67.2},{"name":"19","homematic_name":"wz_taupunkt","desc":"Taupunkt","type":"number","unit":"gradC","value":13.7},{"name":"18","homematic_name":"wz_feuchte_abs","desc":"Absolutfeuchte","type":"number","unit":"g/m3","value":11.6},{"name":"9","homematic_name":"wz_baro","desc":"Luftdruck","type":"number","unit":"mB","value":1002.23},{"name":"5","homematic_name":"wz_luftdrucktrend","desc":"Luftdrucktrend","type":"string","unit":"","value":"fallend"},{"name":"8","homematic_name":"wz_lux","desc":"Helligkeit","type":"number","unit":"lux","value":0.00},{"name":"6","homematic_name":"wz_motion_left","desc":"Bewegung links","type":"boolean","unit":"","value":true},{"name":"7","homematic_name":"wz_motion_right","desc":"Bewegung rechts","type":"boolean","unit":"","value":false},{"name":"20","homematic_name":"","desc":"Bewegung","type":"boolean","unit":"","value":false},{"name":"4","homematic_name":"wz_noise","desc":"Geraeusch","type":"boolean","unit":"","value":true},{"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-20.5},{"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":273.9},{"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false},{"name":"21","homematic_name":"","desc":"Relais","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"aa.bb.cc.dd.ee.ff","ip_Homematic_CCU":"192.168.123.56","WLAN_ssid":"WLAN","WLAN_Signal_dBm":-57,"millis_seit_reset":46252671,"wiffizeit":" 1 19:21","firmware":"wiffi_wz_106"}} 
                            

                            also im Prinzip

                            { "modultyp":"Gerätebezeichnung",
                            "vars":[array mit Sensoren und Werten],
                            "Systeminfo":{systemspez. Informationen}}
                            mcm1957 1 Reply Last reply Reply Quote 0
                            • mcm1957
                              mcm1957 @Homoran last edited by

                              @homoran
                              Danke - hab das mal als example in einem Issue beim Adapter abgelegt - damit sollte es wiederfindbar sein,

                              X 1 Reply Last reply Reply Quote 1
                              • X
                                x4tlaoguo @mcm1957 last edited by

                                Hallo in die Runde, Maintainer vom Wiffi Adapter hier. Sorry, hatte aus familiären Gründen keine Zeit den Adapter zu pflegen. Habe mir in den letzten Tagen die offenen Issues und die Fragen dazu angeschaut. Werde den Adapter am Wochende auf den neuesten Stand bringen.

                                Hoffe er funktioniert dann wieder einwandfrei.

                                mcm1957 1 Reply Last reply Reply Quote 2
                                • crunchip
                                  crunchip Forum Testing Most Active @Homoran last edited by

                                  @homoran sagte in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

                                  ich hoffe, der bleibt!
                                  ich nutze ihn ja auch.

                                  Dito

                                  1 Reply Last reply Reply Quote 1
                                  • mcm1957
                                    mcm1957 @x4tlaoguo last edited by

                                    @x4tlaoguo said in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter:

                                    Hallo in die Runde, Maintainer vom Wiffi Adapter hier. Sorry, hatte aus familiären Gründen keine Zeit den Adapter zu pflegen. Habe mir in den letzten Tagen die offenen Issues und die Fragen dazu angeschaut. Werde den Adapter am Wochende auf den neuesten Stand bringen.

                                    Hoffe er funktioniert dann wieder einwandfrei.

                                    Hallo und DANKE fürs melden.

                                    Wenn du irgendwelche Unterstützung brauchst gib bitte Bescheid. Vorzugsweise in unseren Telegramm / Discord channels (Invites unter www.iobroker.dev).

                                    mcm1957

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    785
                                    Online

                                    32.3k
                                    Users

                                    81.1k
                                    Topics

                                    1.3m
                                    Posts

                                    9
                                    34
                                    357
                                    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