Sonos Musiksteuerung über 4-fach Taster

Betrieb der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Antworten
Matthias123
Beiträge: 2
Registriert: 09.06.2012, 09:26

Sonos Musiksteuerung über 4-fach Taster

Beitrag von Matthias123 » 09.06.2012, 09:51

Hallo zusammen,
komme bei einem aktuellen Problem leider nicht wirklich weiter und hoffe, dass hier jemand die Lösung kennt.
Zielsetzung:
Geplant ist die Musiksteuerung des Sonos-Systems über einen 4-fach Taster:
Taste 1: Bei Tastendruck soll das Radio der entsprechenden Zone die dem Taster zugeordnet wird eingeschaltet werden. Dies klappt auch ohne Probleme. Realisiert wird das über den startwin-Befehl und eine entsprechende Batch-Datei. Nun kommen wir jedoch zu meinem Problem:
Bei einem erneuten Tastendruck auf Taste 1 soll eine andere Batch-Datei gestartet werden in der ein anderer Radiosender hinterlegt ist. Ziel soll es sein mit einer Taste verschiedene Radiosender durchschalten zu können.
Bisher habe ich versucht dies über den GEHEZU-Befehl zu realisieren – leider ohne Erfolg. Was könnte alternativ funktionieren?
Taste 2:
Radio wird ausgeschaltet über Batch-Datei. (Klappt problemlos)
Taste 3 und 4:
Lautstärkeanpassung. Denke das mit einfachen Mitteln lediglich zwei Stufen möglich sein werden.
Taste 3: hohe Lautstärke
Taste 4: geringe Lautstärke
Sofern sich das Umschalten lösen lässt werde ich die Lautstärkeregelung als nächstes in Angriff nehmen.

Bin über alle Tips und Vorschläge dankbar.

Gruß
Matthias

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Sonos Musiksteuerung über 4-fach Taster

Beitrag von buempi » 09.06.2012, 13:34

Hallo Matthias und herzlich willkommen im Forum

Zu Taste 1: Du könntest einen Zähler einbauen (Variable Zaehler, Typ Zahl, Startwert 1):

Code: Alles auswählen

Wenn Zaehler = 1 dann
   Startwin("Batch1.bat")
   Zaehler  := 2
   verlassen
Endewenn

Wenn Zaehler = 2 dann
   Startwin("Batch2.bat")
   Zaehler  := 3
   verlassen
Endewenn

Wenn Zaehler = 99 dann
   Startwin("Batch99.bat")
   Zaehler  := 1
   verlassen
Endewenn
Der "Trick" dabei ist nur das "verlassen", weil sonst immer alle Batch-Dateien ausgeführt würden!

Mit Tasten 3 und 4 könnte man vielleicht auch bei jedem Tastendruck die Lautstärke erhöhen/reduzieren; wenn das ein Parameter ist, den man der Batch-Datei übergeben könnte. Wie lautet denn das Kommando, das zum erhöhen/reduzieren der Lautstärke vom Sonos-System erwartet wird?

Viele Grüsse
Bümpi

Matthias123
Beiträge: 2
Registriert: 09.06.2012, 09:26

Re: Sonos Musiksteuerung über 4-fach Taster

Beitrag von Matthias123 » 09.06.2012, 20:59

Hallo Bümpi,

danke für die schnelle und vor allem zielführende Antwort. Programm macht genau was es soll.
Bei der Lautsärkeregelung besteht das Problem, dass ich über die Batch-Datei keine einfache Erhöhung des Wertes sondern lediglich Wert X vorgeben kann. Müsste also bei beiden Tasten Zugriff auf eine gemeinsame virtuelle numerische Variable haben. Diese dann entsprechend Tastendruck anpassen und beim Ausschalten auf Grundwert zurücksetzen. Anschließend Batch-Datei über Befehl SCHREIBEDATEI ausgeben und ausführen. Sollte eigentlich möglich sein?
Muss mich jetzt einfach langsam in die für mich etwas gewöhnungsbedürftige Programmiersprache einarbeiten.

Gruß Matthias

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Sonos Musiksteuerung über 4-fach Taster

Beitrag von buempi » 10.06.2012, 08:18

Matthias123 hat geschrieben:Batch-Datei über Befehl SCHREIBEDATEI ausgeben und ausführen.
... das wäre sicher eine Möglichkeit. Wahrscheinlich müsste man aber zwischen dem Schreiben und dem Ausführen der Datei eine kleine Pause einlegen, was zu einer unerwünschten Verzögerung führen könnte.

Wenn die Anlage keine "lauter" und "leiser" Anweisungen kennt, besteht mal grundsätzlich das Problem, dass Homeputer die aktuelle Lautstärke nicht kennt, falls die Regelung nicht ausschliesslich über Homeputer erfolgt. Es kann dadurch zu Lautstärke-Sprüngen kommen, wenn die Lautstärke zwischendurch anderweitig verstellt wurde. Ja sogar zur grotesken Situation, dass es z.B. beim ersten "lauter" zuerst ganz leise wird, weil eben die letzte, am Vorabend von Homeputer gesetzte Lautstärke die "Einschlaf-Lautstärke" war...

Bei Batch-Dateien gibt es die Möglichkeit der Parameter-Übergabe. Lautet z.B. die Anweisung zum Setzen der Lautstärke auf 25%

Code: Alles auswählen

Sonos.exe VOLUME=25
schreibst du in die "SonosVolume.bat"

Code: Alles auswählen

Sonos.exe VOLUME=%1
Wird diese nun mit "SonosVolume.bat 25" gestartet, wird %1 durch 25 ersetzt.

In Homeputer könnte dann das Makro etwa so aussehen:

Code: Alles auswählen

** Variablen: Lautstaerke  Typ Zahl
**            Anweisung    Typ Zeichen

Laden("Taste3.Lautstaerke")

Wenn Taste3 eingeschaltet dann
   Lautstaerke := Lautstaerke + 3
Sonst
   Lautstaerke := Lautstaerke - 3
Endewenn

Wenn Lautstaerke > 100 dann
   Lautstaerke  := 100
Endewenn

Wenn Lautstaerke < 0 dann
   Lautstaerke  := 0
Endewenn

Sichern("Taste3.Lautstaerke")

Anweisung := "SonosVolume.bat " + Lautstaerke

StartWin(Anweisung)
Das Laden und Sichern dient dazu, dass sich Homeputer auch nach einem Neutstart deines Projektes noch an die letztmals eingestelle Lautstärke "erinnert".

Wenn du Leerzeichen im Pfad zu deiner BAT hast, muss die Anweisung etwas komplizierter aufgebaut werden (sh. Homeputer-Hilfe)

Betreibst du die Fernbedienung mit doppelter Kanalanzahl, musst du in beide Tasten ein Makro setzen. Die Abfrage nach "eingeschaltet" entfällt dann. Die Variablen werden in einem der beiden Makros definiert und im anderen Makro durch Voranstellen des Objektnamens verwendet.

Viele Grüsse
Bümpi

Antworten

Zurück zu „homeputer Studio / Standard: allgemeine Fragen“