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

Feature Request: Dry Mode without full AC #89

Closed
rcoletti116 opened this issue Sep 2, 2022 · 7 comments · Fixed by #112
Closed

Feature Request: Dry Mode without full AC #89

rcoletti116 opened this issue Sep 2, 2022 · 7 comments · Fixed by #112
Assignees
Labels
enhancement New feature or request

Comments

@rcoletti116
Copy link

I have a homekit enabled Sensibo Air. I would like to be able to leverage the plugin to use Dry Mode without having to duplicate the rest of the AC. Would you consider adding the separate functionality to have only the extra features available, without the need of the AC to be enabled in Homebridge?

@benwebbbenwebb benwebbbenwebb added the enhancement New feature or request label Dec 25, 2022
@benwebbbenwebb
Copy link
Collaborator

Hi @rcoletti116

I might need you to explain this again as I'm not sure I fully understand...

Also, are you aware that you can "split" the air con and dry modes to separate tiles within the Home app? Once you've done that I think you may be able to "hide" some of the tiles from certain views.

This may be completely the wrong track, so do please let me know what you're after if so.

@rcoletti116
Copy link
Author

Thanks. Yes I'm aware they can be separated out into different tiles and this is how I use it today. Since my Sensibo Air supports HomeKit natively the thermostat functionality is duplicated. Almost everything else in the plugin can be disabled/hidden using the plugin settings based on feature, except the main thermostat. Essentially I'd like to have only the thermostat from the native HomeKit Integration, but also use the plugin for the features not natively exposed (particularly Dry Mode). It may sound counterintuitive, but just something I'd like to see to simplify things. Totally understand if it is not something most people would use and therefore not worth the time...

@00JohnD
Copy link

00JohnD commented Jan 17, 2023

So you're saying that the HomeKit Sensibo doesn't have a dehumidifier mode in the home app?

@rcoletti116
Copy link
Author

So you're saying that the HomeKit Sensibo doesn't have a dehumidifier mode in the home app?

That is correct.

@benwebbbenwebb
Copy link
Collaborator

Hi @rcoletti116

In the latest alpha version that I released today I've included a new modesToExclude setting. This should allow users to hide selected modes. I guess in your scenario that would be all modes except Dry. Though being honest I didn't test removing everything except Dry...

To try it out, first upgrade to the alpha by clicking the wrench icon on this plugin in the Plugins tab of Homebridge and select 'Install Alternate Version'.

Once installed you can either use the built-in Homebridge plugin settings config menu: go to the Plugins tab again and then click 'Settings' on this plugin, then scroll to the bottom OR add the modesToExclude manually in the Config.json

Example:
"modesToExclude": ["MODE_TO_HIDE","ANOTHER_MODE_TO_HIDE"]

Valid values are: AUTO, COOL, DRY, FAN or HEAT. Select all that you want removed.

Note due to Apple Home app caching you will probably need to remove the AC unit from the Homebridge cache for the modes to disappear. Details on how to do this here: https://github.com/nitaybz/homebridge-sensibo-ac/blob/development/README.md#troubleshooting-and-debug

Will be great to get your feedback on this and if it ends up working for you.

@rcoletti116
Copy link
Author

This works and excluding all but Dry leaves only the dehumidifier accessory. I'm testing actual usage though and seeing some inconsistencies. Turning on & off Dry Mode works well.

However, there appears to be an issue with the Swing function. When you turn on the swing/oscillation switch (that is a part of the Dehumdifier accessory) it updates successfully, but then on the next GET it turns off in HomeKit, while the swing setting remains unchanged in the Sensibo app.

Here are the logs with swing being enabled.

[06/04/2023, 11:18:53] [homebridge-sensibo-ac] rob's device AC -> Setting Mode to: DRY
[06/04/2023, 11:18:54] [homebridge-sensibo-ac] sensiboFormattedState: {
    "active": true,
    "mode": "DRY",
    "targetTemperature": 25,
    "currentTemperature": 23.5,
    "relativeHumidity": 64.8,
    "smartMode": false,
    "light": false,
    "pureBoost": null,
    "filterChange": "CHANGE_FILTER",
    "filterLifeLevel": 0,
    "verticalSwing": "SWING_ENABLED"
}
[06/04/2023, 11:18:54] [homebridge-sensibo-ac] Device: rob's device AC -> Setting New State: {
    "on": true,
    "mode": "dry",
    "temperatureUnit": "F",
    "targetTemperature": 77,
    "swing": "rangeFull",
    "light": "off"
}

Here is the next GET.

[06/04/2023, 11:19:33] [homebridge-sensibo-ac] [{"id":"3EVryaGX","temperatureUnit":"F","room":{"uid":"mqKKcWpC","name":"rob's device","icon":"Livingroom","pureBoostConfig":null},"acState":{"timestamp":{"time":"2023-04-06T15:19:33.104605Z","secondsAgo":0},"on":true,"mode":"dry","targetTemperature":77,"temperatureUnit":"F","nativeTargetTemperature":25,"nativeTemperatureUnit":"C","swing":"rangeFull","light":"off"},"location":{"occupancy":"n/a","name":"Default Home","id":"xxx"},"productModel":"skyplus","serial":"xxx","motionSensors":[],"filtersCleaning":{"acOnSecondsSinceLastFiltersClean":11188419,"filtersCleanSecondsThreshold":1080000,"lastFiltersCleanTime":{"time":"2022-09-02T16:14:08Z","secondsAgo":18659125},"shouldCleanFilters":true},"pureBoostConfig":null,"homekitSupported":true,"remoteCapabilities":{"modes":{"cool":{"temperatures":{"F":{"isNative":false,"values":[61,63,64,66,68,70,72,73,75,77,79,81,82,84,86]},"C":{"isNative":true,"values":[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]}},"fanLevels":["quiet","low","medium","high","auto","strong"],"swing":["stopped","rangeFull"],"light":["on","off"]},"heat":{"temperatures":{"F":{"isNative":false,"values":[61,63,64,66,68,70,72,73,75,77,79,81,82,84,86]},"C":{"isNative":true,"values":[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]}},"fanLevels":["quiet","low","medium","high","auto","strong"],"swing":["stopped","rangeFull"],"light":["on","off"]},"fan":{"temperatures":{"F":{"isNative":false,"values":[61,63,64,66,68,70,72,73,75,77,79,81,82,84,86]},"C":{"isNative":true,"values":[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]}},"fanLevels":["quiet","low","medium","high","auto","strong"],"swing":["stopped","rangeFull"],"light":["on","off"]},"dry":{"temperatures":{"F":{"isNative":false,"values":[61,63,64,66,68,70,72,73,75,77,79,81,82,84,86]},"C":{"isNative":true,"values":[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]}},"swing":["stopped","rangeFull"],"light":["on","off"]},"auto":{"temperatures":{"F":{"isNative":false,"values":[61,63,64,66,68,70,72,73,75,77,79,81,82,84,86]},"C":{"isNative":true,"values":[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]}},"fanLevels":["quiet","low","medium","high","auto","strong"],"swing":["stopped","rangeFull"],"light":["on","off"]}}},"smartMode":{"enabled":false,"type":"temperature","deviceUid":"3EVryaGX","lowTemperatureThreshold":25.555555555555557,"highTemperatureThreshold":27.77777777777778,"lowTemperatureState":{"on":false,"targetTemperature":66,"temperatureUnit":"F","mode":"heat","fanLevel":"auto","swing":"rangeFull","light":"off"},"highTemperatureState":{"on":true,"targetTemperature":79,"temperatureUnit":"F","mode":"cool","fanLevel":"auto",**"swing":"rangeFull"**,"light":"off"},"lowTemperatureWebhook":null,"highTemperatureWebhook":null,"sync_with_ac_power":false},"measurements":{"time":{"time":"2023-04-06T15:19:08.625000Z","secondsAgo":24},"temperature":23.6,"humidity":65,"feelsLike":23.6,"rssi":-41,"motion":false,"roomIsOccupied":null}}]
[06/04/2023, 11:19:33] [homebridge-sensibo-ac] rob's device AC - '65' equals '65' for characteristic CurrentRelativeHumidity on service DryService
[06/04/2023, 11:19:33] [homebridge-sensibo-ac] rob's device AC - '1' equals '1' for characteristic Active on service DryService
[06/04/2023, 11:19:33] [homebridge-sensibo-ac] rob's device AC - '3' equals '3' for characteristic CurrentHumidifierDehumidifierState on service DryService
[06/04/2023, 11:19:33] [homebridge-sensibo-ac] rob's device AC - **Setting '0' for characteristic SwingMode** on service DryService
[06/04/2023, 11:19:33] [homebridge-sensibo-ac] Device: 3EVryaGX, Model: skyplus, airConditionerIsNew: false

I rolled back the 'latest' release (v2.3.4) and confirmed this issue did not occur there.

Notice the GET shows both "swing":"rangeFull" and "swing":["stopped","rangeFull"] in two different places related to "Dry" settings. The logs then showsSetting '0' for characteristic SwingMode as the action, even though on my end the Sensibo app shows swing is ON and stays on.

@benwebbbenwebb benwebbbenwebb self-assigned this Apr 12, 2023
benwebbbenwebb added a commit that referenced this issue Apr 12, 2023
As reported in issue #89
Issue from commit 44c5b2c
@benwebbbenwebb
Copy link
Collaborator

Thanks @rcoletti116, I've found the issue and made a new alpha release to squash the bug: 2.4.0-alpha.4

Please update and let me know if any concerns!

benwebbbenwebb added a commit that referenced this issue Oct 26, 2023
Fixes issues:
- #63 - undefined fanSpeed
- #66 - &s in passwords
- #89 - vertical swing state

New features:
- AirQuality (VOC) + disable
- CO2 + disable
- Disable Humidity
- Swing changes, including disable VerticalSwing
- ModesToExclude

Other changes:
- README.md copy and style changes
- package.json version bumps
- Linting and code style changes, logging changes
- API error handling, token re-use
- New logic for max and mins to reduce warnings thrown to HB logs
- Started extracting common functionality out to Utils
@benwebbbenwebb benwebbbenwebb linked a pull request Oct 26, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants