HiveMind Integration for Home Assistant
This is a manual install Home Assistant integration for connecting to an OpenVoiceOS instance via HiveMind
It allows Home Assistant to directly control and interact with a HiveMind device at a system level, not just sending voice commands, but also manipulating services like audio playback, volume, and system power.
Related Projects:
- hivemind-homeassistant (this integration) allows HiveMind to show up as a device in Home Assistant
- hivemind-player-protocol turn any device into a standalone HiveMind OCP player
- ovos-skill-music-assistant allows OVOS to search media in MA sources
- ovos-media-plugin-mass allows OVOS to control MA players
Manual Installation
- Copy the
hivemindfolder into your Home Assistantcustom_componentsdirectory:
mkdir -p /config/custom_components
cp -r custom_components/hivemind /config/custom_components/
-
Restart Home Assistant.
-
Add the HiveMind integration via the Home Assistant UI:
Settings → Devices & Services → Add Integration → HiveMind
Home Assistant Setup
Once a HiveMind device is added to HomeAssistant you will have several entities available
controls
media player
notify
status sensors
Music Assistant
Permissions Required
Since this integration does more than just voice queries, it requires low-level permissions to inject and control bus messages directly.
The client connecting to HiveMind must have admin privileges and permission to access the following message types:
ovos-core
mycroft.stopmycroft.skills.is_alivemycroft.skills.is_ready
ovos-dinkum-listener
mycroft.voice.is_alivemycroft.voice.is_readymycroft.mic.listenmycroft.mic.mutemycroft.mic.unmutemycroft.mic.get_statusrecognizer_loop:sleeprecognizer_loop:wake_uprecognizer_loop:state.getrecognizer_loop:state.set
ovos-gui
mycroft.gui_service.is_alivemycroft.gui_service.is_ready
ovos-audio
speakmycroft.audio.is_alivemycroft.audio.is_readymycroft.audio.speak.status
OCP (OpenVoiceOS Common Play)
ovos.common_play.player.statusovos.common_play.track_infoovos.common_play.get_track_lengthovos.common_play.get_track_positionovos.common_play.playlist.queueovos.common_play.resumeovos.common_play.pauseovos.common_play.stopovos.common_play.previousovos.common_play.nextovos.common_play.set_track_positionovos.common_play.playlist.clearovos.common_play.shuffle.setovos.common_play.shuffle.unsetovos.common_play.repeat.setovos.common_play.repeat.unsetovos.common_play.repeat.one
Audio Service
(only if enabled manually, for systems without the OCP Audio Plugin)
mycroft.audio.service.playmycroft.audio.service.resumemycroft.audio.service.pausemycroft.audio.service.stopmycroft.audio.service.prevmycroft.audio.service.nextmycroft.audio.service.set_track_position
PHAL
mycroft.phal.is_alivemycroft.phal.is_ready
ovos-phal-plugin-alsa
mycroft.volume.getmycroft.volume.increasemycroft.volume.decreasemycroft.volume.mutemycroft.volume.unmute
ovos-phal-plugin-system
system.rebootsystem.shutdownsystem.mycroft.service.restartsystem.ssh.status
ovos-phal-plugin-camera
(work in progress)
ovos.phal.camera.pingovos.phal.camera.getovos.phal.camera.openovos.phal.camera.close