Fork of schemers/homebridge-screenlogic with some of my own improvements and fixes.
This plugin was recently rewritten in Typescript to use the latest capabilities of Homebridge 1.x, so it requires at a minimum:
npm install -g homebridge
npm install -g homebridge-pentair-screenlogic
config.json
snippet below.Configuration samples (edit ~/.homebridge/config.json
):
This performs a UDP broadcast on 255.255.255.255, port 1444, so ensure your network supports UDP broadcasts and the device is on the same subnet.
"platforms": [
{
"platform": "ScreenLogic"
}
],
Use this when you know the local static IP address.
"platforms": [
{
"platform": "ScreenLogic",
"ip_address": "192.168.0.100"
}
],
"port"
is optional and defaults to 80"username"
is optional, but is recommended as it is used to keep accessory UUIDs consistent. Should be in the format "Pentair: XX-XX-XX"
.Use this to go through Pentair servers.
"platforms": [
{
"platform": "ScreenLogic",
"username": "Pentair: XX-XX-XX",
"password": "..."
}
],
"hidden_circuits"
comma-separated list of circuit names to hide. Set this for circuits you don't want showing up as switches. (ie.., "Aux 6,Floor Cleaner"
).
"hideAirTemperatureSensor"
hides the air temperature sensor. Default is false
.
"hidePoolTemperatureSensor"
hides the pool temperature sensor, which is redundant if you are showing pool thermostat. Default is true
.
"hideSpaTemperatureSensor"
hides the spa temperature sensor, which is redundant if you are showing spa thermostat. Default is true
.
"hidePoolThermostat"
hides the pool thermostat (aka, pool heater) if you don't want to allow changes via HomeKit. Default is false
.
"hideSpaThermostat"
hides the spa thermostat (aka, spa heater) if you don't want to allow changes via HomeKit. Default is false
.
"statusPollingSeconds"
time in seconds to poll for pool statu. Default is 60 seconds.
createLightColorSwitches
will create a "Pool Lights" accessory that contains switches for turing on light modes/colors. Default is false
.
disabledLightColors
an array of strings with the names of light mode/colors you want to disable. Default is an empty array.
{
"platform": "ScreenLogic",
"hidePoolTemperatureSensor": false,
"hideSpaTemperatureSensor": true,
"hideAirTemperatureSensor": true,
"hidePoolThermostat": false,
"hideSpaThermostat": false,
"statusPollingSeconds": 60,
"createLightColorSwitches": true,
"disabledLightColors": ["Pool Mode Party", "Pool Mode Romance"],
"hidden_circuits": "Fountains,Floor Cleaner,Aux 6"
}
Pool and spa heaters do not turn the pool and/or spa on or off, they just change the heat mode.
i.e., if you want to heat the spa, you need to do two things:
This should work well in practice though, as you will generally have a set target temperature and mode, and then just turn the spa on/off without mucking with the thermostat.
This also means that even if the Pool/Spa is turned off and you open the Pool/Spa Heater it mght say "HEATING TO". It will not actually being heating unless the corresponding Pool/Spa switch is turned on.
The light color commands (for modes and colors) are exposed as switches in HomeKit if you enable createLightColorSwitches
(it is false
by default).
Since I don't have the ability to query the current state of which color/mode is active (Screenlogic app doesn't show it either), I implemented the following behavior:
Instead of cluttering the room with a bunch of switches, they are all shown in HomeKit as a single accessory called "Light Colors". Tap on the tile to expand, and then turn on the individual switch for the desired mode/color.
If you'd like to show them as separate tiles, you can tap the gear icon at the bottom of the expanded tile (or slide up at the bottom) and then select "Show as Separate Tiles". If you are showing as separate tiles and want to revert back to a single tile, you can select any switch and then select "Show as Single Tile"
While showing the light switches as separate tiles, you can rename them if desired, which will let you pick a different name to use with Siri. After renaming you can then show as a single tile again if you'd like.
You can set a mode/color by saying the mode/color name:
Which will set the selected mode/color and turn on all the lights if they aren't on.