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

Failure To Report State #309

Open
OspreyBoat opened this issue Jan 28, 2024 · 6 comments
Open

Failure To Report State #309

OspreyBoat opened this issue Jan 28, 2024 · 6 comments

Comments

@OspreyBoat
Copy link

Good day all!
Running Platform Insteon 0.5.11 on a Hoobs HSLF-2. Insteon is using a Hub 2 with the bin version Hub2-V04-20140904. Using Apple Home to manage the system. I also have other devices such as Resideo on the Apple Home system.

The state of the Insteon devices are not being reported correctly on the Apple Home. Completely wrong. They are all controllable however and once they are controlled from Home, they report correctly. However, all my schedules run on the Hub which is the way I want it to be. Hoobs is not robust enough to control any schedules (you can ask me why if you want).

I don't know if Hub 2 operates differently with the existing bridge which has last been updated Sep 2023. Insteon has gotten its act together and may have changed something in its most recent updates. In fact, they recommend I run a EISY to tie the home together.

Thank you for your help. I know this is a labor of love for the developers.

@kuestess
Copy link
Owner

@OspreyBoat There are a couple things that the plugin does to get state - on startup, it polls all of the defined devices and sets their state. From there, the event listener watches for Insteon traffic related to device state and updates accordingly. Do you see that initial polling when you start the plugin and events in the log related to state changes? Can you run homebridge in debug mode homebridge -D and post the output when the plugin is started?

@OspreyBoat
Copy link
Author

Kuestess,
Do you see that initial polling when you start the plugin and events in the log related to state changes? :

Yes, the log records the state on startup. The log also records the state change when I make the change from the Apple interface (say my watch). However, the log does not record any change in state when the device, say a lamp, is changed from the Insteon Director manually or from the Hub scheduler. Therefore, when the Hub schedule runs, say at sunset, and turns on lights, there is no event log and therefore the Apple Home app does not record the light as being on even though the light is on. Its state is not unknown. It is just off, as an example.

Can you run homebridge in debug mode homebridge -D and post the output when the plugin is started?

I don't know how to do that. However, when I start the bridge I can watch the log recording state of the devices.

@OspreyBoat
Copy link
Author

As an additional follow up (more testing) for the bridge awareness:

  1. when controlling a device from the local switch, the event is captured (see below)
  2. when controlling the device from the "Director", the event is not captured
  3. when controlling the device from the old Insteon app, the event is not captured
  4. and as said before, when the device is commended by a scheduled scene, the event is not captured.

1/30/2024, 10:28:54 AMPlatform Insteonlocal BridgeInsteonLocalGot on event for Courtyard Lights
1/30/2024, 10:28:54 AMPlatform Insteonlocal BridgeInsteonLocalGot on event for Courtyard Lights

@kuestess
Copy link
Owner

kuestess commented Feb 9, 2024

@OspreyBoat Is what you describe above repeatable, ie it captures the commands from a local operation? Scenes are a bit of a crapshoot just due to the way the Insteon protocol works. One way to deal with that is to define groupMembers in your config file for your scenes (see the readme). The plugin will check the status of those devices automatically after you turn a scene on or off.

@sabresoftware2021
Copy link

I too find similar issues. Eventually HomeKit will show the correct status, but it can take a while. I also sometimes get dimmer switches showing as on at some partial percentage, even though they have not been activated.

I find that Director sometimes also lags compared to the older Insteon app, so suspect that Insteon hub updating is the issue. I have been working with Insteon to see if we can determine what is going on. Actually I owe them a reply to one of their messages, but have just been too busy.

I also find that if I control via HomeBridge, the leds on one of the Insteon switches in a 3-way circuit doesn’t update properly i.e. one switch shows as still being on when the light has actually been turned off.

@kuestess
Copy link
Owner

@sabresoftware2021 My guess would be that the partially dimmed state has to do with timing - ie, status was reported as the device was turning off and with no other activity it reports the last known state. You can add the refresh key to your config, either at the device or platform level and the plugin will poll for status on whatever frequency you specify. I am trying to minimize Insteon traffic with the plugin, so it doesn't do this bye default but it is available if you want. For the issue with the 3-way switch, I would recommend setting it up as a scene and using the groupMembers functionality. When you turn the scene on/off, it will poll the device IDs that you specify as group members for status. The eventListener function that I use to monitor status is tacky at best, so it doesn't always catch everything. The refresh/groupMembers capabilities are meant to improve status indication where some messages may be missed.

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

3 participants