Zum Ende der Metadaten springen
Zum Anfang der Metadaten
Autor
Logo

Status

STABLE

Version

3.4.4

Downloadhttps://github.com/Liver64/LoxBerry-Sonos/releases
Kompatibilität

LB 0.2.4LB 1.0.3

Zweck

 Das Sonos4Lox Plugin stellt basierend auf dem LoxBerry eine Komplettlösung zur Steuerung einer Sonos Multi Room Installation zur Verfügung.

 

Inhalt

 


Aufgabe des Plugins

Das Plugin dient zur Steuerung einer Sonos Multi Room Installation aus Loxone heraus. Es stehen die gängigen Standardbefehle, aber auch Text-to-speech (T2S), Sonos-to-speech, Clock-to-speech und bei installiertem Wunderground Plugin auch weather-to-speech zur Verfügung. Darüberhinaus können auch Werte (z.B. Temperatur oder Fensterstatus) von Loxone in die text-to-speech Ansagen integriert werden. 

Zusätzlich werden Informationen wie Titel/Interpret, Play/Stop/Pause und Lautstärke je Zone per UDP Pakete und über virtuelle Texteingangsverbinder zur Verfügung gestellt.

Ein ganz besonderer Dank gilt Michael Schlenstedt und Sven Thierfelder ohne deren Hilfe das Plugin nicht hätte realisiert werden können (Lächeln)

 

Allgemeines

Das Sonos System ist grundsätzlich sehr ausgeklügelt und durchdacht aufgebaut, auch von seiner Topology und der Flexibilität. Leider fehlt es an einer offiziellen API, so dass das hier veröffentlichte Plugin auf der alten PHPSonos.inc.php basiert die nach und nach mit Hilfe von Wireshark gewachsen ist.

Grundsätzlich funktioniert Sonos und das Plugin nahezu wartungsfrei, es gibt aber ein/zwei Besonderheiten die es bei der Nutzung zu beachten gibt.

Die Sonos Player sind nicht gerade als Stromsparwunder bekannt, von daher gibt es User die ihre Player (Zonen) über schaltbare Steckdosen ausschalten und nur bei Bedarf wieder einschalten. Das kann, gerade bei einer Programmierung in einer Hausautomation, zu Problemen z.B. bei T2S führen, so dass im schlimmsten Fall die T2S nicht abgespielt werden kann, da eine Zone nicht erreichbar ist. Von daher empfehle ich alle Zonen immer am Netz zu lassen, da diese auch bis zu 2 Minuten benötigen um im SonosNet als Zone zur Verfügung zu stehen. Es ist zwar auch eine Abfrage bzgl. Online Verfügbarkeit eingebaut, diese aber nicht in der stabilen Qualität läuft wie ich es mir eigentlich wünsche.

Des weiteren gibt es noch LAN-Installationen die eine Sonos Bridge verwenden, diese produzierte in der Vergangenheit immer mal wieder Probleme durch eine Mischinstallation mit WLAN. Von daher empfehle ich jedem seine Sonos Installation per Wireless zu betreiben, wobei ja mind. 1 Zone per LAN verbunden sein sollte, aber halt ohne Bridge. Außerdem bereitet die Bridge im Verbund mit dem Plugin zunehmend Probleme, gerade bei der folgenden Grundkonfiguration.

Zusammenfassung:

  • Alle Sonos Player am Netz lassen
  • Sonos Bridge aus dem Netzwerk entfernen

 

Konfigurationsoptionen Loxberry

Als erstes muss eine Grundkonfiguration durchgeführt werden. Das heißt im Detail die vorhanden Sonos Player hinzufügen und diverse Parameter ergänzen.

Sonos Zonen hinzufügen

Durch Betätigen des Buttons "Scan Zonen" durchsucht das Plugin dein Netzwerk nach vorhanden Sonos Playern. Dabei werden Bridge, Dock, Boost und Subwoofer nicht berücksichtigt.

Hinweis: Bitte vorher unbedingt sicherstellen das alle Player ONLINE sind!

Nach erfolgtem Scan sollte folgender Bildschirm erscheinen:

Falls nach dem Scan keine Player erscheinen überprüfe dein Netzwerk (Fritzbox, Switch, Firewall, Virenscanner etc.) ob Mulitcast enabled ist. Eigentlich sollte das im Standard der Fall sein, aber gerade Virenscanner und managed Switches haben Multicast zum Teil disabled.

Das Skript sucht basierend auf dem SSDP Protokoll nach UPnP Devices mit folgender Multicast Adresse: 239.255.255.250 Port:1900. Dieser Port muss nicht explizit im Router konfiguriert werden!


Die Angaben für Raum und Modell sind NICHT änderbar und sind analog zur Sonos App. Falls eine Zone in der Sonos App umbenannt wird, muss anschließend in der Konfiguration der alte Eintrag gelöscht werden (Tick-box vor der jeweiligen Zone) und speichern, dann erneut einen Scan ausführen um die umbenannte Zone zu finden. Das gleiche gilt auch für neu hinzugefügte Player.

Wenn du einen Player aus irgendeinem Grund löschen möchtest, markiere die Tick-Box des entsprechenden Players und speichere die Konfiguration. Solange du nicht wieder den Scan Button betätigst ist die Zone für den MS nicht mehr erreichbar.

Als nächsten Schritt müssen folgende 3 Werte je Zone/Player ergänzt werden:

  • T2S Volume: Der eingegebene Wert (zwischen 0-100) ist die Standard Lautstärke für T2S Durchsagen für diese Zone.
  • Sonos Volume: Der eingegebene Wert (zwischen 0-100) ist die Standard Sonos Lautstärke für diese Zone.
  • Sonos maximal Volume: Der eingegebene Wert (zwischen 0-100) ist die maximale Sonos Lautstärke für diese Zone.

Standard bedeutet dass ohne Angabe von Volume innerhalb der Syntax diese Lautstärkewerte genommen werden. Näheres über die Verwendung von Volume in der Syntax findest du im Kapitel "Syntax".

Erst nach erfolgreicher Ergänzung dieser Werte lässt sich das Plugin speichern.

Text-to-speech (T2S)

Um die speech Funktionen nutzen zu können benötigt man eine Speech Engine, diese kann entweder Online oder Offline sein. Folgende T2S Optionen stehen zur Auswahl:

  • VoiceRSS → Online Engine, benötigt nur einen API key (nur eine weibliche Stimme)
  • Amazon Polly → Online Engine, benötigt einen API und einen secret key. (eine weibliche und eine männliche Stimme) ACHTUNG: Nach 12 Monaten kostenpflichtig.
  • Mac OSX → Offline Engine, benötigt einen OSX Server
  • Pico2Wave → Offline Engine, bei installiertem Text2SIP Plugin (nur eine weibliche Stimme)
  • ResponsiveVoice → Online Engine, benötige keine keys (nur eine weibliche Stimme)

Nach erfolgreichem Generieren der entprechenden Key(s) müssen diese in den entsprechenden Feldern eingetragen werden. Wenn jemand die Offline T2S Version für OS X verwenden möchte kann ich ihm gerne einen Ansprechpartner nennen, da ich selber keinen OS X Server besitze. Meine Empfehlung ist Polly da a: 3 Stimmen zur Auswahl stehen und auch die Sprachqualität eine Tick besser ist (obsolete), alternativ ResponsiveVoice.

API key: Bitte den gültigen API key von VoiceRSS oder Polly eingeben

Secret key: Bitte den gültigen secret key von Polly eingeben

Auswahl der Standardstimme (nur Polly): wähle zwischen Marlene und Hans

Die Stimme kann innerhalb der Syntax für T2S jederzeit geändert werden.

Verweildauer der MP3 Dateien: Das ist die Anzahl der Tage die eine MP3 gespeichert werden soll bevor Sie automatisch gelöscht wird.

Dateiname für Jingle MP3: Name der Datei die vor einer Durchsage abgespielt werden soll. Diese Datei muss z.B. mit WinSCP in das Unterverzeichnis /data/plugins/sonos4lox/tts/mp3 kopiert werden. Als Beispiel ist die Datei "2_Airport_gong.mp3" bereits enthalten. Näheres zur Nutzung der Funktion unter "Syntax".

Sonos Daten per UDP senden: Schalter um Lautstärke, Play/Pause/Stop an Loxone per UDP Pakete und Titel/Interpret Informationen über virtuelle Texteingang Verbinder zu senden. Näheres zur Nutzung der Funktion unter "Anbindung an den Miniserver"

UDP-Port: Port des MS an den die UDP Pakete geschickt werden sollen. (Beachte Portforwarding am Router zu konfigurieren!)

Debugging: Debug Modus zur detaillierten Fehlersuche mit Hilfe des Browsers einschalten.

 

T2S Feineinstellungen

Bei den Feinstellungen können noch einige nice-to Optionen nachjustiert werden.

Volume Änderung per Klick: Hier handelt es sich um eine typische Tasterfunktion um die Lautstärke einer Zone zu ändern. Der hier angegebene Wert erhöht/verringert in den jeweilig angegebenen Sprüngen die Lautstärke.

Rampto Parameter: Rampto ist eine Funktion zum langsamen, kontinuierlichem Erhöhen der Lautstärke. Es stehen 3 verschiedene Parameter zur Verfügung die alle leider nicht in der Laufzeit konfigurierbar sind:

  1. Sleep → erhöht UND verringert die Lautstärke langsam innerhalb von ca. 17 Sekunden auf die gewünschte Lautstärke (typische Weckeinstellung)
  2. Alarm → erhöht zügig und kontinuierlich die Lautstärke auf den gewünschten Wert.
  3. Auto→ erhöht relativ schnell die Lautstärke auf den gewünschten Wert.

Rampto Volume: Schwellwert der angegebenen oder gerade laufenden Lautstärke unterhalb dessen einer der 3 zur Verfügung stehenden Parameter automatisch greifen soll.

Bsp: Die Zone steht auf Pause und die Funktion Play wird betätigt. Ist die gegenwärtige Lautstärke < 25 greift der Rampto Parameter und erhöht gemäß der Konfiguration die Lautstärke, ist der Wert darüber geht es mit diesem Lautstärkewert unvermittelt los.

 

Radio Favoriten für Tasterbedienung

Hierbei handelt es sich auch um eine typische Tasterfunktion mit Hilfe derer man durch einen jeweiligen Tastenklick sich durch seine Radiofavoriten durchzappen kann. Ist das Script am Ende der Liste angekommen beginnt es wieder von vorne. Die URL Daten für deine Favoriten werden folgendermaßen ermittelt:

Suche dir deine(n) Sender im Internet (z.B.: google.com und dann Schlagworte "SWR3 URL stream"). Kopiere dann die gewünschte Stream URL ins Feld "Sender URL" und gebe bei "Sender Name" den Sendernamen ein. Achte bitte darauf das nur Streams die mit http:// beginnen genutzt werden können und folgende Zeichen nicht Bestandteil der URL sein dürfen ? { } | & ~ ! [ ] ( ) ^ " =

Beispiel: Für SWR3 wäre die URL für 128 kBit/s Qualität dann http://mp3-live.swr3.de/swr3_m.m3u

Der entscheidende Vorteil liegt in der Sonos unabhängigen URL Struktur und des daraus resultierenden Performance Zuwachs beim Wechseln der Sender.

Diese Schritte musste du für jeden deiner Favoriten Sender erneut durchführen.

 

Gimmick am Rande

Als Sender Name kannst du auch irgendwas anderes eingeben (z.B. "Namen deiner Frau> Lieblingssender" um deine Frau zu überraschen. Der Name erscheint dann auch automatisch in der Sonos App.

 

Wenn alle Parameter ergänzt wurden speichere bitte die Konfiguration und teste die erfolgreiche Installation als erstes im Browser bevor es an die Loxone Integration geht.

Dafür kopierst du aus dem Bereich Syntax einen Befehl, ergänzt die Zone und solltest dann eigentlich etwas hören. Nur nicht bitte Play wenn in der entsprechenden Zone weder Radio noch eine Playliste geladen ist ;-(

 

Konfigurationsoptionen Nicht-Loxberry (nur bis V2.1.6)

Da das Script Hard-/Software unabhängig programmiert ist, gibt es einige Besonderheiten für die Nutzer zu beachten die keinen Loxberry nutzen. Folgende Umgebungen wurde erfolgreich getestet: 

  1. NAS (Synology, Buffalo)
  2. VM-Ware
  3. OS X
  4. OS X mit VM-Ware
  5. Windows mit XAMPP
  6. SPS

Dies notwendigen Schritte im Einzelnen:

  • Plugin laden und nur alle Dateien aus webfrontend/html in euer Web Server Verzeichnis kopieren.
  • Nach dem Kopieren bitte folgenden Befehl im Browser eingeben um die vorhandenen Sonos Zonen automatisch zu finden und anlegen zu lassen. Dazu muss auf dem Router Multicast aktiviert sein, was aber in nahezu 95% der Fälle bereits Standard ist.

http:// <DEINE IP>/<DEIN VERZEICHNIS>/system/network_nolb.php

  • Die Datei system/player_nolb.cfg öffnen und die Werte für T2S, Sonos und Max. Lautstärke je Zone ergänzen
  • Die Datei system/sonos_nolb.cfg öffnen und die restlichen Konfigurationsoptionen eingeben

Die unten genannten Syntax für die Befehle sind die gleichen, nur muss der Pfad /plugins/sonos4lox durch euren Installationspfad ersetzt werden.

 

Download

Fehlerberichte

Fehlerberichte bitte direkt im Forum oder Github posten.


Syntax

Übersicht der gängigsten Befehle, T2S Syntax und auch erlaubte Kombinationen innerhalb einer Syntax. Wer die Funktionen erst im Browser testen möchte, setzt bitte jeweils folgendes vor die Syntax:

http://<LOXBERRY IP-ADRESSE>


Standard Befehle

Folgende action sind möglich: play, stop, pause, next, previous, rewind

/plugins/sonos4lox/index.php/?zone=<DEINE ZONE>&action=stop

Wechselt zwischen Play und Pause

/plugins/sonos4lox/index.php/?zone=<DEINE ZONE>&action=toggle

Setzt angegebene Zone auf mute wenn Wert true, unmute mit Wert false

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=mute&mute=true

Setzt den Playmode für Playlisten. Erlaubte Parameter sind: NORMAL, REPEAT_ALL, SHUFFLE, REPEAT_ONE, SHUFFLE_REPEAT_ONE und SHUFFLE_NOREPEAT

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=playmode&playmode=normal

Setzt die Lautstärke fix auf 30 %

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=volume&volume=30

Spielt den nächsten Sender aus der Radio Favoriten Liste der Konfiguration

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=nextradio

Lautstärke wird innerhalb kontinuierlich auf Null gefahren (Art Schlummerfunktion) und Wiedergabe gestoppt

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=softstop

Verringern der Lautstärke (die Schritt Vorgabe wird in Prozent in der Konfiguration gepflegt)

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=volumedown

Erhöhen der Lautstärke (die Schritt Vorgabe wird in Prozent in der Konfiguration gepflegt)

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=volumeup

Löschen der laufenden Playliste

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=clearqueue

Crossfade 1 schaltet Überblenden ein, 0 schaltet Überblenden aus

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=crossfade&crossfade=1

Stoppt abrupt alle Zonen

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=stopall

Lädt die angegebene Sonos Playliste und spielt Sie mit Lautstärke 15% ab (es funktionieren nur Sonos Playlisten). Wer einen Streamingdienst nutzt muss vorher die Streaming Playliste als Sonos Playliste speichern!

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sonosplaylist&playlist=NAME_DER_PLAYLISTE&volume=15

Lädt den angegebenen Radiosender unter "Meine Radiosender". Der Anzeigename aus Sonos MUSS identisch sein. Es funktionieren auch nur Sender die unter "Radio von TuneIn" in "Meine Radiosender" gespeichert sind.

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=radioplaylist&playlist=EXAKTER NAME_DER_RADIOSTATION

Lädt die angegebene Sonos Playliste und spielt Sie mit langsam ansteigender Lautstärke von final 35% ab. Für rampto stehen noch die Parameter "auto" und "alarm" zur Verfügung.

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&rampto=sleep&action=sonosplaylist&playlist=NAME_DER_PLAYLISTE&volume=35

Setzt Bass auf 2

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=setbass&bass=2

Setzt Höhen auf 3

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=settreble&treble=3

Schaltet loudness ein (1) oder aus (0)

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=setloudness&loudness=1

erstellt ein Stereopaar aus zwei identischen Modellen. PLAY:1, PLAY:3 und PLAY:5 werden unterstützt

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=createstereopair&pair=<ZWEITE ZONE>

löst ein Stereopaar in 2 einzelne Zonen auf

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=seperatestereopair&pair=<ZWEITE ZONE>



Gruppen Funktionen

Fügt der angegebenen Zone eine weitere hinzu

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=addmember&member=ANDERE_ZONE

Löscht aus der Gruppe die angegebene Zone wieder

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=removemember&member=ANDERE_ZONE

Fügt der angegebenen Zone mehrere Zonen hinzu

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=addmember&member=ANDERE_ZONE,ANDERE ZONE,ANDERE ZONE

Gruppiert alle Zonen (ohne speichern der vorherigen Zustände)

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=group

Hebt alle Gruppierungen auf

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=ungroup

Setzt alle Zonen auf Mute (1) oder Unmute(0)

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=setgroupmute&mute=1

Erhöht die Standard Lautstärke je Zone um 20% (50% = Standardlautstärke)

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=setgroupvolume&volume=70

Erstellt eine Gruppe und lädt eine Sonos Playliste

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&action=groupsonosplaylist&playlist=NAME DER PLAYLISTE

Erstellt eine Gruppe und lädt einen Radio Sender

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&action=groupradioplaylist&playlist=EXAKTER NAME_DER_RADIOSTATION

Nimmt eine Zone aus einer bestehenden Gruppe heraus, egal welche Zusammensetzung die Gruppe hat

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=becomegroupcoordinator

 

 

 

Text-to-speech Funktionen

Bei der Text-to-speech Funktion wird der Text zu einer der Engines geschickt, dort umgewandelt und als MP3 Datei wieder zurückgeschickt. Die ankommende Datei wird MD5 kodiert dann im Verzeichnis loxberry/data/plugins/sonos4lox/tts/ gespeichert und von Sonos von dort abgespielt.

 

Es ist auch möglich z.B. für immer wiederkehrende Ansagen (Waschmaschine fertig usw.) vor erstellte MP3 Dateien zu nutzen ohne ständig die T2S Engines zu nutzen. Diese MP3 Dateien müssen a: numerisch sein (4.mp3) und b: mit Hilfe von z.B. WinSCP im Verzeichnis loxberry/data/plugins/sonos4lox/tts/mp3/ gespeichert werden. 

Um numerische MP3 Dateien zu erstellen mache bitte folgendes:

  1. Generiere eine Textansage:
    /plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=sendmessage&text=Waschmaschine ist fertig&volume=20
  2. Wechsel in das Verzeichnis  loxberry/data/plugins/sonos4lox/tts/ und benenne die oberste Datei die ungefähr so aussehen müsste 7e7fbecd034c7c8eb7d6fdd2f2790949.mp3 in 1.mp3 um
  3. kopiere mit Hilfe von z.B. WinSCP diese Datei in das Verzeichnis loxberry/data/plugins/sonos4lox/tts/mp3/
  4. Rufe Sie anschließend über folgende Syntax immer wieder auf:
    /plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=sendmessage&messageid=1

    Ich persönlich mache mir dann immer noch eine Kopie der numerischen MP3 Datei und hänge mir noch einen Text dran damit ich weiß um welchen Ansagetext es sich handelt (1_Waschmaschine.mp3)

 

Einzeldurchsagen:

Ansage eines Textes mit Lautstärke 20% ohne Jingle vorher

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sendmessage&text=hallo. dies ist ein test&volume=20

Ansage eines Textes mit Lautstärke 20% mit Jingle vorher

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=sendmessage&text=hallo. dies ist ein test&volume=20

Ansage eines Textes mit Lautstärke 20% mit Jingle vorher und Hans als Stimme (nur bei Verwendung von Ivona)

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=sendmessage&text=hallo. dies ist ein test&volume=20&voice=Hans

Abspielen der Datei 3.mp3 Datei aus dem Verzeichnis loxberry/data/plugins/sonos4lox/tts/mp3/ mit Jingle vorher und Lautstärke 30%

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=sendmessage&messageid=3&volume=30

Aktuelle Wettervorhersage mit Lautstärke 20 (Voraussetzung: installiertes Wunderground Plugin)

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sendmessage&weather&volume=20

Ansage der aktuellen Uhrzeit

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sendmessage&clock

Ansage des gegenwärtig laufenden Songs / Radio

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sendmessage&sonos

 

 

Gruppendurchsagen:

Ansage eines Textes mit 2 weiteren Zonen und der jeweiligen Standard Lautstärke aus der Konfiguration ohne Jingle vorher

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sendgroupmessage&member=ZONE,ZONE&text=hallo. dies ist ein test

Ansage eines Textes mit 2 weiteren Zonen und der Angabe von Gruppenlautstärke 60 mit Jingle vorher

ACHTUNG: Gruppenlautstärke bedeutet dass der Standardwert der Lautstärke je Zone (siehe Konfiguration) um 10% erhöht wird. Mit der Angabe 50 wird die

Standardlautstärke genommen, ist der eingegebene Wert >50 erhöht sich die Lautstärke um die Differenz, ist der Wert <50 verringert sie sich um die Differenz.

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=sendgroupmessage&member=ZONE,ZONE&text=hallo. dies ist ein test&groupvolume=60

Abspielen der Datei 3.mp3 Datei aus dem Verzeichnis loxberry/data/plugins/sonos4lox/tts/mp3/ mit Jingle vorher, Lautstärke 30% auf 2 weiteren Zonen

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=sendgroupmessage&member=ZONE,ZONE&messageid=1&groupvolume=20

Wetteransage ohne Jingle an eine Gruppe von Playern mit 10% höherer Standardlautstärke je Zone

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sendgroupmessage&member=ZONE,ZONE&weather&groupvolume=60


Einzel-/Gruppendurchsagen aus einem Statusbaustein heraus:

Der Loxone Statusbaustein ist prinzipiell hervorragend geeignet um sich individuelle Textansagen selber zu erstellen, nur hat er leider einen Bug der einer einfachen Handhabung im Wege steht. Der konkrete Anwendungsfall ist Statusmeldung aller Fenster, wobei hier die bekannte Version aus dem Forum durch Verkettung von mehreren Statusbausteinen angewandt wird. Am Ende laufen ALLE Fenster in einen Statusbaustein der auch den Status korrekt am Ausgang TQ anzeigt bzw. ausgibt. Um jetzt eine Ansage anzustossen wäre ja der einfache Gedanke an einem der 4 Eingänge AIx irgendeinen Trigger anzuhängen der eine Statusänderung des Ausganges TQ veranlasst. Das geschieht auch, nur leider wird die T2S beim Beenden des Triggers erneut ausgegeben. Je nachdem wie lange der Einschaltimpuls ist, bricht die erste T2S in der Mitte ab und die zweite folgt im Anschluss.

Dieses Verhalten hängt mit der Tatsache zusammen das a: der Baustein analog ist und b: einen Bug diesbezüglich hat. Nach langem probieren mit allen möglichen Schaltern etc. funktionierte es immer noch nicht wie gewünscht. Die mir bekannte einzige Abhilfe ist ein kleines PicoC Programm welches die T2S anstösst, anstatt der Statusbaustein direkt.

Dazu muss der Ausgang TQ des Statusbausteines an den Eingang TIx des Programmbaustein, der Trigger zur Auslösung an das Pendant AIx und der entsprechende http Ausgangsbefehl für die T2S an TQx. Beim Betätigen des Triggers wird der anstehende Text an TIx einmalig an den Ausgang TQx weitergeleitet und somit die T2S nur einmal angesagt.

Anbei der PicoC Code, bitte auf die korrekt Codierung in Zeile 8 denken, je nachdem ob der 4, 8 oder 16er PicoC Baustein verwendet wird. (Ab Version 9 der Loxone Config steht nur noch der 16er Baustein zur Verfügung, ergo muss 0x38 genutzt werden). Die Version im Codeblock ist die für den 16er Baustein da hier 3 Möglichkeiten der T2S Verarbeitung aus Statusbausteinen heraus bestehen:

Source Code
// write program here in PicoC
float f1, f2, f3;
int nEvents;
char* Text;
while(TRUE)
    {
    nEvents = getinputevent();
    if (nEvents & 0x38)       //4er Pico = 0xe, 8er Pico = 0x1c, 16er Pico = 0x38
        {

        f1 = getinput(0);
        if (f1 == 1)
            {
                Text = getinputtext(0);
                setoutputtext(0,Text);
            }
        f2 = getinput(1);
        if (f2 == 1)
            {
                Text = getinputtext(1);
                setoutputtext(1,Text);
            }
        f3 = getinput(2);
        if (f3 == 1)
            {
                Text = getinputtext(2);
                setoutputtext(2,Text);
            }
        }
    sleep(100);
    }

 

Diagnose Funktionen

Diese Funktionen bitte nur im Browser nutzen!

Info über Metadaten bzw. der laufende Radiosender

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=getmediainfo

Info über Titel Interpret, Laufzeit usw.

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=getpositioninfo

Info über playmode (shuffle, normal)

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=gettransportsettings

Info über Lautstärke

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=getvolume

Info über technische Details der Zone

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=getzoneinfo

Info über User

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=getuser

 

 

Sonstige Funktionen

Setzt den Schlummermodus für angegebene Zone auf 5 Minuten. Bei kleiner 10 Minuten nur einstellige Eingabe Bsp.:5 für 5 Minuten) 
generell erlaubte Eingabe: 1-59

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sleeptimer&timer=5

Listet alle Alarme auf (nur im Browser zu verwenden)

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=listalarms

Klingelton zu Signalisierung. Hierfür ist die Datei 100.mp3 reserviert, diese MUSS im Verzeichnis tts/mp3 liegen. Bei der Verwendung reagieren die Zonen schneller, aber eine Latenz von unter ca. 2-3 Sekunden ist nicht machbar.

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=sendmessage&messageid=100&volume=30

Hinweis an Loxone dass das Plugin einen Fehler im Sonos error.log erzeugt hat und Löschung des Hinweises aus Loxone heraus.

/plugins/sonos4lox/index.php/?zone=kueche&action=clearlox

Screenshot zum Fehlerhinweis:

1) Fehlermitteilung:

erstelle einen "virtuellen Texteingang" und benenne ihn in der Bezeichnung "S-Error" und verknüpfe ihn an einen "virtuellen Status" für die Visu. Sobald ein Eintrag im error.log erzeugt wird erhält der Texteingang, respektive die Visu, folgenden Text: Sonos Fehler. Bitte log pruefen

2) Fehlerlöschung:

erstelle einen "virtuellen Eingang" als Taster und hänge einen "virtuellen Ausgangsbefehl" dran der den Hinweis aus 1) wieder auf Null setzt

Selbstverständlich sollte dann auch der Eintrag im error.log geprüft und ggf. behoben werden.



Kombinierbare Parameter

Folgende Parameter können immer in einer Syntax beliebig miteinander kombiniert werden

  • volume (nicht bei Gruppendurchsagen)
  • groupvolume (nur bei Gruppendurchsagen)
  • playmode
  • rampto

Das würde im max. Fall folgendermaßen aussehen und lädt eine Playliste, setzt die Lautstärke schnell ansteigend auf 15% und schaltet shuffle dazu:

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sonosplaylist&playlist=NAME_DER_PLAYLISTE&volume=15&playmode=SHUFFLE_NOREPEAT&rampto=alarm



Miniserveranbindung

Allgemein

Ich habe bewusst auf einen Push Service seitens des Loxberry verzichtet um die UDP und auch generelle Datenflut nicht unnötig zu erhöhen. Das heißt im Klartext dass es zwar den Schalter Datenübertragung zu Loxone in der Konfiguration gibt, er aber nur das generelle Pullen von Informationen ein-/ausschaltet (siehe Screenshot #12). Es werden auch nur UDP-Pakete und virtuelle Texteingänge je nach Taktung gefüllt. Die Texteingänge mit Titel/Interpret Informationen auch nur wenn die jeweilige Zone gerade etwas spielt, ansonsten wird nichts gesendet.

 

Portforwarding

Um die gesendeten Informationen im MS empfangen zu können muss ggf. ein Portforwarding in eurem Router durchgeführt werden. 

Hier einige Beispiele, je nach Konfiguration des MS und in der LoxBerry Config:

  • Loxone wird am Port 80 betrieben und in der LoxBerry Config ist auch UDP Port 80 angegeben → keine Aktivität notwendig
  • Loxone wird am Port 80 betrieben und in der LoxBerry Config ist UDP Port 6050 angegeben → UDP Portforwarding für Loxone von Port 6050 auf 80 muss im Router konfiguriert werden
  • Loxone wird am Port 7080 betrieben und in der LoxBerry Config ist UDP Port 6050 angegeben → UDP Portforwarding  für Loxone von Port 6050 auf 7080 muss im Router konfiguriert werden

Beispiel einer FritzBox für den Betrieb der Loxone an Port 6060 und der Sonos Config vom LoxBerry auf Port 8750:

Ausgangsseitig

Um die Sonos Installation vom Miniserver aus zu steuern muss für jede Aktivität ein virtueller Ausgangsbefehl angelegt werden. Dieser kann jeweils bei Ein oder Aus eine Funktion aufrufen.

Folgende Aktivitäten müssen in Loxone durchgeführt werden:

  1. virtuellen Ausgang anlegen
  2. virtuellen Ausgangsbefehl anlegen
  3. zu verwendende Syntax in virtuellen Ausgangsbefehl erstellen/kopieren

virtuellen Ausgang anlegen (falls nicht schon für andere Plugins vorhanden):

 

virtuellen Ausgangsbefehl anlegen:

Bsp.: Befehl bei EIN: Wenn der TV im Wohnzimmer eingeschaltet wird, soll die Zone "Küche" zügig auf Lautstärke Null runtergeregelt werden und dann stoppen.


virtuellen Ausgangsbefehl mit Verwendung von Werten aus Loxone anlegen:

Bsp.: Ansage des Fensterstatus beim Einschalten der Alarmanlage. Der Wert <v> wird aus dem Wert des Statusbaustein übernommen..

wichtig ist das der Ausgangsbefehl als analog markiert sein muss d.h. Haken bei "Als Digitalausgang verwenden" rausnehmen:

 

 

 

Eingangssseitig

Wichtig: Die eingangsseitigen Daten werden NUR an den 1. Miniserver gesendet! Dieser ist nur über die IP-Adresse erreichbar, falls dieser im LoxBerry für Cloud DNS konfiguriert ist, werden keine Daten übermittelt!

Grundlegende Hinweise: Ich habe bewusst auf einen Cron job (Push Verfahren) zur Übermittlung von Sonos Daten verzichtet da hier u.U. eine unnötige Last auf dem MS trifft. Von daher müssen die Daten über ein Pull Verfahren in den MS geholt werden. Dazu muss im MS ein Trigger festgelegt werden der die Daten in einer gewissen Taktung holt. Am besten ist es über den Impulsgeber einen virtuellen Ausgangsbefehl anzulegen.

Beispiel:

Der Schalter zum Einschalten des Datentransfers (im Screenshot oben "fetch_sonos") befindet sich in der Konfiguration (Sonos Daten per UDP senden), dieser betätigt dann "fetch_sonos":

Empfangen der Stati einer Zone

Als erstes erstelle im MS einen "virtuellen Eingang" und benenne ihn in der Bezeichnung "fetch_sonos".

Um die Daten über UDP empfangen zu können erstelle als nächstes einen "virtuellen UDP-Eingang":

Bitte die Senderadresse leer lassen und nur den Port analog zur Plugin Konfiguration eintragen!

 

Wichtig: Vorher das Portforwarding in der Router Konfiguration aktualisieren/ergänzen.

Anschließend muss für jeden Wert UND Zone ein "virtueller UDP Eingang Befehl" angelegt werden:

Die Daten die per UDP gesendet werden enthalten immer folgende Informationen je Zone. 

  • Play/Stop/Pause
  • gegenwärtige Lautstärke
  • Status der Zone

 

Der Aufbau der Syntax ist immer gleich (Zone ist die jeweilige Zone aus der Konfiguration):
  • Für Play/Stop/Pause lautet die Syntax: stat_ZONE@WERT (WERT: 1=Play, 2=Pause, 3=Stop)
  • Für die Lautstärke lautet die Syntax: vol_ZONE@WERT
  • Für den Status der Zone (Single, Master oder Member) lautet die Syntax: grp_ZONE@WERT (WERT: 1=Single, 2=Master, 3=Member)

Läuft eine Zone gerade nicht oder ist Offline wird der Wert stat_ZONE@3 gesendet.

 

Empfangen von Titel/Interpret bzw. Radiosender Info

 

Da UDP ja leider keine Textdaten empfangen kann, werden die Informationen über Titel/Interpret oder Radiosender über virtuelle Eingangsbefehle gesendet, aber nur wenn die Zone gerade spielt.
Es werden je laufender Zone 3 unterschiedliche Eingangsverbinder gefüllt:
  • Für Titel und Interpret lautet die Syntax: titint_ZONE
  • Für Titel lautet die Syntax: tit_ZONE
  • Für Interpret lautet die Syntax: int_ZONE
  • Für die Quelle lautet die Syntax: source_ZONE (WERT: 1=Radio, 2=Playliste)

Für jede Zone für die Titel/Interpret Info empfangen werden sollen muss ein "virtueller Texteingang" angelegt werden die o.g. Bezeichnung enthalten

Beispiel für Zone "buero":


Hintergrund ist hier das die Informationen u.U. getrennt benötigt werden um sie z.B. auf einem KNX Display anzeigen zu lassen (Restriktion auf 14 Zeichen). Wenn z.B. 6 Zonen zu einer Sonos Installation gehören und die Daten für alle Zonen erfasst werden sollen, müssen in Summe max. 30 verschiedene Eingänge erstellt werden. 6x2 für Status/Volume und 6x3 für Titel/Interpret und Titel und Interpret, wobei die letzten 2 wenig Sinn ergeben.

UDP Daten per Monitor empfangen:

 

Beispiel zur Visualisierung Titel/Interpret:

Die Titel/Interpret Info an AI1 und den Status der Zone an AI2. Wenn die Zone spielt, wird der Wert von AI1 am Textausgang ausgegeben, ansonsten ein frei wählbarer Text.

 

 

TIP

Textwerte könne auch durch die Verwendung von EIB Textsensor und EIB Textaktor als eine Art Merker genutzt werden. Beide müssen nur über die gleiche Gruppenadresse verfügen, damit sie eindeutig ein Paar sind. Die Gruppenadresse kann virtuell vergeben werden.

 

fetsch_sonos konfigurieren

Beispiel wie die Konfiguration in Loxone aussehen könnte, hier gibt es natürlich durchaus noch Potential diese zu optimieren

Der Schalter "fetch_sonos" stoppt als inversiver Eingang an R die Schaltuhr, die wiederum (bei mir) die Uhrzeiten enthält in der ich generell Sonos Daten empfangen möchte

Der Ausgang AQ der Schaltuhr betätigt einen Impulsgeber der im Abstand von 10 Sekunden einen Ausgangsbefehl absetzt um die Daten von Sonos zu holen. Wichtig ist das auch hier der Eingang DisP des Impulsgebers inversiv ist.

Zusätzlich habe ich noch am Eingang R der Schaltuhr den Betriebsmodus "alle abwesend" damit wenn keiner da ist auch nicht sinnlos Traffic per UDP generiert wird.


Vorlagendatei für Loxone Config

Vorlagendatei für die Loxone Config für folgende Funktionen:

  • Pullen von Sonos Daten zu MS
  • Texte als Merker
  • Titel/Interpret bzw. Radio Sender visualisieren
  • T2S Ansagen aus einem Statusbaustein heraus.

Sonos.Loxone

Tipps & Tricks

Die Erfahrung zeigt dass es Sinn macht die zu verwendende Syntax immer erst einmal im Browser zu testen bevor sie in Loxone als Ausgangsbefehl angelegt wird.

App für Sprachnachrichten direkt vom iPhone an Sonos: https://itunes.apple.com/us/app/sonos-voice/id689673100?mt=8

Alternative Sonos App welche aus der Visu heraus aufgerufen werden kann und direkt zum jeweiligen Raum springt: https://itunes.apple.com/de/app/sonophone/id815251931?mt=8

 

Multilinguale text-to-speech

Da in dem neuen Release tiefgreifende Änderungen durchgeführt wurden, dauerte es etwas länger da sich auch die Testphase sich etwas hinzog.

Nun zu den Neuerungen/Features und behobene Bugfixes:

  • Neuer Parameter für die Loxone Daten Übertragung hinzugefügt. Es wir jetzt zusätzlich ein Text Eingangsverbinder (Beschreibung in MS: „source_$zone„ gefüllt, Inhalt ist für Radio=1 oder Playlist=2)
  • Neuer Parameter für die Loxone Daten Übertragung hinzugefügt. Es wir jetzt zusätzlich zu den bekannten UDP Daten noch „grp_$zone„ übertragen, Inhalt ist für Single Zone=1 oder Gruppen Master=2 und Gruppen Member=3)
  • addmember/removemember gefixt um mehr als eine Zone zum Master hinzuzufügen

  • Parameter "rampto" für Radiosender Funktionen hinzugefügt

  • Fehlermeldung an Loxone Text Eingangsverbinder falls ein Fehler im Sonos Plugin auftrat

  • Komplette Überarbeitung der Gruppenfunktionen bzw. Gruppendurchsagen. T2S werden jetzt wieder an das Ende einer PL geladen und nach dem Abspielen wieder gelöscht. Ausnahme ist wenn eine Playliste mehr als 998 Titeln enthält.

  • T2S wurde verschlankt und optimiert, so dass die Performance deutlich gestiegen ist.
  • zusätzliche Parameter radio&radio=SENDER und playlist&playlist=NAME DER PLAYLISTE (gilt für eine Zone als auch für eine Gruppe) hinzugefügt

Erstellt eine Gruppe und lädt  einen Radio Sender (ALT)

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&action=groupradioplaylist&playlist=EXAKTER NAME_DER_RADIOSTATION

Erstellt eine Gruppe und lädt einen Radio Sender (NEU)

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&action=radioplaylist&playlist=EXAKTER NAME_DER_RADIOSTATION
  • vereinfachte T2S Durchsage mit parameter "say". Es gibt keine Differenzierung mehr zwischen Gruppen- oder Einzeldurchsage.

Einzeldurchsage mit Playgong und fixer Lautstärke 30%

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&playgong=yes&action=say&text=dies ist ein einzeldurchsage&volume=30

Gruppendurchsage ohne Playgong und mit Lautstärkereduzierung für die Gruppe von 20% des Standardwertes je Zone

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&action=say&text=dies ist ein gruppendurchsage&volume=20
  • bei Nutzung von say oder sendgroupmessage kann in Verbindung mit &member= der parameter all verwendet werden. Durch all werden alle Zonen gruppiert und die T2S abgespielt
/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=all&action=say&text=dies ist ein gruppendurchsage
  • und final Sonos goes international... Multilinguale Sprachansagen für alle Provider (außer derzeit Responsive Voice an denen ich noch arbeite) hinzugefügt (Details siehe Tablle). AWS Polly SDK nicht mehr notwendig und wurde entfernt. Es stehen je nach Verwendung welcher T2S Engine maximal 86 unterschiedliche Sprachen mit maximal 135 Stimmen zur Verfügung. Um diese Sprachen nutzen zu können, muss zu jeder Syntax entweder der Parameter $voice=WERT oder &lang=WERT hinzugefügt werden. HINWEIS! Falls eine deutsche Ansage genutzt werden soll benötigt man keinen der beiden Parameter, da der Default aus der Konfiguration kommt. Selbstverständlich funktionieren die bisher bekannten "sendmessage" und "sendgroupmessage" nach wie vor. 

Die Syntax für eine englischsprachige Gruppen T2S bei Verwendung von AWS Polly lautet wie folgt:

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&action=say&text=this is a testmessage&voice=Joey

Die Syntax für eine griechischsprachige Gruppen T2S bei Verwendung von Google lautet wie folgt:

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&action=say&text=Αυτ? ε?ναι ?να μ?νυμα&lang=el-GR

Einzeldurchsage des gegenwärtigen/morgigen Pollenwetters ohne Playgong und Lautstärke von 35%

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&pollen&volume=35

Gruppendurchsage einer Wetterwarnung bzw. Wetterhinweises mit Playgong und Gruppenlautstärke von 30%

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&playgong=yes&action=say&warning&volume=30

 

Erstellen einer batch Datei mit allen Ansagen die zu einem späteren Zeitpunkt aufgerufen werden kann. Um diese Funktion nutzen zu können muss am Ende der Standardsyntax für T2S nur der Parameter $batch oder playbatch angehängt werden.

Speichern der T2S

Wenn der Parameter &batch angegeben ist wird die T2S erstellt und gespeichert, jedoch nicht abgespielt, sondern der Dateiname für späteres Abspielen in eine Datei geschrieben. Das ganze kann beliebig oft wiederholt werden und die Datei wird jeweils um einen Eintrag ergänzt.

Hinweis: Die Funktion kann nur ohne Angabe von "volume=xx", "member=ANDERE ZONE", "playmode&playmode=xx", "rampto=xx" und "playgong=yes" genutzt werden, da sie ja nichts anderes macht als ein MP3 File zu erstellen und in eine Datei zu schreiben

Bsp.: Wettervorhersage in batch schreiben

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&weather&batch

T2S "Dies ist ein Test" in batch schreiben

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&playgong=yes&action=say&text=Dies ist ein Test.&batch

TIP: Setzt am Ende einer T2S jeweils ein Satzzeichen (i.d.R. Punkt), ansonsten wird zwischen den einzelnen Ansagen keine Pause eingelegt.

 

Abspielen der gespeicherten T2S

Zum Abspielen der gespeicherten T2S können wiederum die Parameter "volume=xx", "member=xx", "rampto=xx", "playmode=xx" und "playgong=yes" wie bei einer normalen Syntax genutzt werden. Die Syntax ist hier ziemlich einfach aufgebaut, dazu muss lediglich der Parameter &playbatch angegeben werden. Anschließend werden alle T2S angesagt und die Datei gelöscht.

Abspielen aller gespeicherten T2S auf 3 Zonen mit jingle vorher und Volume von 40%

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&playgong=yes&member=ANDERE ZONE,ANDERE ZONE&action=&playbatch&volume=40

Funktion zum Ausschalten aller Sonos Alarme/Wecker. Der Zustand vor dem Ausschalten wird gespeichert und kann später zur Wiederherstellung genutzt werden.

Alle Sonos Alarme ausschalten

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=alarmoff

Alle Alarme gemäß Ursprungszustand wiederherstellen

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=alarmon

Einzelnen oder einzelne Alarme ausschalten

zuerst mit der funktion ...action=listalarms (im Browser) die bestehenden Alarme anzeigen lassen um die ID des/der Alarme zu erhalten.

Einzelnen Alarm ausschalten

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=alarmoff&id=37

Mehrere Alarme ausschalten

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=alarmoff&id=37,42,200

Mehrere Alarme ausschalten

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=alarmon&id=37,42,202



Funktion zapzone

Funktion zapzone, welche eine typische Tasterfunktion ist. Bei jedem Klick klinkt sich die Zone (zone=DEINE ZONE) in bereits laufende Player als Member ein, wenn alle spielenden Player per Klick durchgezappt wurden, switched das Script dann zur bekannten Funktion nextradio und zappt sich per Klick durch die Radio Favoriten. Nach ca. 40 Sekunden wird das Skript resetet so dass es wieder mit dem Zappen der Player beginnt.

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=zapzone

Möglichkeit der Ansage des aktuellen Radiosenders bei den Funktionen nextradio und zapzone. Über die Plugin Konfiguration wird die ensprechende Funktion de-/aktiviert.

 

Neues Addon "time-to-destination" welches die Entfernung und Fahrzeit von einem in der Sonos Plugin Konfiguration anzugebenden Standortes zu einem in der Syntax anzugebenden Ziel kalkuliert und das Ergebnis als T2S ausgibt. WICHTIG: Google API key ist notwendig und Ergänzung der Plugin Konfiguration muss durchgeführt werden.

Einfaches Besipiel:

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&distance&to=Musterstrasse 11,99999 Musterstadt

Durch die Nutzung folgender Parameter kann die Berechnung beeinflusst werden:

&traffic → Berechnung der Fahrzeit findet unter Berücksichtigung der gegenwärtigen Verkehrslage statt. Ohne diesen Parameter wird der schnellste Weg ohne Berücksichtigung der gegenwärtigen Verkehrslage berechnet.

&model= → ist nur sinnvoll in Kombination mit dem Parameter &traffic einzusetzen. Hier können 3 verschiedene Parameter gewählt werden:

pessimisticgibt an, dass der für duration_in_traffic zurückgegebene Wert höher als die tatsächliche Reisezeit an den meisten Tagen sein soll. Einzelne Tage mit besonders schlechten Verkehrsbedingungen können diesen Wert überschreiten.

best_guess: (Standard) gibt an, dass der für duration_in_traffic zurückgegebene Wert die bestmögliche Einschätzung der Verkehrsbedingungen auf der Grundlage von Werten aus Vergangenheit und Gegenwart darstellen soll. Dabei werden Werte aus der Gegenwart stärker berücksichtigt, je näher departure_time am Zeitpunkt „jetzt“ liegt.

optimistic: gibt an, dass der für duration_in_traffic zurückgegebene Wert niedriger als die tatsächliche Reisezeit an den meisten Tagen sein soll. Einzelne Tage mit besonders guten Verkehrsbedingungen können diesen Wert unterschreiten.

 

Komplexeres Besipiel:

Berechnet die Fahrzeit und Entfernung unter Berücksichtigung des Verkehrsaufkommens und der Berechnungsmethode optimistic:

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&distance&to=Musterstrasse 11, 99999 Musterstadt&traffic&model=optimistic

Berechnet die Fahrzeit und Entfernung unter Berücksichtigung des Verkehrsaufkommens und der Berechnungsmethode best_guess (da Standard):

 

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&distance&to=hauptstrasse 1 hamburg&traffic

 

Addon Müllabfuhr

Neues Addon zur T2S Ansage von Abfallterminen basierend auf dem CALDav Plugin ohne Einbeziehung des MS. Die Abfalltermine müssen in einem CALDav kompatiblem Kalender als Ganztagestermine gepflegt sein, dieses kann entweder in einem der vorhandenen Unterkalendern oder in einem neu zu erstellenden Kalender geschehen. Der Text im Eintrag ist derjenige der später per T2S ausgegeben wird.

 

Kalendereinträge erstellen

Die jeweiligen Abholtermine vom lokalen Entsorger als ICS Datei herunterladen (jeweils für das ganze Jahr) dann die ICS Datei(en) z.B. mit Notepad++ bearbeiten (hier speziell das SUBJECT) und die Abfallart eintragen so dass anschließend die geänderte ICS Datei problemlos in einen Kalender importiert werden kann.

Die zu nutzende Syntax für die Sonos4lox Konfiguration muss mit dem CALDav Plugin ermittelt werden. Es kann entweder mit &events= oder auch ohne diese genutzt werden (wenn keine events genutzt werden auch bitte den Parameter &events= nicht in der Syntax verwenden). Zusätzlich auch bitte den Parameter $debug nicht in der Syntax nutzen, dieser wird vom Script hinzugefügt. Bitte ansonsten gemäß den Vorgaben des CALDav Plugins vorgehen. 

Beispiel einer vom CALDav Plugin erstellten Syntax die anschließend in das Sonos4lox Plugin kopiert werden muss:

In u.g. Bsp. werden für die 4 angegebenen Abfallarten alle Termine der nächsten 14 Tage ermittelt die im Unterkalender "Muell" in Google gespeichert sind. Vorteil des Unterkalenders ist dass er in den diversere Visualisierungen/Apps aus dem Kalender ausgeblendet werden kann.

gleiches Bsp. nur ohne events:

 

Bei der T2S gibt es eine Ansage am Abend vorher (18:00h - 04:00h) und eine zweite Ansage am Morgen des Abholtermines (04:00h - 12:00h). Innerhalb dieser zwei Zeitfenster kann ein entsprechend zeitgesteuerter Trigger (Impuls um...) im MS angelegt werden. Wenn kein Termin ansteht wird auch logischerweise nichts angesagt.

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&abfall

 

Desweiteren gibt es noch die Möglichkeit eine T2S eines 2. Kalenders angesagt zu bekommen z.B. eines privaten Kalenders, hier wiederum werden Stunden- als auch Ganztagestermine angesagt. Die Vorgehensweise ist die gleiche, Syntax über das CALDav Plugin generieren und testen (Browser) und dann in die Sonos4lox Konfiguration kopieren.

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&calendar

 

 

WICHTIG: Es wird immer nur der nächste, gültige Termin angesagt!


Neue Funktion "bauernregel"

generiert eine T2S Ansage für die heutig gültige Bauerregel (Nutzung z.B. im Nachgang zur Wettervorhersage im batch modus)

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&bauernregel

 

Neue Funktion "witz"

generiert ein Vorlesen eines Zufallswitzes

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=say&witz

 

LineIn Eingang

Der LineIn Eingang der PLAY:5, CONNECT und CONNECT:AMP wurde hinzugefügt. 

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=linein

Neuer Parameter "standardvolume" für die Funktionen "groupsonosplaylist" und "groupradioplaylist" wurde hinzugefügt. Bei Nutzung des Parameters am Ende der Syntax wird die in der Sonos4lox Konfiguration hinterlegte Sonos Standard Lautstärke für die jeweilge Zone eingestellt.

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=ANDERE ZONE,ANDERE ZONE&action=groupradioplaylist&playlist=Radio FFH&standardvolume

 

 

Funktion nextpush

Neue Funktion 'nextpush' Wenn PL läuft -> next track, Ende PL -> 1st track, Wenn Radio läuft -> nextradio im Loop, Wenn nichts läuft und die Queue leer ist -> nextradio im Loop

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=nextpush


Funktionen Dienstanbieter (Apple Music, Spotify, etc.)

Möglichkeit des direkten Abspielens von Playlisten / Alben folgender Diensteanbieter:

  • Amazon
  • Apple
  • Napster
  • Spotify

sowie lokaler Dateien die auf einer NAS, einem USB Stick, einem Laufwerk oder sonst wo liegen. Voraussetzung ist dass diese in der Sonos Bibliothek verfügbar sind.

Für die Diensteanbieter wird die PL oder das Album über die jeweilige ID geladen. Um diese zu ermitteln musst du in die Anwendung (oder Browser) des Anbieters gehen, PL oder Album suchen und dir die ID ermitteln. Dies ist bei den Anbietern möglich über die Social Media links oder bei rechtsklick auf die Alben. Meistens steht dort "Link kopieren" oder "Link für Facebook" (oder Google, Instagram, etc.) und dann in irgendein Text Prog. kopieren.

Die Links sehen dann wie folgt aus. Das fett rote ist dann die ID die du für die Syntax kopieren musst:

Amazon Album:

https://music.amazon.de/albums/B00IK3IV6Y

Amazon Playlist:

https://music.amazon.de/playlists/B071W6HN35?ref=dm_wcp_pp_link_pb_pp_rec

Spotify Playlist:

spotify:user:spotify:playlist:37i9dQZF1DX3h1vasAdBTc

Spotify Album:

spotify:album:0PNXB6AmSfM9oS0YwNkCYH

Napster Playlist:

https://app.napster.com/playlist/pp.207466845

Napster Album:

https://app.napster.com/artist/art.4212/album/alb.285904254

https://app.napster.com/artist/sia/album/everyday-is-christmas-287816565

Apple Album:

https://itunes.apple.com/de/album/eiskalt/1288630360

Apple Playlist:

 https://itunes.apple.com/de/playlist/angesagt-dance/pl.6bf4415b83ce4f3789614ac4c3675740


Wenn du die ID gefunden hast musst du diese nur noch in die Syntax kopieren und dann sollte die Playliste oder das Album geladen werden. Für den jeweiligen Anbieter einfach den blauen Teil austauschen (amazon, apple, napster, spotify). Bitte darauf achten das bei einem Album auch albumuri und bei Playlisten playlisturi in der Syntax verwendet wird.:
 
/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=amazon&albumuri=ID&volume=5

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=amazon&playlisturi=ID&volume=5

Bei Spotify Playlisten könne auch User spezifische Playlisten genutzt werden, dafür muss aber zusätzlich der User Name in der Syntax angegeben werden. Hier ein Bsp. des Spotify links für die Playliste Club Velcro (Revisited) vom User stevie-gfc:

spotify:user:stevie-gfc:playlist:46V4B0kaRt7MHYCwt6BpmP

und hier die dazugehörige Syntax:

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=spotify&playlisturi=46V4B0kaRt7MHYCwt6BpmP&volume=5&user=stevie-gfc

 

 

Lokale Tracks abspielen:

 es könne auch lokale Tracks aus deinem Netzwerk (NAS, Festplatte, USB Stick, etc.) abgespielt werden, hier gilt es aber zu beachten das diese in der Sonosbibliothek vorhanden sein sollten, ansonsten könnte es Freigabe Porblem geben. Außerdem muss IMMER der volle Pfad und auch die Dateiendung mitgegeben werden. Vom Format her werden Unix und Windows Angaben aktzeptiert und eine Prüfung auf unterstützte Formate ist integriert.
Folgende Audio Formate werden unterstützt:

Hier einige Beispiele:
Abspielen einer Datei von einem USB Stick oder Laufwerk E:\ an einem PC:

 

/plugins/sonos4lox_dev/index.php/?zone=<ZONE>&action=track&file=//DESKTOP/E/05 Ich Und Ich - Vom Selben Stern.mp3

 

Abspielen einer Datei von einer NAS 

 

/plugins/sonos4lox_dev/index.php/?zone=<ZONE>&action=track&file=\\SYN-DS415\music\Sonstige\DE_TOP100_01-2014\15 - Family Of The Year - Hero.mp3

Abspielen einer Datei vom LoxBerry tts/mp3 Verzeichnis 

 

/plugins/sonos4lox_dev/index.php/?zone=<ZONE>&action=track&file=//loxberry/sonos_tts/mp3/07 - Eminem - The Monster (feat. Rihanna).mp3


Abspielen einer Datei vom LoxBerry Datenverzeichnis

/plugins/sonos4lox_dev/index.php/?zone=<ZONE>&action=track&file=//LOXBERRY/loxberry/data/plugins/sonos4lox/tts/mp3/07 - Eminem - The Monster (feat. Rihanna).mp3

 

Neue Funktion um eine zufällige Wiedergabe von SONOS Playlisten oder SONOS Radio Sender zu starten. Es könne auch Ausnahmen in der Syntax mitgegeben werden. User Anwendungsfall ist Playlisten oder Radiosender durch Zufallsgenerator über Bewegungsmelder oder Taster aufzurufen, aber nicht jeder Sender bzw. jede Playliste sollte als Basis genutzt werden.

Bsp. zufällig gewählter Radiosender aus allen Radiosender (Radio von TuneIn → Meine Radiosender):

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=randomradio
Bsp. zufällig gewählte Playliste aus allen Playlisten:
/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=randomplaylist

Um die Ausnahmen einmalig hinzuzufügen sind die o.g. Befehle im Browser einzugeben und dann basierend auf der Bildschirmausgabe die Sender/Playlisten zu selektieren die nicht inkludiert sein sollen.

Bsp. einer Ausgabe ...randomradio

Array
(
    [0] => Array
        (
            [typ] => item
            [res] => x-sonosapi-stream%3As90461%3Fsid%3D254%26flags%3D32
            [duration] => leer
            [albumArtURI] => leer
            [title] => 181.FM Jammin 181
            [artist] => leer
            [id] => R%3A0%2F0%2F3
            [parentid] => R%3A0%2F0
            [album] => leer
        )

    [1] => Array
        (
            [typ] => item
            [res] => x-sonosapi-stream%3As45087%3Fsid%3D254%26flags%3D32
            [duration] => leer
            [albumArtURI] => leer
            [title] => 1LIVE diggi - Multimedia - 1LIVE
            [artist] => leer
            [id] => R%3A0%2F0%2F4
            [parentid] => R%3A0%2F0
            [album] => leer
        )

    [2] => Array
        (
            [typ] => item
            [res] => x-sonosapi-stream%3As6642%3Fsid%3D254%26flags%3D8224%26sn%3D0
            [duration] => leer
            [albumArtURI] => leer
            [title] => 89.0 RTL
            [artist] => leer
            [id] => R%3A0%2F0%2F38
            [parentid] => R%3A0%2F0
            [album] => leer
        )

Wenn jetzt der Sender 1LIVE diggi - Multimedia - 1LIVE nicht inkludiert werden soll ist lediglich die Nummer des Senders in der Array als Parameter &except=x,x,x,x in der Syntax anzugeben. Es können mehrere Nummern durch komma getrennt angegeben werden. Die hier angegebenen Nummern der Sender/Playlisten werden nicht durch den Zufallsgenerator bedacht.

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=randomradio&except=1

 

Exakt die gleiche Vorgehensweise gilt für Playlisten


Release 3.x.x für LoxBerry V1.0.x

mit dem Release 3.x..x wurde das Sonos Plugin auf die neue Interface Schnittstelle V2 vom LoxBerry umgestellt und unterstützt somit nicht mehr das LoxBerry Release v0.2.4. 

Die wichtigsten Neuerungen sind im Bereich der Plugin Konfig angesiedelt und weniger in Sonos Funktionen.  Zu den Neuerungen gehören in erster Linie folgende Details:

  • Update Möglichkeit des Plugins direkt über den LoxBerry möglich
  • Auswahl der Standardsprache bzw. -stimme je T2S Engine ist jetzt möglich
  • Das Plugin ist jetzt Translate kompatibel und kann in eine lokale Sprache gemäß Translate übersetzt werden
  • Die bis dato hard codierten Texte der Addon's können über die Translate Funktion individuell angepasst werden
  • Das Abspielen von messageid's im batch Modus wurde hinzugefügt
  • Je T2S kann jetzt ein individuelles Jingle genutzt werden.
  • Detailiiertes Logging implementiert

Individuelle Jingles

Die jeweiligen jingles müssen in dem Ordner data/plugins/sonos4lox/tts/mp3/ abgelegt sein, nur von dort ist ein Aufruf möglich. Gleichzeitig wird beim Aufruf geprüft ob das angegebene File vorhanden und abspielbar ist.

Bitte darauf achten das die Endung .mp3 NICHT mit angegeben wird.

Beispiel für Standard Jingle (bei diesem Aufruf wird das Standard Jingle aus der Plugin Config genutzt):

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=yes&action=say&text=Dies ist ein Test&volume=35


Beispiel für individuelles Jingle (bei diesem Aufruf wird das Jingle "3x glocken.mp3" aus dem o.g. Ordner genutzt):

/plugins/sonos4lox/index.php?zone=DEINE_ZONE&playgong=3x glocken&action=say&text=Dies ist ein Test&volume=35


Onlineprüfung der Player

Das Problem betrifft hauptsächlich User die ihre Sonos Steckdosen stromlos schalten so das es vorkommen kann, dass bei einem Funktionsaufruf eine Latenzzeit auftritt. Bei jeder Funktion/Syntax prüft das Skript alle Zonen hinsichtlich Online Verfügbarkeit. Diese Prüfung ist nicht Performance intensiv solange alle Player Online sind, wenn aber, aus diversen Gründen, Player nicht Online sind wird diese Prüfung (ähnlich einem Ping) dreimal durchgeführt und dann für alle anderen Player erneut. Das Verhalten kann somit zu Verzögerungen (Latenzen) bei den jeweiligen Befehlen führen.

Um dieses Verhalten zu unterbinden ist jetzt die Online Prüfung konfigurierbar. Wenn die Prüfung ausgeschaltet ist, kann es aber vorkommen das unerwartete Fehler auftauchen, wenn für Player die Offline sind, Funktionen ausgeführt werden. Von daher besteht durch die Deaktivierung dieser Prüfung durch aus ein erhöhtes Fehlerrisiko.


Balanceregelung der Player

Die Regelung der Balance kann mit folgender Syntax verändert werden.

Bsp.: Die Balance des linken Lautsprechers deiner Zone wird um 80% reduziert

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=balance&balance=LF&value=20

Um wieder zum Standardwert zurück zu kehren muss die gleiche Syntax mit dem Wert 100 verwendet werden. Erlaubte Parameter sind LF oder lf für links und RF oder rf für rechts, der anzugebende Wert muss zwischen 0 und 100 liegen.


Um alle Werte (Balance/Höhen/Bass) wieder auf Standard zu setzen kann auch folgende Syntax verwendet werden

/plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=resetbasic




Tabelle aller möglichen Kombination für multilinguale T2S:

LanguageAcronymAWS PollyPico TTS

Ivona

GoogleVoiceRSSMAC OSXRespVoice
Parameter for Syntaxlang&voice=&lang= &lang=&lang=&voice=&lang=
Afrikaans (South Africa)af-ZA   af-ZA  af-ZA
Albaniansq-SQ      sq-SQ
Arabic (Algeria)ar-DZ   ar-DZ  ar-DZ
Arabic (Bahrain)ar-BH   ar-BH   
Arabic (Egypt)ar-EG   ar-EG   
Arabic (Iraq)ar-IQ   ar-IQ   
Arabic (Israel)ar-IL   ar-IL   
Arabic (Jordan)ar-JO   ar-JO   
Arabic (Kuwait)ar-KW   ar-KW   
Arabic (Lebanon)ar-LB   ar-LB   
Arabic (Morocco)ar-MA   ar-MA   
Arabic (Oman)ar-OM   ar-OM   
Arabic (Qatar)ar-QA   ar-QA   
Arabic (Saudi Arabia)ar-SA   ar-SA   
Arabic (State of Palestine)ar-PS   ar-PS   
Arabic (Tunisia)ar-TN   ar-TN   
Arabic (United Arab Emirates)ar-AE   ar-AE   
Armenianhy-HY      hy-HY
Basque (Spain)eu-ES   eu-ES   
Bosnianbs-BS      bs-BS
Bulgarian (Bulgaria)bg-BG   bg-BG   
Catalan (Spain)ca-ES   ca-ESca-ES ca-ES
Chinese, Cantonese (Traditional, Hong Kong)yue-Hant-HK   yue-Hant-HK   
Chinese, Mandarin (China)zh-CN    zh-CN  
Chinese, Mandarin (Hong Kong)zh-HK    zh-HKSinji 
Chinese, Mandarin (Simplified, China)cmn-Hans-CN   cmn-Hans-CN   
Chinese, Mandarin (Simplified, Hong Kong)cmn-Hans-HK   cmn-Hans-HK   
Chinese, Mandarin (Taiwan)zh-TW    zh-TW  
Chinese, Mandarin (Traditional, Taiwan)cmn-Hant-TW   cmn-Hant-TW   
Croatian (Croatia)hr-HR   hr-HR  hr-HR
Czech (Czech Republic)cs-CZ   cs-CZ Zuzanacs-CZ
Danishda-DKMads  da-DKda-DKSarada-DK
Danishda-DKNaja      
Dutchnl-NLLotte   nl-NL nl-NL
Dutchnl-NLRuben      
Dutch (Belgium)      Ellen 
English (Australian)en-AUNicole  en-AUen-AU en-AU
English (Australian)en-AURussell Russell    
English (British)en-GBAmyen-GBAmyen-GBen-GB en-GB
English (British)en-GBBrian Brian    
English (British)en-GBEmma Emma    
English (Canada)en-CA   en-CAen-CA  
English (Indian)en-INRaveena Raveenaen-INen-INVeena 
English (Ireland)en-IE   en-IE Moira 
English (New Zealand)en-NZ   en-NZ   
English (Philippines)en-PH   en-PH   
English (South Africa)en-ZA   en-ZA   
English (US)en-USIvy Chipmunk en-USAlex 
English (US)en-USJoanna Eric    
English (US)en-USJoey Ivy    
English (US)en-USJustin Jennifer    
English (US)en-USKendra Justin    
English (US)en-USKimberly Kendra    
English (US)en-USSalli Kimberly    
English (US)en-US  Salli    
English (US)en-US  Joey    
English (Welsh)en-GB-WLSGeraint      
Esperantoeo-EO      eo-EO
Filipino (Philippines)fil-PH   fil-PH   
Finnish (Finland)fi-FI   fi-FIfi-FISatufi-FI
Frenchfr-FRMathieu Mathieu fr-FRThomas 
Frenchfr-FRCelinefr-FRCeline   fr-FR
French (Canadian)fr-CAChantal Chantalfr-CAfr-CAAmelie 
Galician (Spain)gl-ES   gl-ES   
Germande-DEHansde-DEHansde-DEde-DESteffide-DE
Germande-DEMarlene Marlene  Markus 
Germande-DEVicki      
Greek (Greece)el-GR   el-GR  el-GR
Hebrew (Israel)he-IL   he-IL   
Hindi (India)hi-IN   hi-IN  hi-IN
Hungarian (Hungary)hu-HU   hu-HU Mariskahu-HU
Icelandicis-ISDora Dora    
Icelandicis-ISKarl Karl   is-IS
Icelandic (Iceland)is-IS   is-IS   
Indonesian (Indonesia)id-ID   id-ID  id-ID
Italianit-ITCarlait-ITCarla it-IT it-IT
Italianit-ITGiorgio Giorgio    
Italian (Italy)it-IT   it-IT   
Japaneseja-JPMizuki  ja-JPja-JPKyokoja-JP
Korean (South Korea)ko-KR   ko-KRko-KRYunako-KR
Latvianlv-LV      lv-LV
Lithuanian (Lithuania)lt-LT   lt-LT   
Malay (Malaysia)ms-MY   ms-MY   
Macedonianmk-MK      mk-MK
Norwegiannb-NOLiv Livnb-NOnb-NO nb-NO
Persian (Iran)fa-IR   fa-IR   
Polishpl-PLJacek Agnieszkapl-PLpl-PLZosia 
Polishpl-PLJan Jacek    
Polishpl-PLEwa Ewa   pl-PL
Polishpl-PLMaja Jan    
Polishpl-PL  Maja    
Portuguese (Brazilian)pt-BRRicardo Vitoriapt-BRpt-BRLucianapt-BR
Portuguese (Brazilian)pt-BRVitoria Ricardo    
Portuguese (European)pt-PTCristiano Cristianopt-PTpt-PT  
Portuguese (European)pt-PTInes Ines   pt-PT
Romanianro-ROCarmen Carmenro-RO Ioanaro-RO
Russianru-RUMaxim Maximru-RUru-RU  
Russianru-RUTatyana Tatyana   ru-RU
Serbian (Serbia)sr-RS   sr-RS  sr-RS
Slovak (Slovakia)sk-SK   sk-SK  sk-SK
Slovenian (Slovenia)sl-SI   sl-SI   
Spanish (Argentina)es-AR   es-AR   
Spanish (Bolivia)es-BO   es-BO   
Spanish (Castilian)es-ESConchita Conchitaes-ESes-ES es-ES
Spanish (Castilian)es-ESEnrique Enrique    
Spanish (Chile)es-CL   es-CL   
Spanish (Colombia)es-CO   es-CO   
Spanish (Costa Rica)es-CR   es-CR   
Spanish (Dominican Republic)es-DO   es-DO   
Spanish (Ecuador)es-EC   es-EC   
Spanish (El Salvador)es-SV   es-SV   
Spanish (Guatemala)es-GT   es-GT   
Spanish (Honduras)es-HN   es-HN   
Spanish (Latin American)es-USMiguel Penelopees-US   
Spanish (Latin American)es-USPenelope Miguel   es-US
Spanish (Mexico)es-MX   es-MXes-MX  
Spanish (Nicaragua)es-NI   es-NI   
Spanish (Panama)es-PA   es-PA   
Spanish (Paraguay)es-PY   es-PY   
Spanish (Peru)es-PE   es-PE   
Spanish (Puerto Rico)es-PR   es-PR   
Spanish (Uruguay)es-UY   es-UY   
Spanish (Venezuela)es-VE   es-VE   
Swahilisw-SW      sw-SW
Swedishsv-SEAstrid Astridsv-SEsv-SE sv-SE
Tamilta-TA      ta-TA
Thai (Thailand)th-TH   th-TH  th-TH
Turkishtr-TRFiliz Filiztr-TR  tr-TR
Ukrainian (Ukraine)uk-UA   uk-UA   
Vietnamese (Vietnam)vi-VN   vi-VN  vi-VN
Welshcy-GBGwyneth      
Welshcy-GBGeraint     cy-GB
Zulu (South Africa)zu-ZA   zu-ZA   

Bekannte Probleme

  • T2S bei Playlisten mit mehr als 1.000 Titeln → erledigt
  • T2S an Stereopaar (2 Player zusammen) → erledigt
  • Bei T2S und bestimmten Gruppenkonstallation werden nicht alle Zonen wieder in den Ursprungszustand zurückgesetzt → erledigt
  • Parameter rampto auch für Radiosender nutzen → erledigt
  • keine Anzeige der Titel/Interpret Info wenn die Zone Member einer Gruppe ist. → erledigt
  • Bei der Übergabe des Radiosenders an Loxone wird der Name das Senders teilweise übergangen bzw. nicht korrekt angezeigt. → erledigt
  • bei nextradio beginnt Skript nicht wieder am Anfang der Radio Favoriten (Korrektur: Hängt am Sender der nicht korrekt übermittelt wird) . → erledigt
  • T2S bei Playlisten im Shuffle Modus (erneute Wiedergabe der Playliste an gleicher Position nur mit anderem Titel)  → erledigt
  • bei Nutzung der Spotify App zur Musikwiedergabe wird Sonos Playliste nach T2S aufgerufen. → verworfen (würde eine weitere komplette Entwicklung sein)

Roadmap

  • Einbinden des Line-in Einganges bei den Playern → erledigt
  • Multilinguale Sprachunterstützung (bis zu 51 Sprachen) für T2S (kein sonos-/clock-/weather-to-speech) → erledigt
  • Bei den Radio Favoriten kann derzeit kein Sender eingegeben werden der ein einfaches oder auch doppeltes Hochkomma enthält → erledigt
  • Handling von Stereo Paaren (PLAY:1, PLAY:3 und PLAY:5) → erledigt
  • T2S Pico2Wave Offline Engine einbinden → erledigt
  • Einbinden von Fritz-Lox Plugin zur Stummschaltung wenn Telefonanruf→ offen
  • Zusätzlicher Parameter Radio oder Playliste in UDP Daten bereitstellen → erledigt
  • T2S AWS Polly Engine einbinden → erledigt
  • Microsoft T2S bzw. Translator und Speech Engine einbinden → verworfen da Qualität schlecht und hoher Aufwand
  • Möglichkeit das T2S als batch gespeichert werden und zu einem späterem Zeitpunkt sämtliche gespeicherte Ansage erfolgen  → erledigt
  • Bei nextradio soll der Radio Sender anstatt des Titel / Interpreten angesagt werden → erledigt
  • Nutzung der Sonos Favoriten als Playliste (ohne Radio) → in Arbeit 
  • callback Funktionen (selbstständige Rückmeldungen von Sonos)
  • Warten auf die offizielle Sonos API in Q2/2017 (Lächeln)
  • Umschalten von PL/Radio auf Line-In (User Wunsch)  → erledigt
  • Nutzen von userspezifischen Spotify Playlisten (User Wunsch)  → erledigt
  • Funktion um zufällig gewählte Playlisten/Radiosender abzuspielen Bsp. Bewegungsmelder (User Wunsch)  → erledigt

FAQ / Troubleshooting

  • Warum bekomme ich beim Scan Zonen keine Player angezeigt?
  • Ist evtl. in der Sonos App der UPnP Dienst deaktiviert. Bitte Sonos Einstellungen überprüfen
  • Ich verwende eine Sonos Bridge in meinem Netzwerk. Am besten entfernen und erneut scannen.
  • Was mache ich wenn ich eine Zone nicht mehr benötige?
  • Vor der nicht mehr benötigten Zone den Papierkorb anticken und speichern
  • Was mache ich wenn ich eine Zone in der Sonos App umbennene? 
  • Vor der umbenannten Zone den Papierkorb anticken und speichern. Anschließend den Scan neu ausführen, Daten ergänzen und speichern. Ggf. den Raum in den Ausgangsverbindern im MS anpassen.
  • Was mache ich wenn ich eine neue Zone hinzufügen möchte?
  • Den Scan erneut aufrufen, Daten ergänzen und speichern
  • Warum bekomme ich bei T2S eine Fehlermeldung bezüglich curl_init?
  • Du hast das LoxBerry Image auf einer VM installiert. Aus derzeit unerfindlichen Gründen werden 3 Pakete bei der Grundinstallation vom LoxBerry nicht installiert. Bitte installiere mit dem root User manuell folgende Pakete: apt-get install curl libcurl3 php5-curl
  • Warum bekomme ich einen Fehler bei einer Gruppendurchsage?
  • Eine Zone darf innerhalb der Syntax nur einmal verwendet werden und nicht über member= noch einmal hinzugefügt werden.
  • Bsp. falsch: http://<DEINE IP>/plugins/sonos4lox/index.php?zone=kueche&action=sendgroupmessage&member=kueche,buero&text=dies ist ein test&groupvolume=15
  • Bsp. richtig: http://<DEINE IP>/plugins/sonos4lox/index.php?zone=kueche&action=sendgroupmessage&member=buero&text=dies ist ein test&groupvolume=15
  • Warum bekomme ich keine Daten per UDP in den Miniserver?
  • Der Datentransfer in der Konfiguration ist ausgeschaltet.
  • Das Portforwarding am Router nicht durchgeführt. (siehe "Miniserveranbindung" → "Portforwarding") 
  • Senderadresse im virtuellen UDP-Eingang leer lassen
  • Warum höre ich keinen playgong/jingle vor meiner T2S?
  • Das Jingle MP3 File muss in folgendes Verzeichnis kopiert werden: /loxberry/data/plugins/sonos4lox/tts/mp3
  • Warum wird keine messageid abgespielt?
  • Die numerischen MP3 Files müssen in folgendes Verzeichnis kopiert werden: /loxberry/data/plugins/sonos4lox/tts/mp3
  • Warum wird keine MP3 (T2S oder messageid) abgespielt?
  • Du hast in deinem Router die IPv6 Unterstützung markiert.
  • Warum bekomme ich nur 1x eine T2S und danach muss ich die Zone vom Netz nehmen? Z. B. Fehler "/PHPSonos.php on line 2478" (wird sich mit Release 2.0 erledigen)  → erledigt
  • Derzeit ist mir die Ursache nicht bekannt, ich kann es auch nicht reproduzieren. Ein Workaround ist die aktuelle Playliste aus der Queue löschen, die Zone ca. 2 Minuten vom Strom zu nehmen und dann sollte es funktionieren.
  • Bei Nutzung von Radio oder leerer Queue sollte es einwandfrei funktionieren. Es kann auch sein das evtl. mind. 1 Titel der Playliste (z.B. Streaming Liste) nicht mehr erreichbar ist und von daher gibt es den Fehler beim Speichern der Playliste.
  • Warum wird eine T2S zweimal abgespielt obwohl im virtuellen Ausgangsbefehl nur ein Eintrag bei "Befehl bei EIN" vorhanden ist?
  • Im virtuellen Ausgangsbefehl ist der Haken bei "Als Digitalausgang verwenden" nicht entfernt. Das muss bei Ansage eines Textes mit dem Parameter <v> (Übernahme eines Wertes aus Loxone) durchgeführt werden.
  • Im virtuellen Ausgang ist der Haken bei "Verbindung nach Senden schließen" nicht gesetzt
  • Die Ansage erfolgt basierend auf einer Textgenerierung aus einem Stausbaustein heraus. Hierzu weiter oben im Wiki unter Einzel-/Gruppendurchsagen aus einem Statusbaustein heraus nachschauen.

 

 Version History...

Version 1.0.0

  • Release des Plugin, erste öffentliche Version.

Version 1.0.1

  • [Feature] T2S Online Provider Amazon Polly hinzugefügt
  • [Feature] T2S Offline Engine Pico2Wave hinzugefügt
  • [Bugfix] ivona_tts.php: Großschreibung der Endung .MP3 in .mp3 geändert. Problem trat außer bei PLAY:3 und PLAY:5 bei allen anderen Modellen auf
  • [Bugfix] MP3path in der Config auf Kleinschreibung korrigiert (wird per Installationsscript korrigiert)
    Beim Abspielen von gespeicherten MP3 Files gab es Probleme dass das angegebene File nicht gefunden wurde.
  • [Feature] T2S Online Provider responsiveVoice hinzugefügt
  • [Feature] Für Non-LoxBerry User besteht nun die Möglichkeit in ihrer Config die pws: für Wunderground anzugeben

Version 1.0.2

  • [Bugfix] Fehlernachricht an Loxone und Zurücksetzen des Fehlers korrigiert. Funktion war nicht aktiv.

  • [Bugfix] UDP-Port für Inbound Daten korrigiert. Skript nutzt jetzt UDP-Port aus der Plugin Config statt der MS Config.

Version 1.0.3

  • [Bugfix] Support für XAMPP Windows hinzugefügt
  • [Feature] T2S Online Provider Google hinzugefügt
  • [Bugfix] Korrektur bei Einzel T2S aus Gruppe heraus

Version 1.0.4 (wurde nicht released)

  • [New] Datei grouping.php hinzugefügt
  • [New] Datei helper.php hinzugefügt
  • [New] Datei text2speech.php hinzugefügt
  • [Bugfix] Support für Stereopaar hinzugefügt
  • [Feature] Neue Funktion createstereopair die aus zwei gleichen Modellen ein Stereopaar erstellt. Die zone=<DEINE ZONE> ist dann der Raumname des neuen Paares
  • [Feature] Neue Funktion seperatestereopair die ein bestehendes Stereopaar wieder trennt

Version 1.0.5

  • [Feature] playmode ist in case insensitive nutzbar
  • [Bugfix] Funktion Softstop überarbeitet. Es wird solange gespielt bis die Lautstärke 0 ist, dann Pause betätigt und die Lautstärke wieder auf den Wert vor Softstop angehoben.

Version 1.0.6

  • [Bugfix] network.php geändert - Fehler beim Scannen der Zonen bei Neuinstallation korrigiert

Version 2.0.0

  • [Feature] Parameter rampto für Radiosender hinzugefügt
  • [Feature] Neuer Text Eingangsparameter für Lox Daten Übertragung hinzugefügt (Radio=1 oder Playlist=2)
  • [Feature] Neuer UDP Parameter für Lox Daten Übertragung hinzugefügt (Single Zone=1, Master=3 oder Member=3)
  • [Bugfix] addmember/removemember gefixt um mehr als eine Zone zum Master hinzuzufügen
  • [Bugfix] Fehlermeldung an Loxone Text Eingangsverbinder falls ein Fehler im Sonos Plugin auftrat
  • [Bugfix] Die Eingangsverbindung zu Loxone wurde optimiert, es wird nur noch MINISERVER1 mit lokaler IP unterstützt.
  • [Feature] zusätzliche Parameter radio&radio=SENDER und playlist&playlist=NAME DER PLAYLISTE (gilt für Zone als auch für Gruppe)
  • [Feature] vereinfachte T2S Durchsage mit parameter 'say'. Es gibt keine Differenzierung mehr zwischen Gruppen- oder Einzel-
    durchsage. (Details siehe Wiki)
  • [Feature] Multilinguale Sprachansagen für alle Engines hinzugefügt (Details siehe Wiki).
    AWS Polly SDK nicht mehr notwendig
  • [Bugfix] Komplette Überarbeitung der Gruppenfunktionen bzw. Gruppendurchsagen

Version 2.0.1

  • [Bugfix] nextradio optimiert um Änderungen von Sonos zu korrigieren (siehe Wiki)
  • [Bugfix] Korrektur der Lautstärke bei Gruppendurchsage
  • [Bugfix] Sonos Ansage optimiert: Bei Playliste Titel und Interpret Ansage, bei Radio Sender Ansage
  • [Feature] Pollenflug Ansage (Quelle: Deutscher Wetterdienst)
  • [Feature] Wetterhinweis bzw. Wetterwarnung Ansage (Quelle: Deutscher Wetterdienst)
  • [Bugfix] T2S Engine Ivona entfernt da Service zum 30.06.2017 eingestellt wird.

Version 2.0.2

  • [Bugfix] Pollen und Wetterwarnung Ansage korrigiert. Es werden jetzt jeweils Ansagen getätigt.

Version 2.0.3

  • [Bugfix] Es wird nur angesagt falls eine Wetterwarnung vorliegt.
  • [Bugfix] Umlaute bei Nutzung von VoiceRSS korrigiert
  • [Feature] Auswahlmöglichkeit des Miniservers für die Schnittstelle zu Loxone in der Config einstellbar
  • [Bugfix] Datenübertragung bei Standardbefehlen optimiert
  • [Bugfix] Gruppenmanagement optimiert
  • [Feature] Möglichkeit der gleichzeitigen Gruppierung bei der Auswahl von Radio bzw. Playlisten

Version 2.0.4

  • [Bugfix] Broadcast IP beim Scannen der Zonen hinzugefügt
  • [Bugfix] Sortierfunktion der Zonen korrigiert

Version 2.0.5

  • [Feature] Möglichkeit zum Abspielen von T2S im batch modus (siehe Wiki)
  • [Bugfix] Sortierfunktion der Zonen wieder entfernt

Version 2.0.6

  • [Bugfix] Fehler bei Play() korrigiert
  • [Bugfix] Fehler bei Zonen Scan in Verbindung mit Stereopaaren behoben

Version 2.0.7

  • [Bugfix] Fehler bei Wetterwarnungen und Orten die Umlaute enthalten korrigiert
  • [Feature] Neue Funktion alarmoff um alle Sonos Alarme/Wecker auszuschalten
  • [Feature] Neue Funktion alarmon um alle Sonos Alarme/Wecker wieder gemäß Ursprungszustand wieder einzuschalten

Version 2.0.8

  • [Feature] Neues Add-on "Time-to-destination". Ansage der Fahrzeit/-strecke von Standort zu gewünschter Adresse basierend auf google maps
  • [Feature] Neues Feature/Funktion "zapzone". Typische Tasterfunktion die sich je Klick durch alle laufenden Zonen zappt (als Member einklinkt), wenn weiter gezappt wird switched das Script dann zu den Radio Favoriten und zappt diese per Klick durch
  • [Feature] Möglichkeit der Ansage des Radiosenders bei nextradio bzw. zapzone.
  • [Bugfix] Broadcast Scan beim Scannen der Zonen und Sonderzeichen bei Pollen Add-on korrigiert

Version 2.0.9

  • [Feature] Neues Add-on "waste-calendar-to-speech" Ansage der Entsorgerzeiten je Abfallart basierend auf dem CALDav Plugin
  • [Feature] Zusätzlich eine T2S Ansage eines zweiten Kalenders
  • [Gimmick] Eine T2S Ansage eines Witzes
  • [Gimmick] Eine T2S Ansage der heutigen Bauernregel
  • [Bugfix] Korrektur bei der Re-Gruppierung nach erfolgter Einzelansage aus einer bestehenden Gruppe heraus

Version 2.1.0

  • Feature] Prüfung auf gültige LoxBerry Version hinzugefügt
  • [Feature] Prüfung auf korrekt beendete Plugin Installation hinzugefügt
  • [Feature] Auswahl des LineIn Einganges bei PLAY:5, CONNECT und CONNECT:AMP wird unterstützt.
  • [Feature] Angabe des Parameters "=standardvolume= bei Gruppenauswahl für Playlist oder Radiosender wird jetzt unterstützt.
  • Es werden je Zone in der Gruppe die in der Config hinterlegten Sonos Volumen Einstellungen übernommen.
  • [Feature] Bei der Abfallkalender Durchsage werden jetzt auch 2 Termine an einem Tag berücksichtigt
  • [Bugfix] Optimierung der Wiederherstellung von Zonen Status nach erfolgter Einzeldurchsage wobei sich die Zone vorher in einer Gruppe befand
  • [Feature] Unterstützung beim Scan für Sonos PLAYBASE und PLAY:1 mit Alexa wurde hinzugefügt + Optimierung suchen nur nach SONOS Komponenten
  • [Feature] Das Error LogFile ist über die LoxBerry Sonos Konfiguration errreichbar
  • [Bugfix] Optimierung der Zonen Scan Funktion um Doppelscans zu verhindern
  • [Bugfix] Beim Modell CONNECT kann die Lautstärke variabel oder festeingestellt sein, was eine T2S Ansage verhindert
  • Während einer T2S wird die Lautstärke temporär auf variabel gesetzt, dann wieder auf festeingestellt.
  • [Bugfix] Bei Gruppennachrichten konnte der Parameter volume genutzt werden, wurde jetzt ersetzt durch groupvolume
  • [Bugfix] Problem bei T2S auf PLAYBAR wenn diese im TV Modus ist behoben

Version 2.1.1

  • [Feature] Alle Dateien im "mp3" Verzeichnis werden vom Script jetzt automatisch auf Rechte 0644 gesetzt
  • [Bugfix] Problem bei T2S auf PLAYBAR wenn diese im TV Modus ist behoben
  • [Bugfix] Bei der Ansage des Müllkalenders wurde u.U. nichts angesagt wenn der erste vom CALDav Plugin ausgegebene Termin -1 ist.
  • [Feature] Bei Befehlen an eine Zone welche Member einer Gruppe ist wird jetzt automatisch der Master ermitteltdies gilt aber nur für folgende Befehle: play, stop, pause, next, previous, toggle, rewind, seek

  • [Feature] bei ...messageid=..." können jetzt auch nicht numerische MP3 files (z.B. mein_sonos_gong) genutzt werden.

Version 2.1.2

  • [Feature] Debugging tool added
  • [Bugfix] Korrektur beim Laden einer Playliste wenn vorher Radio/TV lief oder Mute EIN war
  • [Bugfix] Korrektur der Lautstärkeregelung/Anpasung bei Gruppendurchsagen
  • [Bugfix] Scan Zonen Funktion von LoxBerry auch für Non-LoxBerry Versionen aktualisiert und beide optimiert (Trennung von Gruppen vorm Scannen)

  • [Bugfix] Englische Version der GUI aktualisiert

Version 2.1.3

  • [Feature] Möglichkeit des Abspielens von Spotify, Amazon, Napster und Apple Playlisten/Alben → Details siehe Wiki
  • [Feature] Möglichkeit des Abspielens von lokalen Track's (NAS, USB-Sticks, Laufwerken, Remote PCs) -> Details siehe Wiki
  • [Feature] Prüfung bei Gruppenfunktionen ob die angesprochene Zone (zone=...) auch der Master ist, falls nicht ermitelt das System den Master
  • [Bugfix] Korrektur bei T2S wenn Playliste im Shufflemodus läuft
  • [Feature] Funktion 'nextpush'. PL läuft -> next track, Ende PL -> 1st track, Radio -> nextradio im Loop, leer -> nextradio im Loop
  • [Feature] Funktion 'next' und 'previous' optimiert. next - (letzter Track -> Track #1), 'previous - (erster Track -> letzter Track)

Version 2.1.4

  • [Bugfix] Funktion 'radio' (radioplaylist, groupradioplaylist) korrigiert. Bei input quelle SPDIF (Playbar, Playbase) wurde kein Radiosender geladen.
  • [Bugfix] Korrektur der Zonen Scan Funktion (temporäre Datei wird nicht mehr gelöscht)
  • [Bugfix] Korrektur der Zonen Scan Funktion nach Update Sonos auf 8.1
  • [Bugfix] Korrektur bei Einzel T2S an Master einer Gruppe. Nach Durchsage wurde Urprungszustand nicht mehr wiederhergestellt
  • [Bugfix] Erweiterung der TransportSettings (shuffle, repeat, etc.)

Version 2.1.5

  • [Bugfix] Korrektur der Zonen Scanfunktion für Nicht LoxBerry Nutzer
  • [Feature] Neue Funktion zum Laden und Abspielen von Sonos Playlisten per Zufallsgenerator. Es könne auch Exceptions angegeben werden (siehe Wiki)
  • [Feature] Neue Funktion zum Laden und Abspielen von Sonos Radiosender per Zufallsgenerator. Es könne auch Exceptions angegeben werden (siehe Wiki)
  • [Feature] Aktualisierte Funktion um user-spezifische Playlisten zu laden (gilt nur für Spotify)

Version 2.1.6

  • [Bugfix] Fehler bei Non LoxBerry beseitigt, es wurde versucht eine LoxBerry Berechtigung zu setzen
  • [Bugfix] SHUFFLE Wiedergabe wird jetzt nach erfolgter T2S korrekt weitergespielt

Version 2.1.7

  • Allgemeine Struktur überarbeitet und LoxBeryy 0.3.x Konpatibilität hergestellt
  • Unterstützung für Non-LoxBerry User entfernt
  • [Bugfix] Stabilere Scan Funktion nach Sonos Playern
  • [Feature] Vicki als Stimme für Polly hinzugefügt
  • [Feature] Funktion batch optmiert um numerische, gespeicherte MP3 files aus dem tts/mp3 Verzeichnis zu inkludieren

Version 3.1.0

  • Umstellung des Sonos Plugin auf LoxBerry 1.0.x und Nutzung des Interface V2

  • [New] Das 'sonos_tts' Verzeichnis wurde durch 'plugindata' ersetzt, dennoch bleibt es bestehen

  • [New] Update Möglichkeit des Plugins direkt über den LoxBerry möglich

  • [New] Layout der Config optmiert und vereinfacht.

  • [New] Auswahl der Standardsprache bzw. -stimme je T2S Engine ist jetzt möglich

  • [Feature] Zonen Scan Funktion um broadcast scan erweitert

  • [Feature] direkte links in der config zum Wiki

  • [New] Das Plugin ist jetzt Translate kompatibel und kann in eine lokale Sprache gemäß Translate übersetzt werden

  • [New] Die bis dato hard codierten Texte der Addon's können über die Translate Funktion individuell angepasst werden

  • [New] Auswahl des Miniservers für Kommunikation ist jetzt möglich

  • [New] Ein detailliertes Logging wurde implementiert

  • [Feature] Das Error handling wurde optimiert

  • [Feature] Das Abspielen von messageid's im batch Modus wurde hinzugefügt

  • [Bugfix] Volume Steuerung bei Gruppendurchsagen optimiert

  • [Bugfix] diverse kleinere Code Optimierungen wurden durchgeführt

  • [Bugfix] Ansage des Radiosenders bei nextradio wurde korrigiert

  • [Bugfix] Anwahl der Radiosender bei nextradio wurde korrigiert

  • [Bugfix] Ansage beim Abfallkalender wurde korrigiert

  • [Bugfix] Lautstärke bei randomradio korrigiert.
  • [Bugfix] Typo bei nextradio korrigiert
  • [Bugfix] Scannen von Zonen optimiert
  • [New] Automatische Information bei schweren Fehlern direkt über das Plugin bzw. per Mail (falls LoxBerry Mail konfiguriert ist)
  • [New] Error handling falls Konfigurationsdateien nicht lesbar sind
  • [Bugfix] Slash zum Abspielen von MP3 hinzugefügt
  • [Bugfix] Gruppenansage Wetterwarnung und Wastekalender gefixt (kein Gruppierung mehr falls keine Daten)
  • [Bugfix] trim/encode bei messageid's bzw. T2S um Leerzeichen in Syntax abzufangen
  • [Feature] Abfrage vorm Scannen ob SSDP deaktiviert
  • [Bugfix] Logging erweitert
  • [Bugfix] added decoding to Polly
  • [Bugfix] fixed messageid by adding global variable
  • [Bugfix] Scan after initial Installation
  • [Change] Adopted Samba settings from LB 1.0.4 from daemon
  • [Bugfix] minor changes to logging
  • [Bugfix] build in auto configuration if config files are missing
  • [Bugfix] fixed logging for Zone scanning

Version 3.2.0

  • [Bugfix] Error handling bei playgong hinzugefügt

  • [Feature] Jingle MP3 Datei Auswahl für playgong als Dropdown hinzugefügt

  • [Feature] individuelles Jingle je T2S möglich.

Version 3.3.0

  • [Bugfix] Fehler beim Scannen der Zonen korrigiert

Version 3.4.1

  • [Feature] Möglichkeit die Online-Verfügbarkeitsprüfung der Player zu deaktivieren (auf eigenes Risiko)

  • [Feature] Balance der Player kann jetzt eingestellt werden

  • [Feature] Reset der Balance/Bass und Höhen Einstellungen der Player

  • [Bugfix] Umschalten von TV Modus auf T2S bei Playbar korrigiert

  • [Feature] Logging/Error handling für T2S erweitert

  • [Bugfix] Fehler beim Scannen der Zonen korrigiert

Version 3.4.2


  • [Feature] Sonos Alarme können einzeln oder gesamt aktiviert/deaktiviert werden

  • [Feature] Notification Messages hinzugefügt (NUR bei Error)

  • [Feature] Logging erweitert


 

Wer Fehler im How-to findet darf sie gerne behalten oder selber korrigieren (Lächeln)

Verwandte Artikel

 





156 Kommentare

  1. dustpuppy sagt:

    Ein ganz netter Tweak zu Text2Speech, den ich euch nicht vorenthalten möchte. 

    Ich betreibe den loxberry als VMware auf meinem MacMini. Auf dem loxberry Image selbst läuft ja kein MacOS-say Kommando, mit dessen Hilfe leicht lokal eine Sprachausgabe erzeugt werden könnte. Ich habe das MacOS-Plugin so modifiziert, dass es sich per SSH auf den MacMini-Host connected, dort per say-Command eine temporäre AIFF-Datei erzeugt, die dann sofort per SCP wieder in das loxberry-Image kopiert wird. Das ist schneller und lokaler als einen Internet-T2S-Service dafür zu bemühen und funzt bei mir wunderbar. 

    Hier die /opt/loxberry/webfrontend/html/plugins/sonos4lox/voice_engines/MAC_OSX.php
    <?php
    function t2s($messageid)
    // text-to-speech: Erstellt mit dem OS X Command "say" eine AIFF Datei und speichert diese in einem Verzeichnis
    // @Parameter = $messageid von sonos2.php
    {
    //echo "bin in der MAC_OSX.php angekommen\n";
    global $words, $config, $messageid, $fileolang, $fileo;
    $mpath = $config['SYSTEM']['messageStorePath'];
    $messageStorePath = $config['SYSTEM']['messageStorePath'];
    $lamePath = $config['TTS']['lamePath'];
    $words = urldecode($words);

    // shell_exec("say $words -o $messageStorePath$fileolang.aiff; ".$lamePath."lame $mpath$fileolang.aiff 2>&1");
    //echo ("ssh benutzername@macmini.fritz.box 'say $words -o /Users/benutzername/Text2Speech/$fileolang.aiff'; scp benutzername@macmini.fritz.box:/Users/benutzername/Text2Speech/$fileolang.aiff $mpath; ".$lamePath."lame $mpath$fileolang.aiff 2>&1");
    shell_exec("ssh benutzername@macmini.fritz.box 'say $words -o /Users/benutzername/Text2Speech/$fileolang.aiff'; scp benutzername@macmini.fritz.box:/Users/benutzername/Text2Speech/$fileolang.aiff $mpath; ".$lamePath."lame $mpath$fileolang.aiff 2>&1");
     $messageid = $fileolang;
    return ($messageid);
    }
    ?>

    Zu beachten ist, dass der SSH-Befehl ohne weitere Interaktion auszuführen ist. Ich habe das mit den bekannten .ssh/authorized_keys gelöst, um die Authentisierung zwischen loxberry und MacMini zu automatisieren. 

    Die Methode MACOS-Sprachumwandlung ist leider im Wiki hier noch relativ dürftig beschrieben, von daher war ein bisschen reverse-engineering angesagt, um die Funktionsweise begreifen zu können. Ausserdem ist in der Standard-MAC_OSX.php noch die Variable messageStorePath undefiniert, was sicherlich mit der Kurzform mpath verwechselt wurde. Ist in dem Beispiel oben aber jetzt ebenfalls gefixt.

    Viel Spass beim lokalen Sprache umwandeln!

    dustpuppy

  2. Danke für deine Arbeit, werde ich beim Upgrade übernehmen. Falls du Lust hast kannst du ja das Wiki für den OS X Bereich ergänzen.

    Außerdem ist beim nächsten Update die Offline Engine Pico2Wave und Amazon Polly integriert. Microsoft Bing inkl. Translation kommt auch noch irgendwann, ist aber nicht Prio 1.

  3. Mac sagt:

    Lob an die Entwickler. Super Plug-In.

     

    jetzt möchte ich gerne die Türklingel über Sonos Abspielen aber ohne Jingel vorher. Wie lautet dafür das Kommando?

    hat jemand eine Idee

  4. ...action=sendmessage&messageid=100

    siehe "Sonstige Funktionen"

  5. Hallo Oliver,

    du schreibst ja, dass es mit bestimmten Gruppenkonstellationen zu Fehlern kommt.

    Ich habe nun folgendes und bin mir nicht sicher, ob das dieser bekannte Fehler ist oder ich was falsch mache:

     

    Ich höre Radio in einer Gruppe (kueche und wohnzimmer). Wenn ich nun eine Durchsage, mit sendmessage an kueche schickew wird sie nicht wiedergegeben. Stattdessen wird die Gruppe aufgelöst, küche geht auf stopp und wohnzimmer läuft weiter.

    folgender Error Log:

     

    2017-01-29 14:07:42 - USER defined NOTICE: [8], Undefined variable: sonoszone in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php in line 268,
    2017-01-29 14:07:42 - USER defined WARNING: [2], array_key_exists() expects parameter 2 to be array, null given in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php in line 268,
    2017-01-29 14:07:42 - USER defined NOTICE: [1024], Die Zone kueche ist nicht vorhanden oder Offline. Bitte prüfen und ggf. in der Config die Zone hinzufügen in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php in line 1312,

     

    Danke vorab & Gruß

  6. ist der Fehler ständig reproduzierbar oder taucht er nur sporadisch auf? Ich habe ein ähnliches sporadisches Problem mit einer Zone, hängt wohl mit der gewählten Ping Methode zusammen. Das Script prüf bei jedem Aufruf ob alle Zonen Online sind, falls nicht kommt o.g. Fehler.

  7. Hi,

    also bei mir war der Fehler reproduzierbar, auch mit anderen Gruppenkombinationen, Wohnzimmer und Kinderzimmer....

  8. Schau mal ins Forum für sonos4lox und hier explizit post #50. Probiere das bitte mal aus und gebe mir bitte feedback. Am besten auch im Forum (Zwinkern)

  9. xpert sagt:

    Hallo soweit alles bestens...

    Funktioniert alles bis auf folgenden Sender: 

    Array
    (
        [position] => 0:00:04
        [RelTime] => 0:00:04
        [duration] => 
        [TrackDuration] => 
        [URI] => x-rincon-mp3radio://energyzuerich.ice.infomaniak.ch/energyzuerich-high.mp3
        [TrackURI] => x-rincon-mp3radio://energyzuerich.ice.infomaniak.ch/energyzuerich-high.mp3
        [artist] => 
        [title] => energyzuerich-high.mp3
        [album] => 
        [albumArtURI] => 
        [albumArtist] => 
        [albumTrackNumber] => 
        [streamContent] => Jax Jones & Raye ? You Don't Know Me
        [trackURI] => 
        [Track] => 1
    )

    Wenn ich diesen versuche hinzuzufügen läuft das PHP script in einen Fehler rein.

    USER defined NOTICE: [1024], Keine Titel in der Playliste zum Abspielen. in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php in line 293, 

     

    Gibt es hierzu allenfalls Abhilfe? Wäre toll...


    Besten Dank im Voraus

    1. Habe den Sender gerade meinen Favoriten hinzugefügt und funktionierte auf Anhieb. Du darfst im Feld Sendername kein Hochkomma oder Anführungszeichen verwenden, sonst klappt das Speichern nicht

  10. Hallo zusammen,

     

    vielen Dank erst einmal für die tolle Arbeit hier!

    Ich bin gerade dabei, Sonos in mein Loxone-System zu integrieren. (Bin jedoch blutiger Loxone-Anfänger!)

    Ich würde gern vom Sonos (Loxberry) den zur Zeit gespielten Titel abfragen. Leider ist in diesem Punkt die Miniserveranbindung bei der Einrichtungsanleitung (Punkt "Eingangsseitig") recht

    durcheinander geraten, so dass mir nicht klar ist, welche virtuellen Eingänge (mit welchen Werten) hier angelegt werden müssen, und komme deshalb nicht weiter. 

    Gerade dieser Bereich macht mir Schwierigkeiten zu verstehen:

     

    "und füllt folgenden "virtuellen Eingangsverbinder" (kein UDP Eingangsverbinder) im MS:

    http://MS_User:MS_Pass\MiniServer:MS_Port/dev/sps/io/fetch_sonos

    erstelle im MS einen "virtuellen Eingangsverbinder" und benenne ihn in der Bezeichnung "fetch_sonos". Um die Daten über UDP empfangen zu können erstelle zuerst einen virtuellen UDP-Eingang und trage bei Senderadresse die IP deines LoxBerry's (WebServer) ein:

     

    Um Daten per UDP empfangen und verarbeiten zu können lege bitte als nächstes einen virtuellen UDP Eingang an, benenne ihn und final noch den UDP Empfangsport analog zur Sonos Config eingeben.

    Wichtig: Bitte die Senderadresse leer lassen!"


    Mir kommt es so vor, als wenn der Text ein wenig durcheinander geraten ist? 

    Welche Eingangsverbinder mit welchen Werten muss ich nun anlegen? Und wie visualisiere ich das ganze? Mit welchem Baustein?

    Über eine Hilfe würde ich mich wirklich sehr freuen!

     

    Vielen Dank im Voraus!

    Sebastian

     

  11. Wieso kommt bei mir bei der Text2Speech Funktion immer die Fehlermeldung:

    Ein Fehler trat auf. Bitte Datei //opt/loxberry/log/plugins/REPLACEBYSUBFOLDER/sonos_error.log pruefen.

    Zudem wäre der Hinweis, dass der ordner mit den Files auf Sonos in die Musikbibliothek eingefügt werden muss sehr wichtig.

    Ansonsten perfekt und vielen Dank für die ausgezeichnete Arbeit

  12. Da ist was bei deiner Installation schief gelaufen, öffne mal die Datei sonos.cfg und ersetze REPLACEBYSUBFOLDER durch sonos4lox. Dann erscheint auch eine sinnhafte Error Meldung in der log datei.

    Der Ordner mit den Files muss eben nicht zur Bibliothek hinzugefügt werden, ansonsten hätte ich das schon im WikI als ein muss beschrieben.

    1. Lieber Oliver
      Wow, das ist ja noch viel schneller als ich hoffte! Super, eine Neuinstallation des Plugins hat geholfen und alles läuft jetzt!
      Ganz herzlichen Dank für die ausgezeichnete Arbeit, die gute Anleitung und natürlich die Hilfe bei Problemen!
      Liebe Grüsse
      Andreas

  13. Liebe Kollegen
    Gibt es eine Möglichkeit über einen Sonos Taster bei kurzem Drücken Toggle zu haben und beim langen drücken lauter/leiser aber solange bis man wieder loslässt? Ich kenne die Locone Programmierung noch nicht somit, daher die (eventuell) dumme Frage.
    Mit herzlichem Dank Andreas

    1. Sorry, natürlich Loxone Taster (der mit den 5 Tastern)

  14. Liebe Kolleginnen und Kollegen

    Das Sonos for Lox ist wirklich ein ausgezeichnetes Plugin. Leider schaffe ich es nicht, dass mit der Rampto-Funktion ein Radiosender langsam in der Lautstärke erhöht wird (Wecker). Mit einer Sonos Playlist klappt es aber leider nicht mit einem Radiosender. Der Springt direkt auf die Endlautstärke.

    Vielen Dank für einen Tipp dazu

  15. Antwort siehe Thread im Forum

  16. Michael sagt:

    Eine Gruppe mit 2 x Play 1, sowie der Playbar wird nicht korrekt erkannt. Es wird nur 1 Play1 angezeigt. Die Sprachausgabe scheint leider derzeit auch nicht zu funktionieren.

  17. Was meinst du mit erkannt? Beim Scannen der Zonen oder im laufenden Betrieb? 

    Bitte das nächste Mal ins Forum posten, danke

  18. Florian sagt:

    Hallo Oliver,

    wenn ich über den Befehl "action=radioplaylist&playlist=EXAKTER NAME_DER_RADIOSTATION" auf einen gewünschten Radiosender umschaltet,

    dann wird dieser Sender wieder mit der Lautstärke wiedergespielt, diese ich der Konfiguration unter "SonosVol" eingetragen ist.

    Kann man es realisieren, dass der neue Sender in der gleichen Lautstärke wieder gespielt wird, wie die Lautstärke den der zuvor gehörte Sender hatte??? 

     

    Nachtrag: Ich habe es mittlerweile auch über die Radiofavoriten in der Konfiguration versucht. 

    (Aufruf über den Befehl... "/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=nextradio")

    Aber auch hier wird immer für den nächsten Sender die "Standard-Lautstärke" eingestellt!


    Brauche bitte weiterhin eure Hilfe... Danke!

     

    Gruß Flo

  19. Florian sagt:

    Ich hätte noch eine Frage...

    Kann ich mir den Namen des Radiosenders, der gerade gespielt wird, in der LOXONE App anzeigen lassen???

  20. ja, siehe Empfangen von Titel/Interpret bzw. Radiosender Info

  21. Alex sagt:

    Hi oliver,

    ich habe dein Sonos4loxone erfolgreich auf einem Synology NAS laufen. alles funktioniert.

    Nun wollte ich das plugin auf meinem Rasberry testen. Befehle wie play pause stop funktionieren leider habe ich ein problem mit tts. Möchte ich eine .mp3 aus dem ordner sonos_tts/mp3 abspielen kommt folgender Error:


    Fatal error
    : Uncaught exception 'Exception' with message 'Error sending command: HTTP/1.1 500 Internal Server Error CONTENT-LENGTH: 347 CONTENT-TYPE: text/xml; charset="utf-8" EXT: Server: Linux UPnP/1.0 Sonos/35.3-39010 (ZPS1) Connection: close s:ClientUPnPError' in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php:2478 Stack trace: #0 /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php(666): PHPSonos->sendPacket('POST /MediaRend...') #1 /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php(2952): PHPSonos->SaveQueue('temp_t2s') #2 /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php(149): SavePlaylist() #3 /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php(878): play_tts('1', NULL) #4 /opt/loxberry/webfrontend/html/plugins/sonos4lox/index.php(7): require_once('/opt/loxberry/w...') #5 {main} thrown in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php on line 2478

     

    Neuinstallation des Plugins habe ich schon versucht.

     

    Edit:

    Musste Grade festellen dass seit dem Fehler das Plugin auf dem Synology auch nicht mehr sauber läuft! Möchte ich eine mp3 abspielen. werden alle im ordner enthaltenen mp3 nacheinander abgespielt. möchte ich einen text ausgeben über tts werden auch alle mp3 abgespilet. der text witd nicht wiedergegeben.

     

    Gruß

    Alex

    1. Moin,

      ich habe genau die selben Probleme. PLay/Pause usw funktioniert alles nur TTS funktioniert nicht. Es geht immer genau einmal nachdem man die Lautsprecher stromlos gemacht hat.

       

      Gruß

      Patrick

       

      1. Alex sagt:

        Patrick, danke für den Tipp. Beim mir läuft wieder alles nach Neustart von Sonos.

         

  22. Löscht bitte die aktuelle Playliste aus der Queue, nehmt die Zone ca. 2-3 Minuten vom Strom und dann noch mal ausprobieren. Es kann auch sein das evtl. mind. 1 Titel der Playliste (z.B. Streaming Liste) nicht mehr gültig/erreichbar ist und von daher gibt es dann den Fehler beim Speichern der Playliste.

    Funktioniert es denn mit Radio und mit leerer Queue einwandfrei?

    1. Moin,

       

      sobald ich eine TTS durchsage mache wird eine Sonos-Playlist angelegt, diese durchsage geht dann auch nur einmal. Wenn ich die Playlist lösche geht es dann wieder einmal. Muss ich noch irgendwo eine Freigabe erteilen? Stromlos hatte ich inzwischen auch schon alles einmal gemacht.

  23. Was meinst du mit wenn du die Playliste wieder löscht? Diese heißt temp_t2s und wird vom Script automatisch wieder gelöscht! 

    Wie bereits erwähnt, mind. 1 Song in der PL ist nicht mehr gültig!! Mache die Queue doch mal leer, erstelle eine neue Playliste und probiere dann noch mal. 

    Noch mal, was passiert bei Radio und leer?

  24. In eigenem Interesse: Es wäre echt toll wenn ich auch mal feedback bekomme damit ich verstehe wo das Problem liegt oder ob Sie gelöst worden sind. Ihr wollt alle immer Hilfe aber gebt kein Feedback!

    1. Tut mir leid, ich hab es am Wochenende einfach nicht geschafft. Die temp_t2s wird angelegt und bleibt dann aber solange bis ich diese manuell lösche. In der Sonos App habe ich gar keine Playlisten angelegt. Oder meinst du woanders? Radio abspielen funktioniert, es wird aber trotzdem ein Fehler angezeigt (Fehlerlog folgt). Was meint du mit leer?

       

      Die Problematik scheint die selbe wie ein weiter unten bei Patrick Wagner zu sein.

  25. Ich würde gerne den Türgong abspielen, über die MessageID 100. Das klappt aber immer nur ein einziges Mal, nachdem ich die Zone neu am Strom habe. Rufe ich die URL zum abspielen ein zweites Mal auf, erhalte ich direkt eine Fehlermeldung:

    http://192.168.15.106/plugins/sonos4lox/index.php?zone=kueche&playgong=yes&action=sendmessage&messageid=100&volume=30

    Fatal error:  Uncaught exception 'Exception' with message 'Error sending command: HTTP/1.1 500 Internal Server Error
    CONTENT-LENGTH: 347
    CONTENT-TYPE: text/xml; charset="utf-8"
    EXT: 
    Server: Linux UPnP/1.0 Sonos/35.3-39010 (ZPS1)
    Connection: close
    
    s:ClientUPnPError' in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php:2478
    Stack trace:
    #0 /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php(666): PHPSonos->sendPacket('POST /MediaRend...')
    #1 /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php(2952): PHPSonos->SaveQueue('temp_t2s')
    #2 /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php(149): SavePlaylist()
    #3 /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php(878): play_tts('100', NULL)
    #4 /opt/loxberry/webfrontend/html/plugins/sonos4lox/index.php(7): require_once('/opt/loxberry/w...')
    #5 {main}
      thrown in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php on line 2478
    

     

    Läuft bereits Musik, wird diese zwar unterbrochen, aber der Gong wird nicht abgespielt.

    UPDATE: Lösche ich die Playlist, kommt der Gong. Danach sind in meiner Liste aber automatisch wieder über 8500 Titel drin und das abspielen des Gongs schlägt wieder fehl.

    UPDATE2: Liste löschen → Radio starten → Gong abspielen → Radio läuft anschließend weiter → 8.000 Song kommen von PrimeMusic automatisch in die Playlist → Gong spielt kein zweites Mal mehr.

  26. ein wenig Geduld noch, mit dem nächsten Release wird das gesamte Konzept wieder auf die alte Version umgestellt d.h. der Fehler wird nicht mehr auftreten.

    Da es aber ein größeres Release ist muss es erst noch ausgiebig getestet werden.

    1. Super, vielen Dank.

       

  27. Frage, muss ich bei jedem "Update" auf dem Rasperry  das Sonos Plugin deinstallieren und die neue Version installieren? oder habe ich etwas übersehen?

    Danke bestens

    Gruss

    Marcel

  28. einfach nur erneut installieren (ohne deinstallieren), die Update Programme laufen automatisch.

  29. Moin Moin, danke schon mal für das Plugin.

     

    ich habe folgendes Problem:

     

    Notice:  Undefined variable: sonosnet in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php on line 106

    Warning: Invalid argument supplied for foreach() in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php on line 165
    An Error occured. Please check //opt/loxberry/log/plugins/sonos4lox/sonos_error.log.
    An Error occured. Please check //opt/loxberry/log/plugins/sonos4lox/sonos_error.log.

     

    woran könnte das liegen?

  30. bitte im Forum posten und bitte mit Angabe der genutzten Sonos bzw. LoxBerry Version und der verwendeten Syntax/Befehl

  31. Welche Gründe kann es haben, dass Sonos4Loxone über den Browser zu steuern ist, nicht aber über den Miniserver mit virtuellen Ausgängen? Ich habe alles so gemacht, wie hier oben in der Anleitung steht. Virtueller Ausgang angelegt (IP-Adresse des Loxberry-Servers) und virtuellen Ausgangsbefehl angelegt (Bsp. plugins/sonos4lox.....). Wenn ich den Ausgang ansteuere passiert einfach nichts.

    Wo befindet sich denn das Access Log des Apachen? Ich konnte das nicht ausfindig machen.

  32. bitte im Forum posten und bitte mit Angabe der genutzten Sonos bzw. LoxBerry Version und der verwendeten Syntax/Befehl

  33. Uwe sagt:

    Hallo,

    also wir wollten heute mal die Textansage testen! Vorab im Browser, mit nachfolgenden Ergebnis!

    Hat jemand ein Idee?

    Fatal error:  Uncaught exception 'Exception' with message 'Error sending command: HTTP/1.1 405 Method Not Allowed
    Allow: GET, HEAD
    Content-type: text/html
    Server: Linux UPnP/1.0 Sonos/37.2-44160 (BR100)
    Connection: close
    
    Error 405Error 405Method Not Allowed' in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php:2489
    Stack trace:
    #0 /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php(1476): PHPSonos->sendPacket('POST /MediaRend...')
    #1 /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php(18): PHPSonos->GetMute('bridge')
    #2 /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php(274): saveZonesStatus()
    #3 /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php(799): sendmessage()
    #4 /opt/loxberry/webfrontend/html/plugins/sonos4lox/index.php(7): require_once('/opt/loxberry/w...')
    #5 {main}
      thrown in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php on line 2489
  34. bitte im Forum posten und mit Angabe der genutzten Sonos bzw. LoxBerry Version und der verwendeten Syntax/Befehl

  35. Uwe sagt:

    http://loxberry/plugins/sonos4lox/index.php?zone=buero_3&action=sendmessage&text=hallo.%20dies%20ist%20ein%20test&volume=20

    Sonos Play1

    PLAY:1: buero_3
    Seriennummer: 5C-AA-FD-6D-DA-48:6
    Version: 7.4 (Build 37244160)
    Hardwareversion: 1.8.3.7-2
    IP-Adresse: 192.168.178.48
    WM: 0

    sonos4lox_V2.0.7.zip    Version: 0.2.2


  36. Wie auf der Sonos4lox Plug-in Seite beschrieben ist die Systemvoraussetzung für das Plugin die LoxBerry Version 0.2.3

  37. Uwe sagt:

    http://loxberry/plugins/sonos4lox/index.php?zone=haupteingang&action=sendgroupmessage&member=buero3&text=hallo.%20dies%20ist%20ein%20test

     

    Fatal error:  Uncaught exception 'Exception' with message 'Error sending command: HTTP/1.1 405 Method Not Allowed
    Allow: GET, HEAD
    Content-type: text/html
    Server: Linux UPnP/1.0 Sonos/37.2-44160 (BR100)
    Connection: close
    
    Error 405Error 405Method Not Allowed' in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php:2489
    Stack trace:
    #0 /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php(1476): PHPSonos->sendPacket('POST /MediaRend...')
    #1 /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php(18): PHPSonos->GetMute('bridge')
    #2 /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php(353): saveZonesStatus()
    #3 /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php(791): sendgroupmessage()
    #4 /opt/loxberry/webfrontend/html/plugins/sonos4lox/index.php(7): require_once('/opt/loxberry/w...')
    #5 {main}
      thrown in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php on line 2489

    Version: 0.2.3

    wir haben zwei Pi eingerichtet! Sonos lässt sich steuern aber bei TTS kommt bei einer Pi die Fehlermeldung. ?

     


  38. Uwe sagt:

    2017-08-30 08:51:00 - USER defined WARNING: [2], fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /opt/loxberry/webfrontend/html/plugins/sonos4lox/helper.php in line 146,
    2017-08-30 08:51:00 - USER defined WARNING: [2], fsockopen(): unable to connect to :1400 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /opt/loxberry/webfrontend/html/plugins/sonos4lox/helper.php in line 146,

    anbei die Einträge aus der Log

     

  39. Das liegt meines Erachtens daran das du 2 LoxBerry im Einsatz hast und bei beiden die Domain 'loxberry' haben. Ich hatte auch mal die gleichen Probleme und bin dann auf die IP adrresse geswitched, seitdem laufen 3 LoxBerry parallel ohne Probleme.

    Teste doch mal vorab die gleiche Funktion wobei du einen LB vom Netz nimmst.

  40. Uwe sagt:

    sind unterschiedlich Standorte, ein Loxberry pro Router

     

  41. OK,. Was ist den 'bridge'? Heißt der Sonos Player so?

  42. Uwe sagt:

    Sonos Bridge ZB 100 + Player 1 + Player 1 ; ZB 100 stellt LAN Anschluß bereit und über Sonos-Net Kanal 1 an Player 1 +2 

  43. ok, dann ist es logisch das es nicht funktioniert. Da die Bridge immer mal wieder Probleme bereitet sollte diese entfernt werden und auf Wireless umgestellt werden, wobei auch 1 Player per LAN angeschlossen sein kann. Steht denn die Bridge auch in der Config nach dem Scannen?

  44. Uwe sagt:

    also erst einmal vielen Dank für die prompte Unterstützung. Nach dem ich die Bridge enternt habe und im Router IPV6 ausgeschaltet habe, alles in Funktion. Danke, super Plugin

     

  45. Hallo zusammen,

     

    ich würde gerne wissen was hier mit "Deine IP" gemeint ist? IP des Loxberry, der Sonosbox oder des Miniservers??

     

    Syntax

    Übersicht der gängigsten Befehle, T2S Syntax und auch erlaubte Kombinationen innerhalb einer Syntax. Wer die Funktionen erst im Browser testen möchte, setzt bitte jeweils folgendes vor die Syntax:

    http://<DEINE IP-ADRESSE>

     

    Vielen Dank!!

  46. Ich habe jetzt auf 2.0.8 upgedatet und wollte die Zonen neu scannen, da sich die IP-Adressen geändert haben. Jetzt erhalte ich immer:

    Software error:

    JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at /opt/loxberry/webfrontend/cgi/plugins/sonos4lox/index.cgi line 602, <$fh> line 1.
    For help, please send mail to the webmaster (no address given), giving this error message and the time and date of the error.

  47. ersetzt bitte in der Datei webfrontend/html/plugins/sonos4lox/system/network.php die Zeile 79 durch

    $fh = fopen($home.'/config/plugins/sonos4lox/tmp_player.json', 'w');

    Dann sollte es gehen.

    1. genau das steht doch da schon?! Warum Gleiches mit Gleichem ersetzten?

  48. weil in der Installationsdatei etwas anderes drin steht, was i.d.R. bei der Installation korrigiert wird, es aber durch Abbrüche beim Apache Upgrade nicht immer auch ausgeführt wird.

    Von daher besteht die Wahrscheinlichkeit dass das Scannen anschließend nicht funktioniert.

    1. Hmm.. Also bei mir funktioniert das Scannen nach wie vor nicht, obwohl in der Datei die Zeile genau so drinsteht.

  49. Was steht denn in der Log Datei? (log/system/apache2/error.log). Wenn du auf einer VM QNAP arbeitest hast du evtl. eher ein Problem mit NAT.

  50. Hallo in die Runde,

     

    ich versuche seit einiger Zeit, unsere Türklingel über die Sonos Boxen laufen zu lassen und bekomme es einfach nicht ans laufen.

     

    Habe bereits die Datei 100.mp3 im korrekten Verzeichnis abgelegt, neugestartet und den (hoffentlich) richtigen Befehl eingegeben. meineIP/plugins/sonos4lox/index.php?zone=schlafzimmer&playgong=yes&action=sendmessage&messageid=100&volume=30.

     

    Ich bekomme dann folgende Nachricht 

     

     

    Fatal error:  Uncaught exception 'Exception' with message 'Error sending command: HTTP/1.1 405 Method Not Allowed
    Allow: GET, HEAD
    Content-type: text/html
    Server: Linux UPnP/1.0 Sonos/37.2-44160 (BR100)
    Connection: close
    
    Error 405Error 405Method Not Allowed' in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php:2489
    Stack trace:
    #0 /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php(1476): PHPSonos->sendPacket('POST /MediaRend...')
    #1 /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php(18): PHPSonos->GetMute('bridge')
    #2 /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php(274): saveZonesStatus()
    #3 /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php(773): sendmessage()
    #4 /opt/loxberry/webfrontend/html/plugins/sonos4lox/index.php(7): require_once('/opt/loxberry/w...')
    #5 {main}
      thrown in /opt/loxberry/webfrontend/html/plugins/sonos4lox/system/PHPSonos.php on line 2489

    Kann mir irgendjemand helfen?

     

    Besten Dank vorab

    Frederik

     

     

    1. Du hast eine Bridge in deinem Sonos Netzwerk. Bitte entfernen und dein Sonos Netz auf Wireless einstellen.

      Das Script versucht die Bridge zu muten, was nicht funktionieren kann.

  51. valentin sagt:

    Hallo, zuerst Danke und Gratulation zu dem tollen Plugin!
    Ich habe heute unbedacht den MS auf Vers. 9.0 aktualisiert.

    Nun funktioniert der Plugin nicht mehr. Im Loxberry Interface kommt folgenden Meldung:

    Software error:

    Can't call method "param" on an undefined value at /opt/loxberry/webfrontend/cgi/plugins/sonos4lox/index.cgi line 411.

    Ich nehme an, dass es mit dem Update zu tun hat. Für den Fall, dass es ein Zufall ist: was denn da passiert?

     

  52. Dein Problem hat nichts mit dem Update auf V9 zu tun, es läuft einwandfrei da es ja auch nur http Ausgänge sind.

  53. Patrick Hak sagt:

    Hallo, habe folgende Meldung:

    JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at /opt/loxberry/webfrontend/cgi/plugins/sonos4lox/index.cgi line 602, <$fh> line 1.
    

    For help, please send mail to the webmaster ([no address given]), giving this error message and the time and date of the error.

    loxberry auf PI3 und installation Version: 0.2.3

    Habe das sonos4lox plugin installiert.....reboot.....zonen scan →

    Die Meldung eben....ich habe schon diverse Varianten mit deinstallation und komplett neuinstallation durchgeführt. Bin kurz vor dem Verzweifeln.....

  54. Da stimmt was mit dem Scan nicht. Gebe mal im Browser folgendes ein:

    http://LOXBERRY IP/plugins/sonos4lox/system/network.php

    Danach öffne die Sonos4lox Konfigurationsseite und prüfe ob die Zonen da sind, ggf. noch mal neu scannen. 

    1. Patrick Hak sagt:

      In der Tat, habe den Loxberry bei einem Kumpel versucht.....Es wurde sauber eine neue Zone erkannt. Offensichtlich haben meine Sonos Boxen zuviel müll drauf (traurig) Den Aufruf der genannten URL konnte ich nicht mehr machen, da ich den Loxberry meinem Kumpel geschenkt habe. Ich werde für mich auch noch einen Loxberry bauen.....

  55. Michael sagt:

    Hallo,

    habe ein kleines Problem mit dem abspielen von mp3s. Hab alles laut Anleitung versucht, aber der Gong sowohl auch selbst erstellte mp3s wollen nicht abspielen..... Hab die Dateien mit Hilfe von WinSCP in denn richtigen Ordner gezogen und auch als Namen Nummers vergeben, aber es wird nichts abgespielt. Textdurchsagen und alles ander funktioniert wunderbar. Vielleicht weiß jemand eine Antwort darauf, wäre sehr dankbar. Ansonsten ist dieses Plugin wirklich TOP!!!!!

     

     

    1. Yves Borel sagt:

      Hallo Michael

      hatte die letzten beiden Tage ähnliche Probleme. Ich hatte den sonso_tts Ordner bei Sonos nicht als Musikbibliothek eingerichtet. Seit ich dies gemacht hatte funktioniert es. Könnte es vielleicht daran liegen?

      1. Michael sagt:

        Danke für deine schnelle Antwort. Hab gerade den Ordner bei Sonos ergänzt, kann auch dauraf zugreifen und die hinterlegten mp3s abspielen. Sobald ich aber eine Schaltbefehl über Taster gebe, kommt die Anfrage bei Sonos an aber es wird der Fehler "Keine Freigabe vom tts Ordner angezeigt". Aber wie gesagt normal die mp3 über den Ordner in Sonos abspielen funktioniert.....

         

         

  56. siehe Hinweis unter FAQ/Troubleshooting:

    • Warum wird keine messageid abgespielt?
    • Die numerischen MP3 Files müssen mit Hilfe von WinSCP oder ähnlichen Tool in folgendes Verzeichnis kopiert werden: /loxberry/data/plugins/sonos4lox/tts/mp3
    • Das Verzeichnis für die Files muss kleingeschrieben sein korrekt: tts/mp3 statt tts/MP3. 
    • Die MP3 Files haben evtl. nicht die erforderliche Berechtigung. Bitte per WinSCP oder ähnlichem Tool die Rechte für das Verzeichnis UND die Dateien auf 0644 setzen

    mit WinSCP die Dateirechte setzen, dann ist es auch nicht notwendig das Verzeichnis zur Sonos Bibliothek hinzuzufügen.

    1. Michael sagt:

      Danke, hat funktioniert.

  57. Yves Borel sagt:

    Danke Oliver

    weiss nicht ob ich etwas falsch verstehe: Setzte ich den Ornder tts und seine Unterordner, inkl. Dateien auf 0644 geht bei mir gar nichts mehr. Setze ich jedoch nur die Dateien auf 0644 hats bei den paar Test die ich gemacht habe funktioniert. Muss ich also nur die Dateirechte entsprechend ändern?

     

  58. Nicht den kompletten tts Ordner, nur den mp3 Ordner und die Dateien, alles andere muss auf 0755 sein. Wenn ich mich recht entsinne sogar NUR die Dateien auf 0644, bin mir aber nicht mehr ganz sicher (traurig)

  59. f.hien sagt:

    arning:  file_put_contents(/opt/loxberry/data/plugins/REPLACEBYSUBFOLDER/tts/a1e87fadafc52b3c8239681419f59362.mp3): failed to open stream: No such file or directory in /opt/loxberry/webfrontend/html/plugins/sonos4lox/voice_engines/VoiceRSS.php on line 62
    Group Coordinator-IP: x.x.x.x


    Notice: The T2S message(s) could not be played! in /opt/loxberry/webfrontend/html/plugins/sonos4lox/text2speech.php on line 232

    Warning: fopen(//opt/loxberry/log/plugins/REPLACEBYSUBFOLDER//log_Oktober_17.txt): failed to open stream: No such file or directory in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php on line 1373

    Warning: fputs() expects parameter 1 to be resource, boolean given in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php on line 1380

    Warning: fputs() expects parameter 1 to be resource, boolean given in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php on line 1382

    Warning: fclose() expects parameter 1 to be resource, boolean given in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php on line 1383

    Warning: dir(/opt/loxberry/data/plugins/REPLACEBYSUBFOLDER/tts/): failed to open dir: No such file or directory in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php on line 1324

    Fatal error: Call to a member function read() on boolean in /opt/loxberry/webfrontend/html/plugins/sonos4lox/sonos2.php on line 1326
  60. Notice: failed to open answer: No Netiquette exist

    Warning: failed to open answer: User does not read Wiki

    Fatal Error: Call to member function "wie stelle ich eine Frage"

  61. f.hien sagt:

    Sorry ja ich weiß ich sollte etwas dazu schreiben! Also das Radio umschalten funktioniert, aber wenn ich versuche den Sprachausgabe zu testen bekomme ich diese Fehlermeldung. Irgendwie hat mein Loxberry 2 IP-Adresse. bzw. die Group Coordinator-IP: x.x.x.x ist eine Falsche IP adresse

  62. Bei dir ist mit Sicherheit die Installation nicht korrekt beendet worden! Das REPLACEBYSUBFOLDER wird bei der korrekten Installation mit "sonos4lox" ersetzt.

    Bitte einmal de-/neuinstallieren, dann sollte der Teil behoben sein. Bzgl. 2 IP-Adressen beim LB gibt es ein Wiki 

    LoxBerry hat zwei IP-Adressen

     

  63. Hi there! This is a great plugin - thank you!

    I'm having an issue controlling the plugin from the Miniserver - every command is duplicated. I have tried every type of switch in the Loxone config to eradicate issues with trailing edge triggering but I can not solve it. I have the virtual outputs as non-digital.

     Do you know why this might be happening? I am trying to create a Sonos controller in the Loxone app that will allow play / pause (with pushbutton), Previous / Next (with left / right buttons) etc ...

    Thanks

    Jeremy

  64. I've resolved most of my issues now.  However, I have a State function block outputting text and if something triggers the text, it outputs successfully, however, when the trigger disappears, the output from the state function returns to "no text" output - this is being sent to the loxberry - is there anyway for T2S to not fire if the text parameter is blank?

  65. This relates to a bug in State function. The state function is analog and fires at state 0 and 1, if your final state is 0 or empty it fires also. 

    1. Hi Oliver

       

      To get round this issue, I set the Status-text for the state value of 0 to 'nothing' and then in text2speech.php I add the following lines at the start of the sendmessage and sendgroupmessage functions:

       

      if (isset($_GET['text']))
      {
      if ($_GET['text']=="nothing"){
      echo 'No text';
      exit();
      }
      }

       

      Is this the best way of doing it?  I hate having to modify your code but...

  66. Yves Borel sagt:

    Hi Oliver

    kann man die 2.1.0 Version schon irgendwo herunter laden?

  67. Nein, derzeit noch nicht. Wird wohl Ende der Woche werden.

  68. Stefanski sagt:

    Ich habe ein Problem mit dem Plugin:

     

    Mein Sonos soll als Türklingel dienen. Damit das funktioniert habe ich Im Loxone eine Ausgang angelegt welcher den Befehl:

    http://192.168.178.14/plugins/sonos4lox/index.php?zone=kueche&action=sendmessage&messageid=3&volume=70

    Ausführt. Das Funktioniert auch in vielen Fällen gut. Jedoch manchmal, ich kann es bisher nicht eingrenzen, spielt Sonos einfach den nächsten? Song einer Playliste die nicht zwingend die aktuelle sein muss. Eventuell ist es einfach der nächste Track der Playlist?

    Dann ist im Haus High Life, weil extrem laut irgendeine Musik anfängt zu spielen, anstatt zu klingeln. 

     

    In vielen fällen funktioniert es aber auch sehr gut. Musik Spielt, Klingelknopf wird gedrückt, Sonos gibt Klingelsound wieder, und spielt dann weiter die Musik. 

    Hat jemand einen Tipp woran das hängen könnte?

    1. Das selbe Phänomen habe ich auch seit ein paar Tage und kann es nicht beheben.

      1. Stefanski sagt:

        gibt es da bei dir schon was neues? Ich habe rausgefunden, dass wenn man die Playlist im Sonos löscht funktioniert es wieder eine weile. Aber irgendwann passiert wieder das selbe. 

        1. Habe auch die Playlist gelöscht und jetzt geht´s wieder, mal schauen wie lange ... Danke für den Tipp (Zwinkern)

  69. Hi Oliver,

    ich habe ein kleine Problem. Den Loxberry habe ich von Hand in einem bestehenden Debian Jessie installiert (Raspberry Pi).

    Der Teil in Deinem Plugin welcher das Config - File anzeigt bringt nach der ersten Konfiguration einen "Page Error".

    Es liegt an den eckigen Klammern im Config File - jetzt meine Frage ... welche Perl und Config::Simple Version sollte denn auf dem System vorhanden sein?

    Bei mir ist es

    Perl > 5.20.2

    Config::Simple > 4.58

    Grüße Jürgen

    1. ganz ehrlich, keine Anhnung, bin kein Linux Freak. Vielleicht mal im LoxBerry Forum bei Allgemein oder Entwickler posten

  70. Hallo, habe keinen Eintrag zu meinem Problem gefunden, darum schreibe ich hier.

    Habe eine Playbar mit Sub und 2 play:1 als eine Gruppe (stube) am TV per Spif angeschlossen.

    Problem: solange die gruppe stube dem TV zugewiesen ist (egal ob Fernseher ein oder aus ist) kann ich keine Radio sender per taster einstellen. Befehl: (/plugins/sonos4lox/index.php?zone=stube&action=radioplaylist&playlist=Planet 105)

    Die Befehle lauter und leiser gehen aber toggle und stop zb. nicht.

    ist irgend etwas anderes am laufen ein album oder Playlist gehet der befehl einwandfrei.

    Was muss ich tun um Sonos aus dem TV mod holen zu können?

    (ZB. Zeitansage, auch während dem Fernsehschauen geht. Befehl:/plugins/sonos4lox/index.php?zone=stube&action=sendmessage&clock)

     

  71. ist ein Bug den ich korrigieren muss. Du kannst die Datei webfrontend/html/plugins/sonos4lox/sonos2.php öffnen und unterhalb von Zeile 1654 folgenden Code reinkopieren:

    $sonos->SetQueue("x-rincon-queue:". $sonoszone[$master][1] ."#0");

    dann sollte es gehen. Bitte feedback

    1. Wow schnelle Antwort

      habe ich gemacht. nicht erfolgreich:

      ausser ich habs falsch gemacht prscrn:

      liebe Gruess Ha-Pe

  72. dann kopiere bitte die Zeile vor jeder Zeile in der $sonos→Play(); steht

  73. Gemacht, leider: NOK

    Es waren 15 Einträge, ein Ausschnitt:

  74. Um noch mal den genauen Sachverhalt zu klären was geht und was nicht basierend auf dem Befehl

    /plugins/sonos4lox/index.php?zone=stube&action=radioplaylist&playlist=Planet 105:

    • Laden des radiosenders funktioniert? (Ist der Sender in der Sonos App dann ersichtlich?)
    • Spielt der geladene Radiosender dann auch automatisch?
    • Welche weitere Funktionen gehen nicht? (pause, stop, toggle, play, etc.)
  75. Wenn TV in der Gruppe stube hinterlegt ist:

    folgendes geht: 

    • leiser: /plugins/sonos4lox/index.php?zone=stube&action=volumedown
    • lauter: /plugins/sonos4lox/index.php?zone=stube&action=volumeup
    • Zeitansage: /plugins/sonos4lox/index.php?zone=stube&action=sendmessage&clock
    • Wetter: /plugins/sonos4lox/index.php?zone=stube&action=sendmessage&weather
      Auch andere Befehle wie Bauernregel und Witz gehen.
      (in der sonos App: es wechselt zur mp3 datei und am Schluss ist wieder TV hinterlegt)

    folgendes geht nicht:

    • /plugins/sonos4lox/index.php?zone=stube&action=radioplaylist&playlist=Planet 105 
    • /plugins/sonos4lox/index.php/?zone=stube&action=toggle
      (in der Sonos app ist keine reaktion zu sehen, auch andere hinterlegte Radiosender gehen per Befehl nicht)

    Im Plugin habe ich den Sender wie folgt hinterlegt:

    Planet 105 - x-rincon-mp3radio://http://radio.netstream.ch/planet105_128k_mp3

    (ist nicht TV auf der Gruppe, sondern andere Radiosender oder Playlists, dann gehen alle Befehle)

    Ps: nach dem eintragen deines Code vor allen $sonos→Play(); ging keiner der Befehle mehr.

    Nachtrag: 2 Tests mit einer zusätzlicher Gruppe: Der gruppe stube (Playbar+Sub+ 2x Play:1) die gruppe keller (2 Play:1) hinzugefügt (beide Gruppen haben das TV Signal)

    Mit dem Befehl: /plugins/sonos4lox/index.php?zone=keller&action=radioplaylist&playlist=Planet 105 - löst keller sich von der Gruppe und dem TV und spielt den gewünschten Radiosender, stube bleibt auf TV.

    Mit dem Befehl: /plugins/sonos4lox/index.php?zone=stube&action=radioplaylist&playlist=Planet 105 - passiert gar nichts, die Gruppen bleiben mit TV.

  76. wenn ich das richtig lese hast du 2 Stereopaare (1x keller bestehend aus 2 St. Play 1 und das gleiche als stube). Wenn beide Paare getrennt laufen funktioniert alles, wenn beide Paare als Gruppe zusammen laufen dann nicht? Bei Sonos musst du wissen wer in der Gruppe der Master ist und welche der Slave, in der Sonos App erkennst du es daran welche Zone oben in der Gruppe steht. NUR diese kannst du ansprechen, wenn du irgendeine andere per Befehl ansprichst passiert rein gar nichts (außer Volume und Mute). Die sogenannte Slave Zone hängt nur dumm am Master und macht alles was der Master macht.

  77. nicht ganz so, die gruppe keller kannst du aussen vor lassen. Das Problem betrifft nur die stube.

    Gruppe stube: 1 Playbar + 1 Sub + 2x play:1 als eine Gruppe. die Playbar ist direkt per Spif am TV angeschlossen.

    Kann es sein, das es daran liegt, dass die Gruppe stube eine Playbar als Master hat?

     

    Bezüglich den Tests:

    Gruppe keller: 2x play:1

    In den Tests habe ich nur herausgefunden, dass wenn diese beiden Gruppen (stube und keller) zusammen am TV hängen, mit dem Befehl   "/plugins/sonos4lox/index.php?zone=stube&action=radioplaylist&playlist=Planet 105" nichts passiert. 

    ABER

    Mit dem Befehl "/plugins/sonos4lox/index.php?zone=keller&action=radioplaylist&playlist=Planet 105" die Gruppe keller sich problemlos vom TV löst und Radio abspielt. stube bleibt am TV. 

  78. nutze mal den Befehl ...&action=radio&playlist=Planet 105

    Ersetze mal die ganze Funktion und gib mir mal feedback:

    /********************************************************************************************
    /* Funktion : radio --> lädt einen Radiosender in eine Zone/Gruppe
    /*
    /* @param: Sender
    /* @return: nichts
    /********************************************************************************************/
    function radio(){
    Global $sonos, $volume, $config, $sonoszone, $master;

    if(isset($_GET['radio'])) {
    $playlist = $_GET['radio'];
    } elseif (isset($_GET['playlist'])) {
    $playlist = $_GET['playlist'];
    } else {
    trigger_error("No radio stations found.", E_USER_NOTICE);
    }
    $sonos->Stop();
    # Sonos Radio Playlist ermitteln und mit übergebene vergleichen
    $radiolists = $sonos->Browse("R:0/0","c");
    $radioplaylist = urldecode($playlist);
    $rleinzeln = 0;
    while ($rleinzeln < count($radiolists)) {
    if ($radioplaylist == $radiolists[$rleinzeln]["title"]) {
    $sonos->SetRadio(urldecode($radiolists[$rleinzeln]["res"]),$radiolists[$rleinzeln]["title"]);
    #$sonos->SetRadio(urldecode($radiolists[$rleinzeln]["res"]));
    if (isset($_GET['member'])) {
    $member = $_GET['member'];
    $member = explode(',', $member);
    if (isset($_GET['standardvolume'])) {
    foreach ($member as $zone) {
    $sonos = new PHPSonos($sonoszone[$zone][0]); //Sonos IP Adresse
    $volume = $config['sonoszonen'][$zone][4];
    $sonos->SetVolume($config['sonoszonen'][$zone][4]);
    }
    }
    $coord = $master;
    $roomcord = getRoomCoordinator($coord);
    $sonos = new PHPSonos($roomcord[0]); //Sonos IP Adresse
    $sonos->SetVolume($config['sonoszonen'][$master][4]);
    } else {
    if($sonos->GetVolume() <= $config['TTS']['volrampto']) {
    $sonos->RampToVolume($config['TTS']['rampto'], $volume);
    } else {
    $sonos->SetVolume($volume);
    }
    }
    $sonos->Play();
    }
    $rleinzeln++;
    }
    }

  79. sorry (traurig)

    geht nicht, weiterhin keine Reaktion.

     

  80. another try:

     

    /********************************************************************************************
    /* Funktion : radio --> lädt einen Radiosender in eine Zone/Gruppe
    /*
    /* @param: Sender
    /* @return: nichts
    /********************************************************************************************/
    function radio(){
    Global $sonos, $volume, $config, $sonoszone, $master;

    if(isset($_GET['radio'])) {
    $playlist = $_GET['radio'];
    } elseif (isset($_GET['playlist'])) {
    $playlist = $_GET['playlist'];
    } else {
    trigger_error("No radio stations found.", E_USER_NOTICE);
    }
    $coord = $master;
    $roomcord = getRoomCoordinator($coord);
    $sonosroom = new PHPSonos($roomcord[0]); //Sonos IP Adresse
    $sonosroom->Stop();
    # Sonos Radio Playlist ermitteln und mit übergebene vergleichen
    $radiolists = $sonos->Browse("R:0/0","c");
    $radioplaylist = urldecode($playlist);
    $rleinzeln = 0;
    while ($rleinzeln < count($radiolists)) {
    if ($radioplaylist == $radiolists[$rleinzeln]["title"]) {
    $sonos->SetRadio(urldecode($radiolists[$rleinzeln]["res"]),$radiolists[$rleinzeln]["title"]);
    #$sonos->SetRadio(urldecode($radiolists[$rleinzeln]["res"]));
    if (isset($_GET['member'])) {
    $member = $_GET['member'];
    $member = explode(',', $member);
    if (isset($_GET['standardvolume'])) {
    foreach ($member as $zone) {
    $sonos = new PHPSonos($sonoszone[$zone][0]); //Sonos IP Adresse
    $volume = $config['sonoszonen'][$zone][4];
    $sonos->SetVolume($config['sonoszonen'][$zone][4]);
    }
    }
    $sonos = new PHPSonos($roomcord[0]); //Sonos IP Adresse
    $sonosroom->SetVolume($config['sonoszonen'][$master][4]);
    } else {
    if($sonos->GetVolume() <= $config['TTS']['volrampto']) {
    $sonos->RampToVolume($config['TTS']['rampto'], $volume);
    } else {
    $sonos->SetVolume($volume);
    }
    }
    $sonos->Play();
    }
    $rleinzeln++;
    }
    }

  81. geht leider wieder nicht.

    Bin ein php Laie, weiss nicht ob ich die Einzüge richtig mache:

    Nach dem ändern ist Loxberry neustart zwingend, oder?

  82. kein Neustart notwendig. Wenn Klammern falsch wären würde gar nichts mehr gehen. Dann bin ich leider, mangels des Equipments zum Testen, mit meinem Latein am Ende. Die Surround Konstellation macht schon immer Probleme, darüber hinaus hat Sonos mit dem 8.0 Release was an der Topology geändert.

    Kann mich ja demnächst mal abends per Teamviewer bei dir aufschalten, vielleicht kriegen wir es ja dann in den Griff (wahrscheinlich erst übernächste Woche, bin auf Geschäftsreise diese Woche). Kannst mir ja schon mal die ID und Password per PN schicken.

  83. bzw. habe gerade gesehen eine wichtige Zeile habe ich vergessen. Probiere noch mal folgenden COde:

    /********************************************************************************************
    /* Funktion : radio --> lädt einen Radiosender in eine Zone/Gruppe
    /*
    /* @param: Sender
    /* @return: nichts
    /********************************************************************************************/
    function radio(){
    Global $sonos, $volume, $config, $sonoszone, $master;

    if(isset($_GET['radio'])) {
    $playlist = $_GET['radio'];
    } elseif (isset($_GET['playlist'])) {
    $playlist = $_GET['playlist'];
    } else {
    trigger_error("No radio stations found.", E_USER_NOTICE);
    }
    $coord = $master;
    $roomcord = getRoomCoordinator($coord);
    $sonosroom = new PHPSonos($roomcord[0]); //Sonos IP Adresse
    $sonosroom->SetQueue("x-rincon-queue:".$roomcord[1]."#0");
    $sonosroom->SetMute(false);
    $sonosroom->Stop();
    # Sonos Radio Playlist ermitteln und mit übergebene vergleichen
    $radiolists = $sonos->Browse("R:0/0","c");
    $radioplaylist = urldecode($playlist);
    $rleinzeln = 0;
    while ($rleinzeln < count($radiolists)) {
    if ($radioplaylist == $radiolists[$rleinzeln]["title"]) {
    $sonos->SetRadio(urldecode($radiolists[$rleinzeln]["res"]),$radiolists[$rleinzeln]["title"]);
    #$sonos->SetRadio(urldecode($radiolists[$rleinzeln]["res"]));
    if (isset($_GET['member'])) {
    $member = $_GET['member'];
    $member = explode(',', $member);
    if (isset($_GET['standardvolume'])) {
    foreach ($member as $zone) {
    $sonos = new PHPSonos($sonoszone[$zone][0]); //Sonos IP Adresse
    $volume = $config['sonoszonen'][$zone][4];
    $sonos->SetVolume($config['sonoszonen'][$zone][4]);
    }
    }
    $sonos = new PHPSonos($roomcord[0]); //Sonos IP Adresse
    $sonosroom->SetVolume($config['sonoszonen'][$master][4]);
    } else {
    if($sonos->GetVolume() <= $config['TTS']['volrampto']) {
    $sonos->RampToVolume($config['TTS']['rampto'], $volume);
    } else {
    $sonos->SetVolume($volume);
    }
    }
    $sonos->Play();
    }
    $rleinzeln++;
    }
    }

     

  84. kannst du mir das als txt hochladen, oder spielen die Einzüge keine Rolle?

    Ich habe die letzten 2 Tests immer aus dem loxone gemacht, da gibt es keine Fehlermeldung... sollte ich im Browser testen?

    Ja klar habe TW auch schon in betracht gezogen...

    wie geht hier PM?

     

  85. testen immer im Browser und debug über die Config vorher einschalten, die Einzüge sind egal. Schick mir TeamViewer Daten an olewald64@gmail.com

  86. Heureka!!!

    Es funktioniert genau so wie es soll. egal ob tv eingeschalten oder nicht, es wechselt zu radio.

    Danke!!!

  87. Um es nicht ganz beenden zu wollen: Kannst du einen Befehl generieren, der genau das umgekehrte machen kann? So dass ich per befehl wieder auf Eingang TV wechseln kann.

    (Lächeln)

    1. Das sollte machbar sein

  88. Philipp sagt:

    Hallo Profis!

    vieleicht kann mir hier jemand helfen, ich bin komplett am verzweifeln (traurig)

    Loxberry: 0.2.3 / Sonos4Lox: 2.1.2

    Sobald irgend ein Stereopaar erstellt wurde bzw. die Playbar mit Stereoboxen verbunden wurde lässt sich kein Scan mehr ausführen.

    Fehler:

    Die Datei konnte nicht gefunden werden.

    => Es sieht so aus als würde network.php kein tmp_player.json erzeugen und kann somit nicht weiter.

     

    Wenn ich allerdings alle Boxen trenne und einzeln scanne funktioniert alles wunderbar.

    Bitte sagt mir, dass es hierfür einen trick gibt dies zu lösen, geht ja bei anderen Leuten auch hier oder?

     

    Danke im Voraus

     

  89. Volker sagt:

    Hallo Allerseits,

    habe das gleiche Problem. Scan mit konfiguriertem Surround im WZ nicht mehr möglich...

    Ich habe daraufhin die Surround-Konfiguration aufgelöst und den Scan durchgeführt. Anschließend aus der player.cfg händisch den Sub und die überschüssigen Rear-Player gelöscht.

    Dann die Surround-Konfig wieder hergestellt. Philipp, das ist ein Workaround, der Dir evtl. helfen könnte?

    Weiss jemand eine Lösung, damit der Scan auch mit Surround-Konfiguration wieder funktioniert?

    Schon mal danke und Gruss,

    Volker

    1. Philipp sagt:

      schönen Dank! Werde ich gleich probieren.

      Falls dies geht, müsste es auch ohne ändern der player.cfg möglich sein. Denn wenn man im Sonos APP 2 Boxen gleich benennt wird ohnehin nur 1 von 2 in der *.cfg eingetragen.

      Mich würds trotzdem interessieren was es da hat. Ich weiß nich wie viele Stunden ich jetzt schon an der network.php spiele aber die ist mirscheint zu heftig (Lächeln)

  90. Hallo zusammen,

    ich bekomme leider keine UDP Daten von der Sonos.

    Folgendes habe ich kontrolliert:

    1. Port im virtuellen UDP Eingang: 4010 eingestellt
    2. Port in der Sonos4Loxone Config: 4010 eingestellt
    3. UDP-Daten von Wunderground4Loxone Port: 7000 werden empfangen
    4. Ausgangsseitig (z.B. lauter, leiser, play/pause) in voller Funktion
    5. Virtueller Ausgangsbefehl mit "action=getsonosinfo" erstellt, Haken bei "Als Digitaleingang verwenden" entfernt und per Klick von einem virtuellen Eingang angesteuert
    6. Virtueller Eingang mit Befehlserkennung "vol_bad@\v" erstellt und visualiert.

    Ich denke eher das das Problem darin liegt, dass keine Daten ankommen. Zumindest zeigt er eine Daten von Sonos an.

    Danke für eure Hilfe!

    Viele Grüße


  91. Thomas sagt:

    Hallo zusammen

    Kann mir jemand weiterhelfen? Ich versuche ein MP3 File auf mehreren Sonos Zonen abzuspielen wenn die Tuerglocke (Loxone Intercom) gedrueckt wird. Per Browser funktioniert der Befehl ohne Probleme, jedoch nicht ueber Loxone. In der Loxone Liveview sehe ich wie der virtuelle Ausgang bei betaetigung der Tuerglocke angesteuert wird, auch funktioniert die Push Benachrichtigung der Loxone Intercom, jedoch ist kein Ton auf den Sonos Lautsprecher zu hoeren.

    Hier einige Angaben:

    • Loxone und Loxberry sind im gleichen Netz (also kein Portforwarding notwendig), beide verwenden Standard Port 80.
    • Loxberry Version: 0.2.3 / Sonos4Lox Plugin Version: 2.1.7
    • Loxone Miniserver Version: 9.0.9.26
    • Der Digitale Ausgang wird beim virtuellen Ausgang NICHT verwendet (Checkbox ist also nicht angeklickt)
    • Die MP3 Datei 100.mp3 ist vorhanden und kann via Browser abgespielt werden
    • Befehl an Sonos (bei EIN): 
    • /plugins/sonos4lox/index.php?zone=wohnzimmer&playgong=no&action=sendgroupmessage&member=kueche&messageid=100&groupvolume=30




    1. Igor sagt:

      Hallo Thomas,

      hast du dein Problem gelöst? Ich habe identischen Fall und komme an der gleichen Stelle nicht weiter...((((

      Gruß

      Igor


      1. bitt playgong=no aus der Syntax komplett weglassen. Ich weiß gar nicht woher das kommt da es im Wiki nirgendwo so steht. Wenn jingle gewünscht dann playgong=yes, ansonsten nichts.

        Und bitte in den Error Log schauen.

      2. Thomas sagt:

        Hallo Igor

        Ich hab den 'Playgong' Syntax weggelassen und den virtuellen Ausgang nochmals ganz neu erstellt, danach hat es funktioniert.

        Leider hab ich nun neue Probleme, weshalb ich es nicht mehr pruefen kann. Werde wohl Loxberry und das Sonos4Lox App auf den neusten Release bringen und dann nochmals neu konfigurieren.

        Gruss

        Thomas

        1. Igor sagt:

          Hi Thomas,

          danke für die Antwort. Bei mir hat es nun endlich auch geklappt. Das Problem lag wohl in dem  virtuellen Ausgang; den habe ich auch neu angelegt. Davor habe ich aber die Loxberry auf die Version 1.2.1.3 gebracht - funzt soweit ohne Problem, sollst du auch versuchen. 

          Gruß

          Igor

        2. Schaut bitte IMMER zuerst in das Logfile wenn Probleme auftauchen. I.d.R. wird dort alles aufgezeichnet.

  92. Jeey sagt:

    Guten Abend miteinander

    Ich würde gerne die reine PHP-Version auf meinem NAS laufen lassen. Dies ist ja nur bis zur Version 2.1.6 unterstützt. Lässt sich diese Version noch irgendwo herunterladen? Besten Dank für eine Antwort.

    Wäre es möglich diese Version auf Gibhub zur Verfügung zu stellen? Wäre super!

    Viele Grüsse

    1. sonos4lox_V2.1.6.zip

      GitHub geht nur aufwärts Releases

      1. Jeey sagt:

        Super, besten DANK!!! Werde ich am Wochenende direkt ausprobieren.

  93. Arne sagt:

    Guten Abend, ich habe neu den loxberry in Version 1.0.0 installiert und das Sonos Plugin 2.1.7. Beim scannen der Zonen erscheint folgende Meldung:

    -----

    Software error:

    Die Datei:  konnte nicht geöffnet werden! No such file or directory
    

    For help, please send mail to the webmaster ([no address given]), giving this error message and the time and date of the error.

    -----

    Mein loexberry steht in einem anderen Subnetz als die Sonos Geräte. Zwischen den Netzen ist im Routing alles offen. Auch ICMP. Alles als TCP und UDP.

    Hat jemand eine Idee, woran das liegen könnte? Deutet die Meldung auf ein Problem des Plugins hin? Oder könnte es an den zwei Subnetzen liegen? Kann ich die Player vielleicht manuell hinzufügen?

    Danke und LG an die Runde

    Arne

  94. siehe post #448 im Forum. In Zukunft auch bitte dort Probleme melden, danke.

    Auch bitte das Sonos Plugin auf v2.1.7_2 aktualiiseren

  95. Rob P sagt:

    Hallo, Hat schon jemand versucht ob Sonos One Lautsprecher auch erkannt werden? 

  96. Clemens M. sagt:

    Hallo,


    irgendwie funktioniert das bei mir nicht.

    Ich hab die neueste Version vom Sonos-Plugin installiert und versuche eine Klingel einzurichten.

    So hab ich es probiert, jedoch kommt bei meinem Sonos One im Wohnzimmer nichts raus.

    http:IP-ADRESSE VOM LOXBERRY/plugins/sonos4lox_dev/index.php/?zone=wohnzimmer&action=track&file=//LOXBERRY/loxberry/data/plugins/sonos4lox/tts/mp3/2_Airport_gong.mp3


    Es funktioniert weder wenn ich das im Browser eingebe, noch wenn ich den Befehl in der Loxone-Config eingebe.

    Ich verzweifle schön langsam, da ich eigentlich mein Sonos Soundsystem in 6 verschiedene Räume installieren möchte und bereits an der Klingel scheitere.

    Kann ich mein Sonos Soundsystem wenn alles funktioniert, wie es funktionieren soll, so verwenden wie den Loxone Musikserver?

    Gibt es etwas vorgefertigtes, was ich in die Loxone-Config importieren kann (mit Statusabfragen usw.)?


    Irgendwie hab ich mir das einfacher vorgestellt.

    Lg Clemens

  97. Hi Clemens,

    einfach STRG+F und dann nach "Klingel" suchen, da wird dir geholfen. Abgesehen davon lese dir doch das Wiki durch mit allen Beispielen bzgl. Syntax.

    Die richtige Syntax lautet:

    /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=sendmessage&messageid=100&volume=30

    wobei die Datei 100.mp3 im sonos_tts/mp3 Verzeichnis liegen muss, aber auch irgendeine andere NUMERISCHE Zahl sein darf


    Ach ja, und bitte im Forum posten, da kann dir die Community auch helfen (Zwinkern)

  98. Alex sagt:

    Hallo Oliver,


    danke noch mal für das tolle Plugin.

    Einen Wunsch hätte ich noch falls dieser nicht bereits umgesetzt ist oder schon auf einer deiner Listen steht.

    Ich würde gerne die maximale Lautstärke zeitabhängig einstellen. z.B. von 20.00 Uhr - 7.00 Uhr max Lautstärke 15% sonst 80%. 

    Ist sowas denkbar bzw schnell umzusetzen?


    Gruß

    Alex

  99. machbar schon, nur was ist hier der konkrete Anwendungsfall? Die Lautstärke kannst du ja individuell je Ansage über die Syntax mitgeben, nachts habe ich evtl. Ansagen auch eine Ecke leiser.

    Und wenn jemand in der Sonos App die Lautstärke höher stellt wird es ja nicht vom Script unterbunden.

  100. Alex sagt:

    Ich lasse den Status der Alarmanlage Durchsagen. Z.B. Wenn ich das Haus verlasse und die Alarmanlage aktiviere kommt die Durchsage Alarm aktiv. Das sollte deutlich hörbar sein also mit Lautstärke 50. wenn ich aber die Alarmanlage für die Nacht scharf stelle dann ist es meist abends kurz vor dem zu Bett gehen und da schlafen schon die Kinder deshalb sollte die Durchsage mit der Lautstärke 10 kommen. Klar kann ich das in der konfig separieren. Habe aber auch noch andere Durchsagen die abends mittags und/oder abends kommen. Z.B Bitte Fenster im Bad schließen. Somit wäre eine zeitgesteuerte Lautstärke für mich interessant.

  101. Ok, soweit verstanden. Das ganze lässt sich aber doch wunderbar im Miniserver realisieren:

    Beispiel Alarmanlage: Du hängst am Alarmausgang, an dem derzeit deine TTS hängt, eine Schaltuhr, diese wiederum legst du als analog aus (siehe Loxone Doku), dann definierst du deine unterschiedlichen Schaltzeiten mit dem Haken „Aktivierung notwendig und gibst bei Wert deinen gewünschten Lautstärkewert ein. Wenn du das alles gemacht hast hängst du an den Schaltuhr Ausgang deine TTS, wobei der Haken „Als Digitalausgang...“ entfernt werden muss. Und im TTS Ausgangsbefehl schreibst du dann deine Syntax und Text ...&say&text=Alarmanlage scharf&volume=<v>.

    Somit wird der Wert aus der Schaltuhr als Lautstärkewert übernommen.

    Das müsste es aus meiner Sicht gewesen sein. Ich steuere mit diesem Konstrukt unterschiedlichste Lichtszenen je nach Tagesverlauf über Bewegungsmelder, wobei der Wert hier nur zwischen 1 und 8 liegt, welche dann die einzelnen Szenen im Lichtbaustein für den Zeitraum aktiviert.


    Alternativ kannst du auch über „Impuls um“ verschiedene Texte/Lautstärken steuern.

  102. Alex sagt:

    An so eine Lösung (...&say&text=Alarmanlage scharf&volume=<v>.) habe ich auch schon gedacht. Wusste aber nicht wie ich es umsetzen kann. Werde es morgen mal testen. Danke.

  103. Clemens M. sagt:

    Hallo Oliver,

    leider kann ich die Version 3.0.0 nicht installieren.

    Es kommt immer eine Fehlermeldung, dass diese Version nicht mit meiner Loxberry Version (0.2.4) kompatibel ist.

  104. steht ja auch a: im Post im Forum b: ganz oben auf der Seite und c: im Plugin install dass die Version mind. LB 1.0.1 benötigt. 

  105. Uwe sagt:

    Moin,

    bei dem Befehl say&witz und say&bauernregel bekomme ich bei Sonos One die Meldung "Wiedergabe von 0.mp3 nicht möglich-Datei //hotelberry/plugindata/sonos4lox/tts/0.mp3 nicht gefunden. 

    ich habe diese Problem sowohl bei 3.0 und auch bei 2.7.3 

    plugindata ist in der Musikbibliothek eingebunden und man kann darauf zu greifen

    Hat jemand ein Idee?

  106. bitte im Forum posten

  107. Uwe sagt:


    Moin,

    bei dem Befehl say&witz und say&bauernregel bekomme ich bei Sonos One die Meldung "Wiedergabe von 0.mp3 nicht möglich-Datei //hotelberry/plugindata/sonos4lox/tts/0.mp3 nicht gefunden. 

    ich habe diese Problem sowohl bei 3.0 und auch bei 2.7.3 

    plugindata ist in der Musikbibliothek eingebunden und man kann darauf zu greifen

    Hat jemand ein Idee?

  108. Hallo,

    ich bekomme immer bei der Sicherung der Konfiguration folgende Meldung...


    ERROR: Schwerwiegender FEHLER: Keine funktionierende Sonos Player Konfigurationsdatei gefunden. 
    Es wird versucht eine Standard-Konfigurationsdatei anzulegen.

    Was mache ich falsch??

    Loxberry 1.0.42

    Sonos4Loxone 3.1.0


  109. bitte im Forum mit der dazu gehörigen Log Datei posten (log/plugins/sonos4lox/sonos.log).

    bei der v3.0.1 war das der Fall, aber bei v3.1.0 nicht mehr

    1. Sorry...hab mich mit der Version geirrt

      Steh aber vor dem nächsten Problem, wenn ich das file über den virtuellen Ausgangsverbinder abspielen will.

      Ordner ist freigegeben. Ich kann das durch die TTS Engine generierte file abspielen, wenn ich über den freigegebene Ordner rein gehe! 


  110. Du brauchst den Ordner nicht freigeben, Sonos greift automatisch als Gast im Lesemodus auf den Ordner. bitte den Eintrag wieder entfernen und erneut probieren.

    1. Hab ich getestet...kein Erfolg...gleiche Situation

  111. Hallo Oliver,

    ich hätte eine Frage, wäre es möglich, dass du eine Funktion zur Einstellung der Balance zwischen LI & RE hinzufügst?

    Hab dein PlugIn auf einem RaspberryPi laufen, funktionert einwandfrei!


  112. Hallo Martin,

    ist schon geschehen, war kein Hexenwerk und kommt mit dem nächsten Release.

    Gruß Oliver



    1. Hallo Oliver,


      super, danke, ging das etwa so wie hier?

      https://github.com/jishi/node-sonos-http-api/pull/509/files


      Wann wird es das nächste Release geben?

      Ich würde das ganze dann für den Connect:Amp verwenden.


      Danke, lg Martin


  113. die Funktion ist die gleiche, mit Angabe des Players, LF oder RF und den entsprechenden Wert wird die Lautstärke geregelt. 


    Wegen Release Termin weiß ich derzeit noch nicht, habe noch 2 andere Entwicklungen vor

  114. ein vorzeitiges File, welches ich austauschen kann, kannst du mir noch nicht zur Verfügung stellen?

    1. Update ist released

  115. Nein, da noch nicht fertig und final getestet

  116. Hallo,

    erstmal danke für das tolle Plugin! Es funktionierte bisher gut...habe vor kurzem die neueste Version installiert und musste heute feststellen, dass sich meine Klingel verabschiedet hat.


    Befehl:

    http://loxberry/plugins/sonos4lox/index.php?zone=wohnzimmer&action=sendmessage&messageid=5&volume=50


    tats zum Testen im Browser bisher immer. Diesmal nix zu hören...

    Bin dann mal ein paar Versionen zurück gesprungen z.B 3.0...hier funktioniert es wieder ohne Probleme.

    Wollte das nur mal anmerken, falls jemand ein ähnliches Problem hat. Scheint vielleicht an der neuen Plugin-Version zu liegen.


    Grüße

  117. lässt sich bei mir auf keinem meiner 3 LB's reproduzieren, mir ist auch aus der Forum Community nichts bekannt. Da dieses eine viel genutzte Funktion ist hätte sich bestimmt schon der ein oder andere gemeldet.

    Von daher vermute ich das es ein lokales Problem ist. Was steht denn im Log bzw. erhältst du evtl. Meldungen in der Sonos App?


    Bitte in Zukunft im Forum https://www.loxforum.com/forum/projektforen/loxberry/plugins/74862-loxberry-sonos-plugin-verf%C3%BCgbar posten, hier ist der Support nur eingeschränkt möglich.

  118. Hallo in die Runde,

    bin begeistert, dass die Integration bei mir jetzt auch funktioniert. Letztes verbleibendes Problem: Scheinbar schaltet sich das Sonos System oder der Loxberry in einen Ruhemodus. Dies führt dazu, dass nach längerer Inaktivität z.B. bei der Türklingel bei der ersten Betätigung nichts passiert. Beim zweiten Drücken funktioniert dann alles einwandfrei.

    Habt ihr irgendeine Idee, woran das liegen kann?

    Besten Gruß und vielen Dank vorab
    Frederik