Giter Club home page Giter Club logo

wifi-remote-for-bestway-lay-z-spa's Introduction

WiFi-remote-for-Bestway-Lay-Z-SPA

ESP8266 hack to use as WiFi remote control for Bestway Lay-Z-Spa Whirlpools (including 2021 year models)

Check out what is new i the release notes. (Link in the right column on this page - release version)

Latest code found in Development branch Build instructions and more: Read the manual
Check out releasenotes by clicking the release version to the right on this page.


Disclaimer

As mentioned, this is a hack. If anything breaks it is your fault.

Caution

Pull out the mains plug before modifying hardware, or you can die!

Donate

If you like this project, please consider a donation. Buy me a coffee, thanks!

Features

  • Control buttons, watch the temperature and get current states from your browser.
  • Custom text on the SPA pump display.
  • Custom sound instead of just beeping is possible.
  • OTA: Update firmware "over the air". Super convenient when mounted inside the pump.
  • Simple to build. No hardware changes needed on the SPA pump. Just remove the display, disconnect the 6- or 4-pin ribbon cable and plug it into this device.
  • Timer for chlorine addition and filter change. Hit the button on the web interface and it will count the days for you. (@Bankaifan)
  • Electricity cost estimation and more..
  • MQTT support! Now you can control the SPA from Home Assistant, OpenHab etc. (@faboaic, @877dev)
  • Schedule events like heater on/off at specific dates, with repeat functionality.
  • Listen to input signal on one pin and trigger a signal on another pin on desired events. For instance let solar panels turn on/off heater.

BOM

  • ESP8266 NodeMCU 1.0 (NOT for ESP32)
  • 8 channel bidirectional level converter
  • 6 or 4 pin male header (0.1 in spacing) or better: JST-SM Housing Connector
  • 6 or 4 pin female header (JST-SM Housing Connector) see build instructions for more info.

Web Interface





WiFi Module / Pump


Schematics

It's in this project PCB_V2B Open the PCB tab and go to menu Fabrication, Gerber files. Order the PCB_V2B.

Installation

Build instructions and more: Instructions Technical details in the Documentation.

@misterpeee's wife made and shared this case for 3d printing #265 (comment) but it's for the PCB_V1 which is deprecated. Latest PCB is PCB_V2B.

Problems?

Read the FAQ, other discussions and current issues.

wifi-remote-for-bestway-lay-z-spa's People

Contributors

bankaifan avatar choumarin avatar chunkysteveo avatar cobaltfish avatar colinpeddle avatar denxhun avatar eried avatar jamesonuk avatar jgiebler avatar lavatiger99 avatar malfurion avatar pdecat avatar scfede avatar scoobler avatar skeletorjus avatar svanscho avatar torei avatar visualapproach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wifi-remote-for-bestway-lay-z-spa's Issues

4 pin models

Hey @visualapproach!

Thanks for this great project. My family and friends having several Lay Z Spa models. Some having the 6 pin connector and others are the 4 pin models.

Do you think it‘s possible to extend functionality for the 4 pin models?

Frequent resets (websocket interface?)

I've finally got my ESP8266 installed. I'm encountering resets that seem to be often but not always triggered when using the web interface on my Android phone, less often when accessing from Firefox, but I haven't been able to pin down the pattern or cause yet. Is the code on github's considered current? If so I'll get a USB extension cable hooked up to the pump so that I can look at the stack dump. I wasn't sure if anything else is going on behind the scenes :)

Is anyone else is encountering resets around the time that they access the web interface?

Cannot turn off heater on the web page

If heater is on and heating you cannot switch it off on the web page.

Workaround:
Switch off filter, switch on filter

How to reproduce:

001

Unlock

002

Turn on heater

003

Try to turn off heatert - nothing happens

Solar panel example enables heater every reset

The MQTT and All Features examples contain the code:

const int solarpin = D0;    //no interrupt or PWM
..
pinMode(solarpin, INPUT_PULLUP);
..
  if (digitalRead(solarpin) == HIGH && runonce == true) {

    bwc.qCommand(SETHEATER, 1, 0, 0);       // cmd:set heater, to ON (1), immidiately, no repeat
..
  }

D0 is not connected on the example schematic, so this code always sets the heater ON when booting.

404 error

As discussed in "No Connection #53" I have connected to my local network but cannot access anything after setting up the Auto Portal.

Apologies for my lack of understanding in coding. I am reading a lot but cannot get over the line on this one.

Refer attached images. Appreciate the fine work you have done and any help you can offer.

Auto Portal
littlefs-file-upload
sketch

New graphics

I may be overreacting (not a lawyer) but these look very similar to the graphics used by Bestway on the pump and in documentation. I fear you'd be leaving yourself vulnerable to takedown requests sometime in the future by having these in the repo and it might even warrant a force push to an older commit to remove them :(

Wiring diagram needed

Can you please draw a wiring diagram for how you made the device? Which pins on the ESP are being used?
Thanks!

teaser next version

Just wanted you to know that I'm working on a new version. Still lots of work to get it running. Here is some screenshots:
idx
cfg

v1.26 Code discussion

I'm taking some time to understand the code, in order to learn more and help with mqtt integration. Hope this is ok to ask a few (lots of) questions? :)

(Questions in brackets), please correct anything you have the energy to address :)

  1. startup code:
    Setup pins
    Play intro melody and display welcome message
    Connect to WiFi and display IP
    Connect to NTP time server
    Start OTA server
    Start SPIFFS server
    Start websocket server to listen for events
    Start http server for web interface

  2. loop code:
    Set a variable called counter which persists through each call of the loop (why static?)
    Call handleData() which handles button presses (i think?)


(Not sure how the following counter works, why 300?)
Call these functions frequently to keep up to date - webSocket / https / OTA
Increment counter by one, check if > 300, if so and NTP is set then call sendWSmessage(), which sends latest json packet to web page via web socket (correct??)
Decrement counter by 300 (???)


  1. webSocketEvent() - called when "virtual" button pressed on web interface:
    When button is pressed a websocket message is received by the server.
    This is handled by function webSocketEvent() - much the same as mqtt callback.
    Payload is filtered by "uint32_t cmd = strtol((const char *) &payload[0], NULL, 16);" -(converts string to long integer base 16 i.e. hex ???)
    Switch case used to compare received hex, to check which virtual button was pressed.
    Variable "virtualBTN" is updated with pressed button name, and button command is set as !current state
    sendWSmessage() is called to update the web interface with the new button state

  2. handleData() - called frequently by loop, deals with virtual or real button press logic (correct???)
    Checks for real button presses via "realBTN = getBTN();"
    Call releaseVirtualButtons() to check "virtualBTN" value and reset to "NOBTN", like a latch to stop spamming(?)
    Call filterButtons() to check real or virtual button press, check for special AP combo.
    Call schedule() to turn filter on or off
    Some sort of magic code to send the value to display, either from CIO first or spoofed.
    Update web interface via websocket.
    Save changes to SPIFFS.

  3. releaseVirtualButtons()
    Compares the commanded value to the actual state, if the same then set "virtualBTN" to "NOBTN" i.e. stop button press.

  4. other functions:
    ISR/Data setting/sending, I have no clue, too complicated for me. I'm just gonnna assume you know what you're doing here :)

No beeping / music on 2021 pump

On the 2021 pump there is no beeping while touching a button on the display. And even if activated in the settings page. there is no music on startup either :-( Not a big bang, but i want to let you know.

Please don't hang me up right away, it's my first ESP project/hack ;-)
I have installed the latest BWC_v2.0.0 code which works like a charm (2021 pump mode active). All buttons working well and the webinterface is acting good. So from my point of view there should not be any issue with my hardware/pcb/llc etc. I have used Eric's PCB with two 4ch llc. The beeper works well, when the display is directly connected to the pump.

Any ideas to figure out the problem / troubleshoot it?

BTW: Fantastic work! Thank you very much fo this nice project.

Updates

I'll post here when I update the code.

schematic incorrect

Hey do's,

D2 and 3v are drawn wrong.

D2 --> LV5
3v --> LV2

Should be the other way round?

:)

feature request: switch/timer on either D0 or D8

I have an idea you and probably others might like:

We are using an ozone generator such as this one https://de.aliexpress.com/item/4000891202092.html in addition to chlorine tabs to keep the water clean. Until now, I just put the pipe in the water and hope that I don't forget to switch it off after approx. 30 minutes.

Since there is enough space in the unit, I was thinking about installing that generator inside of the case, add a non-return check valve and connect it somehow to the pipe after the heater element. I would then install a relais module and connect it to one of the remaining GPIO Ports (D0 or D8) to switch it with the ESP8266. It would be a nice upgrade if there was a feature to turn it on/off and have a timer for e.g. 30 minutes...

What do you think?

Thank you and keep up the great work!

No data / controls not working

Hey!

I'v tried to get this to work with the 6-pin Palm Springs of my father. Board and WiFi are working but spa control shows no data and the display/controls aren't working. I've attached two photos of my board and wiring.

There are no shorts on the board and I've checked wirings multiple times. What I could detect with multimeter is that LV1,2,3(VA1,2,3) of my level shifter always <1V but LV(5,6,7,8) is 3.3v. On HV1,2,3(VB1,2,3) I have measured 4.5-4.9v and on HV5,6,7,8(VB5,6,7,8) there are constant 4.9V.

Have I swapped the display and pump connector? Or have I overlooked something? Maybe the level shifter (https://www.amazon.de/gp/product/B07N7FFY2Q/ref=ppx_yo_dt_b_asin_title_o05_s03?ie=UTF8&psc=1) is defective?

Thank you for the project and your support!

IMG_7241

IMG_7242

Configuration web page content

What would make sense on the configuration web page?

  • filterOnHour
  • filterOffHour
  • forbiddenHeaterHours

Additional feature:

  • Reboot button for ESP8266 (especially for debugging purposes, etc.)

Custom UI Implementation

Hello. I've made a custom UI for the Lay Z Spa and I wan't to put it on my arduino device. I'm having trouble getting the buttons to actually work. Could the owner of this project DM me on discord? I think we can work something out. Jack06WS#1182.

Jack.

Support for 2021 units

Hi,

It seems that many of the new 2021 models Lay-Z spa come with a new heating/pumping unit.

I don't know what its internals look like, but it looks like this on the outside.
image
image

Has anyone already experience with these? I'd love to have a look inside, and know whether they are easily compatible.

404 Error using VSCode

Hi
Forgive me for being useless with code.
I have downloaded VSCode and setup platformIO, downloaded the code, plugged in and setup a esp8266 with correct driver.
Clicked on the tick bottom right corner of vscode to build then clicked on arrow to upload to esp.
Opened wifi on my mobile and setup the AutoPortal, so far so good I thought.
Used a net analyzer app on phone to see the ip address allocated by esp then typed that into address bar and I get a 404 error.

After setting up AutoPortal it says "Credentials Saved, Trying to connect ESP to network, If it fails reconnect to AP to try again"
Screen just hangs on that.

HWchecker 0.2 results

Hi @visualapproach

Here's my results, again no lights at all on the display, I plugged it in a minute or two, then pressed all the buttons.

When removing the device the lights come immediately back on with the current temperature showing.

Testing on DSP side HV1-4 I have 20KOhms between them, so I don't think there's a short.

rawdata.zip

Thank you

Add & fix some digits for 7 segments display

Code/6-wire-version/lib/BWC/src/BWC_8266_globals.h

 const uint8_t CHARCODES[] = {
   0x7F, 0x0D, 0xB7, 0x9F, 0xCD, 0xDB, 0xFB, 0x0F, 0xFF, 0xDF, 0x01, 0x81, 0xEF, 0xF9, 0x73, 0xBD, 0xF3, 0xE3,
-  0xFB, 0xE9, 0x61, 0x1D, 0xE1, 0x71, 0x01, 0xA9, 0xB9, 0xE7, 0xCF, 0xA1, 0xDB, 0xF1, 0x39, 0x7D, 0x01, 0xDD, 0xB7
+  0x7B, 0xE9, 0x61, 0x1D, 0xE1, 0x71, 0x47, 0xA9, 0xB9, 0xE7, 0xCF, 0xA1, 0xDB, 0xF1, 0x39, 0x7D, 0xED, 0xDD, 0xB7
 };

Also for 4 wires....

Fix G and add M & X.

mqtt connect error

Hi,
I configured all the data on the mqtt config page but did not connect to the server (local mosquitto in docker).
I use many other tools on mqtt, everything is fine there.

Can I do something wrong?

Thanks!

Disp not turning on and nothing happening

I finally got my levelshifter today and mounted everything, flashing went fine once I updated all the libraries 🗡️
image

Problem is that when I connected it to the unit the display doesn't turn on, the ESP works and I can connect to it but pressing power etc. doesn't turn anything on either?
Disp goes to disp and CIO to the controller so everything seems to be right, if the connections was turned around ie. not 1-1, 2-2 etc. I guess it shouldn't even power on.
image

Hide and block non relevant temperature format

Hi,
Currently I am running the latest version happily.
Thanks so much.

One improvement would be to remove the non relevant temperature format (in my case remove fahrenheit).
And block the c/f button on the local control unit.

My wife wanted to turn the pool temperature up... She pressed the c/f button which resulted in a massive peak in my temperature logging curve ;-)

So an improvement could be to add a setting in the settings page which could have the name "only Celsius mode" or "only fahrenheit mode" which could switch the device to the desired temperature format and prevent changes on the buttons and hide the button in the control Website.

I think no one would ever change the temperature format after the initial setup.

Thanks and best regards,
Fabian

Display controller datasheet

I took a quick look at the ICs on the display PCB. The controller handling the display and buttons is a Shenzhen Titan Micro Electronics TM1628 (It reads as 'TM1628I' to me, but I can't find any details of such an IC).

The datasheet is available from a google search. I think the pull up resistors / anti-noise capacitor circuit in the application circuit matches what's on the display PCB, but it's hard to tell because the traces to the IC are on the reverse side (encased in expoxy)

The only bad news is that from the datasheet data appears to be sent LSB-first, not MSB-first :)

v.1.27 p2 possible bugs

Just testing for a while, seems like there may be a couple of issues, or may be I am using it incorrectly.

  1. After reboot "auto mode" selection is not remembered, defaults to ON. So if the ESP reboots for some reason, the heater will likely go off.

  2. When pressing up or down:
    "Actual temp" changes instead of "Target"
    "Actual temp" flashes "0" a couple of times.
    "Actual temp" shows correct value again
    "Target temp" gets updated to new value

Node red to influx error

Looks like somethings wrong with included node-red example. the influxdb node gives the following error:

Error: A 400 Bad Request error occurred: {"error":"unable to parse 'pooldata air=undefined,celsius=undefined,ch1=undefined,ch2=undefined,ch3=undefined,content=undefined,filter=undefined,heater=undefined,heating=undefined,locked=undefined,power=undefined,target=undefined,temp=undefined': invalid boolean"}

Reboot lost cumulative heating time.

Hi,
Had this running for a few days now and it's great. It has massively changed the way I manage my temperature as I'm away a lot so can have it ready when I need it without wasting electric.
One issue I have had is that the system reboots a few times a day, which is fine most of the time, but today it wiped out my cumulative heating time and hence cost data (which is now working OK so not sure what was wrong initially).
So, is it possible to reload the cumulative heating time from the event log on reboot?
I might look into this as I've not coded for awhile but starting to get the bug again.

Thanks for the project again, I'm really enjoying playing with it.

Garry

filterOffHour schedule configuration

Working fine so far.
But filter turned off at 3AM.

grafana-3uhr

switchoff-filter-3oclock

I found in the code that this is intended behavior.
Turn off at 3AM and turn on at 9AM.
But I need 24h filtering without turning off.

So at least it would be nice to have this feature documented on GitHub in the Readme/Project page, not only inside the code.

Next step could be a configuration web page where we can enter the filterOffHour and filterOnHour variable.

I will set the filterOffHour to "99" from which I expect that filter will never turn off in the if-statement:

heateroff-3oclock

filteroff-if

Would that make sense?

Thanks,
Fabian

Edit:
Ok, I just saw that it has already been documented (a little) in the Pinouts.ino file :-)

Lay-Z-Spa Maldives (2021)

What a great project!!! But: no luck with my 2021 Lay-Z-Spa Maldives HydroJet Pro. Either on self-wired perfboard as well as on the Naesstrom PCB - both devices do not work at all, yet I carefully checked all wirings, and the I/O basics seems to be working: the temperature readout and C/F status are OK, but nothing else happens, no keys are processed, and no commands are recognized by the pump controller:
2021-05-03 Screenshot
(it's the MQTT-enabled version, in black color scheme)
Deeply dedicated to scanning logs and reengineering the model - does anyone have encountered the same problem? What would @visualapproach recommend?

Electric power and energy calculation

We could calculate and show the electric power and consumed energy in kWh...
On a daily, monthly and total base.

As there is no power measurement included we know which state the spa is at every moment and show the (calculated) power.

Could be calibrated via variables or hard coded in the source code.

In my case energy is as follows: (not finally confirmed values... I need to take a closer look at it)

  • On, but no filter running: 2 W
  • Filter running: 38 - 41 W ( average 40 W)
  • Heater: 1860 - 1950 W ( average 1900 W)
  • Air: 800 - 850
  • Air + heater: ?

Heating always till 40°

Hi,
it seems, the target temperature is ignored when heating.
I always had 39° set and it heatet till 40° - nothing special, I live with it.

But now I set the target temp to 38° - the pool is still heating till 40°.
But while cooling down - the target temp works.
It is always always target - 2.
So - with target 39 the pool heated up till 40 and cooled down to 37, then heated up again.
Now - with target 38 the pool heats up till 40 and cool down to 36.

Any ideas how to explain this behaviour?

Feature Request: Automatic reset of 72 hours timer

There could be an automatic reset of the 72 hours timer, independently from the filterOff/OnHours.

e.g. every day ( or every "72hrs minus X" ) unlock and lock the display.

Maybe only do it when necessary, if no other actions have happened within the last 24hrs (or 72-X hrs)

issue with version 1.28

Hi, I made a pcb with an wemos d1 mini , when I plug my spa (miami 6pins) I got the melody but nothing on the display, I've check voltage on the HV side of the LLC and every line of the CIO and DSP I got 4.96v to 4.99v but the control don't light up and on the web interface no button working. before someone ask I try version 2 as well no luck no chime , no display and web interface not controling anything. I have no idea what's wrong here... if it can help I'll try to upload pictures.

thanks

Reset of times, cost, etc.

It would be helpful to have a reset button (maybe hidden on config page or not) to reset cost , heating time, etc.

Workaround might be uploading an empty log/config file?

ArduinoJson library error

Using the new Visual Studio Code + Platform.io tool, the compilation fails:

.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:43:5: error: static assertion failed: To use 64-bit integers with ArduinoJson, you must set ARDUINOJSON_USE_LONG_LONG to 1. See https://arduinojson.org/v6/api/config/use_long_long/    
   43 |     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compiling .pio\build\nodemcuv2\FrameworkArduino\core_esp8266_non32xfer.cpp.o
Compiling .pio\build\nodemcuv2\FrameworkArduino\core_esp8266_noniso.cpp.o
Compiling .pio\build\nodemcuv2\FrameworkArduino\core_esp8266_phy.cpp.o
Compiling .pio\build\nodemcuv2\FrameworkArduino\core_esp8266_postmortem.cpp.o
Compiling .pio\build\nodemcuv2\FrameworkArduino\core_esp8266_si2c.cpp.o
Compiling .pio\build\nodemcuv2\FrameworkArduino\core_esp8266_sigma_delta.cpp.o
*** [.pio\build\nodemcuv2\lib590\BWC\BWC_8266.cpp.o] Error 1

not declared in this scope

Hey,

Love the project and I ma trying to upload to my NodeMcu but I am getting a lot of not declared in this scope.

ESP12E_Bestway_controller_v1.27p2:28: error: 'startup' was not declared in this scope
startup();

ESP12E_Bestway_controller_v1.27p2:151: error: 'schedule' was not declared in this scope
schedule(); //check automated tasks

ESP12E_Bestway_controller_v1.27p2:158: error: 'sendWSmessage' was not declared in this scope
sendWSmessage(); //to webclients

ESP12E_Bestway_controller_v1.27p2:159: error: 'savelog' was not declared in this scope
savelog(); //saves status variables to LittleFS

ESP12E_Bestway_controller_v1.27p2:160: error: 'saveappdata' was not declared in this scope
saveappdata(); //saves uptime, heating time etc to LittleFS

ESP12E_Bestway_controller_v1.27p2:323: error: 'enterAPmode' was not declared in this scope
enterAPmode();

Please could you advise?

Compilation errors

Hey,

could you help with these errors in compilation process?

Arduino: 1.8.13 (Mac OS X), Board: "Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 80MHz, DOUT (compatible), 4MB (FS:2MB OTA:~1019KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

/Users/tim/Documents/Arduino/libraries/BWC_v2.0.0/BWC_8266.cpp: In member function 'void BWC::begin()':
/Users/tim/Documents/Arduino/libraries/BWC_v2.0.0/BWC_8266.cpp:346:13: error: 'D1' was not declared in this scope
  _cio.begin(D1, D7, D2);
             ^
/Users/tim/Documents/Arduino/libraries/BWC_v2.0.0/BWC_8266.cpp:346:17: error: 'D7' was not declared in this scope
  _cio.begin(D1, D7, D2);
                 ^
/Users/tim/Documents/Arduino/libraries/BWC_v2.0.0/BWC_8266.cpp:346:21: error: 'D2' was not declared in this scope
  _cio.begin(D1, D7, D2);
                     ^
/Users/tim/Documents/Arduino/libraries/BWC_v2.0.0/BWC_8266.cpp:347:13: error: 'D3' was not declared in this scope
  _dsp.begin(D3, D5, D4, D6); 
             ^
/Users/tim/Documents/Arduino/libraries/BWC_v2.0.0/BWC_8266.cpp:347:17: error: 'D5' was not declared in this scope
  _dsp.begin(D3, D5, D4, D6); 
                 ^
/Users/tim/Documents/Arduino/libraries/BWC_v2.0.0/BWC_8266.cpp:347:21: error: 'D4' was not declared in this scope
  _dsp.begin(D3, D5, D4, D6); 
                     ^
/Users/tim/Documents/Arduino/libraries/BWC_v2.0.0/BWC_8266.cpp:347:25: error: 'D6' was not declared in this scope
  _dsp.begin(D3, D5, D4, D6); 
                         ^
Mehrere Bibliotheken wurden für "WiFiUdp.h" gefunden
 Benutzt: /Users/tim/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WiFi
 Nicht benutzt: /Applications/Arduino.app/Contents/Java/libraries/WiFi
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.


Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Any tutorial for noob user ?

Hello !
I'm new here, for first thanks for this wonderful project!
So i have ordered the custom pcb,esp8266 and evertyhing is ready to be flashed but i never use any esp i have absolutly no skill at all in programing, is that possible to having like a tutorial for "noob frendly" cause i trying to read but i'm completly lost.

Thanks!

Cost data not updating

Hi,

Does this section need a saveappdata() ??
My webpage doesn't update the cost? Does anybody else's?

void WS_Timer() {
appdata.cost = getHeatingTime() * 1900 + getFilterTime() * 40 + getAirTime() * 800 + appdata.uptime * 2; //wattSeconds
appdata.cost /= 3600000.0; //kWh
appdata.cost *= myConfig.price; //money
sendMessage(1);
}

Question

Hi.
This project is great and looks like a lot of work has been put into the decoding.
I'm still waiting on my level shifter so not fitted mine yet but it's built and flashed and appears to be running and serving webpages.
Just a quick question if you don't mind, the hot tubs go into idle after 48hours of no use.
Will this keep it active?. Do you think it would be useful / easy enough to add this as a feature, so it presses a button every day if not used to keep alive or not depending on preference.

I may look to add it myself as I'm away a lot and if I forget about it, it's cold when I get back.

Thanks again for your work.
Garry

Resistors

Thanks to all who've contributed to this project!

On the current schematic, there are resistors R1-R7 with the description:

-Optionally 7 x 500 to 820 Ohm resistors (lower than 500 would not protect against over current which may or may not occur if both sides drives the line in opposite directions. That is not suppose to happen but just in case. So, if you only have say 430 Ohms resistors you may as well skip them. Higher than 820 Ohms can make it not work.)

I think these may be superfluous. You can see an example schematic and operation for a bidirectional level converter on:

https://www.letscontrolit.com/wiki/index.php/Level_Converter

Examining the scenario where each device is driving the line in opposing directions:

The gate of each MOSFET in the level converter is connected to LV (3.3V). The ESP8266's pin is connected to the source, the spa's pin is connected to the drain.

Scenario 1: If the ESP pin is HIGH, the source is 3.3V. Gate and source voltages match - the MOSFET's source and drain are isolated - no risk of overcurrent, regardless of whether the spa pin (drain) is HIGH or LOW.

Scenario 2: If the spa pin is HIGH (5V), we know the MOSFET's diode will be reverse biased because the source can only be 3.3V or less. No current flows from drain to source, so no risk of overcurrent, regardless of whether the ESP pin (source) is HIGH or LOW.

I'm not an expert on MOSFETs, so my understanding may be flawed - hopefully someone can chip in on this one.

Failed to get time from server, retry

Am I the only one getting this error a lot of the time? Sometimes it connects first time, other times it takes forever.

Or I could just imagine I am back in 1st Jan 1970 in the Hot Tub Time Machine :)

92101716-6e25a800-edd5-11ea-9700-7cc03c5817b7

File listing

It would be useful if anyone want to write a function and html to get a file list via web interface. I don't need it much enough to spend the time myself :-)

blynk

What is a good way of controlling the SPA or any home automation things from an iPhone?

  • I don't want to expose the ESP8266 webserver directly to the internet due to lack of security.
  • I want an app-like interface, like the homepage I already built into the ESP8266.
  • I have set up a Raspberry Pi 4 B with Docker + MQTT + node red (+grafana + portainer). It works great logging and graphing pool temperature.
    I looked at the Blynk app, which @877dev seems to use but if that's the way to go I would like some help setting it up. I have the Blynk app installed on the phone, but there was no RPi4/node red to choose and it's all about controlling pins rather than getting JSON data in and sending values back.
    How do you home automation guys do it from outside your home network?

/A home automation wannabe with just a hot tub and a lamp to control 🤣

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.