Build an open future with us.

Invest in Mycroft and become a community partner.

[Communication] Intercom on local network


#1

Skill name: intercom

User story:

  • As a Mycroft user who lives with another person, I want to be able to use Mycroft as an intercom between two different rooms in the house.

  • As a Mycroft user with multiple Devices, I want to be able to use the multiple devices as an intercom system

What third party services, data sets or platforms will the Skill interact with?

Unknown as yet, ideally this Skill would be off-net

Are there similar Mycroft Skills already?

No

What will the user Speak to trigger the Skill?

  • "Hey Mycroft, page the {{room}}

What phrases will Mycroft Speak?

  • "Now paging {{room}} …

What Skill Settings will this Skill need to store?

  • Some sort of Device => room association
  • Some sort of addressing scheme for the Device - ie which IP address the Device is on on the local network

Other comments?

Ideally we could use Mycroft as a communications device outside of local networks, but the scope of this Skill is to use the Mycroft Devices within the local network.


#2

This is a great idea. As a really cool extension of this:

  1. Build the back-end of this as a light-weight peer to peer service on top of mDNS/DNS-SD (so probably Avahi configuration) (this may also obviate second point of what skill settings will need to store)
  2. have optional iOS, Android, and desktop “PC” clients that can participate as intercomm nodes as well (when you are at home, connected to the home LAN, probably through WiFI).

Might be nice to add to the Skill storage a “memory” of any previously known/contacted nodes. Then if you attempt to contact that node when it happens to be offline, Mycroft could give a more useful/aware response about it.


#3

I looked at this a little while ago. Here is a little more flesh to the idea

python version of mumble. still needs a central server to go through.
https://wiki.mumble.info/wiki/Main_Page

need a point to point voice system with network discovery.

each pi would need to know about the others.
that would need to be centralised to maybe mycroft site, if it knows there are more than one in the network it could use a known dns address to map them together.

to make the network redundant a mesh network could be used.

it is an android application but the serval dna is the core compoent which can run as a daemon.

another option is


xmpp implementation which starts a p2p session.
this would be fine for intercom.

extension would be to round robin through known hosts. replaying the audio.


#4

Okay, I’ll have a go at making this skill after I finish my calendar skill.


#5

I too am looking to pull something together. A buddy and i are looking to get our two devices communicating through the interwebs😁


#6

That would probably be better matched to mattermost as the intercom would be best routed though local network


#7

Yeah, The intercom I had in mind would communicate through the local network, finding other Mycrofts.