Closed Anashost closed 8 months ago
You can try to get the response as described in the readme
Thanks @kongo09 for this wonderful integration,
Here's the json responses, hope it helps to bring this device to Home Assistant.
Would appreciate even if i can only turn it off/on from HA, as that would be so useful for automations.
Notes:
The heater has a built-in temperature sensor, but its not accurate at all (way off), so no need to integrate it in my opinion.
when mode is set to auto
theres an option to set target temperature, but again the built-in temperature sensor is not usable.
Turn on
(while last mode was low
)
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 7638723,
"rssi": -41,
"wifilog": false,
"free_memory": 59048,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 1,
"D03105": 100,
"D03106": 0,
"D0310A": 3,
"D0310C": 66,
"D0310D": 1,
"D0310E": 37,
"D0320F": 17920,
"D03110": 0,
"D03224": 220,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Mode to high
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 7762027,
"rssi": -42,
"wifilog": false,
"free_memory": 59104,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 1,
"D03105": 100,
"D03106": 0,
"D0310A": 3,
"D0310C": 65,
"D0310D": 1,
"D0310E": 37,
"D0320F": 17920,
"D03110": 0,
"D03224": 220,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Mode to auto
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 7823798,
"rssi": -41,
"wifilog": false,
"free_memory": 58664,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 1,
"D03105": 100,
"D03106": 0,
"D0310A": 3,
"D0310C": 0,
"D0310D": 1,
"D0310E": 26,
"D0320F": 17920,
"D03110": 0,
"D03224": 220,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Mode to ventilation
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 7885606,
"rssi": -40,
"wifilog": false,
"free_memory": 58688,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 1,
"D03105": 100,
"D03106": 0,
"D0310A": 1,
"D0310C": -127,
"D0310D": 1,
"D0310E": 37,
"D0320F": 17920,
"D03110": 0,
"D03224": 220,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Turn off swing
and lights
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 7966935,
"rssi": -36,
"wifilog": false,
"free_memory": 58640,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 1,
"D03105": 0,
"D03106": 0,
"D0310A": 1,
"D0310C": -127,
"D0310D": 1,
"D0310E": 37,
"D0320F": 0,
"D03110": 0,
"D03224": 220,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Turn off
(it turns off after 15 seconds)
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 8109898,
"rssi": -36,
"wifilog": false,
"free_memory": 58688,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 0,
"D03105": 0,
"D03106": 0,
"D0310A": 1,
"D0310C": -127,
"D0310D": 1,
"D0310E": 37,
"D0320F": 0,
"D03110": 0,
"D03224": 210,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
(logs after 15 seconds ends)
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 8151992,
"rssi": -36,
"wifilog": false,
"free_memory": 58640,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 0,
"D03105": 0,
"D03106": 0,
"D0310A": 1,
"D0310C": -127,
"D0310D": 1,
"D0310E": 37,
"D0320F": 0,
"D03110": 0,
"D03224": 210,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Turn off with timer set to 0
Note: timer can be set to:
[0,1,2,3,4,5,6,7,8,9,10,11,12] hours
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 8049266,
"rssi": -36,
"wifilog": false,
"free_memory": 57104,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "control",
"ConnectType": "Online",
"D03102": 1,
"D03105": 0,
"D03106": 0,
"D0310A": 1,
"D0310C": -127,
"D0310D": 1,
"D0310E": 37,
"D0320F": 0,
"D03110": 0,
"D03224": 220,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Extra logs:
Turn on
(while last mode was ventilation
)
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 8212654,
"rssi": -36,
"wifilog": false,
"free_memory": 58640,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 1,
"D03105": 0,
"D03106": 0,
"D0310A": 1,
"D0310C": -127,
"D0310D": 1,
"D0310E": 37,
"D0320F": 0,
"D03110": 0,
"D03224": 220,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Turn off (while current mode is low
)
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 8274399,
"rssi": -36,
"wifilog": false,
"free_memory": 58640,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 0,
"D03105": 0,
"D03106": 0,
"D0310A": 3,
"D0310C": 66,
"D0310D": 1,
"D0310E": 37,
"D0320F": 0,
"D03110": 0,
"D03224": 210,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Turn on
(while last mode was low
)
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 8356758,
"rssi": -36,
"wifilog": false,
"free_memory": 58640,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 1,
"D03105": 0,
"D03106": 0,
"D0310A": 3,
"D0310C": 66,
"D0310D": 1,
"D0310E": 37,
"D0320F": 0,
"D03110": 0,
"D03224": 210,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Turn off
(while current mode is low
)
{
"D01102": 6,
"D01S03": "Living room",
"D01S04": "Apollo",
"D01S05": "CX5120/11",
"D01107": 0,
"D01108": 3,
"D01109": 3,
"D0110A": 0,
"D0110B": 1,
"D0110C": 33,
"D0110F": 3,
"D01S12": "0.2.9",
"D01213": 0,
"ProductId": "b41d6ad4d91911edb6720217247a73aa",
"DeviceId": "f3a432c587cd11ee99be5171da9d1490",
"MCUBoot": true,
"Runtime": 8437971,
"rssi": -36,
"wifilog": false,
"free_memory": 58184,
"WifiVersion": "AWS_Philips_AIR@84",
"StatusType": "status",
"ConnectType": "Online",
"D03102": 0,
"D03105": 0,
"D03106": 0,
"D0310A": 3,
"D0310C": 66,
"D0310D": 1,
"D0310E": 37,
"D0320F": 0,
"D03110": 0,
"D03224": 210,
"D03130": 100,
"D03240": 0,
"D03180": 0,
"D03182": 2
}
Oh wow, impressive, thanks.
Now I only need some time...
Take your time mate.
great !
Would love wenn the Model will be supported <3
The codes seem similar to #63
Yeah, maybe less complicated as it's a space heater and there's no much going on. I would be glad to test some beta's and provide data you need, take your time.
I'll work on the AMF765 first as that is better documented. But as the codes look similar, I'll try to keep an eye on this and do some simple stuff that is the same between both models. I'll let you know when there is something to try.
I've done a first beta: v0.17-amfcx-beta.1
It can't do much but it should talk to the device, allow you to switch it on and off and also make the lights available. The device entity should also have some few attributes.
Can you please test and let me know if that works?
I've just tried the beta, couldn't add the device & got some errors:
Home Assistant Logs:
Edit: Error 1
seems to only occur if the Air+ app is open or running in the background.
Please make sure debug logging is enabled and try: v0.17-amfcx-beta.2
Edit: I restarted home assistant, now i see the device added but no entities.
Also time out error in v0.17-amfcx-beta.2
Logs:
Ok, there are two flows, one with dhcp based autodiscovery. It often fails so I didn't put the new models into this. I've fixed that now in v0.17-amfcx-beta.3 So please try again.
The manual flow was where I had the first code pieces. It looks like something is happening, but we're not quite there yet. Will look into beta 4 later. @Stoffiiii Please share debug logs.
oh sorry :-) here the log:
Still no entities in v0.17-amfcx-beta.3
Ok, great, it's establishing a connecting and getting some data. I'll look into this further.
v0.17-amfcx-beta.4
v0.17-amfcx-beta.4
edited:
Nice some entities appears:
on & off
doesn't change until i do a reload. (The state not changing causes the device to not respond if for example: the device was actually off but the state still shows as on)
- the state of the device on & off doesn't change until i do a reload.
- reload takes long time.
the reload doesn't seems to end successfully or finish until i interact with the device physically or via the Air+ app.
Just that I understand, if the device is on and you switch it off manually on the device, this doesn't show in home assistant until you reload the integration?
I need to do some more testing to make sure I'm describing the behavior correctly. But I'm sure the state changing is kinda laggy where it:
The thing that i noticed with reload that it takes very long time, but during reloading if i interact with the device physically (click a button) or via the Air+ app, then reloading finishes right away and state changes.
As of now i was looking into the json responses and noticed things that might help with the integration, i hope im correct with those:
Modes:
"D0310C": 66 low
"D0310C": 65 high
"D0310C": 0 auto
"D0310C": -127 ventilation
Temperature: "D03224": 220 current temperature 22 C°
Here's a screenshot from the Air+ app, might help with understanding the device functionalities.
But really a stable on/off behavior would be enough for me personally and is much appreciated <3
Thanks. Unfortunately, most Philips devices are not very stable via that encrypted CoAP connection. Some randomly stop responding at all. Most take long to respond especially during loading of the integration but so far nobody has figured out why that is. It feels like Philips is not putting much effort into that, as the app works via a cloud connection.
The next iteration will try to make the light dimmable. Please check if that works for your device.
I'll add the temperature sensor next, let's see how that goes. Which value is for the target temperature and what range is acceptable there?
Next beta v5 is out
Thanks. Unfortunately, most Philips devices are not very stable via that encrypted CoAP connection. Some randomly stop responding at all. Most take long to respond especially during loading of the integration but so far nobody has figured out why that is. It feels like Philips is not putting much effort into that, as the app works via a cloud connection
Thats unfortunate, but i hope the device would work more than it fails lol.
The next iteration will try to make the light dimmable. Please check if that works for your device.
The display Backlight
is always grayed out and not clickable.
Which value is for the target temperature and what range is acceptable there?
This option works in Auto mode
only otherwise its grayed out
Rang is between 1 --> 37
v0.17-amfcx-beta.6 & v0.17-amfcx-beta.7
Integration failed to start
The display Backlight is always grayed out and not clickable.
I've tried something new now, can you please check if it works for the light and if it is dimmable?
I also added some more stuff and the errors should be gone from the log. Let me know how it goes.
testing: v0.17-amfcx-beta.8
Nice, almost everything seems good and stable,
The broken temp sensor should now be gone (and turned into an actual speed sensor). Please check.
Testing: v0.17-amfcx-beta.11
The broken temp sensor should now be gone (and turned into an actual speed sensor)
It's gone but: This model doesn't have a speed sensor or change speed functionality. It does have a swing on/off. But as i mentioned earlier it still doesn't turn on, can only be turned off if it's already on. (I do hear a peep sound but nothing happens and the toggle flips back to on)
There's no related logs in Home assistant settings.
But here's the DEBUG logs.
Change in speed has not been implemented yet, that's still on the list. I try to take it one by one.
This device might not have a speed sensor (unlike the AMF device - or would you know which of the above values reflects a speed sensor that's changing with the fan when it is in auto mode?
Not sure i get what you mean. Is it possible to just remove fan speed for this model, as it's not supported.
I don't use the auto mode at all, because the built-in temperature of this heater becomes way off after running it for some time (like every Heater or TRV out there i guess).
Not sure what fan speed you're asking me to remove. Where do you see that?
Here's a screenshot:
Ah, sorry, now I understand. So this device does not have any fan at all?
The modes above are heat or what are they?
I should've explained more about the device. So This device is a space heater, it heats with a ceramic coils behind a fan. The modes are:
Other features:
So far with v0.17-amfcx-beta.11
, i can:
Thanks, that helps. It's a bit abstract without having the device...
So this does have a fan which is always on, with or without heating? But it only goes at single speed?
Yes exactly. The fan turns on when the device turns on, and has one speed on all modes.
- swing works partially (only tuning off works)
This is tricky. I've checked your data above and it matches the code. When Swing is on, your data for D0320F
shows a value of 17920
. Can you observe any other data field changing when you switch the Swing on?
v0.17-amfcx-beta.12
Have you identified, which one of the data fields is the target temperature that can be set on the display? Could that be D0310E
?
When Swing is on, your data for D0320F shows a value of 17920
You're right, i don't see any other changes.
Have you identified, which one of the data fields is the target temperature that can be set on the display? Could that be
D0310E
?
Yes, i think so, here's a json response:
Not that the option for setting a target temperature only available in auto mode
.
Extra:
Toggle beep sound
"D03130": 100
= on
"D03130": 0
= off
What about D03110
? Is that the timer? It's zero in all your data, but it's a timer in other models.
Let me test it, i will set a timer and see the values.
What about D03110? Is that the timer? It's zero in all your data, but it's a timer in other models.
Yes,
Timer set to 3 hours D03110: 4
Timer set to 5 hours D03110: 6
So there is no value 1 ?
So there is no value 1 ?
I don't think so, those philips devs are so weird.
1 hour would be D03110: 2
Hey, There's this new affordable space heater from Philips:
Philips 5000 Serie - CX5120/11
It connects to WiFi and usesPhilips Air+
app just like the supported devices in this repo.It has functions like:
So is there a chance to add support for it, if i provide the needed logs and info you ask for. Would appreciate that.
Link to product: https://amzn.eu/d/6H4bPyD
Image of product: