Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Lay-Z-Spa Wifi Control

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Lay-Z-Spa Wifi Control

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Forst89 @alwo23 last edited by

      @alwo23 Hi, ich hätte Interesse an einer Platine und würde mich dann auch mal an das Projekt wagen 🙂 Hast du von den anderen benötigen Komponenten zufällig auch noch übrig umd das Set zu kompletieren?

      1 Reply Last reply Reply Quote 0
      • tvtotal
        tvtotal @MezzoDO last edited by

        @mezzodo

        Hallo,
        habe das gleiche Problem wie @MezzoDO Model S100101 Display tot macht aber eigenartige Pieptöne.
        Webinterface aufrufbar, jedoch keine Schaltfunktion möglich.
        Firmware.png
        HardwareConfig.png 1365-1024.png
        pcb.jpg
        768-1024.jpg
        typ.jpg
        Nutze die PCB v1 Verdrahtung überprüft finde aber keinen Fehler, Bild von @Rickman überprüft.
        Hat noch jemand einen Tipp ?😞

        R 1 Reply Last reply Reply Quote 0
        • R
          Rickman @tvtotal last edited by

          @tvtotal
          Das Problem hatte ich Anfangs auch mit totem Display und Pieptönen.
          Meine Verdrahtung sieht aber ein wenig anders aus - habe allerdings auch das v2- Board...
          Schau mal hier:
          1663778509202-20220921_183757.jpg

          1 Reply Last reply Reply Quote 0
          • Stefan M.
            Stefan M. last edited by

            Hallo allerseits! 🙂 Ich bin neu hier und möchte ebenfalls meinen bestway-Whirlpool mit Wifi aufrüsten.

            Sollte noch jemand eine V2-Platine, vielleicht sogar einen Kabelsatz übrig haben, würde ich mich über PN freuen.

            VG
            Stefan

            1 Reply Last reply Reply Quote 0
            • Jan M
              Jan M last edited by Jan M

              Hallo Leute, möchte meinen Pool auch aufrüsten. Würde auch noch eine Platine brauchen. Kannst mir bitte eine schicken. @alwo23 oder jemand anders. Danke Lg

              1 Reply Last reply Reply Quote 0
              • Bernhard Bruckmeier
                Bernhard Bruckmeier @alwo23 last edited by

                @alwo23 Hey, ich hab Interesse an eine Platine, hast du noch eine?

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

                  Hallo zusammen,

                  kann mir jemand verraten wofür die Kondensatoren und die Weiderstände benötigt werden beim V2 Board?

                  1 Reply Last reply Reply Quote 0
                  • E
                    Endirecto last edited by

                    Ich bin auf der Suche nach einem fertigen Board. Bei Kleinanzeigen habe ich bisher nur ein Angebot für 60 Euro gefunden.

                    Über eine PN würde ich mich freuen.

                    Viele Grüße

                    U 1 Reply Last reply Reply Quote 0
                    • U
                      ucm @Endirecto last edited by

                      Hallo zusammen, ich suche ebenfalls nach einer Platine. Hat jemand noch eine vorrätig? Besten Dank

                      1 Reply Last reply Reply Quote 0
                      • Server Pfunz
                        Server Pfunz @emblitz last edited by

                        @emblitz wie macht man das mit dem Script? Meine MQQT-Verbindung läuft auch, aber zeigt keine vernünftigen Werte an... wie bei dir...

                        D 1 Reply Last reply Reply Quote 0
                        • R
                          Rickman last edited by Rickman

                          Hallo zusammen,

                          da ich nun mehrfach angeschrieben und dann doch nicht auf meine Antwort reagiert wurde, hier für alle.
                          Ich habe noch eine PCBv2- Platine, einen Level-Shifter, einen Kabelsatz und zugehörige Widerstände da.

                          EDIT: Jetzt habe ich keine mehr.

                          Gruß,
                          Richy

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

                            Moin, ich bin auch noch auf der Suche nach einer PCBv2-Platine bzw. einem ganzen Bausatz.
                            Falls jemand etwas abzugeben hat würde ich mich über eine Nachricht freuen.
                            Gruß Tom

                            Edit: Ich habe noch Teile abzugeben.

                            PCB_V2B-Platine - 10 Euro
                            Bausatz bestehend aus: PCBv2-Platine, NodeMCU V3, Level-Shifter 8CH (rot), Widerstände und Kondensatoren, Kabelsatz 6-Adrig - 30 Euro
                            Gehäuse aus dem 3D Drucker - 10 Euro
                            Lay-Z-Spa Wifi-Controller, gelötet und geflasht einschl. 3D-Gehäuse - 55 Euro
                            zzgl. 5.49 Euro Versandkosten

                            Bei Interesse gerne melden.

                            WhatsApp Image 2023-09-08 at 11.59.05.jpeg

                            mrFenyx 1 Reply Last reply Reply Quote 1
                            • Z
                              ZoXx @Agria4800 last edited by

                              @agria4800 said in Lay-Z-Spa Wifi Control:

                              @agria4800
                              Hiermit bekommt man die Zeiten ausgelesen:

                              var Souce_other, Source, RSSI, Times, Chlortime, Filtertime, Uptime, Pumptime, Heating, Airtime, Hydrojet_Time, Costs, Verbrauch;
                              
                              
                              on({id: [].concat(['mqtt.0.layzspa.other']), change: "ne"}, async function (obj) {
                               var value = obj.state.val;
                               var oldValue = obj.oldState.val;
                               Souce_other = getState("mqtt.0.layzspa.other").val;
                               await wait(100);
                               RSSI = getAttr(Souce_other, 'RSSI');
                               setState("0_userdata.0.LazySpa.RSSI-Wifi"/*RSSI-Wifi*/, parseFloat(RSSI), true);
                              });
                              on({id: [].concat(['mqtt.0.layzspa.times']), change: "ne"}, async function (obj) {
                               var value = obj.state.val;
                               var oldValue = obj.oldState.val;
                               Source = getState("mqtt.0.layzspa.times").val;
                               await wait(100);
                               Times = getAttr(Source, 'TIME');
                               setState("0_userdata.0.LazySpa.Times.Time"/*Time*/, parseFloat(Times), true);
                               Chlortime = getAttr(Source, 'CLTIME');
                               setState("0_userdata.0.LazySpa.Times.Chlor_Time"/*Chlor_Time*/, Chlortime, true);
                               Filtertime = getAttr(Source, 'FTIME');
                               setState("0_userdata.0.LazySpa.Times.Filter_Time"/*Filter_Time*/, parseFloat(Filtertime), true);
                               Uptime = getAttr(Source, 'UPTIME');
                               setState("0_userdata.0.LazySpa.Times.Up_Time"/*Up_Time*/, parseFloat(Uptime), true);
                               Pumptime = getAttr(Source, 'PUMPTIME');
                               setState("0_userdata.0.LazySpa.Times.Pump_Time"/*Pump_Time*/, parseFloat(Pumptime), true);
                               Heating = getAttr(Source, 'HEATINGTIME');
                               setState("0_userdata.0.LazySpa.Times.Heating_Time"/*Heating Time*/, parseFloat(Heating), true);
                               Airtime = getAttr(Source, 'AIRTIME');
                               setState("0_userdata.0.LazySpa.Times.Air_Time"/*Air_Time*/, parseFloat(Airtime), true);
                               Hydrojet_Time = getAttr(Source, 'JETTIME');
                               setState("0_userdata.0.LazySpa.Times.Hydrojet_Time"/*Hydrojet_Time*/, parseFloat(Hydrojet_Time), true);
                               Costs = getAttr(Source, 'COST');
                               setState("0_userdata.0.LazySpa.Times.Cost"/*Cost*/, parseFloat(Costs), true);
                               Verbrauch = getAttr(Source, 'KWH');
                               setState("0_userdata.0.LazySpa.Times.Verbrauch"/*Verbrauch*/, parseFloat(Verbrauch), true);
                              });
                              
                              
                              

                              und hiermit werden sie umgeschrieben analog !Bildschirmfoto 2022-08-12 um 21.15.48.png

                              var Dauer, tage, std, min, sec;
                              
                              
                              // https://forum.iobroker.net/topic/13488/vorlage-blockly-umrechnung-von-sekunden-in-stunden-minuten-und-sekunden/11
                              
                              on({id: "0_userdata.0.LazySpa.Times.Up_Time"/*Up_Time*/, change: "ne"}, async function (obj) {
                               var value = obj.state.val;
                               var oldValue = obj.oldState.val;
                               Dauer = getState("0_userdata.0.LazySpa.Times.Up_Time").val;
                               tage = Math.floor(parseFloat(Dauer) / 86400);
                               Dauer = parseFloat(Dauer) - parseFloat(tage) * 86400;
                               std = Math.floor(parseFloat(Dauer) / 3600);
                               Dauer = parseFloat(Dauer) - parseFloat(std) * 3600;
                               min = Math.floor(parseFloat(Dauer) / 60);
                               Dauer = parseFloat(Dauer) - parseFloat(min) * 60;
                               sec = Math.floor(parseFloat(Dauer) / 1);
                               setState("0_userdata.0.LazySpa.Times.Format-Up-Time"/*Format-Up-Time*/, ([tage,'D -  ',std,'h:',min,'min:',sec,'sec'].join('')));
                              });
                              on({id: "0_userdata.0.LazySpa.Times.Air_Time"/*Air_Time*/, change: "ne"}, async function (obj) {
                               var value = obj.state.val;
                               var oldValue = obj.oldState.val;
                               Dauer = getState("0_userdata.0.LazySpa.Times.Air_Time").val;
                               tage = Math.floor(parseFloat(Dauer) / 86400);
                               Dauer = parseFloat(Dauer) - parseFloat(tage) * 86400;
                               std = Math.floor(parseFloat(Dauer) / 3600);
                               Dauer = parseFloat(Dauer) - parseFloat(std) * 3600;
                               min = Math.floor(parseFloat(Dauer) / 60);
                               Dauer = parseFloat(Dauer) - parseFloat(min) * 60;
                               sec = Math.floor(parseFloat(Dauer) / 1);
                               setState("0_userdata.0.LazySpa.Times.Format-Air-Time"/*Format-Air-Time*/, ([tage,'D -  ',std,'h:',min,'min:',sec,'sec'].join('')));
                              });
                              on({id: "0_userdata.0.LazySpa.Times.Heating_Time"/*Heating Time*/, change: "ne"}, async function (obj) {
                               var value = obj.state.val;
                               var oldValue = obj.oldState.val;
                               Dauer = getState("0_userdata.0.LazySpa.Times.Heating_Time").val;
                               tage = Math.floor(parseFloat(Dauer) / 86400);
                               Dauer = parseFloat(Dauer) - parseFloat(tage) * 86400;
                               std = Math.floor(parseFloat(Dauer) / 3600);
                               Dauer = parseFloat(Dauer) - parseFloat(std) * 3600;
                               min = Math.floor(parseFloat(Dauer) / 60);
                               Dauer = parseFloat(Dauer) - parseFloat(min) * 60;
                               sec = Math.floor(parseFloat(Dauer) / 1);
                               setState("0_userdata.0.LazySpa.Times.Format-Heating-Time"/*Format-Heating-Time*/, ([tage,'D -  ',std,'h:',min,'min:',sec,'sec'].join('')));
                              });
                              on({id: "0_userdata.0.LazySpa.Times.Pump_Time"/*Pump_Time*/, change: "ne"}, async function (obj) {
                               var value = obj.state.val;
                               var oldValue = obj.oldState.val;
                               Dauer = getState("0_userdata.0.LazySpa.Times.Pump_Time").val;
                               tage = Math.floor(parseFloat(Dauer) / 86400);
                               Dauer = parseFloat(Dauer) - parseFloat(tage) * 86400;
                               std = Math.floor(parseFloat(Dauer) / 3600);
                               Dauer = parseFloat(Dauer) - parseFloat(std) * 3600;
                               min = Math.floor(parseFloat(Dauer) / 60);
                               Dauer = parseFloat(Dauer) - parseFloat(min) * 60;
                               sec = Math.floor(parseFloat(Dauer) / 1);
                               setState("0_userdata.0.LazySpa.Times.Format-Pump-Time"/*Format-Pump-Time*/, ([tage,'D -  ',std,'h:',min,'min:',sec,'sec'].join('')));
                              });
                              
                              on({id: "0_userdata.0.LazySpa.Times.Hydrojet_Time"/*Hydrojet_Time*/, change: "ne"}, async function (obj) {
                               var value = obj.state.val;
                               var oldValue = obj.oldState.val;
                               Dauer = getState("0_userdata.0.LazySpa.Times.Hydrojet_Time").val;
                               tage = Math.floor(parseFloat(Dauer) / 86400);
                               Dauer = parseFloat(Dauer) - parseFloat(tage) * 86400;
                               std = Math.floor(parseFloat(Dauer) / 3600);
                               Dauer = parseFloat(Dauer) - parseFloat(std) * 3600;
                               min = Math.floor(parseFloat(Dauer) / 60);
                               Dauer = parseFloat(Dauer) - parseFloat(min) * 60;
                               sec = Math.floor(parseFloat(Dauer) / 1);
                               setState("0_userdata.0.LazySpa.Times.Format-Hydrojet-Time"/*Format-Hydrojet-Time*/, ([tage,'D -  ',std,'h:',min,'min:',sec,'sec'].join('')));
                              });
                              

                              hier kann ich nicht folgen. Kannst du mir hier unter die Arme greifen?
                              Die Skripte habe ich eingefügt, jedoch schmeißt er bei mir Fehler: javascript.0 (562) at Object.<anonymous>

                              Die Datenpunkte existieren bei mir nicht. Müssen die angelegt werden vorher? Wenn ja in welcher Form?
                              Danke!

                              1 Reply Last reply Reply Quote 0
                              • Rocco Friedrich
                                Rocco Friedrich @Nobody 0 last edited by

                                @nobody-0
                                Hast du das Problem mit dem Klackern lösen können?
                                Ich habe drum genau das gleiche Problem Lay-Z Spa Modul von Ebay lief eine Zeit lang problemlos dann fing das Modul nach einem Stromausfall an zu klackern ich denke das Geräusch kommt vom Lautsprecher der verbaut ist. Den ESP8266 und den Converter hab ich schon gewechselt aber das Problem besteht weiterhin.
                                das Web Interface ist erreichbar aber die Steuerung ist nicht möglich auch über die Tasten an der Pumpe ist mit dem Installierten Modul keine Bedienung möglich. Vielleicht kannst du mir ja helfen? Gruss Rocco

                                1 Reply Last reply Reply Quote 0
                                • R
                                  Ronnyempire last edited by

                                  Ich suche noch einen fertigen Controller, hat jemand einen abzugeben. Ich habe das 100101 Modell

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

                                    Hi zusammen,
                                    ich habe die States in ioBroker reinbekommen aber ich kann leider keine Befehle rausschicken. Ich bekomme die Fehlermeldung State "mqtt-client.0.layzspa.command" not found - der existiert tatsächlich nicht. Soll ich es per Hand erstellen oder habe ich etwas falsch gemacht? Ich benutze auch "nur" das mqtt-client, nicht das mqtt Adapter aber damit, denke ich, sollte es nicht zu tun haben, oder?
                                    Danke!

                                    mrFenyx 1 Reply Last reply Reply Quote 0
                                    • mrFenyx
                                      mrFenyx @hlgamer last edited by

                                      @hlgamer said in Lay-Z-Spa Wifi Control:

                                      Moin, ich bin auch noch auf der Suche nach einer PCBv2-Platine bzw. einem ganzen Bausatz.
                                      Falls jemand etwas abzugeben hat würde ich mich über eine Nachricht freuen.
                                      Gruß Tom

                                      Edit: Ich habe noch Teile abzugeben.

                                      PCB_V2B-Platine - 10 Euro
                                      Bausatz bestehend aus: PCBv2-Platine, NodeMCU V3, Level-Shifter 8CH (rot), Wiederstände und Kondensatoren, Kabelsatz 6-Adrig - 30 Euro
                                      Gehäuse aus dem 3D Drucker - 10 Euro
                                      Lay-Z-Spa Wifi-Controller, gelötet und geflasht einschl. 3D-Gehäuse - 55 Euro
                                      zzgl. 5.49 Euro Versandkosten

                                      Bei Interesse gerne melden.

                                      WhatsApp Image 2023-09-08 at 11.59.05.jpeg

                                      @hlgamer vielen Dank für den Controller! hat alles super geklappt, funktioniert prima! 👏 👍

                                      1 Reply Last reply Reply Quote 0
                                      • mrFenyx
                                        mrFenyx @mrFenyx last edited by mrFenyx

                                        @mrfenyx said in Lay-Z-Spa Wifi Control:

                                        Hi zusammen,
                                        ich habe die States in ioBroker reinbekommen aber ich kann leider keine Befehle rausschicken. Ich bekomme die Fehlermeldung State "mqtt-client.0.layzspa.command" not found - der existiert tatsächlich nicht. Soll ich es per Hand erstellen oder habe ich etwas falsch gemacht? Ich benutze auch "nur" das mqtt-client, nicht das mqtt Adapter aber damit, denke ich, sollte es nicht zu tun haben, oder?
                                        Danke!

                                        UPDATE:
                                        tatsächlich muss man das mqtt Adapter benutzen, dann gibt es auch /command. Das Problem dass ich nun habe ist mit das setzen von AMBC. Ich habe das folgende Szenario:

                                        • die Außentemperatur ist durch die Weboberfläche auf 25°C gesetzt
                                        • in ioBroker sehe ich diesen Wert:
                                          6887417c-1982-4b81-87e4-e703eb2c7e21-image.png
                                        • nun versuche ich diesen Wert manuell auf 30 zu setzen
                                          d104339c-71e7-4d35-be64-44d02106e113-image.png
                                        • tatsächlicher Wert was dann gesetzt wird ist -1
                                        • ich ändere es wieder auf 25°C in der Weboberfläche was in ioBroker übernommen wird.
                                        • ich versuche es dann in ioBroker auf 86 zu ändern
                                        • gesetzter Wert ist dann 25

                                        Das führt mich dazu zu glauben dass der AMBC der gesetzt wird, eigentlich der AMBF (also in Fahrenheit) ist. Weiß jemand was man ändern muss, um den Wert in °C zu setzen?

                                        Danke!

                                        UPDATE:
                                        man muss hier das CMD auf 15 setzen, nicht 14:

                                        case 'AMBC':
                                                    setStateAsync('mqtt.'+ MQTTINSTANCE+'.layzspa.command','{"CMD":15,"VALUE":'+ value +',"XTIME":0,"INTERVAL":0}')
                                                    log('change ambient temp. to '+ value);
                                                break;
                                        

                                        14 = °F und 15 = °C

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          RoccoNaut @johobo last edited by

                                          @johobo Hast du noch mal den Link zu de Gehäuse? Der Link hier funktioniert nicht mehr.

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            Bomer @Smokey last edited by

                                            @smokey said in Lay-Z-Spa Wifi Control:

                                            @agria4800 sagte in Lay-Z-Spa Wifi Control:

                                            Und so siehts dann aus...Bildschirmfoto 2022-08-12 um 21.17.52.png

                                            😞 ich hab den ganzen Threat jetzt x mal gelesen, raffe aber einfach nicht, wie ich per VIS die entsprechenden Kommandos absetzen kann, wie es oben im Bild zu sehen ist. Das sind doch keine direkten Datenpunkte, die einen Wert oder ein true/false erwarten. Ich sehe im Objekt-Baum hinter den Datenpunkten nur JASON files oder scripts. Was hab ich denn übersehen?
                                            Hi,
                                            würdest du das Vis auch zur Verfügung stellen?
                                            MfG
                                            Bomer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            900
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            71
                                            202
                                            26719
                                            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