Hallo Leute,
zuerst möchte ich mich bei Sven (Svethi) bedanken. Denn ohne sein zutun wäre eine Rückmeldung aus dem HEOS System in den Miniserver für mich nicht realisierbar gewesen.
Sven hat dafür mehrere Abende an einem Skript gearbeitet, welches nun erfolgreich auf einem RasPi läuft.
Zudem Skript kann ich persönlich keinen Support geben, da ich von der Materie leider keinen Schimmer habe.
Das Skript ist nur für den privaten Gebrauch freigegeben.
Sofern Loxone Partner dieses Skript bei Ihren Kunden einsetzen möchten meldet euch bitte bei Svethi.
Ich halte es für fair, denn er hat wirklich lang daran gearbeitet.
Sofern jemand Interesse an einem Kauf der HEOS Lösung hat, würde ich gerne den Kontakt zwischen euch und meinem Händler herstellen.
(Ich selber bekomme dann einen kleine Bonus auf die nächste Bestellung für mich )
Nun zum HowTo: Einbindung der Denon HEOS Multiroomlösung in die Lox-Welt.
Durch die Einbindung können zu 80% aller wünsche über Loxone abgewickelt werden.
Für die restlichen 20% (in der Regel eh Sonderfälle) kann die HEOS App direkt aus der LoxVisu aufgerufen werden.
Befehl für den App Baustein bei einem iOS Device lautet heosbydenon://
Was wird benötigt:
selbstredend natürlich ein Miniserver und mind. ein HEOS Lautsprecher
aktuelle Version vom HEOS CLI Protokoll (Anfrage beim Denon Support, http://denon-de.custhelp.com/app/home), (siehe Post 4)
das Programm Putty zum auslesen und testen der HEOS Lautsprecher
Sofern Rückmeldungen in den Miniserver gewünscht sind:
PHP Webserver (bei mir auf nem RasPi)
das Skript von Sven
Vorbereitungen:
- Inbetriebnahme HEOS System, inkl. Update auf neuester Soft- und Firmware auf allen Lautsprechern
- Installation von Putty
- die IP eines HEOS Lautsprechers, welcher im besten Fall nie vom Netz getrennt wird oder immer mit läuft, wenn ihr das HEOS System verwendet.
Alle Befehle werden über diese IP gesendet und von diesem LS an die Empfängeradresse weiter geleitet.
Jeder Lautsprecher hat eine eindeutige PID (player ID), diese gilt es nun heraus zu finden.
Öffnet über Putty eine Telnet Verbindung mit dem Port 1255 (Bild1)
Gibt in das neue Fenster folgenden Befehl ein (HEOS CLI Abschnitt 4.2.1)
heos://player/get_players
Die Antwort sieht dann wie in Bild2 aus
Wir erkennen nun die jeweilgen PID's zum entsprechenden Lautsprecher
Badezimmer --> 1028383673
Küche --> 1013084284
notiert euch diese PID's, ihr werdet sie öfters brauchen. (natürlich diese die Ihr auf eurem Bildschirm seht )
Letztlich seit ihr nun schon in der Lage die Lautsprecher über Telnet anszusprechen.
Machen wir eine Probe.
Ladet über die HEOS App ein Titel in die Playlist des gewünschten Lautsprechers, aber startet den Titel nicht.
Über Putty starten wir nun die Wiedergabe:
Beispiel Wiedergabe im Badezimmer (HEOS CLI Abschnitt 4.2.4)
heos://player/set_play_state?pid=1028383673&state=play
Ihr bekommt noch eine Rückantwort und solltet nun den Titel hören.
Macht das mit allen Lautsprechern um sicher zu gehen, dass Sie ansprechbar sind.
Konfiguration der Telnet Befehle in der LoxConfig:
Es gibt zwei Möglichkeiten die HEOS Lautsprecher anzusteuern.
Beide laufen über einen virtuellem Ausgang mittels tcp
Opt1: entweder legt ihr den Ausgangsverbinder als digitalen Ausgang an und programmiert für jeden Player mehrfach die gleichen Befehle (z.B Play)
oder
Opt2: legt den Ausgangsverbinder als analogen Ausgang an, und anstatt in der Befehlszeile die PID zu schreiben, schreib ihr <v>.
Durch eine vorgeschaltete Analoglogik setzt ihr die jeweilige PID dann in den Platzhalter <v> ein.
Bei der 2 Option gib es ein großes Problem:
Es gibt durchaus auch negative PID's, und wenn ihr diesen in <v> schreiben wollt, wird der Ausgang nicht gesendet, da er logisch immer noch "0" ist.
Ich habe mich daher für Option 1 entschieden und werde diese hier auch vorstellen:
Legt einen virtuellen Ausgang an z.B Denon HEOS Küche (Bild3)
Achtung !!! Wollt ihr das Skript für die Rückmeldungen nicht nutzen, entfernt den Haken bei "Verbindung nach dem Senden schließen"
legt einen virtuellen Ausgangs Befehl an, zur Hilfe benötigt ihr nun die HEOS CLI
Beispiel Play: (Bild4)
pid= eure PID, welche ihr über Putty gefiltert habt.
Nun könnt ihr schon mal die wichtigsten Befehle anlegen
Play, Pause Stop, lauter, leiser, nächster, vorheriger, mute etc pp.
und auch gaaanz wichtig:
den USER Login, andernfalls könnt ihr nicht alle Funktionen nutzen:
heos://system/sign_in?un=heos_username&pw=heos_passwort
Username und Passwort habt ihr bei der HEOS Kontoeröffnung angegeben.
Diesen Befehl lasse ich bei jedem Programmupdate des Miniserver durch einen Startimpuls ausführen, ansich würde eine einmalige Ausführung ausreichen.
In Bild 5 seht ihr einen Ausschnitt meiner Programmierung zu den nun angelegten Befehlen
Zu den Rückmeldungen in diesem Bild komme ich in einem gesonderten Abschnitt.
Volume Küche habe ich als analogen Ausgang benutzt.
Der Befehl dazu sieht so aus (HEOS CLI Abschnitt 4.2.7)
heos://player/set_volume?pid=1013084284&level=<v>
statt <v> kann auch ein fester Wert zwischen 0-100 eingetragen werden.
Bei der Lautstärkänderung über Taster empfehlen sich die digitalen Befehle
aus der HEOS CLI 4.2.8 und 4.2.9
Anlegen und ansprechen von Playlisten und Radiosendern:
Es ist grundsätzlich möglich Radiosender, Playlisten, einzelne Titel und bestimmte MP3 (z.B. Haustürklingel MP3) abzuspielen.
Um die Befehle richtig interpretieren zu können, müsst ihr ein paar Vokabeln lernen:
pid = Player ID (die eindeutige ID des Players)
sid= Source ID (die eindeutige ID des gewählten Einganges am Player)
cid= Container ID (die eindeutige ID einer gespeicherten Playlist)
mid=media ID (die eindeutige ID eines bestimmten Titels)
Ich habe mich dazu entscheiden den Muskidienst Deezer und TuneIn (für Radiosender) zu nutzen und werde deshalb auch nur diese Vorgehensweise beschreiben. Habt ihr diese jedoch verstanden, sollten die anderen Sachen (z.B. DLNA Medien Server) auch kein Problem mehr darstellen.
Um die Musikdienste nutzen zu können ist es erforderlich, dass ihr mit eurem HEOS Account angemeldet seit.
Kommentar