Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. OBI Funk-Steckdosenumbau ESP8266 (Generation1 Rund)

    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

    OBI Funk-Steckdosenumbau ESP8266 (Generation1 Rund)

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

      @haselchen:

      Anderer Weg in Alexa ist die HA-Bridge.

      Gerät dort anlegen mit IP Adresse und variablen Name (z.B. Gästezimmer)

      Alexa suchen lassen und zack kann man die Steckdose steuern wie man will.

      An / Aus / Routinen etc. `

      Hi,

      gute Idee, habe ich auch ausprobiert, siehe dazu auch mein Script im entsprechenden Post.

      var anz=0;
      
      var habridgeURL = "http://192.168.1.13:8080/api/devices"
      var ioBrokerURL = "http://192.168.1.13:8087/set/"
      
      /////////////////////////////////////////// 
      function escapeRegExp(str) {
        return str.replace(/[\-[]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\><");
      }
      
      function delDevices(from_val,to_val,habridgeURL) {
          for (var i=from_val;i<=to_val;i++) {
            	var request = require('request');
      		request.delete({
      				headers: {'content-type': 'application/json'},
      				url:     habridgeURL+"/"+i
      		}, function(error, response, body) {
      			if (error){
      				return log(error, 'error');
      			}
      			log("Del Response: "+JSON.stringify(body));
      		}); 
          }
      }
      
      function getDevice(val,habridgeURL) {
            	var request = require('sync-request');
      		var erg = request.get({
      				headers: {'content-type': 'application/json'},
      				url:     habridgeURL+"/"+val
      		}, function(error, response, body) {
      			if (error){
      				return log(error, 'error');
      			}
      			log("Get Response: "+body);
      			log("GET-NAME:"+JSON.parse(body).name);
      		});
      }
      
      function sendrequest(habridgeURL, params,id,devid){
          if (devid.length!==0) {  // ID Vorhanden, dh. hole Namen aus ha-bridge
            	var request = require('request');
      		var erg = request.get({
      				headers: {'content-type': 'application/json'},
      				url:     habridgeURL+"/"+devid
      		}, function(error, response, body) {
      			if (error){
      				return log(error, 'error');
      			}
      			// log("Get Response: "+body);
      			// log("GET-NAME:"+JSON.parse(body).name);
                  var name=JSON.parse(body).name;
                  var addurl="";
                  if (name===undefined) {
                      log("NOT FOUND - "+devid);
                      return;  // auskommentieren um nicht gefundene neu anzulegen!  <<<<<<<<<<<<<<<<<<<<<<<<<<<<
                      params["id"]=null;
                      sendrequest(habridgeURL, params,id,"");
                  } else if (name.length>0) {
                      params["name"]=name;
                      addurl="/"+devid;
                  }
                  var request = require('request');
      		    request.put({
      				headers: {'content-type': 'application/json'},
      				url:     habridgeURL+addurl,
      				body:   params,
      				json: true
      		    }, function(error, response, body) {
      			    if (error){
      				    return log(error, 'error');
      			    }
      			    // log("Update Response: "+JSON.stringify(body));
      	//		var regexp = escapeRegExp(ioBrokerURL)+"(.*)\\?value.*";
              	    log("update ok - "+devid); 
      		    });
      		});
          } else {
              var request = require('request');
      		request.post({
      				headers: {'content-type': 'application/json'},
      				url:     habridgeURL,
      				body:   params,
      				json: true
      		}, function(error, response, body) {
      			if (error){
      				return log(error, 'error');
      			}
      			// log("Response: "+JSON.stringify(body));
      			var regexp = escapeRegExp(ioBrokerURL)+"(.*)\\?value.*";
                  var patt = new RegExp(regexp);
                  var result = patt.exec(body[0].onUrl);
                  if (result!==null) {
      			    log("ID für "+ decodeURI(result[1]) +" erhalten: " + body[0].id); 
      			    if (!isNaN(body[0].id)) extendObject(decodeURI(result[1]), {common: {habridgeid: body[0].id}});
      			} else {
      			    log("update nok"); 
      			}
      		});
          }
      }
      
      function saveData(id,raum,devname,onurl,offurl,dimurl) {
      	// log("Objekt: "+id);
      	devid="";
      	var params = {};
      	if (isNaN((getObject(id).common.habridgeid))){
      	    devid="";
          	log("++++++++ Neu "+id+devid+" ");
      	} else {
      	    devid=getObject(id).common.habridgeid;    
          	log("======== Update "+id+"-"+devid+"-");
      	}
      	    // devid="";  // add trotz ID
          	idu=encodeURI(id);
          	if (devid.length>0) {
          	    params["id"]=devid;
          	} 
          	params["name"]= devname;
          	params["deviceType"]= "switch";
          	params["onUrl"]= "[{\"item\":\""+ioBrokerURL+idu+"?value="+onurl+"\",\"type\":\"httpDevice\"}]";
          	if (offurl.length>0) params["offUrl"]= "[{\"item\":\""+ioBrokerURL+idu+"?value="+offurl+"\",\"type\":\"httpDevice\"}]";
          	if (dimurl.length>0) params["dimUrl"]= "[{\"item\":\""+ioBrokerURL+idu+"?value="+dimurl+"\",\"type\":\"httpDevice\"}]";
          	params["description"]= "\""+raum+"\"";
          	params["comments"]= id;
      
          	sendrequest(habridgeURL,params,id,devid);
      
      }
      
      function callme(id,i,b,onurl,offurl,dimurl) {
             if (getObject(id) && anz<500) {
              var devname=getObject(id).common.name;
              var channel=getObject(id).common.name.split(":");
              var idteile=id.split(".");
              var dev="";
              var dp = getObject(id,"rooms");
              var raum=dp.enumNames;
              if (idteile.length>2) {
                  dev=idteile[2];
              }
              if (raum.length===0) {
                  raum="-"
              }
            if (b===false || raum!="-") { 
             anz=anz+1;
             // log( '"'+id+'","'+channel[0]+'","'+devname+'","'+raum+'","'+dev+'"'+String.fromCharCode(10));
             saveData(id,raum,devname,onurl,offurl,dimurl);
            }
          } 
      }
      
      // callme 
      //      id = Geraeteid
      //      i  = Nummer (nicht verwendet)
      //      b  = Nur Geräte mit Raum (true/false)
      //      onurl = Wert für ON
      //      offurl = Wert für OFF
      //      dimurl = Wert für DIM ("${intensity.percent}")
      
      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
      
      //var states = $('broadlink2.0.*.L.*').each(function(id,i) { callme(id,i,false,"true","false",""); });
      //var states = $('broadlink2.0.States.*').each(function(id,i) { callme(id,i,false,"true","false",""); });
      //var states = $('broadlink2.0.Scenes.*').each(function(id,i) { callme(id,i,false,"true","false",""); });
      //var states = $('scene.0.*').each(function(id,i) { callme(id,i,false,"true","false",""); });
      //var states = $('hm-rpc.0.*.SET*').each(function(id,i) { callme(id,i,true,"true","false",""); });
      var states = $('hm-rpc.0.*.1.LEVEL').each(function(id,i) { callme(id,i,true,"100","0","${intensity.percent}"); });
      //var states = $('hm-rpc.0.LEQ1023360.1.LEVEL').each(function(id,i) { callme(id,i,true,"100","0","${intensity.percent}"); });   
      
      //delDevices(25,200,habridgeURL);
      //getDevice(25,habridgeURL);
      
      1 Reply Last reply Reply Quote 0
      • T
        thobastian last edited by

        Also meine Obischalter schalten sich immer noch an, wann sie möchten. Und zwar beide gleichzeitig. Das ist echt komisch.

        Ich habe 2 Obischalter. Sie werden beide über ein Script im IOBroker direkt angesteuert (über CMD).

        Wenn auf der Homematic-FB eine Taste gedrückt wird, starten die Obischalter.

        Aber auch erst dann.

        Wenn das Script im IOBroker aktivert worden wäre, hätte ich es im Log gesehen. Dort war nichts zu sehen. Debug-Modus ist für das Script an.

        Jetzt weiss ich nicht mehr weiter.

        Hat jemand noch eine Idee, bevor ich die Schalter auf den Müll werfe?

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

          @thobastian:

          Also meine Obischalter schalten sich immer noch an, wann sie möchten. Und zwar beide gleichzeitig. Das ist echt komisch.

          Ich habe 2 Obischalter. Sie werden beide über ein Script im IOBroker direkt angesteuert (über CMD).

          Wenn auf der Homematic-FB eine Taste gedrückt wird, starten die Obischalter.

          Aber auch erst dann.

          Wenn das Script im IOBroker aktivert worden wäre, hätte ich es im Log gesehen. Dort war nichts zu sehen. Debug-Modus ist für das Script an.

          Jetzt weiss ich nicht mehr weiter.

          Hat jemand noch eine Idee, bevor ich die Schalter auf den Müll werfe? `
          Hast du die aktuelle Version drauf?

          Was sagen die Loggs der Dose?

          Zeig mal dein Script.

          1 Reply Last reply Reply Quote 0
          • T
            thobastian last edited by

            Ja, die Alexa-Fassung ist drauf und fkt. hervorragend.

            anbei das Blockly.
            1555_script_obischalter.jpg

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

              @thobastian:

              Ja, die Alexa-Fassung ist drauf und fkt. hervorragend.

              anbei das Blockly. `

              Hallo,

              wenn du das Script so realisierst, startet es bei jedem Neustart des Rechners, bei jedem Neustart vom ioBroker, bei jedem Neustart des java-Script-Adapters und bei jedem Speichern des Skriptes.

              Das beide Steckdosen immer zugleich schaltet zeigt, das hier das Skript Aktiv ist. Ich bin mir sicher, das du zur entsprechenden Zeit in der Logdatei

              (iobroker/logs?) den Eintrag mit "test" findest.

              Ich habe in viewtopic.php?f=21&t=15722&start=100#p176935 beschrieben wie man z.B. Alexa Skripte

              mit einem Trigger versieht.

              Kurz: Du legst eine Variable an. Deine Fernbedienung startet nicht das Skript sondern ändert die Variable, z.B. immer auf true.

              Dein Blocky reagiert dann auf Falls Object wurde aktualisiert.
              609_bildschirmfoto_2018-10-30_um_22.11.35.png

              Wenn danach immer noch etwas falsch läuft, kannst du die Variable mal auf protokollieren setzen und siehst die Änderungen.

              NIE ein Skript ohne Trigger schreiben!

              1 Reply Last reply Reply Quote 0
              • T
                thobastian last edited by

                Okay, ich verändere dann meinen zeiger auf die neue Variable. Nur wie wird Variable angesteuert? Ich habe mal die beiden Blockly angehängt. So habe ich das jetzt gemacht. Nun sind es 2 Scripte. Und das nur wegen der Variablentrennung

                Oder geht das alles auch eleganter?

                Nachtrag: Mist, jetzt bekomme ich auch noch den Fehler "Cannot extract Blockly code. " Was habe ich nun falsch gemacht? Das ist echt ätzend.
                1555_trigger.jpg
                1555_trigger2.jpg

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

                  ich kenne zwar jetzt die HM-RC-12 Fernbedienung nicht, aber müsstest du als Trigger nicht den Short_PRESS nehmen anstatt den InstallTest?

                  Mit einer Hilfsvariablen in ioBroker steuere ich die Steckdosen per AlexaAdapter und der ioBroker Cloud.

                  Das ist schon mal der richtige Weg und sollte so funktionieren. 🙂

                  Auch ohne die Integration von Alexa in der Steckdose selbst….

                  Grüße

                  Tom

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

                    @TomT:

                    ich kenne zwar jetzt die HM-RC-12 Fernbedienung nicht, aber müsstest du als Trigger nicht den Short_PRESS nehmen anstatt den InstallTest?

                    Mit einer Hilfsvariablen in ioBroker steuere ich die Steckdosen per AlexaAdapter und der ioBroker Cloud.

                    Das ist schon mal der richtige Weg und sollte so funktionieren. 🙂

                    Auch ohne die Integration von Alexa in der Steckdose selbst….

                    Grüße

                    Tom `

                    Am elegantesten wäre es wohl anstelle der Variablen gleich das SHORT_PRESS zu verwenden.

                    Wie hast du denn vorher das Skript ausgelöst?

                    1 Reply Last reply Reply Quote 0
                    • T
                      thobastian last edited by

                      Das scheint bei Homematic nicht perfekt zu laufen. Bei mir wird Press.short nicht verändert. Nur install_test.

                      Schade, aber ich habe noch keinen anderen Weg gefunden.

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

                        ! ````
                        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="6mvvt}nUJ86yu]Ll_S(A" x="-37" y="-62"><field name="OID">hm-rpc.0.XXX.1.PRESS_SHORT</field>
                        <field name="CONDITION">true</field>

                        <statement name="STATEMENT"><block type="request" id="u^_#`h)3MmPw,=vDt]w7"><mutation with_statement="false"></mutation>
                            <field name="WITH_STATEMENT">FALSE</field>
                        
                            <value name="URL"><shadow type="text" id="7,a3#yQlihV~l_2DjAqC"><field name="TEXT">http://192.168.178.XXX/ON</field></shadow></value></block></statement> 
                        <next><block type="on" id="}e:c}3m@n1#yFNsIC+1b"><field name="OID">hm-rpc.0.JEE0001XXX.2.PRESS_SHORT</field>
                            <field name="CONDITION">true</field>
                        
                            <statement name="STATEMENT"><block type="request" id="iM!iId]i]GWRW{~_uXg^"><mutation with_statement="false"></mutation>
                                <field name="WITH_STATEMENT">FALSE</field>
                        
                                <value name="URL"><shadow type="text" id="4}0et-av7MoN794U/6ik"><field name="TEXT">http://192.168.178.XXX/OFF</field></shadow></value></block></statement></block></next></block></xml> 
                        
                        
                        Hier der Blockly funktioniert mit einer HM-RC8 bei mir.
                        
                        Kannst den Blockly ja mal importieren und mit deinen Geräten verknüpfen…
                        
                        Grüße
                        
                        Tom
                        1 Reply Last reply Reply Quote 0
                        • T
                          thobastian last edited by

                          Sch…. Jetzt bekomme ich wieder diese Fehlermeldung "Cannot extract Blockly" :evil:

                          Was mache ich falsch? und Wie bekomme ich das wieder hin?

                          1 Reply Last reply Reply Quote 0
                          • H
                            hike last edited by

                            ~~DHT11 auslesen

                            Ich habe ein DHT-11 Modul angeschlossen und die Firmware 1_2_2 neu übersetzt und geflashed.

                            Leider habe ich nur einmal einen Feuchtigkeits- und einen Temperaturwert bekommen.

                            Jetzt erhalte ich nur Fehlermeldungen vom DHT11 ` > Waiting for Wifi to connect….....

                            WL_CONNECTED

                            IP address: xxx.xxx.xxx.154

                            HTTP server started

                            Relay OFF

                            Reconnecting MQTT...

                            MQTT Connected...

                            Failed to read from DHT sensor!

                            Failed to read from DHT sensor!

                            Failed to read from DHT sensor!

                            Failed to read from DHT sensor!

                            Failed to read from DHT sensor!

                            Failed to read from DHT sensor!

                            Failed to read from DHT sensor! `

                            ![](</s>
                            <ATTACHMENT 7711_obi_wall_dht11_001.png )
                            " />

                            Hat jemand es geschafft den DHT11 ans laufen zu bekommen?

                            Der DHT22 scheint ja zu laufen, habe aber im Augenblick kein DHT22 Modul.~~~~

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

                              @hike:

                              ~~DHT11 auslesen

                              Ich habe ein DHT-11 Modul angeschlossen und die Firmware 1_2_2 neu übersetzt und geflashed.

                              Leider habe ich nur einmal einen Feuchtigkeits- und einen Temperaturwert bekommen.

                              Jetzt erhalte ich nur Fehlermeldungen vom DHT11 ` > Waiting for Wifi to connect….....

                              WL_CONNECTED

                              IP address: xxx.xxx.xxx.154

                              HTTP server started

                              Relay OFF

                              Reconnecting MQTT...

                              MQTT Connected...

                              Failed to read from DHT sensor!

                              Failed to read from DHT sensor!

                              Failed to read from DHT sensor!

                              Failed to read from DHT sensor!

                              Failed to read from DHT sensor!

                              Failed to read from DHT sensor!

                              Failed to read from DHT sensor! `

                              ~~![](</s><br/>
                              Obi_Wall_DHT11_001.pngObi_Wall_DHT11_001.png<br/>
                              )

                              Hat jemand es geschafft den DHT11 ans laufen zu bekommen?

                              Der DHT22 scheint ja zu laufen, habe aber im Augenblick kein DHT22 Modul.~~~~ ` Den define hast du von DHT22 auf DHT11 umgestellt, oder?

                              1 Reply Last reply Reply Quote 0
                              • H
                                hike last edited by

                                Erst mal vielen Dank für die schnelle Integration von user und pass in mqtt. Funktioniert einwandfrei.

                                define habe ich auf dht11 geändert.

                                Ich habe jetzt versuchsweise einen dht22 besorgt und angeschlossen. Der verhält sich fast problemlos und wirft nur ganz selten eine Fehlermeldung aus.

                                Ich habe den dht11 mit anderer Software an NodeMCU Boards, am Esp12 und am ESP7 getestet. Dort gibt es auch immer wieder Lesefehler, die lassen sich aber häufig durch mehrfaches Lesen reparieren. Das funktioniert hier so nicht.

                                Mir ist nur nicht klar, warum man den dht11 mit tasmota in der obi-box problemlos auswerten kann. Das habe ich längere Zeit getestet.

                                Ich muss mir den Tasmota-Code noch mal ansehen

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

                                  @hike:

                                  Erst mal vielen Dank für die schnelle Integration von user und pass in mqtt. Funktioniert einwandfrei.

                                  define habe ich auf dht11 geändert.

                                  Ich habe jetzt versuchsweise einen dht22 besorgt und angeschlossen. Der verhält sich fast problemlos und wirft nur ganz selten eine Fehlermeldung aus.

                                  Ich habe den dht11 mit anderer Software an NodeMCU Boards, am Esp12 und am ESP7 getestet. Dort gibt es auch immer wieder Lesefehler, die lassen sich aber häufig durch mehrfaches Lesen reparieren. Das funktioniert hier so nicht.

                                  Mir ist nur nicht klar, warum man den dht11 mit tasmota in der obi-box problemlos auswerten kann. Das habe ich längere Zeit getestet.

                                  Ich muss mir den Tasmota-Code noch mal ansehen `
                                  Hallo,

                                  ich muss mal schauen ob ich noch irgendwo einen DHT11 rumliegen habe, dann teste ich das mal.

                                  Vlt. wird er zu oft ausgelesen? Ich schaue mal ob ich morgen dazu komme.

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    hike last edited by

                                    Es gibt noch ein seltsames Problem.

                                    Ein Obi-Switch war als Cux-Device eingetragen. Den habe ich nun für den DHT22 umgeflashed.

                                    Ich kann den Schalter von der Web-GUI der CCu bedienen, obwohl die CCU im OBI weder aktiviert noch eine IP eingetragen wurde.

                                    Benutzt werden offensichtlich alte Einträge in RTC.![]([<ATTACHMENT 7711_obi-wall_ccu_2018-11-03_184603.png )~~[attachment=0]~~Obi-Wall_CCU_2018-11-03_184603.png[/attachment]/img]" />

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

                                      @hike:

                                      Es gibt noch ein seltsames Problem.

                                      Ein Obi-Switch war als Cux-Device eingetragen. Den habe ich nun für den DHT22 umgeflashed.

                                      Ich kann den Schalter von der Web-GUI der CCu bedienen, obwohl die CCU im OBI weder aktiviert noch eine IP eingetragen wurde.

                                      Benutzt werden offensichtlich alte Einträge in RTC.![]([Obi-Wall_CCU_2018-11-03_184603.png/img]
                                      </QUOTE>

                                      Hallo,<br/>
                                      <br/>
                                      ja, das ist ok. Es sollte aber keine Aktion mehr in der CCU ausgelöst werden wenn die Dose z.B. über die WEB-SST geschaltet wird.<br/>
                                      Die CUXD schaltet die Steckdose ja über die Web-SST. Es hängt leider auch von der Reihenfolge ab, ob die Werte gelöscht werden<br/>
                                      im CuxD wenn du dieses in der Dose löschst.) `

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        hike last edited by

                                        Hallo Sissiwup.

                                        Ich habe jetzt die Anbindung des DHT22 an die CCU/Cuxd versucht.

                                        Nach Anleitung ein weiteres Device erzeugt und konfiguriert.

                                        Der Forums-Editor zickt bei mir ziemlich rum, deshalb sind die Bilder nicht in der richtigen Reihenfolge.

                                        Leider funktioniert das Auslesen von Temp und Hum in die CCU/Cuxd nicht und in Last Service steht wiederholt: CCU: -1/

                                        ![](</s><ATTACHMENT 7711_obi-wall_cuxd_dht22_03_2018-11-04_113407.png )[attachment=6]~~Obi-Wall_Cuxd_DHT22_03_2018-11-04_113407.png[/attachment]" />

                                        Zusätzlich erhalte ich jetzt auch in mqtt neben den Temp und Hum Werten im Anschluss bei Service die Fehlermeldung CCU: -1

                                        ![](</s><ATTACHMENT 7711_obi-wall_cuxd_dht22_06_2018-11-04_114701.png )[attachment=5]~~Obi-Wall_Cuxd_DHT22_06_2018-11-04_114701.png[/attachment]" />

                                        Zur Einrichtung :

                                        ![](</s><ATTACHMENT 7711_obi-wall_cuxd_dht22_01_2018-11-04_112828.png )[attachment=4]~~Obi-Wall_Cuxd_DHT22_01_2018-11-04_112828.png[/attachment]" />

                                        In der WEB-GUI:

                                        ![](</s><ATTACHMENT 7711_obi-wall_cuxd_dht22_02_2018-11-04_113229.png ) 7711_obi-wall-cuxd_dht22_08_2018-11-04_121816.png

                                        Ergänzung: Wird Cuxd enabled auf 0 gesetzt, funktioniert mqtt wieder problemlos und in Last Service tauchen auch keine neuen CCU: -1 Einträge auf.

                                        Die Fehlermeldung in mqtt erscheint übrigens immer genau 5 sec nach dem letzten Messwert.

                                        Für mich sieht das so aus, als würde nach dem mqtt-Broker die CCu informiert, das geht irgenwie schief, dann meldet mqtt seinen service -Fehler. Da die Web-GUI nicht automatisch aktualisiert wird. bekommt man den Fehler da nicht so mit.~~~~~~~~

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          hike last edited by

                                          Hallo Sissiwup,

                                          Problem mit DHT22 und CCU/CuxD gelöst:

                                          Es ist kein Authentifizierungsproblem wie ich erst vermutet habe, sondern ein Problem mit der CCU-Firewall.

                                          Trotzdem wäre ich ohne den Code nie auf diese Idee gekommen.

                                          Ich habe mir die Anfrage an die CCU über die Serielle Konsole protollieren lassen und dann den http-Aufruf zum Testen verwendet.

                                          http://xxx.xxx.xxx.135/cuxd.exe?x=dom.GetObject(%22CUxD.CUX9002001:1.SET_HUMIDITY%22).State(51.90)
                                          

                                          Dieser Aufruf war von meinem Rechner aus erfolgreich, aber nicht von der Box aus.

                                          Lösung:

                                          Bei Remote Homematic-Script API verwende ich "Eingeschränkt".

                                          Dann muss die Adresse der Box in die Liste für den eingeschränkten Zugriff eingetragen werden.

                                          Jetzt funktioniert auch die Anzeige in der HM-GUI problemlos.

                                          Man kann sich auch selber ein Bein stellen. :?

                                          P.S. Ich habe trotz intensiver Suche im Code nicht die Stelle gefunden, die CCU_CUXD auf -1 setzt.

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            hike last edited by

                                            Fortschritte bei DHT11

                                            Hallo Sissiwup,

                                            Das Problem mit dem DHT11 und der OBi-Box scheint an den verwendeten Bibliotheken Adafruit_Sensor und DHT zu liegen.

                                            Tasmota verwendet die Bibliotheken nicht, sondern ein eigenes Modul, das offensichtlich auf einer älteren Version von DHT ( Keine Klassen) beruht.

                                            Ich vermute, das irgendetwas mit den interrupts schief geht oder Peaks auf der Stromversorgung stehen.

                                            Manchmal lässt sich das Problem mit einem 1000 mf Elko und einem 100nf Keramikkondensator über der Stromversorgung des ESP soweit dämpfen, das er nach einigen Wiederholungen was liest.

                                            Jedenfalls ist der DHT11 mit der DHT-Library sehr zickig, egal ob man ein NodeMCU, einen ESP12 oder ESP07 benutzt.

                                            Übrigens crasht die wall-Plug software auf alle meinen ESP-Boards und wirft einen Stacktrace.

                                            Ich habe einen dirty hack von handleDHT mit Code aus dem tasmota Modul eingebaut und geflashed.

                                            Jetzt funktioniert der DHT11 einwahdfrei.

                                            WL_CONNECTED
                                            IP address: xxx.xxx.xxx.154
                                            HTTP server started
                                            Relay OFF
                                            DHT 11 Read success
                                            20:10:02 04.11.2018 http://xxx.xxx.xxx.135/cuxd.exe?x=dom.GetObject("CUxD.CUX9002001:1.SET_TEMPERATURE").State(26.00)
                                            20:10:02 04.11.2018 http://xxx.xxx.xxx.135/cuxd.exe?x=dom.GetObject("CUxD.CUX9002001:1.SET_HUMIDITY").State(54.00)
                                            Reconnecting MQTT...
                                            MQTT Connected...
                                            
                                            DHT 11 Read success
                                            20:29:02 04.11.2018 http://xxx.xxx.xxx.135/cuxd.exe?x=dom.GetObject("CUxD.CUX9002001:1.SET_TEMPERATURE").State(23.10)
                                            20:29:02 04.11.2018 http://xxx.xxx.xxx.135/cuxd.exe?x=dom.GetObject("CUxD.CUX9002001:1.SET_HUMIDITY").State(43.00)
                                            DHT 11 Read success
                                            20:29:32 04.11.2018 http://xxx.xxx.xxx.135/cuxd.exe?x=dom.GetObject("CUxD.CUX9002001:1.SET_TEMPERATURE").State(23.10)
                                            20:29:32 04.11.2018 http://xxx.xxx.xxx.135/cuxd.exe?x=dom.GetObject("CUxD.CUX9002001:1.SET_HUMIDITY").State(43.00)
                                            
                                            

                                            Es fehlt noch die Veröffentlichung von void DHT11_0_Init(byte pin) , das wird auch in handleCommands.handle_dht benötigt.

                                            Mir gelingt es nur leider nicht, die Software in ein Modul mit Header zu packen, es funktioniert bisher auch so.

                                            handleDHT.h

                                            #ifndef _HANDLEDHT_H
                                            #define _HANDLEDHT_H
                                            
                                            //DHT
                                            // //#include <adafruit_sensor.h>
                                            // //#include <dht.h>
                                            #define DHTPIN 3
                                            // Uncomment whatever type you're using!
                                            #define DHTTYPE DHT11   // DHT 11
                                            //#define DHTTYPE DHT22 // DHT 22  (AM2302), AM2321
                                            //#define DHTTYPE DHT21   // DHT 21 (AM2301)
                                            // //DHT dht(DHTPIN, DHTTYPE);
                                            unsigned long LastDHTTime = 0;
                                            unsigned long DeltaDHTTime = 60000;
                                            float dht_tmpc = 0;
                                            float dht_humi = 0;
                                            float dht_tmpi = 0;
                                            int dht_active = 0;
                                            
                                            #endif</dht.h></adafruit_sensor.h>
                                            

                                            handleDHT.txt hängt aus Datei an.
                                            7711_handledht.txt

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            521
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            esp8266 obi steckdose
                                            37
                                            464
                                            141665
                                            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