Squeezebox über Rules steuern

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Squeezebox über Rules steuern

Beitrag von OliverCJ »

Hallo zusammen,

da ich in der Familie der Radio-Hörer bin und meine Frau eher den TV für die Hintergrundberieselung anmacht, habe ich mir überlegt, ich könnte ja bei Heimkehr (also meiner) und Abwesenheit meiner Frau automatisch die Squeezebox im Wohnzimmer starten und los dudeln lassen...

Dafür habe ich mir die folgende Rule überlegt:

Code: Alles auswählen

rule "Musik fuer Olli"

when
  Item Olli_Handy changed from OFF to ON

then
  if(Matzi_Handy.state == OFF) {
  sendCommand(SBT_Wohnzimmer_Power, ON)
  createTimer(now.plusSeconds(3)) [| sendCommand(SBT_Wohnzimmer_Play, play) ]
}

end
Das funktioniert auch soweit, dass die SBT angeschaltet wird, sobald ich nach Hause komme und meine Frau noch nicht da ist. Andersrum bleibt sie (die SBT) aus, wenn sie (meine Frau) schon zu Hause ist.

Aber der virtuelle Klick auf "Play" scheint nicht zu funktionieren... die 3 Sek Verzögerung habe ich mal eingebaut, damit die SBT auch ein wenig Zeit hat, nach dem Einschalten zu reagieren...

Ich nutze nur das Squeezebox Binding, habe aber jetzt gesehen, dass es auch noch ein Action dazu gibt. Brauche ich das???
Ich möchte halt das Control ansprechen...

Vielleicht hat ja jemand ne Idee... Danke!!!

Viele Grüße
Oliver

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Squeezebox über Rules steuern

Beitrag von udo1toni »

Ich gehe davon aus, dass Du OH2.x mit dem Squeezebox Binding 2 nutzt. Dein Problem ist nicht das Fehlen der Actions, sondern dass Du veersuchst, eine Variable zu übergeben. In Wirklichkeit willst Du einen String senden.

Ich mache ja immer gerne Werbung für Methoden statt Actions, also auch hier. Nutze doch bitte statt

Code: Alles auswählen

sendCommand(SBT_Wohnzimmer_Power, ON)
lieber

Code: Alles auswählen

SBT_Wohnzimmer_Power.sendCommand(ON)
und entsprehend statt

Code: Alles auswählen

sendCommand(SBT_Wohnzimmer_Play, play)
lieber

Code: Alles auswählen

SBT_Wohnzimmer_Play.sendCommand("Play")
wobei man allerdings erst mal klären müsste, welchen Befehl das Player Item nun wirklich benötigt. Das kannst Du aber leicht über die events.log und ein Player Item in der UI herausfinden. Schau einfach nach, welchen Befehl (exakte Schreibweise) openHAB beim Klick auf das Play-Symbol schickt.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Squeezebox über Rules steuern

Beitrag von OliverCJ »

Hallo Udo,

vielen Dank, das werde ich mir mal anschauen!
Mit Logs habe noch nicht so viel gearbeitet. Auch da schau ich mal rein, was eigentlich passiert, wenn ich im Control auf die "Play-Taste" klicke

Kannst Du vielleicht noch kurz erklären, wo die Unterschiede und Vorteile "Deiner" Methoden gegenüber meiner Lösung liegen?
Funktioniert hat der Power-Befehl bei mir ja auch...

Danke und ein schönes Wochenende!
Oliver

Nachtrag: habe gerade gesehen, das der play Befehl im Log klein geschrieben ist. Hat das Auswirkungen?

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Squeezebox über Rules steuern

Beitrag von udo1toni »

Der Unterschied zwischen der Methode und der Action ist, dass die Action ausschließlich Strings als Parameter erlaubt. Das geht normalerweise trotzdem gut, weil openHAB "errät", was Du eigentlich willst (also den Namen des Items, statt des Items selbt. Beim wert, den Du übergibst, gibt es oft eine Methode .toString, die openHAB automatisch verwendet.
Es gibt aber eine Situation, wo das schife geht, nämlich, wenn Du mit Primitives arbeitest. Auc hwenn Du nicht weißt, was ein Primitive ist, wirst Du es früher oder später einsetzen, ohne das zu ahnen. Da ein Primitive kein Objekt ist, gibt es kein .toString und die Action scheitert.

Groß/Kleinschreibung ist in openHAB extrem wichtig, und zwar für jeden einzelnen Buchstaben. Es gibt Stellen, wo es keine Rolle spielt, aber man sollte sich nicht darauf verlassen. Umgekehrt gilt natürlich das selbe, wenn man nicht genau weiß, dass die Groß/Kleinschreibung eine Rolle spielt, solte man nicht identische Namen nur mit unterschiedlicher Groß/Kleinschreibung verwenden...
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Galadriel13
Beiträge: 222
Registriert: 30. Dez 2019 20:29
Answers: 0

Re: Squeezebox über Rules steuern

Beitrag von Galadriel13 »

Hallo OliverCJ,

kannst du mir bitte die Konfiguration für die Squeezebox posten (items, things, rules, sitemap).
Es gibt schon einige Anleitungen, jedoch läuft das bei mir dennoch nicht.

https://www.openhab.org/addons/bindings/squeezebox/

Besten Dank!
Hausautomation zu 95% mit Siemens Logo! (5x 0BA8).
Gartenbewässerung, Rollosteuerung, Lichtsteuerung, etc.
Abfrage von Temperaturen, Helligkeit, Füllstand Zisterne Leistung Photovoltaik.

openHAB 4.1.3 mit folgenden Bindings:

- Bosch Indego Binding
- Tankerkönig Binding
- iCalendar Binding
- iCloud Binding
- Anwesenheit via iCloud
- ComfoAir Binding (Zehnder AirComfort A350)
- SolarEdge Binding (PV)
- OpenWeatherMap Binding
- DWD Pollenflug Binding
- DWD Unwetter Binding
- FritzBox TR064 Binding
- PLCLogo Binding
- WIFI LED Binding
- Luxtronikheatpump (Novelan-WP)
- BEOK Raumthermostate
- myenergi

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Squeezebox über Rules steuern

Beitrag von OliverCJ »

Servus!

Das kann ich gerne tun. Zunächst aber mal die Frage: Du hast auch wirklich einen Squeezebox Server bzw den Logitech Media Server laufen? Oder hast Du vielleicht nur die letzte Version vom Radio, die etwas anders funktioniert?

Also bei mir läuft der QLMS auf einem QNAP NAS. In den Things sieht das dann so aus:

Code: Alles auswählen

Bridge squeezebox:squeezeboxserver:myserver @ "Frankenstraße" [ipAddress="192.168.178.11", webport=9001, cliport=9090]
{
    Thing squeezeboxplayer SBR_Schlafzimmer "Squeezebox Radio" @ "Schlafzimmer" [mac="00:04:20:28:f7:1f"]
    Thing squeezeboxplayer SBT_Wohnzimmer "Squeezebox Touch" @ "Wohnzimmer" [mac="00:04:20:22:ec:bc"]
}
Ganz wichtig - es wird hier immer wieder betont - ist die Groß. und Kleinschreibung. Aus irgendeinem Grund hatte ich eine der MAC-Adressen am Anfang nicht per C&P eingefügt, sondern abgetippt und dabei die Buchstaben GROß geschrieben... hat nicht funktioniert. Erst als ich darauf gekommen war und das geändert habe, ließ sich das SBR bedienen...

Die Items dazu:

Code: Alles auswählen

Group gSqueezeboxRadio
    "Squeezebox"
    <mediacontrol>
    (gSchlafzimmer)


Switch SBR_Schlafzimmer_Power
    "Squeezebox Radio"
    <switch>
    (gSqueezeboxRadio)
    {channel="squeezebox:squeezeboxplayer:myserver:SBR_Schlafzimmer:power"}

Dimmer SBR_Schlafzimmer_Volume
    "Lautstärke"
    <soundvolume>
    (gSqueezeboxRadio)
    {channel="squeezebox:squeezeboxplayer:myserver:SBR_Schlafzimmer:volume"}

Switch SBR_Schlafzimmer_Mute
    "Lautlos"
    <soundvolume_mute>
    (gSqueezeboxRadio)
    {channel="squeezebox:squeezeboxplayer:myserver:SBR_Schlafzimmer:mute"}

Image SBR_Schlafzimmer_Cover
    "aktuelles Cover"
    <none>
    (gSqueezeboxRadio)
    {channel="squeezebox:squeezeboxplayer:myserver:SBR_Schlafzimmer:coverartdata"}

Player SBR_Schlafzimmer_Play
    "Play"
    <mediacontrol>
    (gSqueezeboxRadio)
    {channel="squeezebox:squeezeboxplayer:myserver:SBR_Schlafzimmer:control"}
Mehr habe ich da noch gar nicht angelegt, aber das Prinzip dürfte klar sein. Die weiteren Channels ergeben sich aus der Doku.

Die Sitemap:

Code: Alles auswählen

Frame label="Mediasteuerung" {
	Switch item=SBR_Schlafzimmer_Power
	Slider item=SBR_Schlafzimmer_Volume icon="soundvolume" label="Lautstärke" visibility=[SBR_Schlafzimmer_Power == ON]
	Switch item=SBR_Schlafzimmer_Mute icon="soundvolume_mute" label="Mute" visibility=[SBR_Schlafzimmer_Power == ON]
	Default item=SBR_Schlafzimmer_Play icon="mediacontrol" visibility=[SBR_Schlafzimmer_Power == ON]
	Image item=SBR_Schlafzimmer_Cover visibility=[SBR_Schlafzimmer_Power == ON]
}
Rules habe ich dafür keine.

Die SBT im Wohnzimmer hatte ich damals zwar mit angelegt, die wird aber eigentlich komplett über einen Harmony Hub mit Harmony Elite bedient. Der Hub wiederum ist ebenfall ins OH2 über das entsprechende Binding integriert, so dass ich im Wohnzimmer das komplette Multimedia Equipment sowohl über die Elite bedienen kann (was eigentlich allen im Haus lieber ist), als auch über OH2. Da gibt es dann tatsächlich eine einzige Rule: Starte die Aktion "Radio", wenn ich nach Hause komme und sonst niemand anwesend ist.

So, hoffe das hilft. Gute Nacht!

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Galadriel13
Beiträge: 222
Registriert: 30. Dez 2019 20:29
Answers: 0

Re: Squeezebox über Rules steuern

Beitrag von Galadriel13 »

Hallo OliverCJ,

vielen Dank für die promte Rückinfo.

Ich sage mal so, ich habe eine Squeezebox (X-R001).
Unter https://mysqueezebox.com/appgallery hab eich mein Radio gelistet und kann dies über die Oberfläche auch steuern.
Also denke ich, dass der Server läuft.

Dann habe ich in openHAB das Binding "SqueezeBox Binding" installiert.
Unter Things habe ich einen SqueezeBoy Player und einen SqueezeBox Server installiert (beide zeigen allerdings "Offline - Bridge_Offline" an.
Warum, weiss ich nicht:

NAME: "SqueezeBox Player"
BRIDGE SELECTION: SqueezeBox Server - squeezebox:squeezeboxserver:50cc1934
MAC-Adresse: ist die MAC-Adresse des Radios
LOCATION: keine Eingabe
NOTIFICATION TIMEOUT: 20
NOTIFICATION SOUND VOLUME: keine Eingabe


Fraglich ist, waum der Player und der Server offline ist.

Muss ich abgesehen von openHAB noch etwas auf dem Raspberry Pi konfigurieren/installieren?

Danke dir!

Gutes Nächtle.
Hausautomation zu 95% mit Siemens Logo! (5x 0BA8).
Gartenbewässerung, Rollosteuerung, Lichtsteuerung, etc.
Abfrage von Temperaturen, Helligkeit, Füllstand Zisterne Leistung Photovoltaik.

openHAB 4.1.3 mit folgenden Bindings:

- Bosch Indego Binding
- Tankerkönig Binding
- iCalendar Binding
- iCloud Binding
- Anwesenheit via iCloud
- ComfoAir Binding (Zehnder AirComfort A350)
- SolarEdge Binding (PV)
- OpenWeatherMap Binding
- DWD Pollenflug Binding
- DWD Unwetter Binding
- FritzBox TR064 Binding
- PLCLogo Binding
- WIFI LED Binding
- Luxtronikheatpump (Novelan-WP)
- BEOK Raumthermostate
- myenergi

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Squeezebox über Rules steuern

Beitrag von OliverCJ »

Nein, das funktioniert leider nicht. Bei dir läuft eben kein Squeezebox Server. Dein Radio ist lediglich mit dem Webdienst verbunden.

Leider hat Logitech die Geräte damals, nach der Übernahme von Slimdevices, ziemlich runter gewirtschaftet und dann sterben lassen. Ein letzter Versuch, dem ganzen noch mal Leben einzuhauchen war, sich von dem komplexen Konstrukt mit eigenem Server abzuwenden und eben nur noch auf den Webdienst mysqueezebox.com zu setzen.
Dafür gab es das SBR dann mit der neuen internen Bezeichnung x-r001 und einer neuen Firmware, die zwar gut mit dem Webdienst funktioniert, aber mit dem lms nicht mehr klarkommt.

Es gibt im Web Anleitungen, wie man die Firmware downgraden kann. Dann könntest du auf einem Rechner, der dauerhaft an ist (oder auch nicht) den Logitech Media Server (lms) installieren und dein Radio damit verbinden. Und dann funktioniert das auch mit dem Binding und den Einstellungen, so wie von mir beschrieben...

Gesendet von meinem SM-N975F mit Tapatalk

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Galadriel13
Beiträge: 222
Registriert: 30. Dez 2019 20:29
Answers: 0

Re: Squeezebox über Rules steuern

Beitrag von Galadriel13 »

Danke, dann wird das nicht so einfach wie gedacht.
Ich werde erst einmal davon absehen.

Schönen Tag dir.
Hausautomation zu 95% mit Siemens Logo! (5x 0BA8).
Gartenbewässerung, Rollosteuerung, Lichtsteuerung, etc.
Abfrage von Temperaturen, Helligkeit, Füllstand Zisterne Leistung Photovoltaik.

openHAB 4.1.3 mit folgenden Bindings:

- Bosch Indego Binding
- Tankerkönig Binding
- iCalendar Binding
- iCloud Binding
- Anwesenheit via iCloud
- ComfoAir Binding (Zehnder AirComfort A350)
- SolarEdge Binding (PV)
- OpenWeatherMap Binding
- DWD Pollenflug Binding
- DWD Unwetter Binding
- FritzBox TR064 Binding
- PLCLogo Binding
- WIFI LED Binding
- Luxtronikheatpump (Novelan-WP)
- BEOK Raumthermostate
- myenergi

Antworten