Open ayal opened 4 months ago
Thank you @ayal
@thecode, @YogevBokobza, did you come across this by any chance?
I will take a look on this in between my integration od Runner S11 in the HA code
Thank you @ayal
@thecode, @YogevBokobza, did you come across this by any chance?
No, the only report I have seen was a device issue (device worked again after it was rebooted)
I wasn't able to replicate this. All my breeze devices worked right away without delay..
@ayal Can you show me the Python command you run to communicate with the device? What is the firmware of the device? (As seen in the Switcher App)
Hi @YogevBokobza thanks for looking into it
For context - my Switcer is a brand new switcher
Application version is 2.53
On the device screen it says Switcher Breeze_8C01
on the top (as mentioned above), is this the firmware version?
Is there another version number listed anywhere?
Regarding Can you show me the Python command you run to communicate with the device
-
wdym? I run aioswitcher
with only the above code changed:
BREEZE_COMMAND_PACKET
changedpacket = set_message_length(packet)
(since it's probably embedded in the command I send already?)You can see it here: https://github.com/ayal/switcher-hack/blob/main/src/aioswitcher/api/packets.py#L76 https://github.com/ayal/switcher-hack/blob/main/src/aioswitcher/api/__init__.py#L673 https://github.com/ayal/switcher-hack/blob/main/src/aioswitcher/api/__init__.py#L685
The rest of the commands flow seem to work fine (i.e login, discovery)
Would love to help get this fixed
Hi @YogevBokobza thanks for looking into it
For context - my Switcer is a brand new switcher
Application version is
2.53
On the device screen it saysSwitcher Breeze_8C01
on the top (as mentioned above), is this the firmware version? Is there another version number listed anywhere?Regarding
Can you show me the Python command you run to communicate with the device
- wdym? I runaioswitcher
with only the above code changed:
BREEZE_COMMAND_PACKET
changed- removed
packet = set_message_length(packet)
(since it's probably embedded in the command I send already?)You can see it here: https://github.com/ayal/switcher-hack/blob/main/src/aioswitcher/api/packets.py#L76 https://github.com/ayal/switcher-hack/blob/main/src/aioswitcher/api/__init__.py#L673 https://github.com/ayal/switcher-hack/blob/main/src/aioswitcher/api/__init__.py#L685
The rest of the commands flow seem to work fine (i.e login, discovery)
Would love to help get this fixed
Go to the Switcher App then Settings and then Firmware settings and let me know your Breeze firmware version.
How did you call the Python scripts/control_device.py? which parameters?
I am using Switcher app on the iPhone and can't find such settings option, this is what my app settings page looks like:
Can I run something in code to find it? Is it passed somehow in the discovery payload?
From the command line I used:
python scripts/control_device.py control_thermostat -v -d DEVICE_ID -i "10.100.x.x" -r REMOTE_ID -s on -l DEVICE_KEY -m cool -f low -t 25
Would it help if I actually wrote the values for IP, DEVICE_ID, REMOTE_ID etc..?
From code I am calling control_breeze_device
like this:
remote_manager = SwitcherBreezeRemoteManager()
await control_breeze_x(IP, MY_IP, DEVICE_ID, DEVICE_KEY, remote_manager, REMOTE_ID)
...
await api.control_breeze_device(
remote,
new_state,
ThermostatMode.COOL,
turn_on_temp,
fan_level,
ThermostatSwing.OFF,
)
I am using Switcher app on the iPhone and can't find such settings option, this is what my app settings page looks like:
Can I run something in code to find it? Is it passed somehow in the discovery payload?
From the command line I used:
python scripts/control_device.py control_thermostat -v -d DEVICE_ID -i "10.100.x.x" -r REMOTE_ID -s on -l DEVICE_KEY -m cool -f low -t 25
Would it help if I actually wrote the values for IP, DEVICE_ID, REMOTE_ID etc..?
From code I am calling
control_breeze_device
like this:remote_manager = SwitcherBreezeRemoteManager() await control_breeze_x(IP, MY_IP, DEVICE_ID, DEVICE_KEY, remote_manager, REMOTE_ID) ... await api.control_breeze_device( remote, new_state, ThermostatMode.COOL, turn_on_temp, fan_level, ThermostatSwing.OFF, )
By the picture, those are not the device firmware.. I don't know where it is in iPhone.. You can't by the code..
Try to look for devices and there should be a firmware version per device.
I am using Switcher app on the iPhone and can't find such settings option, this is what my app settings page looks like:
Can I run something in code to find it? Is it passed somehow in the discovery payload?
From the command line I used:
python scripts/control_device.py control_thermostat -v -d DEVICE_ID -i "10.100.x.x" -r REMOTE_ID -s on -l DEVICE_KEY -m cool -f low -t 25
Would it help if I actually wrote the values for IP, DEVICE_ID, REMOTE_ID etc..?
From code I am calling
control_breeze_device
like this:remote_manager = SwitcherBreezeRemoteManager() await control_breeze_x(IP, MY_IP, DEVICE_ID, DEVICE_KEY, remote_manager, REMOTE_ID) ... await api.control_breeze_device( remote, new_state, ThermostatMode.COOL, turn_on_temp, fan_level, ThermostatSwing.OFF, )
I ran the same command as you plus adding -c "Switcher Breeze"
as needed after the recent code update and it worked for me.
I got a response immediately and the AC turned on.
Please take a look at the device version and let me know.
I have more questions:
found the firmware version on the device-settings it's 2.20
it also says Latest version
Installed the new aioswitcher version, and used:
python scripts/control_device.py control_thermostat -c "Switcher Breeze" -d DEVICE_ID -i "10.100.102.44" -r REMOTE_ID -m cool -f low -t 24
still doesn't work,
patched the code with my patch (i.e new BREEZE_COMMAND_PACKET
and not setting length) and it immediately works
To your questions:
What happened?
Switcher Breeze_8C01
Sending a control command is stuck on reading response
Hacky fix
After sniffing a bit with wireshark, I changed the code to this and it worked:
but I had to remove
packet = set_message_length(packet)
and couldn't figure out how to set it correctly, so this is not yet a real bug-fix and PR readyModule Version
3.4.4.dev
Device Type
Switcher Breeze
Firmware Version
2.20
Relevant log output
No response