Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Wemos EasyESP Homematic

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wemos EasyESP Homematic

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

      Hallo

      ich steige jetzt auch in das Thema Wemos (neubie) + Homematic (schon über ein Jahr am laufen) + iobroker (newbie) ein.

      ich finde Easyesp perfekt für mein Vorhaben (DHT22, Ultraschallsensor, IR-Empfänger)..alles voreindestellt

      ich werde irgendwie nicht wirklich schlau, wie ich Werte in HM/iobroker einbinden kann.

      mit "Domoticz HTTP" ??

      Mit der ganzen Controllergeschichte sehe ich auch nicht durch, als newbie. Das Wiki ist ja leider auch nur auf englisch, und bei solc einem komplexen Thema sehr schwer zu verstehen.

      Wie macht ihr das so?

      VG Nelzon

      1 Reply Last reply Reply Quote 0
      • N
        noxx last edited by

        Du brauchst mqtt als Adapter.

        Komme da selbst nicht so klar, ich nutze daher FHEM und den FHEM Adapter.

        Hatte es hier mal zusammengeschrieben, evtl kommst wäre das ne Alternative:

        http://forum.iobroker.net/viewtopic.php?f=20&t=7540

        1 Reply Last reply Reply Quote 0
        • N
          nelzon last edited by

          okay..danke. das wäre eine notlösung

          möchte jedoch nicht noch ein programm auf den pi laufen zu lassen. fhem nutzt du also nur als bridge für die wemos?

          1 Reply Last reply Reply Quote 0
          • N
            noxx last edited by

            @nelzon:

            okay..danke. das wäre eine notlösung

            möchte jedoch nicht noch ein programm auf den pi laufen zu lassen. fhem nutzt du also nur als bridge für die wemos? `

            Sozusagen, zwar nicht mit Wemos, sondern Nodemcu.

            Mich hats auch gestört, extra FHEM zu installieren, aber was solls.

            Der PI packt das locker. Habs mehrere Tage versucht, aber mich nur

            geärgert. Über FHEM lief es sofort.

            1 Reply Last reply Reply Quote 0
            • I
              Ingo last edited by

              Moin, Moin zusammen,

              ich hatte vor einer Weile auch so meine Schwierigkeiten, habe aber tolle Hilfe hier im Forum gefunden.

              Ich vermute mal, ESPEasy läuft.

              In ioBroker brauchst du den MQTT-Adapter.

              Meine Einstellungen sehen so aus:

              (Ich verwende NodeMCU´s mit ESPEasy Mega)

              Dann einfach einen Sensor an den Wemos, und schon erscheint unter Objecte unter MQTT dein Wemos.

              Grüße Ingo
              1519_2017-03-11__10_.png
              1519_2017-03-11__11_.png
              1519_2017-07-11__18_.png
              1519_2017-07-11__19_.png

              1 Reply Last reply Reply Quote 0
              • P
                ple last edited by

                Meins sieht auch so aus mit einem Bewegungsmelder, Temp Feuchte, Lux.

                funktioniert seit 2 Wochen gut, inkl. Hardreset durch Stromausfall.
                1241_bildschirmfoto_2017-08-08_um_21.00.43.png

                1 Reply Last reply Reply Quote 0
                • N
                  nelzon last edited by

                  @ ingo: Danke für den Tip, aber im iobroker wird mir unter objekte der esp angezeigt, jedoch mit "connection lost". dementsprechend wird kein Wert angezeigt

                  @ple: werte imEasyesp angezeigt zu bekommen klappt bei mir auch, aber dies dann im iobroker zu lesen, da komme ich nicht hin

                  laufen die wemos bei dir unter yahm oder iobroker?

                  1 Reply Last reply Reply Quote 0
                  • P
                    ple last edited by

                    Die Daten werden direkt über MQTT in iobroker übertragen. Hatte es auch mal anders rum, dass die Daten direkt in die CCU Variable geschrieben werden, aber sehe da keinen Sinn mehr drin, da ich nur noch iobroker für meine Logiken nutze. Die CCU hat nur noch Killoff Funktionen und dient als Gateway.

                    Hast du die Einstellungen von oben mal übernommen vom MQTT Adapter in iobroker?

                    Meine kann ich erst heute Abend zukommen lassen.

                    1 Reply Last reply Reply Quote 0
                    • I
                      Ingo last edited by

                      Guten Morgen,

                      hmmmm, hänge deinen Wemos mal an deinen PC, starte Arduino IDE, gehe auf serieller Monitor und starte dann den Wemos neu.

                      Die Ausgabe sollte in etwa so aussehen wie auf meinem Bild.

                      Meine Wemos und NodeMCU´s haben alle eine statische IP, wichtig ist die Zeile

                      MQTT : Connected to Broker

                      Statt

                      SW : GIPO 16 set to 0

                      SW : State 0

                      sollte bei dir ein Wert deines Sensors angezeigt werden. (bei mir hängt an GPIO 16 ein Relais, ist ein Testaufbau)

                      2. Möglichkeit:

                      logge dich in ESPEasy ein und gehe unter Tools auf Log.

                      Wenn du fix genug bist, entspricht die Ausgabe des Log dem des seriellen Monitors.

                      Es ist möglich, das ESPEasy fehlerhaft auf den Wemos geflasht wurde.

                      Hatte ich regelmäßig, als ich mit den Dingern begonnen habe.

                      Grüße Ingo
                      1519_wemos.png

                      1 Reply Last reply Reply Quote 0
                      • N
                        nelzon last edited by

                        danke.. werde ich heute abend mal checken

                        seit dem ich mqtt aktiviert habe, ich der wemos auch lahmarschig geworden :roll:

                        1 Reply Last reply Reply Quote 0
                        • I
                          Ingo last edited by

                          kann ich bei mir nicht feststellen, ich betreibe momentan 3 NodeMCU´s und einen Wemos, alle in ioBroker eingebunden.

                          Eine NodeMCU sogar 2 Etagen tiefer, habe dort eine alte Fritzbox als AP sitzen, mit der sich die NodeMCU einbindet.

                          Da alle Teile statische IP´s haben, kann ich durch Eingabe der IP im Browser mich schnell mal einloggen, um zu testen oder

                          was zu ändern.

                          Die Verbindung ist jedes mal blitzartig da.

                          Kannst du Skripten ???? In der Richtung bin ich hilflos. Ich brauche eigentlich nur ein winziges Skript, in der Richtung:

                          Wenn dieser Wert seinen Zustand ändert, schalte jenen Wert auf 1.

                          Habe schon mit Blockly probiert, aber irgendwie passen bei mir die Teile nie zusammen.

                          Ich vermute mal, wenn ich im Forum anfrage, werde ich auf die Anleitung verwiesen, und bis ich das begriffen habe…...

                          Grüße Ingo

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

                            @Ingo:

                            Wenn dieser Wert seinen Zustand ändert, schalte jenen Wert auf 1. `

                            var idDieserWert = '...';
                            var idJenerWert = '...';
                            
                            on(idDieserWert, function() {  // triggern bei Wertänderung
                                setState(idJenerWert, 1);
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • I
                              Ingo last edited by

                              Hallo Paul53,

                              ist das schön, wenn einem jemand hilft…..

                              var NodeMCU_Keller/Kondensat/Kondensat = '...';
                              var WEMOS-Keller/GPIO/16 = '...';
                              
                              on(/NodeMCU_Keller/Kondensat/Kondensat, function() {  // triggern bei Wertänderung
                                  setState(WEMOS-Keller/GPIO/16, 1);
                              });
                              

                              schau doch bitte mal.

                              Zur Erklärung:

                              seit April neue Heizung, mit einer Mini-Kondensatpumpe. Diese hat einen Alarmkontakt. Dieser wird mit den Temperatur-Sensoren über einen NodeMCU in ioBroker eingelesen.

                              D.h., im Alarmfall ändert sich der Status von Kondensat von 1 auf 0. (Ich kanns auch umdrehen, erst mal egal). In der Vis kriege ich das durch 2 übereinandergelegte Widgets

                              (rot/grün) angezeigt.

                              Ich hätte aber gern noch ein akustisches Signal. (wir hatten gerade genug Wasser im Keller)

                              Dies soll ein Wemos sein, dessen GPIO sich im Alarmfall ändert und irgendwas aktiviert. Erweiterbar auch als Sammelalarm für andere Wassersensoren, Alarmanlage, Rauchmelder usw.

                              Ich habe mal die ID´s eingetragen, soweit korrekt ?

                              Was muß in die Hochkommas rein ???

                              Von der Logik her weis ich was ich will, aber der Syntax, dafür fehlt mir eine Gehirnwindung.

                              Danke schonmal und Grüße

                              Ingo

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

                                Variablennamen sollten (dürfen) keine Schrägstriche enthalten ! Die ID der beiden Datenpunkte enthalten sicher auch keine Schrägstriche, sondern eher Punkte. Du kannst die Datenpunkt-ID über "ID Einfügen" (oben rechts) auswählen.

                                on("eingefügte ID Kondensat", function(dp) {  // triggern bei Wertänderung
                                    if(dp.state.val) setState("eingefügte ID GPIO16", true);  // wenn Kondensat-Wert true oder 1, dann GPIO16 Ein
                                    else setState("eingefügte ID GPIO16", false);
                                });
                                
                                1 Reply Last reply Reply Quote 0
                                • I
                                  Ingo last edited by

                                  das kommt heraus, wenn ich über ID einfügen gehe.

                                  Die beiden var-Zeilen werden nicht gebraucht ?

                                  on(""mqtt.0.NodeMCU_Keller.Kondensat.Kondensat"/*/NodeMCU_Keller/Kondensat/Kondensat*/", function(dp) {  // triggern bei Wertänderung
                                      if(dp.state.val) setState(""mqtt.0.WEMOS-Keller.GPIO.16"/*WEMOS-Keller/GPIO/16*/", true);  // wenn Kondensat-Wert true oder 1, dann GPIO16 Ein
                                      else setState("on("eingefügte ID Kondensat", function(dp) {  // triggern bei Wertänderung
                                      if(dp.state.val) setState("eingefügte ID GPIO16", true);  // wenn Kondensat-Wert true oder 1, dann GPIO16 Ein
                                      else setState("eingefügte ID GPIO16", false);
                                  });", false);
                                  });
                                  

                                  sind mir irgendwo zu viele ",

                                  Grüße Ingo

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

                                    @Ingo:

                                    Die beiden var-Zeilen werden nicht gebraucht ? `
                                    Wenn die ID direkt in die Funktionen eingegeben wird, werden keine Skriptvariablen benötigt. Skriptvariablen machen das Programm besser lesbar.
                                    @Ingo:

                                    sind mir irgendwo zu viele ", `
                                    Richtig ! Es sollte so aussehen:

                                    on("mqtt.0.NodeMCU_Keller.Kondensat.Kondensat", function(dp) {  // triggern bei Wertänderung
                                        if(dp.state.val) setState("mqtt.0.WEMOS-Keller.GPIO.16", true);  // wenn Kondensat-Wert true oder 1, dann GPIO16 Ein
                                        else setState("mqtt.0.WEMOS-Keller.GPIO.16", false);
                                    });
                                    
                                    /*/NodeMCU_Keller/Kondensat/Kondensat*/
                                    und 
                                    /*WEMOS-Keller/GPIO/16*/
                                    

                                    sind die Namen der Datenpunkte als Kommentar und können weggelassen werden.

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

                                      Übersichtlicher und einfacher zu handhaben ist es mit Skriptvariablen:

                                      var idKondensat = "mqtt.0.NodeMCU_Keller.Kondensat.Kondensat"/*/NodeMCU_Keller/Kondensat/Kondensat*/;
                                      var idGPIO16 = "mqtt.0.WEMOS-Keller.GPIO.16"/*WEMOS-Keller/GPIO/16*/;
                                      
                                      on(idKondensat, function(dp) {                  // triggern bei Wertänderung
                                          if(dp.state.val) setState(idGPIO16, true);  // wenn Kondensat-Wert true oder 1, dann GPIO16 Ein
                                          else setState(idGPIO16, false);
                                      });
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        Ingo last edited by

                                        Paul, danke für deine Hilfe,

                                        bei mir sind jetzt einige Lichtlein angegangen.

                                        Ich werde morgen mal damit herumspielen.

                                        Ein Anfang ist gemacht.

                                        Schön erklärt.

                                        Grüße Ingo

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

                                          @Ingo:

                                          Erweiterbar auch als Sammelalarm für andere Wassersensoren, Alarmanlage, Rauchmelder usw. `
                                          Dann geht es nicht ganz so einfach, weil eine Oder-Verknüpfung der Einzelalarme benötigt wird. Prinzip mit 3 Alarmquellen:

                                          ! ````
                                          // '...' ist durch die ID des jeweiligen Alarmdatenpunktes zu ersetzen
                                          var idAlarm1 = '...';
                                          var idAlarm2 = '...';
                                          var idAlarm3 = '...';
                                          var idSammelalarm = '...';
                                          ! var alarm1 = getState(idAlarm1).val;
                                          var alarm2 = getState(idAlarm2).val;
                                          var alarm3 = getState(idAlarm3).val;
                                          ! function sammelalarm() {
                                          if(alarm1 || alarm2 || alarm3) setState(idSammelalarm, true);
                                          else setState(idSammelalarm, false);
                                          }
                                          ! sammelalarm(); // Script start
                                          ! on(idAlarm1, function(dp) {
                                          alarm1 = dp.state.val;
                                          sammelalarm();
                                          });
                                          ! on(idAlarm2, function(dp) {
                                          alarm2 = dp.state.val;
                                          sammelalarm();
                                          });
                                          ! on(idAlarm3, function(dp) {
                                          alarm3 = dp.state.val;
                                          sammelalarm();
                                          });

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            Ingo last edited by

                                            den "Sammelalarm" in einem Script abzuarbeiten, ist natürlich eleganter, aber man muß die Fähigkeit haben. 😉

                                            Ich hätte jetzt mehrere Scripte wie "Kondensat" erstellt, dann aber z.B. "Alarm Kellerfenster" als Aktor genommen, aber als Ausgabegerät ebenfalls den Wemos.

                                            An einigen anderen GPIO´s evtl. noch LED´s gehängt zur Unterscheidung, was jetzt den Alarm ausgelöst hat.

                                            Oder habe ich jetzt irgendwo einen Denkfehler ?

                                            Ich werde wahrscheinlich auch 2 oder 3 Alarmboxen im Haus platzieren. (großes 2-Familienhaus)

                                            Ich glaub, wir werden bald ermahnt, weil wir vom Thema abweichen…. 😮

                                            Grüße Ingo

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            973
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            77
                                            13884
                                            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