Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for ‎AC3737/10 #118

Closed
dunimaniac opened this issue Jan 30, 2024 · 33 comments · Fixed by #128
Closed

Support for ‎AC3737/10 #118

dunimaniac opened this issue Jan 30, 2024 · 33 comments · Fixed by #128
Assignees
Labels
support model Support a new model

Comments

@dunimaniac
Copy link

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 kongo09 added the support model Support a new model label Jan 31, 2024
@kongo09
Copy link
Owner

kongo09 commented Jan 31, 2024

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
Copy link

szarlih commented Feb 13, 2024

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": "[email protected]"
}

@kongo09 kongo09 self-assigned this Feb 16, 2024
@kongo09
Copy link
Owner

kongo09 commented Feb 16, 2024

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

You should be able to

  • switch on/off
  • dim the light
  • activate child lock
  • see filter sensors (maybe not all?)
  • see sensors for IAI and pm2.5

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

  • the changing fields for the fan speed and presets
  • the field for the humidity sensor
  • the field for the target humidity setting
  • the field that indicates humidifier vs fan
  • the field for water level (if available)
  • anything else?

@szarlih
Copy link

szarlih commented Feb 17, 2024

  • switch on/off - works
  • dim the light - I can enable/disable backlight (screen), I can't see dim option
  • activate child lock - works
  • see filter sensors - all works
  • see sensors for IAI and pm2.5 - works

I can also see temperature, humidity and WIFI signal

Created ad hoc board:
image

I will record more data and add it soon.

@kongo09
Copy link
Owner

kongo09 commented Feb 17, 2024

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
Copy link

szarlih commented Feb 18, 2024

ok.
Few information about device settings:

  • Modes: 2in1, air filter
  • there is no water level indicator, only low level alarm
  • Fan modes: auto, speed 1, speed 2, sleep, turbo
  • Humidity modes: 40%, 50%, 60%, Max
  • light modes: off, on, dim
  • Notifications: error, filters, air quality level, low water level
  • Schedule: you can plan on and off time
  • Preferred indicator setting: IAI, PM2.5

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
Copy link
Owner

kongo09 commented Feb 18, 2024

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

@kongo09
Copy link
Owner

kongo09 commented Feb 18, 2024

  • 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
Copy link
Owner

kongo09 commented Feb 18, 2024

please try v0.18.7-3737-v1

I think two things are still missing

  • the function selection between humidifier and air purifier
  • the low water warning

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

  • water empty / water full
  • humidifier / air purifier selected

@szarlih
Copy link

szarlih commented Feb 19, 2024

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
Copy link
Owner

kongo09 commented Feb 19, 2024

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

@szarlih
Copy link

szarlih commented Feb 19, 2024

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
Copy link
Owner

kongo09 commented Feb 19, 2024

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
Copy link

szarlih commented Feb 19, 2024

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
Copy link
Owner

kongo09 commented Feb 19, 2024

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

@szarlih
Copy link

szarlih commented Feb 21, 2024

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
Copy link

ovflowd commented Mar 6, 2024

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

@kongo09
Copy link
Owner

kongo09 commented Mar 6, 2024

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

@ovflowd
Copy link

ovflowd commented Mar 6, 2024

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

No need to apologise at all 🙏

@kongo09
Copy link
Owner

kongo09 commented Mar 17, 2024

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
Copy link
Owner

kongo09 commented Mar 17, 2024

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

  • without container: 2
  • with container: 4

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

  • without container: 5
  • with container: 1

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

D0312A changes as well

  • without container: 1
  • with container: 6

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

  • without container: 1
  • with container: 6

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

  • without container: 0
  • with container and full water: 0
  • with container and no water: 49408

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
Copy link

ovflowd commented Mar 17, 2024

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
Copy link

ovflowd commented Mar 17, 2024

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
Copy link
Owner

kongo09 commented Mar 17, 2024

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
Copy link

ovflowd commented Mar 17, 2024

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
Copy link
Owner

kongo09 commented Mar 17, 2024

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
Copy link

ovflowd commented Mar 17, 2024

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
Copy link
Owner

kongo09 commented Mar 23, 2024

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
Copy link

ovflowd commented Mar 24, 2024

Everything is working for me!

@kongo09 kongo09 linked a pull request Mar 24, 2024 that will close this issue
@ovflowd
Copy link

ovflowd commented Mar 24, 2024

Thank you for making this, @kongo09 !!

@kongo09
Copy link
Owner

kongo09 commented Nov 21, 2024

I've started to experiment with the humidifier entity of home assistant, which might be useful for this device as well. It would be in addition to the fan entity you already use. For this to work, I need the correct sensor that signals that the humidifier is on with the tank on top. We never really concluded here, which field that is:

  • D0310A
  • D0310D
  • D0312A
  • D0312B

Can someone here please take another look? If we cannot conclude, I'll just pick one...

@kongo09 kongo09 reopened this Nov 21, 2024
@kongo09
Copy link
Owner

kongo09 commented Nov 21, 2024

You can track progress at #198

@kongo09
Copy link
Owner

kongo09 commented Nov 23, 2024

If introduced a new humidifier entity now. Please give v0.25.0 a spin and feel free to reopen this issue if it doesn't work.

@kongo09 kongo09 closed this as completed Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
support model Support a new model
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants