mattmckenzy / homehook Goto Github PK
View Code? Open in Web Editor NEWSmall API to handle google assistant webhooks and reroute them to Home Assistant.
Small API to handle google assistant webhooks and reroute them to Home Assistant.
Hello! I have some issues with first-time setup of HomeHook and was hoping to get some advice. I couldn't find a less formal channel than a GitHub bug but please let me know if I should post somewhere else instead.
I'm running both HomeHook and HomeHook-App in Docker, and can access the app web UI either through my reverse proxy on https, or going to http://:8125. When the page loads, it shows my 3 Chromecast devices in a "Disconnected" state, which seems to be expected based on the readme.
However, I can't go any further as a generic "An error has occurred" message appears in the UI after entering a search term and clicking OK, with some more details in the logs. Trying different search terms, different target devices and different web browsers yields the same result.
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
Unhandled exception rendering component: An unexpected error occurred invoking 'LaunchQueue' on the server.
Microsoft.AspNetCore.SignalR.HubException: An unexpected error occurred invoking 'LaunchQueue' on the server.
at Microsoft.AspNetCore.SignalR.Client.HubConnection.InvokeCoreAsyncCore(String methodName, Type returnType, Object[] args, CancellationToken cancellationToken)
at Microsoft.AspNetCore.SignalR.Client.HubConnection.InvokeCoreAsync(String methodName, Type returnType, Object[] args, CancellationToken cancellationToken)
at HomehookApp.Components.Receiver.ReceiverBase.LaunchQueue(MouseEventArgs _) in /HomehookApp/Components/Receiver/ReceiverBase.cs:line 278
at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
Unhandled exception in circuit 'e7VN_UKoDP-SMcL-55KuXc3m87AEnPwOko3PVyaAPYw'.
Microsoft.AspNetCore.SignalR.HubException: An unexpected error occurred invoking 'LaunchQueue' on the server.
at Microsoft.AspNetCore.SignalR.Client.HubConnection.InvokeCoreAsyncCore(String methodName, Type returnType, Object[] args, CancellationToken cancellationToken)
at Microsoft.AspNetCore.SignalR.Client.HubConnection.InvokeCoreAsync(String methodName, Type returnType, Object[] args, CancellationToken cancellationToken)
at HomehookApp.Components.Receiver.ReceiverBase.LaunchQueue(MouseEventArgs _) in /HomehookApp/Components/Receiver/ReceiverBase.cs:line 278
at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)
I've also tried sending the POST directly, but encounter a auth error. I'm a little unclear where the API key required here is configured, but I guessed it's the same one as Services:HomehookApp:Token
, so I'm using the URL https://homehook.home.awkwardsex.party/Jelly/simple?apiKey=<Services:HomehookApp:Token>
. POSTing to this results in a 401 response with the body API key is not valid.
I'd guess the two issues above are related, but I'm not too sure. I'd appreciate any advice available to help get me past this :)
Also had a couple of side questions -
media_player
device in Home Assistant, rather than direct to Chromecast? i.e. the one exposed by koying/jellyfin_ha. In my setup it seems a lot more reliable to run video this way; Chromecast is a bit flaky even with wired ethernet.I'm seeing information about using this in Docker...
I do not run Docker here, but Think this looks useful.
Is there any way to run it straight up? (Under Linux would be preferred...)
Hi,
I need help to understand, install and config Homehook.
what I want to achieve is to ask Google Assistant to play some specific artist/song/playlist from a Jellyfin server and have the music start playng on that Google Home device.
I understand that with your code I can ask Google Assistant on one of my Google Home devices to play some specific artist/song/playlist from a Jellyfin server.
I also have a Home Assistant installation (accessible from internet on https with let's encrypt) with Google Assistant configured (in the manual way not the Nabu Casa solution), but I don't understand how Homehook interact with Google Assistant, Home Assistant and the Jellyfin Server on my use case scenario.
Do I need Home Assistant only if I want to make some "smart home" automation and is not needed for what I want to achieve?
I have no idea how to run a c+ program in Debian/RapsbianOS or how to run a c program as service.
Using systemd what do I have to use in at the line ExecStart =
? If I put the program folder in /opt
is somenthing like this: ExecStart = /bin/sh "/opt/Homehook/HomehookService/Startup.cs"
?
Do I have to link Homehook to my google account or it uses Home Assistant component for Google Asssitant?
is better to install Homehook on the same machine of the Jellyfin Server or in the same machine of Home Assistant?
as my primary language is not english/american what I have to change in the configuration to use a different language?
Thanks for your time and for the help.
Hi, I'm using Homehook since May 2021 and I'm satisfied how well it works, so thank you for work.
I was wondering if could be possible to add to Homehook the ability to transfer the stream between different "Google Cast"/"Google Home" devices.
And also if it can be exposed the same way Homehook expose play/pause/next/previous commands so I can automate devices switching using some kind of room presence detection in HomeAssistant.
At the moment the only way to move a stream from a device to another is to use the Google Home App on a smartphone. It works, but it needs to find the smartphone, unlock it, open the app, find the cast menu, ecc.. not a seamless experience.
Do you think could be possible to implement stream transfer?
Thanks
Hi,
I'm using Homehook to cast my music from jellyfin to my GoogleHome speakers.
In the web interface of Homehook is possible to change song to the next/previous.
It's also possible to tell google assistant to change to the next songs.
However I don't find a way to change to the next song using an Home-Assistant script (I'd like to use an Ikea zigbee remote to controll the music).
While playing media casted using homehook the entity "media_player.my_google_home_speaker" don't accept the service "media_player.media_next_track" or "media_player.media_previous_track".
- service: media_player.media_next_track
data_template:
entity_id: "media_player.my_google_home_speaker"
it seems like Homehook it's not advising HomeAssistant that there are other songs in the play list.
is there any workarround to call the next/previous song from HomeAssistant?
Thanks for your time
Trying to build this from source and noticed GoogleCast is a submodule, but no .gitmodules file exists so not sure where to pull it from.
git submodule init
fatal: No url found for submodule path 'GoogleCast' in .gitmodules
Is there another way to build this from source that I'm missing?
Hi! This looks like a very useful project, great work! I'm surprised there aren't more issues psoted or more contributors. Maybe it works perfectly?
I would like to give this a try, for the main purpose of being able to play jellyfin music directly to a google home speaker (without needing an interface, like on a tv screen or android phone). E.g. Say "play this song on my google speaker" and it will play it. I'm not very familiar with jellyfin though sorry.
Do you know if this is possible? Merci beaucoup!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.