-
-
Notifications
You must be signed in to change notification settings - Fork 632
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
Speaker and Microphone Service Events not Working #828
Comments
Will it never fire because HomeKit never write to the characteristics, or is the characteristic actually written to and the event is really not forwarded? |
How can I generate a DEBUG log? This is the first issue I've really come across with homebridge so I haven't worked much with debugging it. |
Are you using a platform plugin? Just noticed a probability where it is possible that the speaker and the microphone service are not correctly recreated and set up when a cached accessory is restored from disk.
https://github.com/homebridge/HAP-NodeJS/wiki/FAQ#debug-mode. When using config-ui the DEBUG environment variable can also be set in the settings page. But seems like I already identified the issue. |
I saw that too. That was the issue at first, but I've removed cache and set up the services again, both manually and by using the |
Yet the following does nothing:
|
Well the mentioned log does not perform a write request, thus no value actually changed. What is the unexpected behavior for this exact log output? |
Ok. It looks like the MUTE characteristic is never being set in the logs. I assume that, in turn, this is never called? |
Here is the full output:
|
The Mute characteristics defaults to false (I should have added a method to get the current mute state maybe 😅). I observed that HomeKit won't really interact with the mute or volume characteristics. Only if mute ist set to true and the stream expects an microphone input, HomeKit will send a request to set it to unmute (but it won't mute it again). |
The mute buttons in the video view are all completely client side and have no effect on the camera accessory. Even the volume slider will not be changed. This happens all locally on the iDevice. |
Ok. Understandable. It looked connected in the code, but that makes sense. Is there another hook I can use the know when return audio is being enabled/disabled? Currently, when I see data, I'm assuming enabled and after a timeout period, I'm assuming disabled. |
Well, when the stream starts audio is enabled, when the stream stops, audio is disabled. You can't detect if the user decides to mute or unmute the audio stream on their device. And least that are my observations over the last few years. |
Ok. I'll continue with how I have it. Thanks for looking into this. |
reopned as there is actually still an issue with the service no being properly referenced when recreating the controller form disk 😅 |
…ller is reconstructed from disk #828 Also properly add or remove mic/speaker service depending on the configuration change
Fixed in v0.7.4, mic and speaker services are now properly referenced when recreating from disk. Should the options of the CameraController change, both services are removed/recreated if necessary. I'm still undecided if methods like |
Describe The Bug:
I am the developer of homebridge-nest-cam. I am working on 2-way audio and need to be able to know when a user presses the microphone or speaker mute buttons. Currently, no events are triggered when the buttons are pressed.
To Reproduce:
twoWayAudio
flag which should automatically add microphone and speaker services to camera controller.Expected behavior:
The above hook should fire whenever the buttons are pressed.
Environment:
Docker
The text was updated successfully, but these errors were encountered: