Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Lay-Z-Spa Wifi Control

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Lay-Z-Spa Wifi Control

Lay-Z-Spa Wifi Control

Scheduled Pinned Locked Moved Hardware
211 Posts 76 Posters 50.5k Views 72 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Agria4800A Agria4800

    @agria4800 : Anbei das Script für die Leute mit dem Layz Hawaii oder Maldives (mit den Hydrojet Düsen) 😉

    // https://forum.iobroker.net/topic/51603/lay-z-spa-wifi-control?_=1655490942180&lang=de
    
    /*Notes for me
    
    Last filter change was 0.00 day(s) ago.  RESET Button gedrückt!
    {"CMD":10,"VALUE":0,"XTIME":1658859596,"INTERVAL":0}
    
    
    Last chlorine add was 0.00 day(s) ago.
    {"CMD":9,"VALUE":0,"XTIME":1658859652,"INTERVAL":0}
    */
    
    const Messages =  
    {
     "CONTENT": "STATES",
     "LCK": 0,
     "PWR": 0,
     "UNT": 1,
     "AIR": 0,
     "GRN": 0,
     "RED": 0,
     "FLT": 0,
     "TGT": 22,
     "TMP": 13,
     "CH1": 32,
     "CH2": 49,
     "CH3": 51,
     "HJT": 0,
     "BRT": 7
    }
    const ID = '0_userdata.0.Layz-Hydro';
    const MQTTINSTANCE = 0;
    const debug = true;
    /*
    {
     "CONTENT": "TIMES",
     "TIME": 1650746370,
     "CLTIME": 1644734714,
     "FTIME": 1644734719,
     "UPTIME": 41660,
     "PUMPTIME": 50,
     "HEATINGTIME": 24,
     "AIRTIME": 512,
     "JETTIME": 4294966,
     "COST": 0,
     "FINT": 4294967295,
     "CLINT": 4294967295,
     "KWH": null,
     "TTTT": -74677
    }
    */
    const STATES=[
       {
           _id: 'LCK',
           type: 'state',
           common: {
               name: 'lock',
               type: 'boolean',
               role: 'switch',
               read: true,
               write: false,
               desc: 'Lazy spa lock'
           },
           native: {}
       },
       {
           _id: 'PWR',
           type: 'state',
           common: {
               name: 'power',
               type: 'boolean',
               role: 'switch.power',
               read: true,
               write: true,
               desc: 'Lazy spa power'
           },
           native: {}
       },
       {
       _id: 'UNT',
       type: 'state',
       common: {
           name: 'unit',
           type: 'number',
           role: 'value',
           read: true,
           write: true,
           max: 1,
           desc: 'Lazy spa unit',
           states: {
       			0: 'Farenheit',
       			1: 'Celsius'
       		}
       },
          native: {}
       },
       {
       _id: 'HJT',
       type: 'state',
       common: {
           name: 'Hydrojet',
           type: 'boolean',
           role: 'switch',
           read: true,
           write: true,
           desc: 'Lazy spa Hydrojets state'
       },
          native: {}
       },
       {
       _id: 'AIR',
       type: 'state',
       common: {
           name: 'bubbles',
           type: 'boolean',
           role: 'switch',
           read: true,
           write: true,
           desc: 'Lazy spa bubbles state'
       },
       native: {}
       },
       {
       _id: 'GRN',
       type: 'state',
       common: {
           name: 'Heating green',
           type: 'boolean',
           role: 'switch',
           read: true,
           write: false,
           desc: 'reached target temp.'
       },
       native: {}
       },
       {
       _id: 'RED',
       type: 'state',
       common: {
           name: 'Heating red',
           type: 'boolean',
           role: 'switch',
           read: true,
           write: false,
           desc: 'not reached target temp.'
       },
       native: {}
       },
       {
       _id: 'FLT',
       type: 'state',
       common: {
           name: 'pump',
           type: 'boolean',
           role: 'switch',
           read: true,
           write: true,
           desc: 'pump state'
       },    native: {}
       },
       {
       _id: 'HEATER',
       type: 'state',
       common: {
           name: 'heater',
           type: 'boolean',
           role: 'switch',
           read: true,
           write: true,
           desc: 'heater state'
       },
       native: {}
       },
       {
       _id: 'TGT',
       type: 'state',
       common: {
           name: 'target temp',
           type: 'number',
           role: 'level.temperature',
           min: 20,
           max: 40,
           steps: 1,
           read: true,
           write: true,
           desc: 'taget temp.'
       },
       native: {}
       },
       {
       _id: 'TMP',
       type: 'state',
       common: {
           name: 'temp',
           type: 'number',
           role: 'value.temperature',
           read: true,
           write: false,
           unit: '°C',
           desc: 'temp.'
       },
       native: {}
       },
    ]
    
    
    init();
    async function stateChange(obj){
       let id = obj.id
       let state = id.split('.').pop()
       let value = obj.state.val
       log('change Unit' + state)
       switch (state) {
           case 'UNT':
               setStateAsync('mqtt.'+ MQTTINSTANCE+'.layzspa.command','{"CMD":1,"VALUE":'+ value +',"XTIME":0,"INTERVAL":0}')
               log('change Unit')
           break;
           case 'TGT':
               setStateAsync('mqtt.'+ MQTTINSTANCE+'.layzspa.command','{"CMD":0,"VALUE":'+ value +',"XTIME":0,"INTERVAL":0}')
               log('change target temp. to '+ value);
           break;
           case 'AIR':
               value = value ? 1: 0 ;
               setStateAsync('mqtt.'+ MQTTINSTANCE+'.layzspa.command','{"CMD":2,"VALUE":'+ value +',"XTIME":0,"INTERVAL":0}')
               log('set bubbles to '+ value);
           break;
            case 'HJT':
               value = value ? 1: 0 ;
               setStateAsync('mqtt.'+ MQTTINSTANCE+'.layzspa.command','{"CMD":11,"VALUE":'+ value +',"XTIME":0,"INTERVAL":0}')
               log('set Hydrojets to '+ value);
           break;
           case 'HEATER':
               value = value ? 1: 0 ;
               setStateAsync('mqtt.'+ MQTTINSTANCE+'.layzspa.command','{"CMD":3,"VALUE":'+ value +',"XTIME":0,"INTERVAL":0}')
               log('set Heater to '+ value);
           break;
           case 'FLT':
               value = value ? 1: 0 ;
               setStateAsync('mqtt.'+ MQTTINSTANCE+'.layzspa.command','{"CMD":4,"VALUE":'+ value +',"XTIME":0,"INTERVAL":0}')
               log('set pump to '+ value);
           break;
        
    
    
     default:
       // Anweisungen werden ausgeführt,
       // falls keine der case-Klauseln mit expression übereinstimmt
       break;
    }
    
    
    
    }
    async function init(){
       await asyncForEach(STATES, async (obj, index) => {
           let id = ID +'.'+ obj._id
           if (!existsState(id)) {
               log('create state '+ id)
               await createStateAsync(id, obj.common)
           }
           else {
               log('skip state '+ id)
           }
           //set subscription
           if(obj.common.write){
               on({id: id, change:"any"} , function(obj) {
                   if(!obj.state.ack){
                       log('change state! '+ JSON.stringify(obj))
                       stateChange(obj)
                   }
               });
           }       
       });
       log('init done!')
    }
    async function setLazyStates(obj){
       try{
               let states = JSON.parse(obj)
               for (const [key, value] of Object.entries(states)) {
                   let statevalue = value
                   const found = STATES.find(state => state._id === key);
                   if(found){                 
                       if (found.common.type === 'boolean'){
                           statevalue = value === 1
                       }
                       await setStateAsync(ID +'.'+ key,statevalue,true)
                   }
               }
               //set heater state
               await setStateAsync(ID +'.HEATER',(states.GRN || states.RED) === 1,true)    
       }
       catch(e){
           console.log('Error in setting State '+ e)
       }
    
    }
    
    async function asyncForEach(array, callback) {
       for (let index = 0; index < array.length; index++) {
       	await callback(array[index], index, array);
       }
    }
    function log (msg){
       if(debug) console.log (msg)
    }
    
    on({id:'mqtt.'+ MQTTINSTANCE+'.layzspa.message', change:"ne"} , function(obj) {
       log('Lazyspa reached message! '+ JSON.stringify(obj.state))
       setLazyStates(obj.state.val)
    });
    
    

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

    Grüße

    K Offline
    K Offline
    kukoratsch
    wrote on last edited by kukoratsch
    #163

    @agria4800 DANKE
    Screenshot 2024-07-17 210146.png

    T 1 Reply Last reply
    0
    • K kukoratsch

      @agria4800 DANKE
      Screenshot 2024-07-17 210146.png

      T Offline
      T Offline
      TimoWald
      wrote on last edited by
      #164

      @kukoratsch sehr sehr schön. Wie hast du es mit dem Zählern gemacht? Verbrauch etc.
      Könnte ich die Vis Seite haben?

      K 1 Reply Last reply
      0
      • Der-JetiD Offline
        Der-JetiD Offline
        Der-Jeti
        wrote on last edited by
        #165

        Kann jemand die stl vom einem PCB_V2 Gehäuse zur Verfügung stellen?

        1 Reply Last reply
        0
        • T TimoWald

          @kukoratsch sehr sehr schön. Wie hast du es mit dem Zählern gemacht? Verbrauch etc.
          Könnte ich die Vis Seite haben?

          K Offline
          K Offline
          kukoratsch
          wrote on last edited by
          #166

          @timowald Die Datenpunkte manuel anlegen
          1.jpg
          und die beiden Scripten aus post 57 nehmen und anpassen
          2.png
          bei dir ist das mqtt.2

          T 1 Reply Last reply
          0
          • K kukoratsch

            @timowald Die Datenpunkte manuel anlegen
            1.jpg
            und die beiden Scripten aus post 57 nehmen und anpassen
            2.png
            bei dir ist das mqtt.2

            T Offline
            T Offline
            TimoWald
            wrote on last edited by
            #167

            @kukoratsch Hallo habe es jetzt soweit aber es kommen noch folgende Meldungen im JS.

            d2115d6a-3aca-4fd2-9a08-f760958bb6cd-grafik.png

            K 1 Reply Last reply
            0
            • T TimoWald

              @kukoratsch Hallo habe es jetzt soweit aber es kommen noch folgende Meldungen im JS.

              d2115d6a-3aca-4fd2-9a08-f760958bb6cd-grafik.png

              K Offline
              K Offline
              kukoratsch
              wrote on last edited by kukoratsch
              #168

              @timowald Zeig mal Screenshot von 0_userdata

              T 1 Reply Last reply
              0
              • K kukoratsch

                @timowald Zeig mal Screenshot von 0_userdata

                T Offline
                T Offline
                TimoWald
                wrote on last edited by TimoWald
                #169

                @kukoratsch IMG_2236.png

                Wurde mit dem Handy gemacht.

                K 1 Reply Last reply
                0
                • T TimoWald

                  @kukoratsch IMG_2236.png

                  Wurde mit dem Handy gemacht.

                  K Offline
                  K Offline
                  kukoratsch
                  wrote on last edited by
                  #170

                  @timowald aber wo sind die anderen Datenpunkte
                  3.png

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    TimoWald
                    wrote on last edited by TimoWald
                    #171

                    @kukoratsch So jetzt nochmal richtig.
                    bbec4713-ebaf-4cfc-b143-db4f6fdaf2c7-grafik.png

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      rooney09
                      wrote on last edited by
                      #172

                      Hallo zusammen,
                      ich besitze seit neustem einen Lay-Z-Spa St. Moritz und würde diesen gerne "smart" machen.
                      Verkauft mir jemand ein Modul komplett fertig für einen angemessenen Betrag?

                      T 1 Reply Last reply
                      0
                      • R rooney09

                        Hallo zusammen,
                        ich besitze seit neustem einen Lay-Z-Spa St. Moritz und würde diesen gerne "smart" machen.
                        Verkauft mir jemand ein Modul komplett fertig für einen angemessenen Betrag?

                        T Offline
                        T Offline
                        TimoWald
                        wrote on last edited by
                        #173

                        @rooney09 ich habe mein Modul komplett fertig bei eBay bestellt.

                        T 1 Reply Last reply
                        0
                        • T TimoWald

                          @rooney09 ich habe mein Modul komplett fertig bei eBay bestellt.

                          T Offline
                          T Offline
                          TimoWald
                          wrote on last edited by
                          #174

                          @timowald Hallo, gibt es einen Befehl aus dem IOBroker heraus um das Display abzuschalten?

                          W 1 Reply Last reply
                          0
                          • T TimoWald

                            @timowald Hallo, gibt es einen Befehl aus dem IOBroker heraus um das Display abzuschalten?

                            W Offline
                            W Offline
                            wolkenloser
                            wrote on last edited by
                            #175

                            Hallo,
                            ich habe mir vor ein paar Wochen bei ebay ein WifiWHIRL MODUL bei ebay gekauft und wollte das gerne in IOBROKER hinzufügen.

                            Da es keinen Adapter dafür gibt, hab ich gesucht und bin auf diesen Threat gestossen.

                            Ich habe ein paar Dinge ausprobiert aber ich bekomme keine Daten in IOBROKER.

                            Dabei stellt sich mir die Frage ob man ggf mal einmal die Schritte zusammen fassen könnte die bei einer neuinstallation notwenig sind.

                            1. Frage (warum) braucht man eine zusätzliche MQTT Instanz ?
                            2. Welches Script braucht man für ein LazySpa Miami ?

                            Ich habe das Script aus dem Beitrag 54 bei mir eingerichtet.
                            Dann legt das Script auch einen Datenenpunkt an.
                            Ich verstehe nur nicht wie ich jetzt die verknüpfunge zwischen dem Modul machen damit er die angelegte Instanz aktualisiert.....

                            const ID = '0_userdata.0.LazySpa';
                            const MQTTINSTANCE = 0;
                            const debug = true;

                            8a37de70-1989-4e42-9951-f015a82c6936-image.png

                            008b8c04-7f85-4619-9aa7-d2b99a210a4c-image.png

                            Gruß
                            Wolke

                            K 2 Replies Last reply
                            0
                            • W wolkenloser

                              Hallo,
                              ich habe mir vor ein paar Wochen bei ebay ein WifiWHIRL MODUL bei ebay gekauft und wollte das gerne in IOBROKER hinzufügen.

                              Da es keinen Adapter dafür gibt, hab ich gesucht und bin auf diesen Threat gestossen.

                              Ich habe ein paar Dinge ausprobiert aber ich bekomme keine Daten in IOBROKER.

                              Dabei stellt sich mir die Frage ob man ggf mal einmal die Schritte zusammen fassen könnte die bei einer neuinstallation notwenig sind.

                              1. Frage (warum) braucht man eine zusätzliche MQTT Instanz ?
                              2. Welches Script braucht man für ein LazySpa Miami ?

                              Ich habe das Script aus dem Beitrag 54 bei mir eingerichtet.
                              Dann legt das Script auch einen Datenenpunkt an.
                              Ich verstehe nur nicht wie ich jetzt die verknüpfunge zwischen dem Modul machen damit er die angelegte Instanz aktualisiert.....

                              const ID = '0_userdata.0.LazySpa';
                              const MQTTINSTANCE = 0;
                              const debug = true;

                              8a37de70-1989-4e42-9951-f015a82c6936-image.png

                              008b8c04-7f85-4619-9aa7-d2b99a210a4c-image.png

                              Gruß
                              Wolke

                              K Offline
                              K Offline
                              kukoratsch
                              wrote on last edited by
                              #176

                              @wolkenloser mit MQTT Instanz bekommst du die Daten von dein Lay-Z-Spa Wifi Modul

                              W 1 Reply Last reply
                              0
                              • K kukoratsch

                                @wolkenloser mit MQTT Instanz bekommst du die Daten von dein Lay-Z-Spa Wifi Modul

                                W Offline
                                W Offline
                                wolkenloser
                                wrote on last edited by
                                #177

                                @kukoratsch hi, anscheinend ja nicht....
                                Oder muss ich bei mqtt Instanz was anderes eingeben als 0?

                                K 1 Reply Last reply
                                0
                                • W wolkenloser

                                  @kukoratsch hi, anscheinend ja nicht....
                                  Oder muss ich bei mqtt Instanz was anderes eingeben als 0?

                                  K Offline
                                  K Offline
                                  kukoratsch
                                  wrote on last edited by kukoratsch
                                  #178

                                  @wolkenloser
                                  Zeig mal die drei screenshot von dir

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

                                  Screenshot 2024-07-15 103551.png
                                  Screenshot 2024-07-15 103642.png
                                  Screenshot 2024-07-15 103823.png

                                  W 1 Reply Last reply
                                  0
                                  • K kukoratsch

                                    @wolkenloser
                                    Zeig mal die drei screenshot von dir

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

                                    Screenshot 2024-07-15 103551.png
                                    Screenshot 2024-07-15 103642.png
                                    Screenshot 2024-07-15 103823.png

                                    W Offline
                                    W Offline
                                    wolkenloser
                                    wrote on last edited by
                                    #179

                                    @kukoratsch aufgrund deines Screenshots habe ich jetzt auch einen MQTT Adapter installiert.

                                    Daraufhin erhalte ich Werte, aber ich glaube da ist noch einiges nicht richtig:

                                    d05f6a5e-0e7e-4a44-b982-f682ae4606f9-image.png

                                    4f68cae8-f564-41b2-9cd3-c537bab8164b-image.png

                                    7a1fc29d-5d86-46eb-a023-5815435bbe74-image.png

                                    W 1 Reply Last reply
                                    0
                                    • W wolkenloser

                                      @kukoratsch aufgrund deines Screenshots habe ich jetzt auch einen MQTT Adapter installiert.

                                      Daraufhin erhalte ich Werte, aber ich glaube da ist noch einiges nicht richtig:

                                      d05f6a5e-0e7e-4a44-b982-f682ae4606f9-image.png

                                      4f68cae8-f564-41b2-9cd3-c537bab8164b-image.png

                                      7a1fc29d-5d86-46eb-a023-5815435bbe74-image.png

                                      W Offline
                                      W Offline
                                      wolkenloser
                                      wrote on last edited by
                                      #180

                                      @kukoratsch ,
                                      wo finde ich z.B. die Objekte wo man dann die Heizung Ein- oder Ausschalten kann ?
                                      Ich glaube die fehlen einfach...

                                      K 1 Reply Last reply
                                      0
                                      • W wolkenloser

                                        @kukoratsch ,
                                        wo finde ich z.B. die Objekte wo man dann die Heizung Ein- oder Ausschalten kann ?
                                        Ich glaube die fehlen einfach...

                                        K Offline
                                        K Offline
                                        kukoratsch
                                        wrote on last edited by
                                        #181

                                        @wolkenloser 0_userdata.0.LazySpa heater

                                        W 1 Reply Last reply
                                        0
                                        • K kukoratsch

                                          @wolkenloser 0_userdata.0.LazySpa heater

                                          W Offline
                                          W Offline
                                          wolkenloser
                                          wrote on last edited by
                                          #182

                                          @kukoratsch
                                          Hi, eben dort ist nichts dergleichen.
                                          10e37773-b25a-48fa-ac50-aa1c92ce682c-image.png

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          536

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe