This is a great idea. As a really cool extension of this:
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)
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.
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.
Just finished building the intercom part of my skill skill, which now works nicely and auto connects to other Mycroft devices on the network. It’s now open to testing (which it definitely needs ) Communications Skill - Intercom using Mycroft!
Hi @swift11 Thanks for the suggestion! I will be creating a way for the skill to interface with other networks/protocols like Matrix.
However, now I want to focus on getting the core functionality down, like calling, intercomming, and video calling. After I’m done working on that, I’ll take a look on how to let other networks into the system.