NEWS
Airplay 2 Play Status in IOBROKER
-
Vorab etwas über meine Umgebung: Ich verwende IOBROKER auf einem ODROID N2 Plus (empfehlenswert !!!, kann sogar noch höher getaktet werden), Raspberrymatic auf einem Tinkerboard S, phoscon und Homebridge auf einer VM auf meiner Synology. Als Benutzeroberfläche meines Hauses verwende ich die HOME App von Apple. Meine Musik wird via Airplay 2 auf Homepod Minis, ZIPP Lautsprecher bzw. per Airport auf meinen AV-Receiver und auf Teufel-Aktivboxen übertragen.
Was mir gefehlt hat war, dass wenn ich die Musik anhalte meine Verstärker nach kurzer Zeit ausgeschaltet werden, bzw. sobald ich die Musik fortsetze, die Verstärker wieder automatisch eingeschaltet werden. Da Apple ein geschlossenes System ist, war auf Anhieb keine Lösung sichtbar. Ich habe mir dann mit einem Raspberry (kann als Hifiberry erweitert werden) einen Airplay 2 Empfänger konfiguriert. Die wichtigsten Links hierzu sind
https://github.com/mikebrady/shairport-sync
MQTT Info unter
https://github.com/mikebrady/shairport-sync/blob/master/MQTT.md
Nach Installation eines MQTT Server auf meinem IOBROKER und Inbetriebnahme des Airplay 2 Empfängers ,konnte ich dort mit dem MQTT Explorer Meldungen sehen.
Die entscheidende Statusmeldungen "active_start" und "active_end" sind aufgrund fehlender PAYLOAD Inhalte schwierig zu verfolgen und im BLOCKLY ist es mir nicht geglückt die Meldung abzufragen (gerne könnt Ihr es einmal versuchen und Eure Lösung hier posten). Ich habe mich daher für eine Node-Red Lösung entschieden. Hier zunächst einmal die wichtige MQTT Einstellung im shairport-sync config file.mqtt =
{
enabled = "yes"; // set this to yes to enable the mqtt-metadata-service
hostname = "192.168.yyy.xx"; // Hostname of the MQTT Broker
port = 1884; // Port on the MQTT Broker to connect to
username = "username"; //set this to a string to your username in order to enab>
password = "password"; //set this to a string you your password in order to e>
topic = "shairport-sync"; //MQTT topic where this instance of shairport-sync sh>
publish_raw = "yes"; //whether to publish all available metadata under the code>
publish_parsed = "yes"; //whether to publish a small (but useful) subset of met>
publish_cover = "yes"; //whether to publish the cover over mqtt in binary form.>
}Den Status "Airplay An-Aus" habe ich in in IOBROKER unter javascript angelegt, da ich dort auch noch andere Statusfelder pflege.
Und das ist alles in Node-Red
EIn Hasenfuß ist, dass der "Airberry" immer verbunden sein muss, aber ich habe einfach keine andere Lösung gefunden.
PS: Die ist mein erster Anwendungsbeitrag. Sorry wenn ich nicht alles richtig formatiert habe.