Open dacarson opened 1 year ago
There is a configuration setting in the official ScreenLogic desktop app (SLConfig on mobile) "Solar is a heat pump". The value for this is exposed to the apps and to screenlogicpy as a flag within the "equipment_flags" value. (0x2
)
That said, currently neither this lib nor the Home Assistant integration are set up to rename the solar labels as HeatPump.
My equipment flags has:
"equipment_flags": 8223,
which is 0x201F. To find out if a heat pump exists, so I AND the equipment_flags with 0x2? aka (pseudo code)
if (0x201F & 0x2):
print('has heat pump')
else:
print('no heat pump')
Yup. In Python, you can even bitwise AND against the original int
:
if 8223 & 0x2:
print("has heat pump")
else:
print("no heat pump")
Thanks. I found the definitions in the const.py file
So I could do
data['config']['equipment_flags'] & EQUIPMENT. FLAG_SOLAR_AS_HEAT_PUMP
Looking at the flags defined: 0x1 - Solar - TRUE for me (correct) 0x2 - H.Pump as Solar - TRUE for me (correct) 0x4 - Chlorinator - TRUE for me (correct) 0x20 - Spa remote - FALSE for me (correct)
0x800 - Cooling - FALSE for me. The Heat Pump that I have works to heat or cool the pool. Is this false because there is a separate pool cooler that I don't have, and it is assumed that all Heat Pumps can also cool the pool?
0x8000 - Intellichem - FALSE from me (correct)
The other three bits that are set, aka: 0x8 0x10 0x2000 any ideas what they mean?
Not sure on the cooling. There is a separate config setting in the apps to specify "Has cooling". Maybe that's not set for your pool? No idea if that should or shouldn't be set for your configuration.
I haven't identified what the other 3 bits are. 0x8 and 0x10 have been present in every configuration I have seen thus far (admittedly, not a lot), with only one exception for 0x8. I have never come across a config with 0x2000 until now.
My pool also has bits 0x10000 through 0x80000000 set, which I haven't seen in any other config. No idea if that means something or if equipment_flags should really be a short
instead of an int
.
Thanks. I am remote from my pool at the moment, and it seems that the SLConfig app only wants to connect locally. Remote it reports an error. When I am near my pool again, I can check the configuration. Though as I can set a "Heat" and a "Cool" temperature for the pool (though not for the spa), I suspect that "Has cooling" is enabled.
Maybe just close this, and I can create a new one for what I find about Cooling.
There's a separate setting labeled "UltraTemp or ThermalFlo". Is your Heat pump one of those? Maybe that setting takes care of it?
Actually, sounds like "cooling" is not whether the heat pump supports cooling, but something called Night Cooling. From the EasyTouch setup guide:
ENABLE NIGHT COOLING: Select Yes or No to enable nocturnal cooling. Night cooling enabled (YES), will circulate water through the system to lower the temperature during the night hours. Set the temperature in the Heat menu.
Yes, I have the UltraTemp 120 H/C.
Interesting about Night Cooling option. Thank you for sharing.
So a little update on this, I now have a complete(?) list of all the equipment flag bits:
solar 0001
solar is heat pump 0010
chlorinator 0100
intellibright 1000
intelliflo 0 0001 0000
intelliflo 1 0010 0000
intelliflo 2 0100 0000
intelliflo 3 1000 0000
intelliflo 4 0001 0000 0000
intelliflo 5 0010 0000 0000
intelliflo 6 0100 0000 0000
intelliflo 7 1000 0000 0000
no special lights 0001 0000 0000 0000
heat pump has cooling 0010 0000 0000 0000
magic stream 0100 0000 0000 0000
IntelliChem 1000 0000 0000 0000
hybrid ht (UltraTemp) 0001 0000 0000 0000 0000
It seems your original set bit of 0x2000 indicates that your heat pump supports cooling. As for the bit at 0x10000 listed as 'hybrid ht', I don't know if that is correct or not.
Hi, I have a Pentair Heat Pump attached to my system, as well as a Pentair Gas Heater. The way Pentair recommend configuring it is to configure it as Solar. In their app, sometimes it shows it as a HeatPump and in other places it shows it as Solar. I assume that that is because they haven't updated the app everywhere. For example, in the Main page on the iPad it has four heating options: Off, Heater, H.Pump Pref, 'H.Pump Only'. But when you go to the History page to see when items were on or off, it shows Solar and Heat. I am wondering how it knows it is a heat pump attached. Looking through the full JSON output I don't see anything to indicate a Heat Pump installed.