HA NeoPool MQTT: integration of Tasmota NeoPool (for Sugar Valley, Hayward/Aquarite, Bayrol devices)

I did that back then according to your guide, not sure now, gotta look at daylight at it.
Just swapped the TX/RX in the config. No change.
Something is clearly broken, need to check the hardware and the sugarvalley settings.

19:35:20.863 CMD: TelePeriod
19:35:20.868 MQT: stat/SmartPool/RESULT = {“TelePeriod”:300}
19:35:21.397 MQT: tele/SmartPool/STATE = {“Time”:“2024-10-21T19:35:21”,“Uptime”:“0T00:08:04”,“UptimeSec”:484,“Heap”:28,“SleepMode”:“Dynamic”,“Sleep”:50,“LoadAvg”:22,“MqttCount”:1,“Wifi”:{“AP”:1,“SSId”:“mywifi”,“BSSId”:“34:81:C4:F8:2E:6C”,“Channel”:11,“Mode”:“11n”,“RSSI”:100,“Signal”:-38,“LinkCount”:1,“Downtime”:“0T00:00:03”}}

This.Check interface and where you connected it on your sugar valley.

Loose wire on the TTL :roll_eyes: :man_facepalming:

yeah finally…
Thanks for your help, both of you and for the incredible work of course!

That looks fantastic. :wink:

You can also enable the Connection Statistics sensors in HA if you want.

image

I think 1 should be “enable” not disable as reported in docs, correct @curzon01?

Instead I’ll kick out some of the data I am not interested in :smiley:
And add some power consumption data and shelly power outlets I have added to the pool box … thought of some additional temp sensor for the box, I guess that could be added to the ESP8266, I’d like to see if I still get temperatures below 0°C over the year.

EDIT: Just noticed the AUX switches don’t do anything when clicking them, I know the control is a bit laggy but there doesn’t seem to happen anything.

Yes, thx, it’s a typo, just corrected.

Aux switches only works with NeoPool cmnd extension neopoolcmd.be, which is only available having Berry using a ESP32 platform

I see, maybe for the future then. Currently I am using one AUX but there is no need to switch anything during the season, so I guess I can just comment the AUX part out of the menu.

Hello, still having an issue here .
As you see the system time is correct, but the Neopool time is not


any suggestions?

Suggestion for Tasmota config (timezone+DST for Italy and NTP):

Backlog NtpServer1 10.1.10.23; NtpServer2 10.1.10.1; Timezone 99; TimeStd 0,0,10,1,3,60; TimeDst 0,0,3,1,2,120;

Then, as specified in the README on GH repo, you should define a rule to keep the Sugar Valley device clock in sync with Tasmota’s device clock:

Rule1 ON Time#Initialized DO NPTime 0 ENDON ON Time#Set DO NPTime 0 ENDON

Activate the rule:

Backlog Rule1 4;Rule1 1;

That’s it.

10.x.x.x.x might be NTP server within your private/provider network.

Suggestion for NTP: Use country local pool from ntppool.org, e. g. for Italy:

Backlog NTPServer1 0.it.pool.ntp.org;NTPServer2 1.it.pool.ntp.org;NTPServer3 2.it.pool.ntp.org

The server is up to the user, I just wanted to show the commands. In my specific case I use my LAN Stratum1 time server (GPS and PPS disciplined) in LAN, managed with chrony+gpsd that gives me a much better accuracy vs public time servers (nanoseconds vs microseconds).

For public server for Italy, I suggest ntp.inrim.it and ntp2.inrim.it. In general, for all countries I also recommend time.cloudflare.com, it’s a pool, very reliable and fast.

So, for Italy and public servers I recommend:

Backlog NTPServer1 ntp.inrim.it;NTPServer2 ntp2.inrim.it;NTPServer3 time.cloudflare.com

These are the stats of my time server where you can see the difference vs public servers:

❯ chronyc sources && echo && chronyc sourcestats &&  echo && chronyc tracking

MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
#* GPPS                          0   4   377    14    +84ns[ +120ns] +/-  120ns
^? ntp.inrim.it                  2   4   377    14   -261us[ -261us] +/-   31ms
^? time.cloudflare.com           3   4   377    17   +896us[ +896us] +/-   17ms
^? time.cloudflare.com           3   4   377    15  -1061us[-1061us] +/-   17ms

Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
GPPS                       11   5   159     +0.000      0.007     +0ns   243ns
ntp.inrim.it               64  33  1019     -1.048      3.488   -886us  2438us
time.cloudflare.com        54  25   874     +0.284      0.434   +820us   232us
time.cloudflare.com        64  34  1051     -0.004      0.393   +733us   264us

Reference ID    : 47505053 (GPPS)
Stratum         : 1
Ref time (UTC)  : Fri Nov 08 23:36:25 2024
System time     : 0.000000030 seconds fast of NTP time
Last offset     : +0.000000037 seconds
RMS offset      : 0.000000169 seconds
Frequency       : 6.654 ppm fast
Residual freq   : +0.000 ppm
Skew            : 0.007 ppm
Root delay      : 0.000000001 seconds
Root dispersion : 0.000017006 seconds
Update interval : 16.0 seconds
Leap status     : Normal
❯ chronyc sources && echo && chronyc sourcestats &&  echo && chronyc tracking
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
#* GPPS                          0   4   377    14    +84ns[ +120ns] +/-  120ns
^? ntp.inrim.it                  2   4   377    14   -261us[ -261us] +/-   31ms
^? time.cloudflare.com           3   4   377    17   +896us[ +896us] +/-   17ms
^? time.cloudflare.com           3   4   377    15  -1061us[-1061us] +/-   17ms

Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
GPPS                       11   5   159     +0.000      0.007     +0ns   243ns
ntp.inrim.it               64  33  1019     -1.048      3.488   -886us  2438us
time.cloudflare.com        54  25   874     +0.284      0.434   +820us   232us
time.cloudflare.com        64  34  1051     -0.004      0.393   +733us   264us

Reference ID    : 47505053 (GPPS)
Stratum         : 1
Ref time (UTC)  : Fri Nov 08 23:36:25 2024
System time     : 0.000000030 seconds fast of NTP time
Last offset     : +0.000000037 seconds
RMS offset      : 0.000000169 seconds
Frequency       : 6.654 ppm fast
Residual freq   : +0.000 ppm
Skew            : 0.007 ppm
Root delay      : 0.000000001 seconds
Root dispersion : 0.000017006 seconds
Update interval : 16.0 seconds
Leap status     : Normal

Just stopping by to say thank you.
The oem wifi module is over $500AUD and a replacement screen is somewhere near that also, my screen has stopped working. This project cost me $60AUD only due to the minimum spend from component supplier, would have been around $30 if not for that.

Much appreciated.

Hello to all, i hope you are doing fine.
I have a question about the management of the anti freeze functionality.

Currently where i live we are reaching quite cold temps . Setting the oxilife in smart mode will react at 4°C by switching on the pump .
The point is that , checking the logs i’m realizing the pump stays on wihtout any kind of hysteresis meaning that as soon as the temp probe reads above 4°C it will shut down.
Is this correct behaviour, i’m afraid, not circulating at least one filter relative volume of water ,could be risky in some situation.

what are your inputs and any automation i can put in place?

thankyou .

Marco.

Since the “Smart” mode has very limited functionality, I use Tasmota (Rules) to control the frost protection.

So far, I only had my roller shutter on the water and a simple silo film (from the agricultural supply) on top. In addition, I set my filtration pump to the lowest power over the winter (so it only needs about 45 W then, but still achieves 2 to 2,5 m³/h). The water has never been below 2.5° C so far, although we have had temperatures below -15°C here for several days.

My Tasmota rules does the folllowing:

  • below -1.5° C the filtration runs permanently (Manual mode)

  • between -1.5°C and 3°C the filtration runs in interval mode (5 min on, 115 min off via Manual mode). This ensures that neither the skimmer nor the pipes freeze.

  • above 3°C, Tasmota sets the filtration to “Auto” (but I can configure every availabe mode for this condition) which has 2 fixed times: 21:00 - 21:10 and 05:00 - 05:10 (to measure the current water temp).

Tasmota Rules because I had it before I used HA and also because it works even if HA fails.
All values (temperature thresholds, runtimes) can be controlled via Tasmota mem variables. I can control these values via a separate dashboard in HA (MQTT).

I did not know that you can also use tasmota rules instead of HA for setting the pump. It seems a bit difficult though to set up. Can you share the precise rules? And I wondered whether if during the auto filtration setting the water temperature is below -1.5 (for example) the filtration switches directly to manual mode.

Do you also use tasmota rules during summer?

Tasmota itself, compiled with the NeoPool module, provides the extended Tasmota commands and data set between the Sugar Valley devices and provides this via simplified MQTT access. The commands are therefore integrated in Tasmota and not via this HA integration. This HA integration uses the MQTT commands and data and it does not access your system directly.

It is, but as I said above (I had this solution before HA) and in the past, I am a friend of technical diversity whenever possible. Nobody puts all their eggs in one basket when it comes to investments, but this is often the case in the technical field.
I personaly don’t want everything to fail, especially for critical systems, just because a central component like HA no longer works.

I may have mistakenly forgotten to mention that I work with an additional temperature sensor in my setting (with the temperatures specified above) and do not use the water temperature, as nothing would flow at -1.5° C pool water.

My return pipe from the skimmer comes out of the ground and then goes into the plant room. Where the pipe comes out of the ground, I have attached a DS18B20 to the outside of the pipe. So I measure a mix of air temperature and the heated return pipe (due to the even warmer pool water). This measurement sometimes drops below -1.5° if the outside temperature falls below -8 or -10° for a longer period of time without the pool water freezing.

Of course, you can also measure the pure air temperature or the pool water temperature and use other switching values, because mine won’t work with that.

If you are really interested, yes.

No, only for antifreeze during winter, which is for me a critical functionality.

Thx!
I will first try myself to make the rules (using chatgpt) to also learn a bit about tasmota. If things do not work I ask again

Hint: the result of that AI related to Tasmota rules are creative and funny but nothing that would work :wink: