Klingelanbindung und Sonos
Verfasst: 18. Apr 2017 14:09
Hallo Zusammen,
da ich in einem Haus wohne, dass Ende der 70er Jahre gebaut wurde, ist die Klingelplanung etwas altertümlich. Ich bin dem Ganzen jetzt begegnet um folgende Anforderungen zu erfüllen:
Die Installation uns Anbindung via Homegear hat reibungslos funktioniert. Um das Ganze in openHAB zu verwenden habe ich das passende Item angelegt:
Um die Klingel in den anderen Räumen besser hören zu können möchte ich das Klingeln über die Sonos Lautsprecher ausgeben. Ich habe mir den Klingelton heruntergeladen und unter html im Config-Verzeichnis (bei mir /etc/openhab2/html/) abgelegt. Ich nutze zum Abspielen die Notifications Funktion des Sonos Bindings. Dazu habe ich für jede Sonos, die ich ansprechen will die entsprechenden Items angelegt. Zum Einen setze ich die passende Lautstärke und zum Anderen das Klingelton Soundfile:
Somit habe ich alle Voraussetzungen geschaffen. Der Vorteil an der Notify Funktion des Sonosbindings ist, dass nach Abspielen des Soundfiles die ursprüngliche Wiedergabe fortgesetzt wird.
Hier dann noch die passende Rule:
Über Verbesserungsvorschläge freue ich mich immer! Die Erweiterung kommt, sobald meine Kamera für die Haustür geliefert wird
Grüße,
Seppy
da ich in einem Haus wohne, dass Ende der 70er Jahre gebaut wurde, ist die Klingelplanung etwas altertümlich. Ich bin dem Ganzen jetzt begegnet um folgende Anforderungen zu erfüllen:
- Information über Klingeln am Handy
- Verbesserung der Hörbarkeit der Klingel im Garten, Wohnzimmer und Bad
- Zukünftig: Auslösen eines Fotos und Versand an das Handy
Die Installation uns Anbindung via Homegear hat reibungslos funktioniert. Um das Ganze in openHAB zu verwenden habe ich das passende Item angelegt:
Code: Alles auswählen
/**
* Klingelerkennung
*/
Group gKGKlingelsensor
"Klingelsensor"
(gHeideweg)
Switch KGKlingelsensorState
"Türklingelzustand"
(gKGKlingelsensor)
{channel="homematic:HG-HM-Sen-DB-PCB:DFD7A281-4744-F1A9-1B44-0DAEECA2295D:NEQXXX:1#PRESS_SHORT"}
Switch KGKlingelsensorBattery
"Batterie Status Klingelsensor [MAP(battery.map):%s]"
<battery>
(gKGKlingelsensor, gSysBatteryState)
Code: Alles auswählen
/**
* Sonos Play 5 Esszimmer
*/
//Klingelton
String sonosP5DoorBellSoundfile
"Klingelton"
(gSonosDoorBellNotifySoundfile)
{channel="sonos:PLAY5:RINCON_5CAAFD05EB6C01400:notificationsound"}
//Klingeltonlautstärke
Dimmer sonosP5DoorBellVolume
(gSonosDoorBellVolume)
{channel="sonos:PLAY5:RINCON_5CAAFD05EB6C01400:notificationvolume"}
/**
* Sonos Play 1 Badezimmer
*/
String sonosP1DoorBellSoundfile
"Klingelton"
(gSonosDoorBellNotifySoundfile)
{channel="sonos:PLAY1:RINCON_949F3E7407F201400:notificationsound"}
//Klingeltonlautstärke
Dimmer sonosP1DoorBellVolume
(gSonosDoorBellVolume)
{channel="sonos:PLAY1:RINCON_949F3E7407F201400:notificationvolume"}
Hier dann noch die passende Rule:
Code: Alles auswählen
/**
* Klingel überwachen
*/
rule "Event_DoorBell"
when
Item KGKlingelsensorState changed from OFF to ON
then
logInfo("HomeBox.MultimediaRules:Event_DoorBell", "Klingeln erkannt")
pushover('Es klingelt!')
//Lautstärke setzen
gSonosDoorBellVolume.members.forEach[i |
logDebug("HomeBox.MultimediaRules:Event_DoorBell", "Setze Notify Lautstärke auf \"70\" für Sonos Member \"" + i.name + "\"")
i.sendCommand(70 as Number)
]
//Sende Klingelton
gSonosDoorBellNotifySoundfile.members.forEach[i2 |
logDebug("HomeBox.MultimediaRules:Event_DoorBell", "Sende Klingelton \"http://192.168.5.XXX/static/Ding-Dong.wav\" für Sonos Member \"" + i2.name + "\"")
i2.sendCommand("http://192.168.5.XX/static/Ding-Dong.wav")
]
end
Grüße,
Seppy