@amit1 ,
I am NOT using my fork of aqualogic as an integration. I thought this would be too cumbersome to restart HA every time I tried a new fix in the aqualogic core. More on that below along with code for what I am using. At this point, I could possibly update to using the integration, but since things are working for me, that’s not a priority.
I just pushed my latest changes to my fork. I don’t remember all I’ve done, but roughly speaking:
- I tweaked how and when commands are inserted. Generally, I get most key presses to work from HA, but sometimes it goes into a funky state where they don’t. Just waiting a few seconds seems to let it recover. I mainly split out the sending of messages into another thread that could using timing events and response messages from the main thread to know when was a good time to send and what the result looked like.
- I added a “key logger” file that tracks what response occurs whenever a button is pressed. This is whether it was pressed on the console, on my wireless keypad, or by HA. I hope to use this to “learn” how to detect when the HA-initiated button press doesn’t work and then re-send smartly. Since things work well enough, I might not ever go back to this.
- I added an MQTT front-end. I did this because much of my system is on MQTT and node-red, so I can do quite a bit of fixing things up this way without restarting HA every time.
- I changed the accessory names to match my system (eg, I have a blower on one of the aux devices).
- I added NO documentation and made no effort to make this easily customized to the details of any given system (I don’t know enough about what those could even look like to try), so sorry and good luck
Earlier in this thread, I posted a screen grab of my HA dashboard. Here’s the latest along with the frontend yaml for it. It works well enough that I can press buttons to navigate the menu and accomplish what I want. I made it look/work roughly like the keypad console.
Dashboard yaml:
type: vertical-stack
cards:
- show_name: false
show_icon: false
show_state: true
type: glance
entities:
- entity: sensor.pool_display
- square: false
columns: 3
type: grid
cards:
- type: custom:mushroom-light-card
entity: switch.pool_menu_switch
icon_type: icon
name: Menu
secondary_info: name
layout: horizontal
primary_info: none
icon: mdi:menu-open
- type: custom:mushroom-light-card
entity: switch.pool_plus_switch
icon_type: icon
layout: vertical
secondary_info: none
icon: mdi:plus
primary_info: none
- type: custom:mushroom-title-card
- type: custom:mushroom-light-card
entity: switch.pool_left_switch
icon_type: icon
layout: vertical
secondary_info: none
icon: mdi:menu-left
primary_info: none
- type: custom:mushroom-light-card
entity: switch.pool_minus_switch
icon_type: icon
layout: vertical
secondary_info: none
icon: mdi:minus
primary_info: none
- type: custom:mushroom-light-card
entity: switch.pool_right_switch
icon_type: icon
layout: vertical
secondary_info: none
icon: mdi:menu-right
primary_info: none
- square: false
columns: 3
type: grid
cards:
- type: custom:mushroom-entity-card
entity: binary_sensor.pool_pool_mode
name: Pool
tap_action:
action: call-service
service: switch.turn_on
data: {}
target:
entity_id: switch.pool_pool_switch
primary_info: none
secondary_info: name
- type: custom:mushroom-entity-card
entity: binary_sensor.pool_heater_mode
name: Heater
tap_action:
action: call-service
service: switch.turn_on
data: {}
target:
entity_id: switch.pool_heater_switch
secondary_info: name
primary_info: none
- type: custom:mushroom-entity-card
entity: binary_sensor.pool_heater_auto_mode
name: Heater Auto
tap_action:
action: call-service
service: switch.turn_on
data: {}
target:
entity_id: switch.pool_heater_switch
secondary_info: name
primary_info: none
- type: custom:mushroom-entity-card
entity: binary_sensor.pool_spa_mode
name: Spa
tap_action:
action: call-service
service: switch.turn_on
data: {}
target:
entity_id: switch.pool_spa_switch
primary_info: none
secondary_info: name
- type: custom:mushroom-entity-card
entity: binary_sensor.pool_blower_mode
name: Blower
tap_action:
action: call-service
service: switch.turn_on
data: {}
target:
entity_id: switch.pool_blower_switch
secondary_info: name
primary_info: none
- type: custom:mushroom-entity-card
secondary_info: name
primary_info: none
- type: custom:mushroom-entity-card
entity: binary_sensor.pool_filter_mode
name: Filter
tap_action:
action: call-service
service: switch.turn_on
data: {}
target:
entity_id: switch.pool_filter_switch
secondary_info: name
primary_info: none
- type: custom:mushroom-entity-card
entity: binary_sensor.pool_lights_mode
name: Lights
tap_action:
action: call-service
service: switch.turn_on
data: {}
target:
entity_id: switch.pool_lights_switch
secondary_info: name
primary_info: none
I’m using node-red to receive status, create sensors, and create switches which then turn into MQTT commands for button presses from/to the aqua logic MQTT interface. Here’s my node-red flow.
[{"id":"c704a53ed403401a","type":"tab","label":"Pool","disabled":false,"info":"","env":[]},{"id":"ee6f9c95a572c983","type":"junction","z":"c704a53ed403401a","x":520,"y":840,"wires":[["c555b498e722c912","dfe4e95db26c3b34"]]},{"id":"0b9ed40c4708e333","type":"junction","z":"c704a53ed403401a","x":40,"y":1180,"wires":[["ae35ea489576f8ac","3a338b0e7902447e","ce724bc00d066e66","ea0e4b95a09f71c2","e1b00ec3910d1e3f","1c3180f7f3f5313c","523f87eb3bb090cf","179e38dfd95028b0","8fa7d58d0b19f384","e0d8347e8c4cc962","b6e40e13bc5701c9","8524255cc8766b0d"]]},{"id":"6fe9b274fd9fec23","type":"mqtt in","z":"c704a53ed403401a","name":"","topic":"aqualogic/status/#","qos":"2","datatype":"utf8","broker":"62d4a8d7.7b1c88","nl":false,"rap":true,"rh":0,"inputs":0,"x":110,"y":220,"wires":[["587b1d5cf542a32a"]]},{"id":"5e722f82966547e4","type":"debug","z":"c704a53ed403401a","name":"debug 18","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":260,"y":120,"wires":[]},{"id":"c204d47a2b5d8d07","type":"switch","z":"c704a53ed403401a","name":"","property":"key","propertyType":"msg","rules":[{"t":"eq","v":"available","vt":"str"},{"t":"eq","v":"display","vt":"str"},{"t":"eq","v":"air_temp","vt":"str"},{"t":"eq","v":"pool_temp","vt":"str"},{"t":"eq","v":"pump_speed","vt":"str"},{"t":"eq","v":"pump_power","vt":"str"},{"t":"eq","v":"POOL","vt":"str"},{"t":"eq","v":"SPA","vt":"str"},{"t":"eq","v":"FILTER","vt":"str"},{"t":"eq","v":"HEATER_1","vt":"str"},{"t":"eq","v":"HEATER_AUTO_MODE","vt":"str"},{"t":"eq","v":"BLOWER","vt":"str"},{"t":"eq","v":"LIGHTS","vt":"str"}],"checkall":"false","repair":false,"outputs":13,"x":450,"y":220,"wires":[["22286e59905bf2e0"],["22286e59905bf2e0"],["329e5351bde42910"],["71401de35fc5d95e"],["11ab7fc17cf79c02"],["3e83276e66ee3780"],["bfd30b47a1b42817"],["0a4a962f1534cb5a"],["1abf44bcd6302bfb"],["58089d5cbb0160f5"],["29671f5272173a52"],["0eaa72c4d8302b2c"],["6062440072052c3a"]]},{"id":"587b1d5cf542a32a","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"key","pt":"msg","to":"$replace(topic, \"aqualogic/status/\", \"\")","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":220,"wires":[["5e722f82966547e4","c204d47a2b5d8d07"]]},{"id":"22286e59905bf2e0","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Display","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Pool Display"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":750,"y":40,"wires":[[]]},{"id":"329e5351bde42910","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Air Temperature","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Pool Air Temperature"},{"property":"device_class","value":"temperature"},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"°F"},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":780,"y":80,"wires":[[]]},{"id":"a47045e73d18696f","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Water Temperature","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Pool Water Temperature"},{"property":"device_class","value":"temperature"},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"°F"},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":1390,"y":100,"wires":[[]]},{"id":"11ab7fc17cf79c02","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Pump Speed","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Pool Pump Speed"},{"property":"device_class","value":"power_factor"},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"%"},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":770,"y":260,"wires":[[]]},{"id":"3e83276e66ee3780","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Pump Power","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Pool Pump Power"},{"property":"device_class","value":"power"},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"W"},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":770,"y":300,"wires":[[]]},{"id":"bfd30b47a1b42817","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Pool Mode","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"binary_sensor","config":[{"property":"name","value":"Pool Pool Mode"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":760,"y":360,"wires":[[]]},{"id":"0a4a962f1534cb5a","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Spa Mode","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"binary_sensor","config":[{"property":"name","value":"Pool Spa Mode"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":760,"y":400,"wires":[[]]},{"id":"1abf44bcd6302bfb","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Filter Mode","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"binary_sensor","config":[{"property":"name","value":"Pool Filter Mode"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":760,"y":440,"wires":[[]]},{"id":"58089d5cbb0160f5","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Heater Mode","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"binary_sensor","config":[{"property":"name","value":"Pool Heater Mode"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":770,"y":520,"wires":[[]]},{"id":"71401de35fc5d95e","type":"api-current-state","z":"c704a53ed403401a","name":"","server":"1777b72c.cb0709","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.pool_filter_mode","state_type":"str","blockInputOverrides":true,"outputProperties":[],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":860,"y":140,"wires":[["a47045e73d18696f"],["e00758629ab5b0ae"]]},{"id":"e00758629ab5b0ae","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"offline","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1140,"y":160,"wires":[["a47045e73d18696f"]]},{"id":"ae35ea489576f8ac","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Filter Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Filter Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":740,"wires":[["a814f80c5cb4ddc3"],[]]},{"id":"3a338b0e7902447e","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Pool Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Pool Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":780,"wires":[["083068017d4d5288","fcacd26161586052"],[]]},{"id":"a814f80c5cb4ddc3","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"FILTER","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":740,"wires":[["ee6f9c95a572c983"]]},{"id":"083068017d4d5288","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"POOL","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":780,"wires":[["ee6f9c95a572c983"]]},{"id":"edc914744c56fddf","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"SPA","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":820,"wires":[["ee6f9c95a572c983"]]},{"id":"228ee673e2912a3d","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"HEATER_1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":860,"wires":[["ee6f9c95a572c983"]]},{"id":"40e6385c5c375a6c","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"LIGHTS","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":900,"wires":[["ee6f9c95a572c983"]]},{"id":"fa37afe966a5c4af","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"BLOWER","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":940,"wires":[["ee6f9c95a572c983"]]},{"id":"0eaa72c4d8302b2c","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Blower Mode","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"binary_sensor","config":[{"property":"name","value":"Pool Blower Mode"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":770,"y":600,"wires":[[]]},{"id":"c555b498e722c912","type":"mqtt out","z":"c704a53ed403401a","name":"","topic":"aqualogic/command","qos":"2","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"62d4a8d7.7b1c88","x":680,"y":840,"wires":[]},{"id":"dfe4e95db26c3b34","type":"trigger","z":"c704a53ed403401a","name":"","op1":"","op2":"","op1type":"nul","op2type":"payl","duration":"200","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":640,"y":1180,"wires":[["c39be751337193dc"]]},{"id":"a6e9bc02780b086a","type":"inject","z":"c704a53ed403401a","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"600","crontab":"","once":true,"onceDelay":"120","topic":"","payload":"","payloadType":"date","x":470,"y":1180,"wires":[["dfe4e95db26c3b34"]]},{"id":"c39be751337193dc","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"enable","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":1180,"wires":[["0b9ed40c4708e333"]]},{"id":"6062440072052c3a","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Lights Mode","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"binary_sensor","config":[{"property":"name","value":"Pool Lights Mode"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":770,"y":660,"wires":[[]]},{"id":"ce724bc00d066e66","type":"debug","z":"c704a53ed403401a","name":"debug 19","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":160,"y":1180,"wires":[]},{"id":"fcacd26161586052","type":"debug","z":"c704a53ed403401a","name":"debug 20","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":360,"y":700,"wires":[]},{"id":"ea0e4b95a09f71c2","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Spa Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Spa Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":180,"y":820,"wires":[["edc914744c56fddf"],[]]},{"id":"e1b00ec3910d1e3f","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Heater Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Heater Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":860,"wires":[["228ee673e2912a3d"],[]]},{"id":"1c3180f7f3f5313c","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Lights Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Lights Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":900,"wires":[["40e6385c5c375a6c"],[]]},{"id":"523f87eb3bb090cf","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Blower Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Blower Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":940,"wires":[["fa37afe966a5c4af"],[]]},{"id":"179e38dfd95028b0","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Menu Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Menu Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":980,"wires":[["25cb496fe9eab358"],[]]},{"id":"25cb496fe9eab358","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"MENU","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":980,"wires":[["ee6f9c95a572c983"]]},{"id":"8fa7d58d0b19f384","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Left Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Left Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":180,"y":1020,"wires":[["77edf18b8c78fb81"],[]]},{"id":"77edf18b8c78fb81","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"LEFT","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":1020,"wires":[["ee6f9c95a572c983"]]},{"id":"e0d8347e8c4cc962","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Right Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Right Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":1060,"wires":[["63a95269e4b13ee6"],[]]},{"id":"63a95269e4b13ee6","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"RIGHT","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":1060,"wires":[["ee6f9c95a572c983"]]},{"id":"b6e40e13bc5701c9","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Minus Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Minus Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":1100,"wires":[["ae86948d3f9f0551"],[]]},{"id":"ae86948d3f9f0551","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"MINUS","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":1100,"wires":[["ee6f9c95a572c983"]]},{"id":"8524255cc8766b0d","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Plus Switch","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":2,"entityType":"switch","config":[{"property":"name","value":"Pool Plus Switch"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":true,"outputPayload":"","outputPayloadType":"str","x":190,"y":1140,"wires":[["1d2de971866ed5b6"],[]]},{"id":"1d2de971866ed5b6","type":"change","z":"c704a53ed403401a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"PLUS","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":1140,"wires":[["ee6f9c95a572c983"]]},{"id":"29671f5272173a52","type":"ha-entity","z":"c704a53ed403401a","name":"Pool Heater Auto Mode","server":"1777b72c.cb0709","version":2,"debugenabled":false,"outputs":1,"entityType":"binary_sensor","config":[{"property":"name","value":"Pool Heater Auto Mode"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""},{"property":"last_reset","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"","outputPayloadType":"str","x":790,"y":560,"wires":[[]]},{"id":"62d4a8d7.7b1c88","type":"mqtt-broker","name":"","broker":"10.0.1.29","port":"8883","tls":"8f64fdf5.552818","clientid":"","autoConnect":true,"usetls":true,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"sessionExpiry":""},{"id":"1777b72c.cb0709","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30},{"id":"8f64fdf5.552818","type":"tls-config","name":"home ca","cert":"","key":"","ca":"/ssl/tendot_certs/tendot_ca.crt","certname":"","keyname":"","caname":"ca.crt","servername":"","verifyservercert":false}]
This may be completely useless to you, so sorry in advance