kongo09 / philips-airpurifier-coap

💨 Philips AirPurifier custom component for Home Assistant. Supports local CoAP protocol.
172 stars 27 forks source link

Support for ‎AC3737/10 #118

Closed dunimaniac closed 6 months ago

dunimaniac commented 8 months ago

Hello. Can u add the ‎AC3737/10 please?

How i create this Python Enviroment? Directly in Home Assistant or Somewhere else. So i can support with Data maybe.

kongo09 commented 8 months ago

You can install the Advanced SSH & Web Terminal add-on and get access to a Linux console through that. I would suggest you create a temporary directory and inside follow the guide to acquire the data.

szarlih commented 7 months ago

Hi. Also have this one so it would be great to have it in HA. BTW appreciate the work. So here's raw data, I hope you can work with it:

{
    "ConnectType": "Online",
    "D01102": 4,
    "D01107": 0,
    "D01108": 3,
    "D01109": 1,
    "D0110A": 0,
    "D0110B": 0,
    "D0110C": 3,
    "D0110F": 3,
    "D01213": 0,
    "D01S03": "MyDeviceName",
    "D01S04": "Carnation",
    "D01S05": "AC3737/10",
    "D01S12": "1.0.4",
    "D03102": 1,
    "D03103": 0,
    "D03105": 50,
    "D03106": 1,
    "D0310A": 2,
    "D0310B": 1,
    "D0310C": 0,
    "D0310D": 5,
    "D03120": 1,
    "D03125": 53,
    "D03128": 50,
    "D0312A": 1,
    "D0312B": 1,
    "D0312C": 0,
    "D03221": 1,
    "D03224": 224,
    "D03240": 0,
    "D05102": 3,
    "D05207": 720,
    "D0520D": 676,
    "D05212": 2400,
    "D05213": 1310,
    "D05408": 4800,
    "D0540E": 3168,
    "DeviceId": "5259f50e77f211eebee4411539ae9685",
    "free_memory": 48192,
    "MCUBoot": true,
    "ProductId": "32681542d91811eda99406d016384e4a",
    "rssi": -55,
    "Runtime": 280857616,
    "StatusType": "control",
    "wifilog": false,
    "WifiVersion": "AWS_Philips_AIR@80.2"
}
kongo09 commented 7 months ago

I've started to provide the basics, please try release v0.18.7-3737-v1

You should be able to

The device is a new type so you have to help me to get it fully supported. I need you to go through all the settings, one after the other, and record the data in the same way as above. That way, we can see which data field is for what.

Specifically, I need to understand

szarlih commented 7 months ago

I can also see temperature, humidity and WIFI signal

Created ad hoc board: image

I will record more data and add it soon.

kongo09 commented 7 months ago

Ok, great, that looks promising!

For screen shots, you can simply capture the device page of HA that places all the items into certain sections. Once you have the data, I'll look at the rest.

szarlih commented 7 months ago

ok. Few information about device settings:

I gathered data after different commands, check attachments

after_low_water.json speed_2.json speed_auto.json first.json light_dim.json speed_1.json speed_sleep.json speed_turbo.json humidity_40.json humidity_50.json humidity_60.json

let me know if any other configuration data needed.

kongo09 commented 7 months ago

Amazing, thanks, let's see how far I can get

kongo09 commented 7 months ago
  • dim the light - I can enable/disable backlight (screen), I can't see dim option

I checked the code - the light should already be dimmable. If you go to the device page and click on the entity, you should see a big range where you can set the brightness.

image

kongo09 commented 7 months ago

please try v0.18.7-3737-v1

I think two things are still missing

Your data didn't really help identifying these. Can you please do four more data dumps where nothing changes, but only

szarlih commented 7 months ago

Selection between humidifier and air purifier is strictly manual (you need to set water container on the device) but air+ app detects it. I will try to experiment with these 2 situations as you suggested.

kongo09 commented 7 months ago

So with the container on top, you cannot switch humidification off?

szarlih commented 7 months ago

No, you can't switch off humidifier or purifier. Without water container options for humidify are just not available and in app you can see status of it as off. With it you have all options and you can see device status as 2in1.

Light dimming works (little funny, because you have this slider but only 3 values works: 100, 50 and 0)

kongo09 commented 7 months ago

Ok, so we need to figure out which data field shows the container to be on top.

There is nothing on the HA side that limits the light dimming values, they can be 0 - 100. So what happens, if you set it to, say, 35? Nothing? Do I need to hardwire it to 0, 50, 100?

szarlih commented 7 months ago

I can set it, but value is still 100% until I go down to 50%. Then it's still 50% until 0. But that's ok it's the same how it works via air+

kongo09 commented 7 months ago

I'll leave it as is then. Do you have the extra data?

szarlih commented 7 months ago

Sorry for a delay, busy week. Files are time ordered, I hope name explains what is going on.

nocommand_purifier.json nocommand_watercontainer_added_nowater.json nocommand_purifier2.json nocommand_watercontainer_added_with_water.json

ovflowd commented 6 months ago

Hey there 👋 is there any update on this? Would love to get this model supported. Is there any way I may help?

kongo09 commented 6 months ago

apologies, just need to find time to analyze above data.

ovflowd commented 6 months ago

apologies, just need to find time to analyze above data.

No need to apologise at all 🙏

kongo09 commented 6 months ago

Sorry that this is so slow.

Quick question: what is the difference between nocommand_purifier.json and nocommand_purifier2.json?

In the data, I see that the field D03224 changes from 228 to 229 and the field D03125 changes from 55 to 56.

My interpretation is, that D03125 is the humidity sensor and the D03224 is temperature x10. Any reason why you provided both files? I just want to make sure I don't miss something.

kongo09 commented 6 months ago

D0310A seems to indicate that the container is on top, so it represents the function switch.

In a way that's consistent with other models where this field is used to switch a mode. However, here it is just a sensor as the switch, as you say, is only manual. So that requires a little bit of rework as I need to introduce a new sensor that is only a sensor for this specific model.

D0310D changes as well

This field in other models indicates a fan speed. I'll ignore this for now.

D0312A changes as well

This field in other models indicates the preferred index to show, like pm2.5 or IAI or humidity. Could it be the same here, that 6 indicates that the preferred index changes to humidity automatically when you put the container on top, and then reverts to pm2.5 when you take it off again?

D0312B changes as well

I have not seen this field being in use in any other model yet. Maybe you can play around with your preferred index settings and see if that has any effect on this field as well. If not, I'll just ignore it.

D03240 changes as well

This seems to be the only field indicating that the container is out of water. I think I have seen this field before but the integration doesn't properly make use if it yet. I think it is a generic error field. So I wonder if I can simply test against the number 49408 to find out if the container has run out of water, or if this changes if there is more than error, like the filter need to be cleaned as well.

In binary, the 49408 is 1100000100000000 and I would love to get another error code for when the filter needs cleaning / replacement AND the container is out of water, so we could compare the binary number to see if individual bits are set for different errors. Can you do that?

ovflowd commented 6 months ago

Yes, interestingly enough, the Purifier works differently when the top container is attached or not. Just if this extra sentence helps in any way

ovflowd commented 6 months ago

In binary, the 49408 is 1100000100000000 and I would love to get another error code for when the filter needs cleaning / replacement AND the container is out of water, so we could compare the binary number to see if individual bits are set for different errors. Can you do that?

I could also try to provide that. Whenever this happens, of course.

kongo09 commented 6 months ago

Ok, just checked with my own AC2729 which has a humidifier built-in as well. It also sets bit 9 when the tank is empty (of a different error field though), but it's probably fair to assume that bit 9 indicates the empty state.

ovflowd commented 6 months ago

Ok, just checked with my own AC2729 which has a humidifier built-in as well. It also sets bit 9 when the tank is empty (of a different error field though), but it's probably fair to assume that bit 9 indicates the empty state.

For what I've understood on this model it can operate without the Humidifier part. (You can completely detach the tank which is just sitting on top) and it will still run.

I also noticed that if I set the fan to max speed (i.e. turbo) but the humidifier is there, it won't go to that fan speed. Only if I detach the humidifier OR if the PM2.5 level goes poor (like air quality gets poor)

kongo09 commented 6 months ago

I've added two sensors now for water out error and to detect if humidification is active.

Please give: v0.18.7-3737-v3 a spin.

What else is missing?

ovflowd commented 6 months ago

What else is missing?

Not sure. Afaik for me with v2, things are working fine :) I'll upgrade the package to v3 and I'll report if things are working fine :)

kongo09 commented 6 months ago

Can I just check with everybody if all functionality works as expected, sensors are working and nothing is missing that you have in the Philips app? I'd like to release this.

ovflowd commented 6 months ago

Everything is working for me!

ovflowd commented 6 months ago

Thank you for making this, @kongo09 !!