HiveMind Integration for Home Assistant
This is a manual-install Home Assistant integration for connecting to an OpenVoiceOS instance through HiveMind.
It lets Home Assistant control and interact with a HiveMind device at a system level: not just voice commands, but also audio playback, volume, and system power.
Related projects
- hivemind-homeassistant (this integration) shows HiveMind as a device in Home Assistant.
- hivemind-player-protocol turns any device into a standalone HiveMind OCP player.
- ovos-skill-music-assistant lets OVOS search media in Music Assistant sources.
- ovos-media-plugin-mass lets OVOS control Music Assistant 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 through the Home Assistant UI: Settings → Devices & Services → Add Integration → HiveMind.
Home Assistant setup
Once you add a HiveMind device to Home Assistant, several entities become available.
controls
media player
notify
status sensors
Music Assistant
Permissions required
This integration does more than voice queries, so it needs low-level permissions to inject and control bus messages directly.
The client connecting to HiveMind must have admin privileges and access to these 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