Seite 2 von 3
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 5. Dez 2023 07:32
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...
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 5. Dez 2023 12:42
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.
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 6. Dez 2023 06:52
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
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 6. Dez 2023 07:00
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?
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 6. Dez 2023 07:48
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.
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 9. Dez 2023 11:35
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.
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.
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 9. Dez 2023 14:37
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.
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 10. Dez 2023 11:09
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
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 10. Dez 2023 12:58
von udo1toni
Was meinst Du mit Squeezebox App? Die Favoriten müssen aus dem LMS angelegt werden.
Re: Spiele Musik mit Squeezelite-X App funktioniert nicht
Verfasst: 11. Dez 2023 06:52
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.