Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
plugins:sonos4loxone:t2s_durchsagen [2024/08/07 10:07] – Oliver Lewald | plugins:sonos4loxone:t2s_durchsagen [2025/03/15 17:11] (aktuell) – [Tabelle] Robert Sixt | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
wichtig ist der Haken bei " | wichtig ist der Haken bei " | ||
- | ===== Security (VLAN) | + | ===== An-/ |
- | Aufgrund der Nutzung des CIFS Netzwerkprotokolls für T2S kann es für Betreiber mehrerer VLAN's notwendig sein die TCP Ports **137-139** und **445** in der Firewall zu öffnen | + | mit den Funktionen **absent** bzw. **present** ist es möglich T2S Durchsagen nur in Abhängigkeit von Anwesenheit auszugeben |
+ | |||
+ | | **Funktion** | **Befehl / Syntax / URL** | **Beschreibung** | | ||
+ | | Anwesenheit | / | ||
+ | | Abwesenheit | / | ||
===== Syntax ===== | ===== Syntax ===== | ||
Zeile 15: | Zeile 19: | ||
Ü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: | Ü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: | + | | http: |
===== Allgemeine T2S Parameter ===== | ===== Allgemeine T2S Parameter ===== | ||
Zeile 29: | Zeile 33: | ||
| playbatch | & | | playbatch | & | ||
| nocache | & | | nocache | & | ||
- | | clip | &clip | nutzt die Sonos Build in Audio Clip funktion bei der die T2S im aktuell laufenden Stream eingemischt wird (**nur für Single Durchsagen anwendbar**) | | + | | clip | &clip | nutzt die Sonos Build in Audio Clip funktion bei der die T2S im aktuell laufenden Stream eingemischt wird Optionale Parameter: |
===== Standard T2S ===== | ===== Standard T2S ===== | ||
Zeile 53: | Zeile 57: | ||
| | / | | | / | ||
| | **T2S aus Statusbaustein (ab v3.8.4)**\\ \\ / | | | **T2S aus Statusbaustein (ab v3.8.4)**\\ \\ / | ||
+ | |||
+ | ===== Einzel-/ | ||
+ | |||
+ | 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, | ||
+ | |||
+ | 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 | ||
+ | |||
+ | <code Pico> | ||
+ | // write program here in PicoC | ||
+ | float f1, f2, f3; | ||
+ | int nEvents; | ||
+ | char* Text; | ||
+ | while(TRUE) | ||
+ | { | ||
+ | | ||
+ | if (nEvents & 0x38) //4er Pico = 0xe, 8er Pico = 0x1c, 16er Pico = 0x38 | ||
+ | { | ||
+ | f1 = getinput(0); | ||
+ | if (f1 == 1) | ||
+ | { | ||
+ | Text = getinputtext(0); | ||
+ | | ||
+ | } | ||
+ | f2 = getinput(1); | ||
+ | if (f2 == 1) | ||
+ | { | ||
+ | Text = getinputtext(1); | ||
+ | | ||
+ | } | ||
+ | f3 = getinput(2); | ||
+ | if (f3 == 1) | ||
+ | { | ||
+ | Text = getinputtext(2); | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | </ | ||
===== Sonderfunktionen T2S ===== | ===== Sonderfunktionen T2S ===== | ||
| **Funktion** | **Befehl / Syntax / URL** | **Einzel** | **Gruppe** | **Beschreibung** | | **Funktion** | **Befehl / Syntax / URL** | **Einzel** | **Gruppe** | **Beschreibung** | ||
- | | Türklingel (Doorbell) | %%plugins/ | + | | Türklingel (Doorbell) | %%/plugins/ |
| Uhrzeit | / | | Uhrzeit | / | ||
| Wetter | / | | Wetter | / | ||
Zeile 65: | Zeile 112: | ||
| Titel/ | | Titel/ | ||
| Kalender | / | | Kalender | / | ||
- | | Fahrzeit | / | + | | Fahrzeit | / |
| saysonos | / | | saysonos | / | ||
+ | | mp3rights | / | ||