Hallo
Betreff: UpnpControl Binding und Chromecast Binding
Habe diverese Squeezelite-Player am Start und wollte, daß sie beim Starten einen bestimmten Favoriten (Radiostream) mit einer bestimmten Lautstärke abspielen. Leider hat die LMS eigene Funktion bei mir nicht richtig funktioniert, so daß ich per Rule auf Openhab zurückgegriffen habe. Mit Hilfe des network-bindings habe ich mir Rules erstellt, mit denen ich mein Vorhaben mehr oder wenig erfolgreich umgesetzt habe. Die Problematik dabei war, daß wenn openhab die Player schon als online erkannt hatte, sie aber noch nicht beim LMS als Player (über Upnp oder Chromcast) registriert waren und somit die einfache Rule (online -> spiele Favorite xy ab) ins leere gelaufen ist und nur mit zusätzlichen Rules (cronjobs) umständlich ans laufen bekommen habe.
Im Zuge des Umstieges auf openhab 3 habe ich dann die beiden oben genannten Bindings gefunden (zumindest habe ich sie unter 2.5 nicht gesehen). Perfekt !!!
Bindings installiert, neue Things ("Chromcast Media Player" und "UPNPRenderer") für meine jeweiligen Player erstellt und eine Konfiguration war in meinem Fall nicht nötig (keine Channels/Items). Wenn die Things online sind, also per Chromcast oder UPNP erreichbar sind, so sind sie es auch im LMS, somit umgeht man dann den Time-Lag und einfache Rules per Rules-Engine reichen aus.
Für UPNP Player
Spoiler anzeigen
triggers:
- id: "1"
configuration:
thingUID: upnpcontrol:upnprenderer:8e49425f-a6f1-a3d7-728e-b9ae7935201a
previousStatus: OFFLINE
status: ONLINE
type: core.ThingStatusChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
itemName: SqueezeBoxKodi_PlayaFavorite
command: "2"
type: core.ItemCommandAction
und Chromcast-Player
Spoiler anzeigen
triggers:
- id: "1"
configuration:
thingUID: chromecast:chromecast:d6fec490e1f56c5882120816cf1da7e9
previousStatus: OFFLINE
status: ONLINE
type: core.ThingStatusChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
itemName: SqueezeboxJBLLink20_PlayaFavorite
command: "0"
type: core.ItemCommandAction
- inputs: {}
id: "3"
configuration:
itemName: SqueezeboxJBLLink20_Volume
command: "40"
type: core.ItemCommandAction
Natürlich kann man die Bindings auch unabhängig vom LMS nutzen, eigene Controls, Favoriten usw., da ich aber LMS nutze, spielt dies für mich keine Rolle.
Edit: Ein kleiner Wermutstropfen, anscheinend klappt es nicht bei allen Playern (Wlan-Boxen). habe u.a. eine MusicMan BT-X34, die obwohl über UPNP und LMS funktioniert und beim Autoscan des Bindings gefunden wird, dann beim Neustart der Box nicht wieder erkannt bzw. als Offline deklariert wird. Muß man einfach mal testen.
Tschau nepo