Skip to main content
Sonos doorbell button
I have build one myself..



relais + raspberrypi + http://python-soco.com/



kr,

Ive
Hi Mark,



The network part is very easy if you are using the lib SoCo:

https://github.com/SoCo/SoCo



python example:

#! /usr/bin/python



import soco



for device in soco.discover():

print "** Sonos device " + device.player_name + " found at " + device.ip_address


Good documentation:

http://python-soco.com/



hope this helps you.



kr,

Ive
one person even did this so their ordinary doorbell triggered smartthing event https://community.smartthings.com/t/a-simple-way-to-get-alerts-when-your-doorbell-is-rung/6027
MTI,

Our Sonos Gateway has lots of features:



Doorbell:

- Determines all sonos devices in the broadcast network.

- Plays the doorbell to sonos speakers named as ANYNAME-DB (-DB is the indicator for playing the doorbell on this speaker. If the speaker is grouped with other speakers the group will play the doorbell)

- It plays one of ten default or custom uploaded mp3 files at the desired volume (either set in the UDP packet sent to the gateway or set on the gateways webinterface as an "override" feature)

- Triggering the doorbell stops the radio station, playlist etc. which is currently played on the -DB sonos speakers, plays the doorbell sound and fades in the previously played track again.



Alarm-Sound:

We have also an alarm feature built in. This we use to play an alarm sound preferred at full volume on all sonos speakers.



Play, Stop and Volume

Then you can start stop and volume up down all the speakers with udp commands (this works currently for all speakers, per zone will be released in about six weeks)



All the features can be triggered with UDP packets (following a simple protocol) which are sent to the sonos gateway.
I was thinking about this yesterday and and it would be rather simple with Flic + Raspberry Pi + SoCo



Requirements:

Flic button (http://flic.io)

Raspberry Pi with Bluetooth dongle or Raspberry Pi 3



I can make a sample script which can work as a doorbell this weekend.
can you provide a walk through for making your own?
Hi Mark,



Depending on your experience with raspberry pi / python? :-)

What are your skills? 



kr,

Ive
I have a friend that plays around with Ariduo and Pii.

not sure he has had anything to do with Python,

as sure if you could point us in the right direction we could sort it out.

its mainly the network communication to sonos I need help with.
thanks, i'll have a play with it with my friend and see what we can come up with
Ive, I have looked through your coding and I get that you are able  to control the speakers or zones if you would directly through the Sonos however, how are you triggering the Raspberry Pi unit and what is delivering the actual "doorbell" sound?
Hello Ive,



I am also busy with making an interface for a doorbell. Today it is working with 1 sonos. I am stuck with the code for multiple sonos players . To put everything first in pauze and then group all players in 1 zone. Play the 'doorbell song ' and then ungroup them all and give the previous situation back. Is this working in your code? Can you post this please?
Hi all

We have developed a sonos doorbell. It runs on an RPi is based on SoCo, Samba etc. and installed in 10 minutes.



The only "restriction" is that triggering the doorbell is currently done via a UDP packet not via a digital input on the RPi.

This will be released within the next weeks.



By the side of the doorbell the software allows many more functions like volume up down, next and previous track and playing custom mp3 sounds (also per zone)

You can contact me: stefan.egger@egger-enertech.ch

Regards

Stefan
segger,



Will your doorbell query the SONOS devices on the network, determine grouped/ungrouped zones, pause play (including Playbar playing TV audio), play doorbell chime at desired volume, resume play to devices and groups? If so, we are very interested.
You could probably do it with Smartthings fairly easy and a home connected doorbell.
A simple video of Lextend is available under...

https://vimeo.com/164429234
Segger,

Will the doorbell feature work with grouped players as well?
MTI,

Yes, If at least *one* player in the group has "-DB" in the loudspeaker name. The whole group will play the doorbell sound.



If there are many groups:

All groups with at least *one* loudspeaker containing "-DB" in the name are grouped, then played the doorbell and then split again to the original groups.



I will post a video on that later on our vimeo channel.

https://vimeo.com/user31912943
Segger,



This is exactly what my clients are looking for. Our techs are not Python experts, do they need to be to implement this solution for a doorbell?
MTI

No IT skills are needed for Lextend. It needs do be installed on a cap rail and connected to the ethernet (Same IP Network as the Sonos speakers).

The Sonos loudspeakers are discovered automatically and the settings are made via a web GUI and with the naming of the Sonos speakers in the Sonos App.
Asturaz,

Ringing the doorbell sounds easier than is seems. You need to group the speakers that the doorbell is played in sync.

Then if you have many groups you need to save the currently palyed track, playlist etc.

There are many use cases with Sonos to consider, especially if speakers are grouped and playing independent tracks, radio stations etc.



Flic is a nice idea. Can flic send UDP packets to a RPi? Our RPi solution does already quite advanced things with Sonos.



Advanced Doorbell:

https://vimeo.com/165879744



Sonos Zone/Group dependent features (play, stop, volume etc.)

https://vimeo.com/165882411



Annoucement features (Grouping all speakers and switching to a LineIn) etc.
Hello Segger,



I was reading your development for the doorbell with lot of interest.

Is the option controlling the bell by the digital input of the RPi already released ?



Br

koen
Asturaz,

Ringing the doorbell sounds easier than is seems. You need to group the speakers that the doorbell is played in sync.

Then if you have many groups you need to save the currently palyed track, playlist etc.

There are many use cases with Sonos to consider, especially if speakers are grouped and playing independent tracks, radio stations etc.



Flic is a nice idea. Can flic send UDP packets to a RPi? Our RPi solution does already quite advanced things with Sonos.





That's true, it gets more advanced when you have different kinds of grouping setups etc.



Flic is just a Bluetooth unit, it doesn't sends any kind of UDP-packages, you can only identify which button got pushed down and released. So you are forced to have some sort of code to handle your actions.



If you connect your Flic to a phone you are able to send http-requests. And a bunch of other provider specific actions.



Made just some simple Flic + Sonos doorbell tonight without taking care of all the use cases where grouping, radiostations, different tracks and so on make it more complex.
Hello koen123

The doorbell with six generic inputs is running perfectly in our lab.

The resized hardware will be available in Q3 2016.



We will announce the news on our channels. Feel free to subscribe:

https://www.facebook.com/eggerenertech/

https://www.linkedin.com/company/egger-enertech-ag

https://vimeo.com/user31912943



Regards

Stefan
Is there any instructions on the connections of doorbell to relays on the raspberry pi?
Hi

The generic input version (6 inputs 6-250V AC or DC for up to six Sonos actions like play, stop, doorbell, volume etc) will be available end of September and sold over shop on www.egger-enertech.ch



Regards

Stefan