oogje / homebridge-i6-bigAssFans

A Homebridge plugin which allows you to control a Big Ass Fan.
MIT License
18 stars 3 forks source link

Permit changing of device icon in Homekit #27

Closed ed-ong closed 1 year ago

ed-ong commented 1 year ago

Is your feature request related to a problem? Please describe: The fan device icon appears as a standing desk fan in the Home app. The icon cannot be changed to the "ceiling fan" icon.

Describe the solution you'd like: Permit changing of the device icon in Homekit.

Additional context: In the Home app, smart switch icons can be changed to show the device it controls e.g. light, standing fan, ceiling fan, etc.

oogje commented 1 year ago

Hello,

On a Mac running macOS Mojave (10.14.5) I have the same experience as you have. But on a Mac running Ventura 13.1, or an iPhone with iOS 16.3 I am able to select a ceiling fan icon from a choice of three (standing, desk and ceiling).

What version of your device's operating system are you running.

ed-ong commented 1 year ago

Hello,

I am using an iPhone 13 Pro Max running iOS 16.3. My fan is a Haiku H/I Series. The issue is replicated on an iPhone X running iOS 16.2 and an iPad Air running iPadOS 16.3.

oogje commented 1 year ago

I don't know what's causing this issue. I'll ask around and do some experimentation.

Which version of the plugin are you using? Was the problem always present or did it show up only after a plugin update? Which version of Homebridge are you running?

Thanks.

oogje commented 1 year ago

Also, are you using a child bridge?

ed-ong commented 1 year ago

Homebridge version: v1.6.0 Plugin version: v0.5.3 This is the only version of the plugin I have used (first installed last week), so I am unable to tell if it's an issue that started after an update. I just tried setting the plugin as a child bridge, and unfortunately the problem persists.

Thanks!

oogje commented 1 year ago

Are you displaying the fan and possibly its lights and switches in HomeKit as a single tile or separate tiles? When I show mine as a single tile it appears to lock the icon.

ed-ong commented 1 year ago

My fan doesn’t have lights but setting “showTemperature” to False fixes the issue! Looks like exposing the temperature sensor to HomeKit locks the icon?

ed-ong commented 1 year ago

After changing the icon, re-enabling the temperature sensor locks the icon to the new icon.

oogje commented 1 year ago

That's good. It seems there's no concept of a separate tile for the sensor(s). But the locking behavior acts as if it's a single tile.

[edited to remove question about separate tiles]

oogje commented 1 year ago

PS - that was a great idea to disable the temperature sensor

oogje commented 1 year ago

Hello. I've looked into this and it seems the best way for me to deal with the issue would be for the plugin to treat the fan and all the switches and sensors as individual accessories. I imagine that could be done in a configurable way but to be frank, given there is a relatively easy workaround, I'm not keen to put in the effort.

ed-ong commented 1 year ago

I agree, maybe a brief note in the readme about the workaround might suffice

oogje commented 1 year ago

Sounds good. This is what I propose to add to the readme. Let me know if you have notes.

Other

If you find you cannot change the fan icon in Apple's Home app and you are showing your fan with its lights and/or switches as a single tile, then show it as separate tiles. That should unlock the icon so you can change it, then set it back to Show as Single Tile and the icon will be locked with your change in effect.

In some cases the Home app doesn't have the option to Show as Separate Tiles or Show as Single Tile in the Fan's settings, e.g. a Haiku H/I with no light and no optional switches being shown. In this case the work-around is to add "showTemperature": false to your config.json for the fan, restart, then change the icon, then remove the "showTemperature" line or change the setting to true, and restart.

ed-ong commented 1 year ago

Looks great!

oogje commented 1 year ago

Okey doke. The readme is updated now. Thanks for your help.