I bought a Breville “BodyZone Connect” Wi-Fi-enabled electric blanket thinking it would almost certainly use a technology with an existing Home Assistant integration—but I might be wrong. I thought it might be Home Connect, but after going through all of the configuration steps for that, I don’t seem to be any closer.
Does anyone recognise this app? Any ideas for how I might determine the underlying technology?
The hardware controller itself:
only connects to 2.4GHz Wi-Fi.
goes into “connection mode” by holding its ENTER button down for eight (8) seconds.
makes one (1) single DNS query to a29ik4352bkxp2.iot.ap-southeast-2.amazonaws.com, which has four (4) open TCP ports: 443, 8192, 8443, and 8883.
doesn’t seem to have any open ports of its own.
seems to try to send some sort of encrypted traffic to the 8883 port—but I don’t know how to investigate beyond that.
The app:
hits a29ik4352bkxp2-ats.iot.ap-southeast-2.amazonaws.com, which has the same TCP ports open.
The “Plus” version of the product is what connects using Home Connect (and this seems to be literally the only difference between the two products, other than cost and availability)
My “non-Plus” version appears to be using AWS IoT, which probably won’t ever be integrable.
My options, in order of decreasing effort, seem to be:
Crack the controller open and see whether it might be flashable (I have zero knowledge of these things)
Try reverse-engineering the traffic, and with the help of a local DNS server, reroute the traffic to some local, custom-written web server
See if the manufacturer is willing to swap the controllers over for the “Plus” controllers (which from all available images seem to have the exact same connector to the blanket)
Give this one away and purchase the “Plus” version
Deal with the awful included phone app exclusively
Have no automation.
If anyone comes across this thread in future and thinks that together we might be able to get this non-Plus blanket (with its BodyZone Connect app) working with Home Assistant, please, absolutely reach out.
It is a white labelled Tuya device which HA will identify.
The Tuya integration however does not support the electric blanket - and so whilst I have the integration installed, I have 2 devices with no entities.
I have this issue also. I bought mine around May 2023, connected it with no guidance supplied. It worked okay until earlier this year when I had to upgrade my ISPs router due to dropouts, and have not been able to connect the Bodyzone since. It has driven me crazy. I went through their support who had no idea, and gave up so easily that they gave me a code to be able to return it to Harvey Norman, which I did not do, because i need this feature, and there doesnt seem to be any other brand with working app. After seeing your post, Im tempted to get back in touch with Breville support and get a new code to return it, so i can try to get the Plus.
I ended up donating the non-Plus blanket away and purchasing the Plus version.
The Plus version paired up nicely in the Tuya Smart app on my phone.
I was then able to add the device in Home Assistant via the Local Tuya integration (I had previously gone through all the necessary hoops to pair my Tuya cloud account with a developer account so that I could obtain keys, etc.—the inbuilt Tuya integration would probably also work).
Through some trial and error I worked out all the different data points:
DP 1: power. Set up as a switch.
DP 4: “edit mode”, for lack of a better term. I’ve set this up as a select with entries Level1;Level2;None and “user-friendly” options Top;Bottom;None purely for completeness, but it doesn’t seem to be necessary. It changes to:
Level1 when pressing the HEAT button on the controller and the chest flashes
Level2 when pressing the HEAT button on the controller and the legs flash
None when the TIMER button is pressed and the hour digit flashes.
DP 7: whether or not the controller has detected an error condition. Set up as a binary_sensor with 0 meaning OFF and 1 meaning ON. I chose problem as the sensor class. Turns ON if the controller is disconnected from the blanket, for example.
DP 14: top zone heat. Set up as a select with entries level_1;level_2;level_3;level_4;level_5;level_6;level_7 and user-friendly options 0;1;2;3;4;5;6 to match what is shown on the controller.
DP 15: bottom zone heat. As above.
DP 16: timer. Set up as a select with entries cancel;1h;2h;3h;4h;5h;6h;7h;8h;9h and user-friendly options 0;1;2;3;4;5;6;7;8;9. When set in HA to 1–9, is equivalent to setting 1–9 on the controller. When the hour lapses, the controller display decrements but the value in HA does not. If set to 0/cancel via HA, 0 shows on the controller and the heat settings seem to apply indefinitely.
I’m looking forward to combining all of these entities into a sensible button-card layout in due course. I’d be happy to share my end result here if there’s any interest.
I harassed Breville for support, who has no idea what to try so they gave me a return code, and I returned it to Harvey Norman for full refund after a year.
I used the money to get the Goldair Bamboo WiFi blanket. It had the same issue. I googled more and found this on YouTube;
I turned off the 5g band and brought the elec blanket to my desk and plugged it in, connected it to 2.4g, took it back to bedroom and plugged it in. It worked. Only I think it was right on the edge of the Max distance, because I dragged the router a little closer and it seems connected and working.
At least we all got there in the end. And I made $90 back