Giter VIP home page Giter VIP logo

pybalboa's People

Contributors

bggardner avatar dependabot[bot] avatar fabaff avatar garbled1 avatar joostlek avatar natekspencer avatar

Stargazers

 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

pybalboa's Issues

Getting/Setting soak status (also: Read status of the Microsilk pump)

Hello,

I was trying to figure out how to get the state of 'soak' button (turns all pumps off), and also 'microsilk' pump that my hot tub is equipped with. After pressing some buttons on the panel and looking at the parse_status_update() output data, found the following:

self.soak_type = data[27] & 0x3
  • 0 -> soak is off
  • 1 -> soak is on (all pumps off)
  • 2 -> microsilk pump on (all other pumps off)

Now my question is: is there a way to turn on soak mode via a command? What is the best way to figure this one out?

Error connecting to spa

I am tying to connect to my spa with the command python3 pybalboa 192.168.178.188 and getting the following message:
`******* Testing CRC **********
Expected CRC=0x77 got 0x77
Expected CRC=0x06 got 0x06

******** Testing basic commands **********
Error connecting to spa at 192.168.178.178:4257: [Errno 110] Connect call failed ('192.168.178.178', 4257)
Asking for module identification
Invalid message retrieved
Asking for module identification
Invalid message retrieved
Asking for module identification
Invalid message retrieved
Asking for module identification
Invalid message retrieved

Asking for device configuration
Invalid message retrieved
Asking for device configuration
Invalid message retrieved
Asking for device configuration
Invalid message retrieved
Asking for device configuration
Invalid message retrieved

Config not loaded, something is wrong!
******** Testing engine ***********`

Single speed pumps are not turned off

The latest code is not not able to turn off any of my pumps. Turning them on works fine. All of them have just one speed s just one press of the button is needed. When the iteration was set to 1 in such case before it worked fine.

       # toggle until we hit the desired state
        for i in range(0, (newstate-self.pump_status[pump]) % (self.pump_array[pump]+1)):
            await self.send_message(*mtypes[BMTS_CONTROL_REQ], C_PUMP1 + pump, 0x00)
            await asyncio.sleep(1.0)

"Config not loaded, something is wrong!" when in test mode

Hi - I'm running into an error trying to connect to my new setup.
It's a Balboa BP7 5.5 KW Control Box Bundle With TP700 Topside Control 50-BP7-700-55-K and Balboa Wi-Fi Module 50350.
I am able to access it via the bwa app in local mode, and as you can see below basic connectivity is working, but it appears that the unit never responds to the system information request. Is this a known issue?

FWIW the current and target temperature data in the status update received is in fact accurate.

(balboa) [kday@jerez-2 balboa]$ python -m pybalboa 192.168.13.103 -d
DEBUG:asyncio:Using selector: KqueueSelector
******** Testing spa connection and configuration **********
DEBUG:pybalboa.client:192.168.13.103 -- establishing connection
DEBUG:pybalboa.client:192.168.13.103 -- connected
DEBUG:pybalboa.client:192.168.13.103 <- DEVICE_PRESENT: 050abf0477
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SYSTEM_INFORMATION: 080abf2202000089
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SETUP_PARAMETERS: 080abf22040000f4
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_DEVICE_CONFIGURATION: 080abf2200000158
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_FILTER_CYCLE: 080abf2201000034
DEBUG:pybalboa.client:192.168.13.103 -> STATUS_UPDATE: 1d0abf1300000000000000000000000000000000000000000000100061
DEBUG:pybalboa.control:192.168.13.103 -- Temperature range is now LOW (0)
DEBUG:pybalboa.control:192.168.13.103 -- Heat mode is now READY (0)
DEBUG:pybalboa.client:192.168.13.103 -> MODULE_IDENTIFICATION: 1e0abf94021480001527735fed0000000000000000001527ffff735fede4
DEBUG:pybalboa.client:192.168.13.103 -> STATUS_UPDATE: 20ffaf1317034f11180028003f001c000002000000000206640000001e0000e3
DEBUG:pybalboa.control:192.168.13.103 -- Temperature range is now HIGH (1)
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SYSTEM_INFORMATION: 080abf2202000089
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SETUP_PARAMETERS: 080abf22040000f4
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_DEVICE_CONFIGURATION: 080abf2200000158
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_FILTER_CYCLE: 080abf2201000034
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SYSTEM_INFORMATION: 080abf2202000089
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SETUP_PARAMETERS: 080abf22040000f4
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_DEVICE_CONFIGURATION: 080abf2200000158
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_FILTER_CYCLE: 080abf2201000034
DEBUG:pybalboa.client:192.168.13.103 -> STATUS_UPDATE: 20ffaf1317034f11190028003f001c000002000000000206640000001e00005a
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SYSTEM_INFORMATION: 080abf2202000089
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SETUP_PARAMETERS: 080abf22040000f4
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_DEVICE_CONFIGURATION: 080abf2200000158
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_FILTER_CYCLE: 080abf2201000034
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SYSTEM_INFORMATION: 080abf2202000089
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_SETUP_PARAMETERS: 080abf22040000f4
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_DEVICE_CONFIGURATION: 080abf2200000158
DEBUG:pybalboa.client:192.168.13.103 <- REQUEST_FILTER_CYCLE: 080abf2201000034
Config not loaded, something is wrong!
DEBUG:pybalboa.client:192.168.13.103 -- disconnect requested
DEBUG:pybalboa.client:192.168.13.103 -- stopped listening
DEBUG:pybalboa.client:192.168.13.103 -- disconnected

Some Home Assistant functions are deprecated

Hi,

I'm using Home Assistant 0.111.4 and I get the following messages in my logs:

  • ClimateDevice is deprecated, modify BalboaSpaClimate to extend ClimateEntity
  • SwitchDevice is deprecated, modify BalboaSpaSwitch to extend SwitchEntity
  • BinarySensorDevice is deprecated, modify BalboaSpaBinarySensor to extend BinarySensorEntity

Is it possible to fix this for the future release?

Thanks!

blower problem again

hello again, if the blower on is the state unknown and is the blower off is the state ON :-(

Advice on Merging Support for Sundance 780 2021

Hello,
I have completed a proof of concept for the messaging required to support at least my 2021 Sundance 780 series spa with what I think is a so called 'encrypted' panel. I think this model is only supported by the "Smart Tub" Cellular module and not the Balboa Wifi module because of the differences in message format. Because Sundance is under the Jacuzzi umbrella I suspect these changes will enable low cost support to a number of other products using new OEM boards as well.

I have been documenting some of the effort here: [https://github.com/ccutrer/balboa_worldwide_app/issues/58]
I am using the RS-485 to wifi module wired as described here:
[https://github.com/jshank/bwalink]

I would ideally like to get support integrated into your tree so that it is usable via the in-tree home assistant integration [https://www.home-assistant.io/integrations/balboa/]

The delineators and header of the messages as well as the CRC remains the same, as does most of the data made available.

However because the messages types are all new and because the connection is direct the code modifications are still somewhat extensive to make it happen. Before I go incorporating into your code base and validating changes want to know if you would accept these changes, and if so what you would like the pull request(s) to look like. For example, would you like the implementation isolated to a child class which inherits from balboa.py and switched to when the 'Alternative' message format is detected, or would you like it all to be in balboa.py?

The changes are roughly as follows:

  1. Support for direct RS-485 TCP converter connections by implementing New Client Clear to Send 0x00, Channel Assignment Request 0x01, Channel Assignment Response 0x02 , Channel Assignment Acknowledgement 0x03, Existing Client Request 0x04, Existing Client Response 0x5, Client Clear to Send 0x6 and Nothing to Send 0x7 message types. This work was based on [https://github.com/bggardner/pybalboa/blob/master/pybalboa/clients.py] with the "Nothing to Send" message being modified to this boards equivalent.
  2. Support for "0xC4" periodic status messages, which are similar to 0x13 Status Messages. When received set I a flag so the software knows to use the 'Alternative' message format. for commands.
  3. Support for "0xCA" periodic lights status messages. I do not see an existing equivalent, includes more info about the lights then was contained in the 0x13 message. For example it reports actual current R,G, and B brightness's in a range 0-255, the configured transition fade time time between the colors, color pattern, etc.
  4. Support for "0xCC" messages which are most similar to 0x11 Toggle Item Request, but also seem to replace 0x20 Set Temperature. All methods that would have used BMTS_CONTROL_REQ or similar need to send this other message type based upon the the message format flag.
  5. Since I have been unable to replicate equivalents messages to 'config response' and 'panel config response', there needs to be changes to the listen_until_configured, and spa_configured so they return configuration complete, and hard coding of some fields that I cant get automatically (yet) based upon the flag set when the 0xC4 message is recieved...

Please let me know your thoughts!

Circulation Pump status wont toggle.

******** Testing spa connection and configuration **********
Module identification

MAC address: 00:15:27:71:f0:b2
iDigi Device Id: 00000000-00000000-001527FF-FF71F0B2
Device configuration

Circulation pump: OFF
Pumps: ['Pump 1', 'Pump 2']
Lights: ['Light 1']
Aux: []
Blower: []
Mister: []
System information

Model: BP6013G1
Software version: M100_226 V37.0
Configuration signature: 1b456746
Current setup: 2
Voltage: None
Heater type: standard
DIP switch: 0000010000000000
Setup parameters

Min temps: ((50, 99), (10.0, 37.0))
Max temps: ((80, 104), (26.5, 40.0))
Pump count: 2
Filter cycle

Filter cycle 1 start: 07:00:00
Filter cycle 1 duration: 1:00:00
Filter cycle 2 start: 16:00:00 (enabled)
Filter cycle 2 duration: 1:00:00
Status update

Temperature unit: CELSIUS
Temperature: 39.0
Target temperature: 39.0
Temperature range: HIGH
Heat mode: READY
Heat state: OFF
Pump status: [Pump 1: OFF, Pump 2: OFF]
Circulation pump: OFF
Light status: [Light 1: OFF]
Mister status: []
Aux status: []
Blower status: []
Spa time: 08:40 24hr
Filter cycle 1 running: False
Filter cycle 2 running: False
******** Testing spa controls **********
Temperature control

Current target temperature: 39.0
Set to 40.0
Set temperature is now 40.0
Current target temperature: 40.0
Set to 39.0
Set temperature is now 39.0
Heat mode control

Current state: READY
Set to REST
State is now REST
Current state: REST
Set to READY
State is now READY
Temperature range control

Current state: HIGH
Set to LOW
State is now LOW
Current state: LOW
Set to HIGH
State is now HIGH
Pump 1 control

Current state: OFF
Set to ON
State is now ON
Current state: ON
Set to OFF
State is now OFF
Pump 2 control

Current state: OFF
Set to ON
State is now ON
Current state: ON
Set to OFF
State is now OFF
Light 1 control

Current state: OFF
Set to ON
State is now ON
Current state: ON
Set to OFF
State is now OFF
Circulation pump control

Current state: ON
Set to OFF
State was not changed after 10 seconds; is ON
Please add the above output to issue:
#1
Process finished with exit code 0

I see that the call is to 003d for the circulation pump but cant see that in the documentation. The current status reads correctly if the pump is on or off it just wont allow to toggle the status

Encryption Question

Hi @garbled1

trying to work with dhmsjs/pyjacuzzi and due to my own stupidity, fried my board and replaced with a new one that encrypts the 485 comms... Is balboa also doing this? know if anyone ever managed to break the encryption?

Integration of Chromazon3 add-on

My spa came with the Balboa Chromazon3 add-on. Link. I found another thread here where Christoph details his findings on his system. It appears very similar to what I see on mine. I want to take a shot at adding the necessary classes to support the control of Chromazon3.

How would you like me to go forward? This should exist in its own class that inherits from some of the other base classes.

When I run the pybalboa debug script I see messages returning that pybalboa identifies as unknown. I have copied the example below.

DEBUG:asyncio:Using selector: KqueueSelector
******** Testing spa connection and configuration **********
DEBUG:pybalboa.client:192.168.10.160 -- establishing connection
DEBUG:pybalboa.client:192.168.10.160 -- connected
DEBUG:pybalboa.client:192.168.10.160 <- DEVICE_PRESENT: 050abf0477
DEBUG:pybalboa.client:192.168.10.160 <- REQUEST_SYSTEM_INFORMATION: 080abf2202000089
DEBUG:pybalboa.client:192.168.10.160 <- REQUEST_SETUP_PARAMETERS: 080abf22040000f4
DEBUG:pybalboa.client:192.168.10.160 <- REQUEST_DEVICE_CONFIGURATION: 080abf2200000158
DEBUG:pybalboa.client:192.168.10.160 <- REQUEST_FILTER_CYCLE: 080abf2201000034
DEBUG:pybalboa.client:192.168.10.160 -> MODULE_IDENTIFICATION: 1e0abf94021480001527f16d940000000000000000001527fffff16d944e
DEBUG:pybalboa.client:192.168.10.160 -> SYSTEM_INFORMATION: 1a0abf2464dc2b004d5142503230555805b8f7b03a010a240042
DEBUG:pybalboa.client:192.168.10.160 -> SETUP_PARAMETERS: 0f0abf250a0532633c682903430286
DEBUG:pybalboa.client:192.168.10.160 -> DEVICE_CONFIGURATION: 0b0abf2e0a000150806816
DEBUG:pybalboa.client:192.168.10.160 -> FILTER_CYCLE: 0d0abf2314000100880001009d
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004020000000000000000680000021e00010f
DEBUG:pybalboa.control:192.168.10.160 -- Temperature range is now HIGH (1)
DEBUG:pybalboa.control:192.168.10.160 -- Light 1 is now OFF (0)
DEBUG:pybalboa.control:192.168.10.160 -- Heat mode is now READY (0)
DEBUG:pybalboa.control:192.168.10.160 -- Pump 1 is now HIGH (2)
DEBUG:pybalboa.control:192.168.10.160 -- Pump 2 is now OFF (0)

Module identification
---------------------
MAC address: 00:15:27:f1:6d:94
iDigi Device Id: 00000000-00000000-001527FF-FFF16D94

Device configuration
--------------------
None
Pumps: ['Pump 1', 'Pump 2']
Lights: ['Light 1']
Aux: []
Blower: []
Mister: []

System information
------------------
Model: MQBP20UX
Software version: M100_220 V43.0
Configuration signature: b8f7b03a
Current setup: 5
Voltage: 240
Heater type: standard
DIP switch: 0010010000000000

Setup parameters
----------------
Min temps: ((50, 99), (10.0, 37.0))
Max temps: ((60, 104), (15.5, 40.0))
# of pumps: 2

Filter cycle
------------
Filter cycle 1 start: 20:00:00
Filter cycle 1 duration: 1:00:00
Filter cycle 2 start: 08:00:00 (enabled)
Filter cycle 2 duration: 1:00:00

Status update
-------------
Temperature unit: FAHRENHEIT
Temperature: 105.0
Target temperature: 104.0
Temperature range: HIGH
Heat mode: READY
Heat state: OFF
Pump status: [Pump 1: HIGH, Pump 2: OFF]
None
Light status: [Light 1: OFF]
Mister status: []
Aux status: []
Blower status: []
Spa time: 17:26 12hr
Filter cycle 1 running: False
Filter cycle 2 running: False

******** Testing spa controls **********

Temperature control
-------------------
Current target temperature: 104.0
  Set to 60
DEBUG:pybalboa.client:192.168.10.160 <- SET_TEMPERATURE: 060abf203ca6
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a0000656600040200000000000000003c0000021e0001ec
  Set temperature is now 60.0
Current target temperature: 60.0
  Set to 104.0
DEBUG:pybalboa.client:192.168.10.160 <- SET_TEMPERATURE: 060abf20680d
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004020000000000000000680000021e00010f
  Set temperature is now 104.0

Heat mode control
-----------------
Current state: READY
  Set to REST
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf11514e
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a01006566000402000000000000000068000002000001d3
DEBUG:pybalboa.control:192.168.10.160 -- Heat mode is now REST (1)
  State is now REST
Current state: REST
  Set to READY
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf11514e
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004020000000000000000680000021e00010f
DEBUG:pybalboa.control:192.168.10.160 -- Heat mode is now READY (0)
  State is now READY

Temperature range control
-------------------------
Current state: HIGH
  Set to LOW
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf115049
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660000020000000000000000460000021e0001b0
DEBUG:pybalboa.control:192.168.10.160 -- Temperature range is now LOW (0)
  State is now LOW
Current state: LOW
  Set to HIGH
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf115049
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004020000000000000000680000021e00010f
DEBUG:pybalboa.control:192.168.10.160 -- Temperature range is now HIGH (1)
  State is now HIGH

Pump 1 control
--------------
Current state: HIGH
  Set to OFF
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf1104e2
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.control:192.168.10.160 -- Pump 1 is now LOW (1)
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004010000000000000000680000021e000109
  State was not changed after 10 seconds; is LOW
Current state: LOW
  Set to HIGH
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf1104e2
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004020000000000000000680000021e00010f
DEBUG:pybalboa.control:192.168.10.160 -- Pump 1 is now HIGH (2)
  State is now HIGH

Pump 2 control
--------------
Current state: OFF
  Set to LOW
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf1105e5
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004060000000000000000680000021e000107
DEBUG:pybalboa.control:192.168.10.160 -- Pump 2 is now LOW (1)
  State is now LOW
Current state: LOW
  Set to HIGH
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf1105e5
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a0000656600040a0000000000000000680000021e00011f
DEBUG:pybalboa.control:192.168.10.160 -- Pump 2 is now HIGH (2)
  State is now HIGH
Current state: HIGH
  Set to OFF
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf1105e5
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004020000000000000000680000021e00010f
DEBUG:pybalboa.control:192.168.10.160 -- Pump 2 is now OFF (0)
  State is now OFF

Light 1 control
---------------
Current state: OFF
  Set to ON
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf111189
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004020000030000000000680000021e0001b4
DEBUG:pybalboa.control:192.168.10.160 -- Light 1 is now ON (1)
DEBUG:pybalboa.client:192.168.10.160 -> UNKNOWN: 18ffaf320100000000000000000000000000006400ff00dc
  State is now ON
Current state: ON
  Set to OFF
DEBUG:pybalboa.client:192.168.10.160 <- TOGGLE_STATE: 060abf111189
DEBUG:pybalboa.client:192.168.10.160 -> STATUS_UPDATE: 20ffaf13000069111a000065660004020000000000000000680000021e00010f
DEBUG:pybalboa.control:192.168.10.160 -- Light 1 is now OFF (0)
  State is now OFF

DEBUG:pybalboa.client:192.168.10.160 -- disconnect requested
DEBUG:pybalboa.client:192.168.10.160 -- stopped listening
DEBUG:pybalboa.client:192.168.10.160 -- disconnected

Unknown panel request data

I am attempting to understand how to decode two of the panel commands. Please run the test by executing: python -m pybalboa <spa_ip> from inside the base of the git repo. This runs a basic test. Then paste the data in this section:

Sending unknown commands
Got msg: 7e1a0abf2464dc140042503230303047310451800c6b010a0200f97e
Got msg: 7e1dffaf13000368053800020000080c01000000000000012068000000437e
Got msg: 7e1dffaf13000368053800020000080c01000000000000012068000000437e
Got msg: 7e1dffaf13000368053800020000080c01000000000000012068000000437e
Got msg: 7e0e0abf25120432635068290341197e
Got msg: 7e1dffaf13000368053800020000080c01000000000000012068000000437e
Got msg: 7e1dffaf13000368053800020000080c01000000000000012068000000437e
Got msg: 7e1dffaf13000368053800020000080c01000000000000012068000000437e
Please add this section to issue:

Hopefully if I get enough of them, I can figure out how to decode those sections. I think I more or less understand them, but it's not 100%.

Also, when posting, anything you can provide about your spa, like the model, voltage, panel model if known, etc etc would be nice.

Wait for a clear to send message?

Hello, I'm considering using this module for some automation and was reviewing the client.

According to the wiki a client need to keep track of which channel the client have and wait for a "clear to send" message that contain the channel code of the client. And then send the message? Otherwise we could accidentally send our command while the main board sends a status update or whatnot.

It should be fairly easy to implement and I can do it myself but maybe I've misunderstood something here? So before I start I'd like to check with you if there is a reason for not waiting for the signal to send?

Cannot set temperature

Hello,

first: nice work your modul!

I can set everything but if I want adjust the temperature i get:

await adjust_temperature(spa,36)
Current target temperature: 32.5
Set to 36
Set temperature was not changed after 10 seconds; is 32.5

I tried 20 second, but the same issue.

What could be wrong?

Module identification

MAC address: 00:15:27:e4:00:9d
iDigi Device Id: 00000000-00000000-001527FF-FFE4009D

Device configuration

Circulation pump: OFF
Pumps: ['Pump 1']
Lights: ['Light 1']
Aux: []
Blower: ['Blower 1']
Mister: []

System information

Model: BP6013G1
Software version: M100_226 V43.0
Configuration signature: 1b456746
Current setup: 4
Voltage: None
Heater type: standard
DIP switch: 0000001000000000

Setup parameters

Min temps: ((50, 99), (10.0, 37.0))
Max temps: ((80, 104), (26.5, 40.0))

of pumps: 1

Filter cycle

Filter cycle 1 start: 03:00:00
Filter cycle 1 duration: 2:00:00
Filter cycle 2 start: 14:00:00 (enabled)
Filter cycle 2 duration: 2:00:00

Status update

Temperature unit: CELSIUS
Temperature: 34.0
Target temperature: 30.0
Temperature range: LOW
Heat mode: REST
Heat state: OFF
Pump status: [Pump 1: OFF]
Circulation pump: OFF
Light status: [Light 1: OFF]
Mister status: []
Aux status: []
Blower status: [Blower 1: UNKNOWN]
Spa time: 13:12 24hr
Filter cycle 1 running: False
Filter cycle 2 running: False

******** Testing spa controls **********

Temperature control

Current target temperature: 30.0
Set to 37.0
Set temperature is now 37.0
[Heat mode: REST, Temperature range: LOW, Pump 1: OFF, Light 1: OFF, Circulation pump: OFF, Blower 1: UNKNOWN]

Heat mode control

Current state: REST
Set to READY
State is now READY
Current state: READY
Set to REST
State is now REST

Temperature range control

Current state: LOW
Set to HIGH
State is now HIGH
Current state: HIGH
Set to LOW
State is now LOW

Pump 1 control

Current state: OFF
Set to ON
State is now ON
Current state: ON
Set to OFF
State is now OFF

Light 1 control

Current state: OFF
Set to ON
State is now ON
Current state: ON
Set to OFF
State is now OFF

Circulation pump control

Current state: ON
Set to OFF
State was not changed after 10 seconds; is ON

Blower 1 control

Current state: UNKNOWN
Set to OFF
State was not changed after 10 seconds; is UNKNOWN
Current state: UNKNOWN
Set to ON
State was not changed after 10 seconds; is UNKNOWN

Can't find my Blower

Hello, I have also a Blower in my Jacuzzi, but I can't find it in the controls.

******** Testing spa connection and configuration **********

Module identification

MAC address: 00:15:27:e4:00:9d
iDigi Device Id: 00000000-00000000-001527FF-FFE4009D

Device configuration

Circulation pump: OFF
Pumps: ['Pump 1']
Lights: ['Light 1']
Aux: []
Blower: ['Blower 1']
Mister: []

System information

Model: BP6013G1
Software version: M100_226 V43.0
Configuration signature: 1b456746
Current setup: 4
Voltage: None
Heater type: standard
DIP switch: 0000001000000000

Setup parameters

Min temps: ((50, 99), (10.0, 37.0))
Max temps: ((80, 104), (26.5, 40.0))

of pumps: 1

Filter cycle

Filter cycle 1 start: 03:00:00
Filter cycle 1 duration: 2:00:00
Filter cycle 2 start: 14:00:00 (enabled)
Filter cycle 2 duration: 2:00:00

Status update

Temperature unit: CELSIUS
Temperature: None
Target temperature: 32.5
Temperature range: LOW
Heat mode: REST
Heat state: OFF
Pump status: [Pump 1: OFF]
Circulation pump: OFF
Light status: [Light 1: ON]
Mister status: []
Aux status: []
Blower status: [Blower 1: UNKNOWN]
Spa time: 02:54 24hr
Filter cycle 1 running: False
Filter cycle 2 running: False

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.