[Modul] SqueezeBox (Release)

ah schade :confused:
ein SetPosition als Aktion über die Sekunden analog zu den Prozentwerten
bekommst du da auch nicht hin?

Hintergrund ist, dass bei Hörbüchern >20 Stunden
die prozentuale Positionssetzung sehr ungenau ist :wink:

Du kannst doch in einem Ablaufplan auch eine Instanz-Funktion auswählen. Sollte also gehen.
Michael

Ah ok.
Hatte dich so verstanden, dass die Inszanzfunktion Position nur prozentual geht.
Allerdings erhalte ich da noch einen Fehler

Warning: Value größer als die Dauer
Fehler beim ausführen der Aktion
 in /- on line 1

Der Fehler sagt, das du versuchst eine Position anzuspringen welche größer ist als die Laufzeit des Titels.
Michael

Also evtl nochmal zum Verständnis :wink:
Ich habe eine Atkion „Schalte Statusvariable auf Wert einer anderen Wariable“
Dort hab ich die Statusvariable „Position“ ausgewählt" und als quellvariable
die neue Spielzeit in Sekunden Variable ausgewählt.

EDIT: natürlich nicht die Instanzvariable, sondern eine Hilfsvariable wo der alte wert drin steht.

Meinem Verständnis nach geht das nich da die Statusvariable Position nur Prozentwerte zulässt.
Ich möchte hier aber genau die Sekunden anspringen.

Leider komme ich da auch nicht mit den erweiterten instanzfunkionen weiter,
da ich dort nur fixe Werte aber keine Quellvariable auswählen kann.

Richtig, das geht aktuell nicht.
Ich kann der Spielzeit in Sekunden aka PositionRaw noch eine Aktion mitgeben, dann kannst du diese Variable schalten und es sollte funktionieren.

Dennoch überlege ich natürlich auf lange Sicht auch für dieses Modul eigene Aktionen anzubieten.
Was wäre dort den Wünschenswert?

  • Aktuellen Zustand (Modus, Playlist, Track und Position) abspeichern und später wieder neu laden?
  • Temporäre Wiedergabe von (hier was wünschen wie String-Variable, Statische URL, TTS-Instanz) einem Stück und anschließend alte Wiedergabe fortsetzen?
  • Wecker stellen?
  • ???

Michael

Das wäre echt Klasse :slight_smile:

  • Temporäre Wiedergabe von (hier was wünschen wie String-Variable, Statische URL, TTS-Instanz) einem Stück und anschließend alte Wiedergabe fortsetzen?

Da wäre Wiedergabe von einer URL
(wie bei LSQ_GetSongInfoByTrackIndex($ID, 0)[„Url“]) und da auch das auslesen derselben
über die Ablaufplan Funktionalität „Speichere Rückgabewert in variable“ für mich sehr interessant!

vielen vielen Dank für deine Mühen!!

Neue Beta-Version im Store
Noch immer:

Version 3.63:

  • Neue Statusvariablen in der Player-Instanz für Spielzeit in Sekunden ist schaltbar.

PS: So, morgen ist FritzBox wieder dran :stuck_out_tongue:

Der Hammer :slight_smile: und so schnell! :loveips:

Neues Stable-Release im Store:

Version 3.61:

  • Unter bestimmten Umständen wurde nicht erkannt das ein Player die Wiedergabe gestartet hat.
  • Bei aktuell nicht verbundenen Playern wird kein falsches Coverbild geladen.
  • Hat ein Player die Verbindung zum LMS verloren, so wurde die Power-Variable nicht korrekt gesetzt.
  • Connected Variable von der Player-Instanz entfernt, es wird jetzt der Status der Instanze bei nicht verbundenen Playern auf 104 (inaktiv) gesetzt.
  • Neue Instanz-Funktionen für Player (SetSync, UnSync und GetSync).
  • Layout der Konfigurationsseiten aufgeräumt.
  • Fehlende Übersetzungen in Variablenprofilen ergänzt.
  • Neue Statusvariable Master welche anzeigt ob ein Player ein Master einer Gruppe ist.
  • Neue Statusvariable um Sync-Members auszuwählen, oder Sync zu beenden.
  • Statusvariable Player wählen im Splitter ermöglicht die Auswahl von mehreren Playern für eine Sync-Gruppierung.
  • Splitter hat bei Verbindungsaufbau nicht zuverlässig die Playlisten geladen.
  • Konfigurator hat teilweise falsche Einträge angezeigt.
  • Konfigurator für Battery-Devices war ohne Funktion.
  • Alle abgekündigten Funktionen entfernt.
  • Dokumentation aktualisiert.

Endlich kann ich das testen. Das funktioniert perfekt! :slight_smile:

Herzlichen Dank für Deine tolle Arbeit und das super Modul!

Zwei Punkte sind mir in der aktuellen Beta (3.63 #362) aufgefallen

  1. Nach Installation der Beta aus dem Store, sind einzelne Squeezebox Instanzen nicht mehr aktiv. Nach Drücken von OK im „Gateway ändern“ Dialog mit unveränderter Auswahl aktiviert sich die Instanz wieder.
  2. Ich kann in den Skripts keine der LMS_… Funktionen aufrufen.
    Z.B. führt der Befehl print_r(LMS_GetPlayerInfo(44640, 1)); - 44640 ist die ID des LMSSplitters - zu folgender Fehlermeldung:
    Fatal error: Uncaught Exception: Instance does not implement this function in C:\ProgramData\Symcon\scripts\__generated.inc.php:7598 Stack trace: #0 C:\ProgramData\Symcon\scripts\59786.ips.php(3): LMS_GetPlayerInfo(44640, 1) #1 {main} thrown in C:\ProgramData\Symcon\scripts\__generated.inc.php on line 7598

Zu 1 muss ich mir ansehen.
Zu 2 hört sich komisch an.
Gab es fehler im LogFile beim Update?
Ist die ID wirklich korrekt? Ist die Funktion in dem Befehle testen Menü auf der Instanz aufgeführt?
Ist der Fehler nach einem Neustart weg?
Michael

Die ID war in der Tat falsch … :-/

Danke für Deinen Support!

Optimal wäre meine IPSView, wenn ich dort direkt SB Favoriten auswählen könnte. Meine Idee ist, die Titel und URLs in die String-Assoziationen zu übertragen, die mit Symcon 6.0 verfügbar werden. Das klappt mit dem untenstehenden Skript schon ganz gut - allerdings kann IpsView erst mit den nächsten Version mit den String-Assoziationen umgehen.

Das Skript liest die oberste Ebene der SB Favoriten. Die Abfrage der tieferen Ebenen überfordert mich als Nicht-Programmierer. Ich vermute, dass ich eine Rekursive Funktion schreiben müsste.

Vielleicht kann mich hier jemand unterstützen?

<?
    //Liest die erste Ebene der Squeezebox Favoriten und schreibt sie ins Variablenprofil SqueezeboxFavoriten der String Variable 36095 "Favoritenliste"

    $sbFavorites = array();
    $sbFavoritesOrdered = array();

    $sbFavorites = LMS_GetFavorites(56519,''); //56519 ist die LMSSplitter Instanz

    $numOfFavs = count($sbFavorites);

    if (IPS_VariableProfileExists('SqueezeboxFavoriten')) {
        IPS_DeleteVariableProfile('SqueezeboxFavoriten');
    }
    IPS_CreateVariableProfile ('SqueezeboxFavoriten', 3);

    for ($i = 0; $i < $numOfFavs; $i++) {
         //Strukturelemente sowie das Element Mysqueezbox Favoriten in der Liste nicht berücksichtigen
        if(!array_key_exists('Count', $sbFavorites[$i]) && $sbFavorites[$i]['Name'] !== 'Auf mysqueezebox.com') {
            $sbFavoritesOrdered[$i]['Name'] = $sbFavorites[$i]['Name'];
            $sbFavoritesOrdered[$i]['Url'] = $sbFavorites[$i]['Url'];
        }
    }

    asort($sbFavoritesOrdered);
    foreach($sbFavoritesOrdered as $favorite) {
        IPS_SetVariableProfileAssociation('SqueezeboxFavoriten', $favorite['Url'], $favorite['Name'], '', -1);
    }

?>

Wenn die LMS VM gesichert wird, erzeugt das Modul folgende Meldung im Symcon-Log.
Hier fallen die „doppelten“ Meldungen auf, wobei mir nicht klar ist ob das von mir ein Problem ist (seit der LMS umgezogen ist und einen anderen Hostnamen bekommen hat), oder immer doppelt erscheinen.

20.09.2021 08:01:11 | 49434 | MESSAGE | Client Socket        | Öffne Socket...
20.09.2021 08:01:11 | 49434 | ERROR   | Event Control        | Wiederverbinden [Client Socket (LMSSplitter #57560)] fehlgeschlagen = Verbindungsaufbau abgelehnt
20.09.2021 08:02:11 | 49434 | MESSAGE | Client Socket        | Einstellungen gespeichert
20.09.2021 08:02:11 | 49434 | MESSAGE | Client Socket        | Öffne Socket...
20.09.2021 08:02:11 | 49434 | MESSAGE | Event Control        | Wiederverbinden [Client Socket (LMSSplitter #57560)] erfolgreich
20.09.2021 08:02:11 | 57560 | NOTIFY  | LMSSplitter          | Verbunden mit LMS
20.09.2021 08:02:11 | 57560 | NOTIFY  | LMSSplitter          | Verbunden mit LMS
20.09.2021 08:02:11 | 57560 | NOTIFY  | LMSSplitter          | Version des LMS:8.2.1
20.09.2021 08:02:11 | 57560 | NOTIFY  | LMSSplitter          | Version des LMS:8.2.1
20.09.2021 08:02:11 | 57560 | NOTIFY  | LMSSplitter          | Mit LMS verbundene Player:3
20.09.2021 08:02:11 | 57560 | NOTIFY  | LMSSplitter          | Mit LMS verbundene Player:3
20.09.2021 08:02:11 | 00000 | WARNING | ScriptEngine         | Result for Text (Length: 51)

Warning: Keine Antwort vom LMS
Fehler beim KeepAlive
Keine Antwort vom LMS
Keine Antwort vom LMS
Keine Antwort vom LMS
 in /- on line 1

20.09.2021 08:02:11 | 00000 | WARNING | ScriptEngine         | Result for Text (Length: 51)

Warning: 
Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1883

Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1884

Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1885

Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1897

Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1898
 in /- on line 1

Die doppelten Meldungen hatte ich schon Mal gesehen, bekomme den Zusammenhang aber nicht mehr hin.
Passiert das auch beim Symcon Neustart?
Sieht eher aus, als wenn das Connect Event mehrmals feuert, wenn die Verbindung wieder aufgebaut wurde.
Michael

Hallo,
bei einem Symcon Daemon Restart sieht es so aus:
Die ersten Zeilen sind die Instanz IDs der 4 Player…

21.09.2021 14:35:59 | 51973 | ERROR   | KernelMT             | InstanzManager: Fehler bei Instanz #51973, Meldung IM_CHANGESTATUS: Instanz hat keinen aktiven Parent.

21.09.2021 14:35:59 | 53282 | ERROR   | KernelMT             | InstanzManager: Fehler bei Instanz #53282, Meldung IM_CHANGESTATUS: Instanz hat keinen aktiven Parent.

21.09.2021 14:35:59 | 31778 | ERROR   | KernelMT             | InstanzManager: Fehler bei Instanz #31778, Meldung IM_CHANGESTATUS: Instanz hat keinen aktiven Parent.

21.09.2021 14:35:59 | 30891 | ERROR   | KernelMT             | InstanzManager: Fehler bei Instanz #30891, Meldung IM_CHANGESTATUS: Instanz hat keinen aktiven Parent.

21.09.2021 14:35:59 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:00 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:00 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:01 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:01 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:01 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:02 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:02 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:02 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:02 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:02 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:03 | 10037 | MESSAGE | Server Socket        | Eingehende Verbindung...
21.09.2021 14:36:10 | 00000 | SUCCESS | Kernel               | *** IPS BETRIEBSBEREIT
21.09.2021 14:36:10 | 49434 | MESSAGE | Client Socket        | Einstellungen gespeichert
21.09.2021 14:36:10 | 49434 | MESSAGE | Client Socket        | Schließe Socket...
21.09.2021 14:36:10 | 49434 | MESSAGE | Client Socket        | Öffne Socket...
21.09.2021 14:36:10 | 57560 | NOTIFY  | LMSSplitter          | Verbunden mit LMS
21.09.2021 14:36:10 | 57560 | NOTIFY  | LMSSplitter          | Verbunden mit LMS
21.09.2021 14:36:10 | 57560 | NOTIFY  | LMSSplitter          | Version des LMS:8.2.1
21.09.2021 14:36:10 | 57560 | NOTIFY  | LMSSplitter          | Version des LMS:8.2.1
21.09.2021 14:36:10 | 57560 | NOTIFY  | LMSSplitter          | Mit LMS verbundene Player:3
21.09.2021 14:36:10 | 57560 | NOTIFY  | LMSSplitter          | Mit LMS verbundene Player:3
21.09.2021 14:36:10 | 00000 | WARNING | ScriptEngine         | Result for Text (Length: 51)

Warning: Keine Antwort vom LMS
Fehler beim KeepAlive
Keine Antwort vom LMS
Keine Antwort vom LMS
Keine Antwort vom LMS
 in /- on line 1

21.09.2021 14:36:10 | 00000 | WARNING | ScriptEngine         | Result for Text (Length: 51)

Warning: 
Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1883

Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1884

Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1885

Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1897

Warning: Cannot use a scalar value as an array in /var/lib/symcon/modules/.store/de.nall.chan.logitech.squeezebox/LMSSplitter/module.php on line 1898
 in /- on line 1

Hallo

Diese Scalar Fehlermeldungen habe ich auch. Immer zur gleichen Zeit. Wenn beim LMS der Indexer läuft.
14.09.2021, 19:53:53 | LMSSplitter | Version des LMS:8.2.0

thx tschewie

Das könnte auch am LMS liegen. Mit 8.2 habe ich nicht getestet. Habe noch 8.1.1 am Start.
Wobei auch die doppelten Meldungen und der durch Timing entstehende Fehler bei @SimonS auch gut am LMS liegen könnte.
Muss ich testen…wenn es ein 8.2 build für Windows gibt :slight_smile:
Michael