Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Vorstellung meines Intex Poollampen Umbau's

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Vorstellung meines Intex Poollampen Umbau's

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

      Hallo ich habe meiner Intex RGB-Poollampe einen Nodemcu spendiert...

      Vorher dem Umbau taugt die Lampe nicht wirklich viel.
      Steuerung über Zeitschaltuhr nicht möglich, da man immer manuell über Taster einschalten muss,
      kein App / Wlan Anbindung...

      Also habe ich der Lampe einen Nodemcu verbaut und überwache damit die Tasten an der Lampe, sowie kann auch über den Nodemcu Tastendrücke "simulieren".

      Desweitern wurde in der Software natürlich ein Webinterface sowie Mqtt integriert.
      Somit ist das Einbinden ins Smarthome kein Problem mehr. Unter Homeassistant wird die Lampe auch als neues Gerät unter MQTT erkannt.

      In der Lampe sitzt ein sn8f570210sg (8051-based Microcontroller)
      dieser läuft mit 3.3V und die beiden Taster haben jeweils einen 4,7kOhm Pullup-Widerstand.
      Eigentlich hätte für den Umbau auch ein Wemos oder ESP-01 gereicht, weil nur 2 GPIO's nötig sind, aber ich wollte den 3.3V Spannungsregler der Lampe nicht noch zusätzlich belasten. Also habe ich mich für einen Nodemcu entschieden, da er wunderbar mit der 12V Spannung des Netzteils der Lampe klar kommt.

      Das Video ist nicht so toll, aber zur Veranschaulichung reicht es denke ich... g Das Video zeigt noch die erste Version der Software. Das Webinterface hat sich etwas verändert mit neuen Funktionen,...

      Die Lampe flackert beim umschalten, weil man über den Taster immer nur zum nächsten Programm/Farbe springen kann.

      Flashen
      Wenn Ihr den Sourcecode direkt über Arduino flashen wollt, bitte Flashsize 4MB (2MB Ota, OTA ~1019KB) unter Flashsize auswählen.
      Wenn Du über das Flash Download Tool von Espressif Systems flashst müssen folgende Adressen angegeben werden :
      PoollampeHA.bin @ 0x000000
      littlefs.bin @ 0x200000

      Erster Start
      Nach dem Flashen, erstellt der ESP einen AccessPoint mit dem Namen "Poollampe" das Kennwort lautet "12345678"
      Das Webinterface ist dann unter der Adresse http://192.168.4.1 erreichbar.
      Nun sollte erstmal die Grundkonfiguration durchgeführt werden. Lasst MQTT am besten erstmal aus....

      Die Grundkonfiguration machen wir folgt :

      Einstellungen => Farben konfigurieren
      Die Lampe sollte nach dem einschalten "Aus" sein. Unter Einstellungen => Farben konfigurieren, kann die Reihenfolge der Farben festgelegt werden.
      Wenn man nun 1x die Taste an der Lampe für die Innenfarbe drückt, wechselt die Lampe auf die Farbe "Farbwechsel".
      drückt man nun nochmal die Taste, geht die Lampe wieder aus.
      Nach einem erneuten Tastendruck hat man die Farbe Weiß.
      Diese Reihenfolge muss unter Innen 1 - Innen 4 in den Einstellungen angegeben werden. In diesem Beispiel also :
      Innen 1 : Aus
      Innen 2: Farbwechsel
      Innen 3: Aus
      Innen 4: Weiß

      Das gleiche wiederholt man nun für die Aussenfarbe.
      Nun kann man kontrollieren, ob über das Webinterface die richtige Farbe angesteuert wird. Als nächstes kontrolliert nochmal auch beim drücken der Tasten an der Lampe, die richtige Farbe im Webinterface angezeigt wird.

      Einstellungen => GPIO
      Solltet Ihr die Tasten vertauscht haben, kann die Belegung der GPIOs / Tasten unter "Einstellungen" => "GPIO" angepasst werden. Dort kann auch eingestellt werden in welchem Abstand die Informationen per MQTT übertragen werden. (Temperatursensoren & WiFi Informationen)

      Einstellungen => DS18B20 Sensoren
      Dort kann der Name der Sensoren angepasst werden. Es können bis zu 20 Sensoren angeschlossen werden. Der GPIO kann über Einstellungen / GPIO angepasst werden. Bei jedem Start des ESP wird nach DS18B20 Sensoren gesucht, diese werden im Filesystem in die Datei "sensor_data.json" gespeichert. Alte Sensoren die bei einem Neustart nicht angeschlossen sind, werden aus der Datei entfernt. Sollte ein neuer Sensor hinzukommen, wird dieser in die Datei eingetragen. Sollte es mal zu Problemen mit den Sensoren kommen, kann es hilfreich sein, die Datei über den Filebrowser zu löschen und durch einen Reboot neu erstellen zu lassen.

      Einstellungen => Wifi-Setup
      Dieser Menüpunkt ist denke ich mal selbsterklärend. Der ESP versucht sich immer wieder mit dem gespeichertem Wlan zu verbinden, wenn "mit Wlan verbinden" eingestellt wird. Wenn sich Eure Wlan Zugangsdaten ändern, müssen die Wlan Einstellungen des ESP zurückgesetzt werden. (Siehe Reset)

      Die Grundkonfiguration sollte nun abgeschlossen sein. Am besten den ESP nochmal neu starten und danach MQTT einschalten.

      Einstellungen => MQTT
      Auch dieser Menüpunkt ist denke ich selbsterklärend. Solltest Du Home Assistant nutzen, bitte "HA Auto Discover" aktivieren. 😉

      ** Einstellungen => Farbe bei Start**
      Auch dieser Menüpunkt sollte selbsterklärend sein.

      Einstellungen => Farben syncronisieren
      Hier kann seit dieser Version die aktuelle Farbe angepasst werden. In der alten Version ist es mir immer schonmal passiert, das die Lampe nach dem Einschalten nicht aus war, sondern noch eine Farbe leuchtete. Der ESP stand aber aber auf "Aus".
      Hier kann man bei diesem Problem mal eben schnell die aktuelle Farbe zwischen ESP und Lampe syncronisieren.

      Einstellungen => Filesystem
      Ein einfacher Filebrowser um mal eben schnell eine Webseite, sensor_data.json o.Ä. auszutauschen bei einem update.

      Einstellungen =>Update
      Hier kann ein Update über den Webbrowser aufgespielt werden.
      Zu beachten ist, das alle Einstellungen der Lampe ins Filesystem geschrieben werden. Solltet Ihr also ein komplettes Update des Filesystems über den Updater einspielen, verfällt die Lampe in den Werkszustand. Auch die Wlan Einstellungen sind wieder zurückgesetzt. Bei einem Update des Flash bleiben immer alle Einstellungen erhalten.

      Informationen
      Im Menü unter Informationen werden allerlei Informationen angezeigt. Als erstes die erkannten Temperatursensoren mit den Temperaturwerten., Softwareversion, IP's, MQTT Informationen, EPS Flash/Ram

      Fehler
      Solltet Ihr einen Fehler / Problem mit meiner Software haben, bitte unter Github ein Issue eröffnen.
      Dort sind dann alle Fehler / Probleme gesammelt und müssen nicht in zig verschiedenen Foren diskutiert / erklärt werden.
      Außerdem ist es auch für mich einfach, weil ich nur eine Anlaufstelle für Probleme habe.

      Wlan Zurücksetzen
      Um die Wlan Zugangsdaten zurückzusetzen und den ESP wieder einen Accesspoint mit den Standart Zugangsdaten erstellen zu lassen geht Ihr wie folgt vor :

      • Lampe ausstecken und etwas warten, damit evtl. Restspannung abgebaut werden kann
      • Taster S1 + S2 festhalten
      • Lampe einstecken
      • Nach ca. 5 Sekunden können die Tasten losgelassen werden.

      Nun sollte die Lampe wieder einen Accesspoint mit dem Namen "Poollampe" aufmachen.

      Debug Meldungen
      In dieser Version sind die Debugausgaben über die Serielle Schnittstelle standardmäßig deaktiviert.
      Um diese ein bzw. auszuschalten einfach die Adresse : http://IP-Adresse/debug/on
      oder http://IP-Adresse/debug/off aufrufen.

      Video der Funktionen

      20200620_015440.jpg 20200620_231033.jpg s-l1600.jpg
      S1S2.jpg nodemcu-vin.png

      Web7.png Web6.png Web5.png Web4.png Web3.png Web2.png Web1.png Web.png homeassistant_mqtt.png Flashen_1.png

      Die Neue Version ist ab sofort auf Github zu finden.

      S 1 Reply Last reply Reply Quote 8
      • T
        thbx last edited by

        Erst einmal Respekt. Das ist genau das was ich mit den Lampen vor hatte und nun hast Du es schon so toll umgesetzt. Könntest Du mir noch eine Art Schaltplan liefern, damit ich das meinem Elektriker geben kann? Herzlichen Dank vorab!!

        1 Reply Last reply Reply Quote 0
        • A
          Andy200877 last edited by

          Eigentlich ist es nix wildes.
          Der Nodemcu bekomme die 12V Versorgungsspannung (Vin) vom Netzteil der Lampe.
          Dann habe ich an 2 GPIO's die Tasterausgänge parallel angeschlossen.
          Auf der Platine sind die beiden Taster über einen 4,7kOhm Pullup-Widerstand an 3.3V angeschlossen.
          Beim betätigen des Tasters, fällt die Spannung nach GND ab.
          Ich habe also einfach nur eine Leitung zwischen Pullup-Widerstand und Taster angelötet und diese mit dem GPIO des Nodemcu verbunden.
          Nun überwache ich mit dem Nodemcu einfach den Pegel an GPIO. Ist dieser "High" wird kein Taster betätigt. Fällt er nach Low ab, drückt jemand den Taster an der Lampe.
          Zum schalten über Wifi, stelle ich die GPIO's einfach auf Output um und lege sie auf Low für ein paar ms.
          Der Rest ist nur ein wenig Software zum zählen der Tastendrücke, welches Programm hat die Lampe gerade, wie oft muss der Taster betätigt werden um zu Farbe xyz zu kommen,....
          Also eigentlich kein Hexenwerk.
          Evtl. würde sogar auch nur ein ESP01 reichen. Da ja ein 3.3V Spannungswandler auf der Platine verbaut ist. Wieviel Strom er aber noch zusätzlich liefern kann, habe ich nicht nachgeprüft, weil der Nodemcu rein passt und ich noch ein paar in der Bastelkiste liegen hatte.

          1 Reply Last reply Reply Quote 1
          • A
            Andy200877 last edited by Andy200877

            Anhang gelöscht

            Ich habe meinen Code von Arduino mal hier angehangen.
            Wahrscheinlich schlagen die Profies die Hände über den Kopf, aber ich bin ein Newbie und bastel mir zeitweise ein paar Programme zurecht.

            Ein paar Fehler können mit Sicherheit noch drin sein. Aber bei mir läuft die Lampe seit meines 1.Post's alltagstauglich in meinem Pool und geht jeden abend bei SU schön an und um 23Uhr wieder aus...

            Also viel Spaß damit.

            1 Reply Last reply Reply Quote 0
            • A
              Andy200877 last edited by Andy200877

              Da ich schon einige Anfragen per Chat Funktion bekommen habe, hier der "Schaltplan" und eine kleine Anleitung :

              Vorderseite der Platine
              Nodemcu Vin.png
              V+ => VIN am NodeMCU
              V- => GND am NodeMCU

              Rückseite der Platine
              20200619_004945[681].jpg
              Ein Schalter wird an D2 am Nodemcu angeschlossen
              und der andere Schalter an D1 am Nodemcu

              ACHTUNG !!!
              DAS GANZE FUNKTIONIERT NUR MIT EINEM NODEMCU !!
              AN V+ / V- LIEGT DIE SPANNUNG DES NETZTEILS DER LAMPE AN. ALSO +12V.
              EIN NODEMCU KANN ÜBER DEN VIN PIN MIT 4,5V - 20V VERSORGT WERDEN.
              EIN WEMOS Z.B. NUR MIT 5V !!
              DAHER NEHMT EINEN NODEMCU, ODER BAUT EUCH EINEN SPANNUNGSWANDLER EIN UM AUF EURE GEWÜNSCHTE VERSORGUNGSSPANNUNG ZU KOMMEN.

              Allgemeines zum Code
              Der Code ist wahrscheinlich etwas umständlich und es sind bestimmt noch irgendwelche Leichen darin vorhanden. Das liegt daran das ich die Software meines Poolthermometers einfach kurz umgeschrieben habe. (MQTT, Wlan, OTA, Webinterface mit Setup,.. war da alles schon vorhanden).
              Profis werden wahrscheinlich nur noch mit dem Kopf schütteln, aber das ist nur ein Hobby von mir, welches ich neben Familie, Kinder, Haus, usw. hin und wieder mache.... Ich bin ja mittlerweile auch schon etwas älter. g

              Zum Schluss
              Evtl. finden sich ja ein paar fähige Leute hier die Interesse haben die Software noch etwas zu verbessern und evtl. Bugs zu beheben. (Der Counter in der Fußzeile zählt zum Beispiel keine Tagen / Wochen, aber das stört mich im Moment nicht, weil ich da eh nie drauf schaue. 😉 )

              Es wäre auch schön, wenn Ihr eine kleine Resonanz hier lassen könntet, wenn's geklappt hat. Oder wenn Ihr einen Bug feststellt.

              Des weiteren möchte ich hier nochmal erwähnen das ich mir das ganze hier ausgedacht und programmiert habe. Ich möchte nicht das sich damit jemand in irgendeiner Weise finanziell bereichert und es irgendwann fertige Platinen bei Ebay oder sonst irgendwo zu kaufen gibt !

              Mein Arduino Programm
              Siehe Github Link im 1.Posting

              Intexlampe_wlan.zip
              Neue Version hier...

              T bahnuhr 2 Replies Last reply Reply Quote 2
              • T
                thbx @Andy200877 last edited by

                Hi Andy. Die Module sind heute gekommen. Ich werde sie in den kommenden Tagen einbauen. Herzlichen Dank für Deine ganzen Mühen, die Du investiert hast. Ich gebe in jedem Fall Feedback, sobald ich fertig bin. 🙂

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

                  @Andy200877 sagte in Vorstellung meines Intex Poollampen Umbau's:

                  EIN NODEMCU KANN ÜBER DEN VIN PIN MIT 4,5V - 20V VERSORGT WERDEN.

                  Hallo,
                  habe mal bei ebay nach nodecmu gesucht.

                  Die, die ich gefunden haben sagen:
                  bis 9 V (max 10)

                  Gib mal einen Link wo man einen bekommt mit bis 20V

                  mfg
                  Dieter

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

                    @bahnuhr die aussagen sind wirklich sehr wiedersprüchlich...
                    Der spannungswandler AMS1117 sollte eigentlich 20v können. Welche bei mir drauf sind kann ich aber nicht genau sagen. Sind ja schon verbaut und überleben auch 12v.
                    Aber vielleicht sollte man doch ein kleines stepdown board vor den esp hängen. 5v o.ä.
                    Kostet ja auch nicht sie welt. Und man könnte dafür einen kleineren wemos nehmen....

                    Muss aber jeder selber entscheiden..

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

                      @Andy200877

                      Hallo,
                      habe dein Script probiert.
                      Folgende Fragen:

                      • mqtt komtt nicht an
                        Die Daten kommen nicht in iob an. Muss mal weiter prüfen; vielleicht klappt es ja noch.
                      • statische IP
                        Ist dies möglich ?

                      Tasmota Software.
                      Kann man diese auch benutzen. Wäre einfacher für mich.
                      Wenn ja, was man bei den Geräteeinstellungen eingeben ?

                      mfg
                      Dieter

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

                        So, habe es auch hinbekommen.

                        Wemos D1 Mini mit Spannungswandler
                        Tasmota auf den Wemos
                        Und iob-Script.

                        Danke für die Inspiration.

                        mfg

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

                          @bahnuhr said in Vorstellung meines Intex Poollampen Umbau's:

                          So, habe es auch hinbekommen.

                          Wemos D1 Mini mit Spannungswandler
                          Tasmota auf den Wemos
                          Und iob-Script.

                          Danke für die Inspiration.

                          mfg

                          wie hast du es mit tasmota gemacht poste mal dein script .....danke

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

                            @Stratos-Gkrekidis sagte in Vorstellung meines Intex Poollampen Umbau's:

                            wie hast du es mit tasmota gemacht poste mal dein script .....danke

                            tasmota drauf und bei den Geräten relay1 und relay2 gewählt.

                            Script um Objekte anzulegen:

                            createState('javascript.0.Geräte.Pool.Poollampe.Farbe_innen', "Aus", {type: 'string',name: 'Farbe innen',read: true,write: true,role: 'per Script'});
                            createState('javascript.0.Geräte.Pool.Poollampe.Farbe_aussen', "Aus", {type: 'string',name: 'Farbe aussen',read: true,write: true,role: 'per Script'});
                            createState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_innen', 1, {type: 'number',name: 'akt. Stand Farbe innen',read: true,write: true,role: 'per Script'});
                            createState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen', 1, {type: 'number',name: 'akt. Stand Farbe aussen',read: true,write: true,role: 'per Script'});
                            
                            

                            Script in iob

                            
                            // Pool-Lampe steuern per wemos
                               var request = require('request');
                               var Farbe_soll = "", Stand, Taster;
                            
                            
                            on({id: "javascript.0.Geräte.Pool.Poollampe.Farbe_innen", change: "ne"}, function(obj){
                               //Poolfarbe_innen { "Aus", "Weiss", "Aus", "Farbwechsel" };
                                   Farbe_soll = obj.newState.val;
                                   Stand = getState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_innen').val;
                                   if (Farbe_soll == "Aus") { Lampe_schalten(2); 
                                       if (Stand == 4) { setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_innen', 1); 
                                       } else { setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_innen', 3); }
                                   }
                                   if (Farbe_soll == "Weiß") { 
                                       if (Stand == 1) { Lampe_schalten(2); 
                                       } else if (Stand == 3) { Lampe_schalten(2); setTimeout(function() { Lampe_schalten(2);  }, 1000); setTimeout(function() { Lampe_schalten(2);  }, 2000); 
                                       } else if (Stand == 4) { Lampe_schalten(2); setTimeout(function() { Lampe_schalten(2); }, 1000); 
                                   } setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_innen', 2); }
                                   if (Farbe_soll == "Farbwechsel") { 
                                       if (Stand == 1) { Lampe_schalten(2); setTimeout(function() { Lampe_schalten(2); }, 1000); setTimeout(function() { Lampe_schalten(2);  }, 2000); 
                                       } else if (Stand == 2) { Lampe_schalten(2); setTimeout(function() { Lampe_schalten(2); }, 1000); 
                                       } else if (Stand == 3) { Lampe_schalten(2); 
                                   } setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_innen', 4); } 
                            });
                            
                            
                            on({id: "javascript.0.Geräte.Pool.Poollampe.Farbe_aussen", change: "ne"}, function(obj){
                               //Poolfarbe aussen { "AUS", "Weiß", "Grün",  "Blaugrün", "Blau", "Violett", "Farbwechsel" };
                                   Farbe_soll = obj.newState.val;
                                   Stand = getState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen').val;
                                   if (Farbe_soll == "Aus") {
                                       if (Stand == 2) { for (z=1; z<=6; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 3) { for (z=1; z<=5; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 4) { for (z=1; z<=4; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 5) { for (z=1; z<=3; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 6) { for (z=1; z<=2; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 7) { Lampe_schalten(1); }
                                       setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen', 1);
                                   }
                                   if (Farbe_soll == "Weiß") {
                                       if (Stand == 3) { for (z=1; z<=6; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 4) { for (z=1; z<=5; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 5) { for (z=1; z<=4; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 6) { for (z=1; z<=3; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 7) { for (z=1; z<=2; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 1) { Lampe_schalten(1); }
                                       setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen', 2);
                                   }
                                   if (Farbe_soll == "Grün") {
                                       if (Stand == 4) { for (z=1; z<=6; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 5) { for (z=1; z<=5; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 6) { for (z=1; z<=4; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 7) { for (z=1; z<=3; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 1) { for (z=1; z<=2; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 2) { Lampe_schalten(1); }
                                       setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen', 3);
                                   }
                                   if (Farbe_soll == "Blaugrün") {
                                       if (Stand == 5) { for (z=1; z<=6; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 6) { for (z=1; z<=5; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 7) { for (z=1; z<=4; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 1) { for (z=1; z<=3; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 2) { for (z=1; z<=2; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 3) { Lampe_schalten(1); }
                                       setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen', 4);
                                   }
                                   if (Farbe_soll == "Blau") {
                                       if (Stand == 6) { for (z=1; z<=6; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 7) { for (z=1; z<=5; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 1) { for (z=1; z<=4; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 2) { for (z=1; z<=3; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 3) { for (z=1; z<=2; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 4) { Lampe_schalten(1); }
                                       setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen', 5);
                                   }
                                   if (Farbe_soll == "Violett") {
                                       if (Stand == 7) { for (z=1; z<=6; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 1) { for (z=1; z<=5; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 2) { for (z=1; z<=4; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 3) { for (z=1; z<=3; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 4) { for (z=1; z<=2; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 5) { Lampe_schalten(1); }
                                       setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen', 6);
                                   }
                                   if (Farbe_soll == "Farbwechsel") {
                                       if (Stand == 1) { for (z=1; z<=6; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 2) { for (z=1; z<=5; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 3) { for (z=1; z<=4; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 4) { for (z=1; z<=3; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 5) { for (z=1; z<=2; z++) { setTimeout(function() { Lampe_schalten(1);  }, 1000 * (z-1) ); }
                                       } else if (Stand == 6) { Lampe_schalten(1); }
                                       setState('javascript.0.Geräte.Pool.Poollampe.Stand_Farbe_aussen', 7);
                                   }
                            });
                            
                            
                            function Lampe_schalten(Taster) {
                               request('http://192.168.243.176/cm?cmnd=Power' + Taster + '%20On', function (error, response, body) { if (error) { log (response); } });
                               setTimeout(function() { 
                                   request('http://192.168.243.176/cm?cmnd=Power' + Taster + '%20Off', function (error, response, body) { if (error) { log (response); } }); }, 500);
                            }
                            
                            
                            // Lampen manuell schalten (innen = 2; außen = 1)
                            //Lampe_schalten(1);
                            //Lampe_schalten(2);
                            
                            
                            

                            Und in VIS sieht es dann so aus!
                            28ea4418-5d71-450f-affc-dc3924b039ee-image.png

                            mfg
                            Dieter

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

                              Frage per chat:
                              59d642d4-e1ac-40e4-9be0-4da207a5ece2-image.png

                              Antwort:
                              angeschlossen, wie oben schon vom TE beschrieben.

                              A O 2 Replies Last reply Reply Quote 0
                              • A
                                Andy200877 @bahnuhr last edited by Andy200877

                                Da es immer wieder mal zu Problemen mit "Arduino" gekommen ist, habe ich mal eine Bin-Datei für den Nodemcu erstellt.

                                Kann einfach über ESPEasyFlasher o.Ä. geflasht werden.

                                Folgendes habe ich festgestellt :
                                der Nodemcu scheint wohl Probleme zu haben, wenn der MQTT-Server ein Benutzername / Passwort verlangt. Ohne Zugangsdaten verbindet er sich.

                                Unter "Einstellungen" gibt es die Punkte :
                                "Anzeige Wechselzeit (ms)", "Abfrageintervall DS18B20 (ms)" und "NTP-Server Adresse" die Punkte können getrost ignoriert werden. Das sind Überbleibsel von meinem "Pool-Thermometer Projekt" welches ich für die Poollampe nur etwas modifiziert habe.

                                Ein Anpassen der Wlan Einstellungen ist nicht nötig, da der ESP nach dem flashen einen Accesspoint auf macht. Einfach damit verbinden und über webinterface eure wlan zugangsdaten eingeben. ( IP des ESP : 192.168.4.1)

                                intexlampe_wlan.ino.nodemcu.bin
                                Neue Version hier...

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

                                  @Andy200877
                                  Erstmal Respekt und vielen Dank für deine Arbeit und dass du sie geteilt hast! Ich möchte das gleiche Projekt realisieren und habe schon den NODEMCU und die Lampe besorgt. Das BIN File habe ich auch bereits geladen - scheint zu funktionieren. Die Lötarbeiten kommen als nächstes. 🙂
                                  Da ich mit dem Arduino bzw. NODEMCU aber noch blutiger Anfänger bin, würde ich gerne auch die Quelldateien verstehen und ggf. noch anpassen. Ich habe die 1595540510987-intexlampe_wlan.zip geladen, werde aber teils aus den Variablen nicht schlau
                                  Beispiel:
                                  "const int buttonS1 = D2" ist klar,
                                  aber wofür wird "const int LED2 = 16" gebraucht? GPIO16 is ja ein ganz anderer als D2 oder D3....
                                  Auch die ganzen Libraries, die über include im intexlampe_wlan.ino geladen werden, fehlen mir.

                                  Könntest Du und hier nochmal den letzten Stand deiner Quelldateien hochladen - mit Bibiotheken?? Das wäre super!

                                  BTW auf meinem NodeMCU sitzt auch der AMS1117. Er kommt prima mit 12V klar, wird aber ganz schön heiß. Ich habe einfach einen kleinen Kühlkörper von einem RasPi Set aufgeklebt, um auf Nummer sicher zu gehen.
                                  beste Grüße
                                  Markus

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    Andy200877 @gravity last edited by

                                    @gravity led pin 16 ist die led die auf dem nodemcu verlötet ist,....

                                    Libraries kann ich später mal genau nachsehen, bzw. verlinken.

                                    Auf anhieb fallen mir arduinojson (für config datei auf esp)
                                    pubsubclient (mqtt) ein.

                                    Bei den variablen bekommst du mit sicherheit eine krise. Ich habe vor ein paar tagen mal begonnen fehler zu fixen. (Mqtt mit user/pass), unnötige sachen entfernt,...

                                    gravity 1 Reply Last reply Reply Quote 0
                                    • gravity
                                      gravity @Andy200877 last edited by gravity

                                      @andy200877
                                      ..... Das wäre super - Danke!!!
                                      Krise hin oder her - funktionieren tut es mit der .bin! Gerade im Pool in Betrieb genommen 😉

                                      Ich möchte aber die .bin auch selbst erstellen können und mich mit der Materie vertrauter machen.
                                      Anbei ein paar Bilder von meinen Lötarbeiten nach Deiner Anleitung.

                                      20210626_215815.jpg

                                      20210626_215824.jpg

                                      20210626_220716.jpg

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        Andy200877 @gravity last edited by

                                        Folgende Libraries werden benötigt um das ganze unter Arduino zu kompilieren :

                                        • ArduinoJson (by Benoit Blanchon)
                                        • PubSubClient (by Nick O'Leary)
                                        • WiFiManager (by tablatronix)

                                        Alle Libraries findet man unter Arduino unter : Menü Werkzeuge -> Bibliotheken verwalten.
                                        Dort einfach danach suchen (nach unten scrollen) und installieren.

                                        biblotheken_arduino.jpg

                                        Um einen ESP8266 mit Arduino programmieren zu können, muss unter "Datei -> Voreinstellungen" unter "zusätzliche Boardverwalter-URLs:" folgendes eingetragen werden : https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json

                                        der erste Link ist für ESP32 und der zweite für ESP8266.

                                        arduino_esp.jpg

                                        In meinem Programm ist auch ArduinoOTA installiert.
                                        Ihr könnt den Arduino damit auch direkt aus der Arduino Software heraus programmieren, wenn er im gleichen Netzwerk wie euer PC ist....

                                        gravity 1 Reply Last reply Reply Quote 1
                                        • gravity
                                          gravity @Andy200877 last edited by

                                          @andy200877
                                          Perfekt - hab's gefunden! Vielen Dank für Deine Mühe!
                                          Die Lampe wird mit dem NodeMCU eigentlich erst sinnvoll - wer läuft schon nachts zum Pool und drückt auf die Knöpfe :-)....!
                                          25m Entfernung zum AP macht der NodeMCU erfreulicherweise ohne Probleme.

                                          20210627_233553.jpg

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Schwab1070 @Andy200877 last edited by

                                            @andy200877 Phantastische Lösung! Leider bin ich in der Richtung völlig unbegabt. Habe dasselbe Problem und gehofft es gäbe eine Lösung die Lampe durch "überbrücken" auf Dauerstrom zu setzen. Geht das? Sorry für so eine banale Frage!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            917
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            esp8266 intex poollampe
                                            15
                                            60
                                            11192
                                            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