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

Elgato Eve shows Inactive appliances as though they are in an error state #6

Closed
thoukydides opened this issue Jan 2, 2020 · 2 comments

Comments

@thoukydides
Copy link
Owner

When an appliance is idle, the Elgato Eve app presents it as though it is in an error state. On the summary screens it shows a red warning triangle with an exclamation mark, and on the detailed screens it shows the status icon in red with the message:

The accessory is inactive. Please refer to its user manual.

This is annoying. It appears to do this based on the Status Active characteristic being set to false (even if Active is INACTIVE and the Status Fault characteristic is NO_FAULT).

The HomeKit Accessory Protocol Specification describes Status Active as:

This characteristic describes an accessoryʼs current working status. A value of true indicates that the accessory is active and is functioning without any errors.

This plugin currently maps BSH.Common.Status.OperationState to HomeKit Characteristics as follows:

Operation State Active Status Active Status Error
Inactive INACTIVE false NO_FAULT
Ready INACTIVE false NO_FAULT
DelayedStart ACTIVE false NO_FAULT
Run ACTIVE true NO_FAULT
Pause ACTIVE false NO_FAULT
ActionRequired ACTIVE false NO_FAULT
Finished INACTIVE false NO_FAULT
Error ACTIVE false GENERAL_FAULT
Aborting ACTIVE false NO_FAULT

A different mapping may work better.

If this is changed, then it is probably also worth considering using the Active characteristic to control program pause/resume (or stop) for appliances with those capabilities. This plugin currently configures the Active characteristic as read-only, but this can be changed to read-write where appropriate.

This was originally raised by @DJay-X in issue #1.

@thoukydides
Copy link
Owner Author

Testing how the various HomeKit apps show different status characteristics...

Active Eve Home+
INACTIVE OFF Inactive
ACTIVE ON Active
Status Active Eve Home+
false Inactive: The accessory is inactive. Please refer to its user manual. No
true (not shown) Yes
Status Error Eve Home+
NO_FAULT (not shown) No Fault
GENERAL_FAULT Fault: The accessory reports fault code 1. Please refer to its user manual. General Fault
42 Fault: The accessory reports fault code 42. Please refer to its user manual. 42.0
Program Mode Eve Home+
NO_PROGRAM_SCHEDULED MANUAL Program not Scheduled
PROGRAM_SCHEDULED SCHEDULE Program Scheduled
PROGRAM_SCHEDULED_MANUAL_MODE_ OVERRIDE Manual Mode

Additionally, Eve shows the InUse characteristic as a water drop animation so that is not generally suitable.

Neither the Apple Home app nor Hesperus show any of these characteristics.

@thoukydides
Copy link
Owner Author

The mapping from BSH.Common.Status.OperationState to HomeKit Characteristics has been changed to:

Operation State Active Status Active Status Error
Inactive INACTIVE true NO_FAULT
Ready INACTIVE true NO_FAULT
DelayedStart ACTIVE true NO_FAULT
Run ACTIVE true NO_FAULT
Pause INACTIVE false NO_FAULT
ActionRequired INACTIVE false NO_FAULT
Finished INACTIVE true NO_FAULT
Error INACTIVE false GENERAL_FAULT
Aborting ACTIVE false NO_FAULT

This should work better with the Elgato Eve app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant