A Home Assistant intercom system intended for communicating between dashboards installed in different locations.
Intercom works by leveraging MediaRecorder
to record using the device's microphone and sending the recording through Home Assistant to be played on the target device.
Intercom leverages media_player.play_media
within the browser provided by the browser_mod integration by thomasloven. Make sure that is installed and configured prior installing this add-on.
Intercom utilizes an input_select
entity to keep track of available intercom destinations. This needs to be created in your Home Assistant configuration, and needs to be initialized with a node because HA doesn't seem to create the entity if options are blank. If you know of a way to not require this, please let me know.
If you are unsure how to get the browser_mod ID, see the instructions here.
Entity creation:
input_select:
intercoms:
name: Intercoms
options:
- <ENTITY_ID>:<LABEL>
For example:
input_select:
intercoms:
name: Intercoms
options:
- af2eafee-15ec14fd:Kitchen
Currently this is not packaged in any way, you will need to copy the JS manually. Packing coming some day!
These instructions you have some knowledge installing HA resources manually
- Create a directory to install
intercom.js
-- these instructions assumeconfig/www/community/intercom
and put the JS file there - Add the lovelace resource - (Configuration / Lovelace Dashboards / Resources / Add Resource).
URL
:/hacsfiles/intercom/intercom.js?v=0.1.0
(The query param at the end is for cache busting)Resource Type
:JavaScript Module
- NOTE: When updating, copy in the new JS file and bump the query param noted above
To add the card to your dashboard, you will need to manually add the card at this point.
Configuration:
selector_name
: the name of theinput_select
entity from above (required)browser_mod_prefix
: If you have configuredbrowser_mod.prefix
set this (optional)
type: custom:intercom-card
title: null
selector_name: intercoms
browser_mod_prefix: browser_mod_
- Only tested on Chrome
- Reply pop-up takes up entire screen
- Set up for HACS
- I assume my JS is terrible, feedback is greatly appreciated
- I assume my HTML and CSS is terrible, feedback is greatly appreciated