Spiele Musik mit Squeezelite-X App funktioniert nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von udo1toni »

Wie gesagt... Du musst die Einstellungen in der UI korrekt setzen. Es ist für openHAB ein Unterschied, ob es sich bei dem Script um Blockly, JavaScript, Ruby oder DSL Code handelt. Und die Schlüsselworte rule, when, then und end gibt es nicht, genau wie Item.

Welchen Trigger Du gesetzt hast, weiß ich nicht, ich habe Den Code Deiner Rule ja nicht gesehen...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von peter-pan »

Der Code deiner UI-Regel mit einem DSL-Inline-Script, sollte dann etwa so aussehen:

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: Dummy_6
    type: core.ItemCommandTrigger
conditions: []
actions:
  - inputs: {}
    id: "1"
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: |2
            if(receivedCommand == ON) {
                logInfo("SQUEEZE", "Received trigger ON")
                playFavoriteSqueezebox_chn4.sendCommand("swr")
                volumeSqueezebox_chn4.sendCommand(35)
            } else {
                controlSqueezebox_chn4.sendCommand("PAUSE")
            }
    type: script.ScriptAction
...wobei da Trigger-Item natürlich deinen Item-Namen haben sollte.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Norick
Beiträge: 251
Registriert: 31. Jan 2022 06:35
Answers: 0

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von Norick »

Danke für das Bsp. vom Inline DSL-Script

eines der Probleme ist wenn man nur von "Script" spricht aber etwas anderes meint. Hier gibt es ja mehrere Varianten wie ein solches Script aussieht bzw. wo man es abspeichert.

Diese Rule bringt mir diesen Fehler wenn ich diese von Hand ausführe:

Code: Alles auswählen

2023-12-06 06:48:26.876 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '86bc71884a' failed: configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: PowerSqueezebox_chn3
    type: core.ItemCommandTrigger
conditions: []
actions:
  - inputs: {}
    id: "1"
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: |2
            if(receivedCommand == ON) {
                logInfo("SQUEEZE", "Received trigger ON")
                playFavoriteSqueezebox_chn4.sendCommand("swr")
                volumeSqueezebox_chn4.sendCommand(35)
            } else {
                controlSqueezebox_chn4.sendCommand("PAUSE")
            }
    type: script.ScriptAction

Norick
Beiträge: 251
Registriert: 31. Jan 2022 06:35
Answers: 0

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von Norick »

Wenn ich die Rule lokal im "rules" Ordner speichere, bekomme ich exakt den gleichen Fehler angezeigt wie oben.
Welche Einstellung muss ich verwenden bei der Script Auswahl der Rule (UI):

Code: Alles auswählen

Required Specifies whether the conditions of the target rule(s) to be executed should be considered or not.
On or OFF?

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

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von udo1toni »

Norick hat geschrieben: 6. Dez 2023 06:52 Diese Rule bringt mir diesen Fehler wenn ich diese von Hand ausführe:
Du kannst die Rule nicht "von Hand" ausführen, denn innerhalb der Rule wird das empfangene Kommando ausgewertet, welches bei einem Start über "Run now" schlicht nicht zur Verfügung steht.
Stehen denn alle Channel über die entsprechenden Items zur Verfügung?

Code: Alles auswählen

Item                           Channel
PowerSqueezebox_chn3        => power
playFavoriteSqueezebox_chn4 => playFavorite
volumeSqueezebox_chn4       => volume
controlSqueezebox_chn4      => control
Wobei gerade der erste Channel (weil Trigger der Rule) eventuell nicht das Richtige ist, denn so wird openHAB zuverlässig verhindern, dass Du jemals den Player einschalten kannst ohne Lautstärke und Favorit mit exakt den gesetzten Werten zu starten. Auch ist der Off-Befehl dann sinnlos, denn der Player wird durch den empfangenen Befehl OFF bereits ausgeschaltet, ein Pause-Befehl ist also wirkungslos.

Ich möchte an Dieser Stelle auch darauf aufmerksam machen, dass bei dem Power-Item chn3 dran steht, während bei den anderen Items chn4 dran steht. Ich würde hier den gleichen Player erwarten - und chn3 vs. chn4 deutet für mich auf unterschiedliche Player hin.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Norick
Beiträge: 251
Registriert: 31. Jan 2022 06:35
Answers: 0

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von Norick »

Danke für die guten Tips...
Jetzt bin ich doch einen grossen Schritt weiter es funktioniert soweit fast alles. Der Player startet bzw. stoppt die Musik. Das einzige Problem ist, dass zwar eine Musik aus den Favoriten abgespielt wird, aber nicht welche per Rule geschickt wurde.
Das heisst, es wird immer ein anderer Favorit abgespielt aber nicht welcher im Rule steht.

Code: Alles auswählen

SqueezeBox_Player_Play_a_Favorite.sendCommand("swr")
Es wird nicht "swr"sondern "FM1" abgespielt... Muss ich hier noch ein anderes zusätzliches CMD schicken? Ich sehe jedoch dass das Item "SqueezeBox_Player_Play_a_Favorite" die richtige Musik (URL) von der Rule hat.

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

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von udo1toni »

Stimmt die Schreibweise exakt?

Es gibt einen Channel des LMS (nur diesen einen...) favoritesList. wenn Du den mit einem String Item verknüpfst, bekommst Du eine Liste aller Favorites, die Zur Auswahl stehen.

Ich sehe gerade,die Liste enthält auch einen Index. Gut möglich, dass Du tatsächlich den Index senden musst... also statt "swr" z.B. "5". Den Index wiederum bekommst Du über die obengenannte Liste.
Es gibt ein Player Widget für die Squeezebox, da kann man das FavoriteList Item einbinden und hat dann eine Dropdown Liste aller Favoriten.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Norick
Beiträge: 251
Registriert: 31. Jan 2022 06:35
Answers: 0

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von Norick »

Ja super, jetzt habe ich eine Dropdownliste erzeugt und ich sehe die Liste aller Einträge. Wenn ich aber in der Squeezebox App einen Favoritenordner
anlege, dann wird dieser nicht mehr in der Liste von OH angezeigt. Weisst du wieso, resp. wie kann ich auch die Ordner anzeigen lassen? Mein Widget sieht so aus:

Code: Alles auswählen

uid: Favorites
tags: []
props:
  parameters:
    - description: A text prop
      label: Prop 1
      name: prop1
      required: false
      type: TEXT
    - context: item
      description: An item to control
      label: Item
      name: item
      required: false
      type: TEXT
  parameterGroups: []
timestamp: Dec 10, 2023, 10:35:51 AM
component: oh-label-card
config:
  title: Favorite
  label: Select
  expandable: false
  action: options
  actionItem: SqueezeBox_Player_Play_a_Favorite

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

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von udo1toni »

Was meinst Du mit Squeezebox App? Die Favoriten müssen aus dem LMS angelegt werden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Norick
Beiträge: 251
Registriert: 31. Jan 2022 06:35
Answers: 0

Re: Spiele Musik mit Squeezelite-X App funktioniert nicht

Beitrag von Norick »

Damit meine ich die Squeezelite-X App welche nebst dem LMS bei mir auch auf dem gleichen Server (Win) läuft. Aber ich sehe die gleiche Favoritenstruktur mit den Ordnern für die Favoriten auf dem LMS.

Aber auch hier sehe ich nicht wie man diese Favoritenfolders aus Openhab anzeigen kann. Was funktioniert ist nur die Radiostationen wenn diese direkt, ohne Ordner, im LMS angelegt sind.

Antworten