Online Radio mit Squezebox schaltet automatisch ab

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Online Radio mit Squezebox schaltet automatisch ab

Beitrag von Norick »

Ich verwende OH 4.1 auf Windows mit der Squeezebox App um Online Radio zu hören. Dies funktioniert soweit aber hat ein Problem. Wenn ich den Radiosender wechsle kommt die Ansage "Tune In" welche für ca. 3s läuft. Danach wird jedoch der Radiosender nicht abgespielt weil die Squeezbox in OH von PLAY auf PAUSE wechselt.

Wenn ich dann nochmals manuell auf PLAY drücke wird der Radiosender abgespielt. Was ich jedoch nicht hinbekomme ist dass es nach der Ansage "Tune In" nicht auf PAUSE wechselt sondern auf PLAY weiterläuft damit dann der Sender auch abgespielt wird.

Hat jemand eine Lösung zu diesem Problem?


Danke

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

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von udo1toni »

Geschieht das auch, wenn Du den Wechsel direkt in der App vornimmst?
Wenn Du "Squeezebox App" schreibst, meinst Du mutmaßlich Squeezelite-X? Und Du nutzt direkt die Soundkarte des Windows PC?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

bastler
Beiträge: 119
Registriert: 7. Jan 2020 19:36
Answers: 2

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von bastler »

ich benutze schon lange das squeezebox binding unter openhabian und stelle das auch immer wieder mal fest.

eigenartig dass es nicht immer passiert, und wenn es dann bei einem senderwechsel mal vorkommt ich einfach nochmal auf einen anderen wechsle und wieder zurück dann geht es oft auch dort wieder problemlos. ist für mich also nicht reproduzierbar woher / warum das ab und zu vorkommt, aber nachdem es selten passiert hab ich mir auch nie weiter gedanken darum gemacht.

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

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von Norick »

Dies geschiet schon in der Squeezelite-X app wie ich gerade gesehen habe - also weniger ein OH Problem :(
Ich kann bestätigen dass dies auch nicht immer passiert aber es ist schon lästig da man dann nochmals PLAY drücken muss bzw. nie weiss wann es passiert.

Da müsste es doch eine Möglichkeit geben um dies in OH zu umgehen?

bastler
Beiträge: 119
Registriert: 7. Jan 2020 19:36
Answers: 2

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von bastler »

das komische ist dass das immer nur bei sendern über tune-in passiert. zumindest scheint mir das so weil ich höre dann immer noch die werbung "this is tune-in" - und dann bleibt es ruhig.

es scheint mir dass wenn ich einen anderen favoriten wähle schaltet der player immer von play auf pause und sofort wieder von pause auf play (unter 1 sekunde). manchmal fehlt der zweite befehl dann im log und darum bleibt er dann auch pausiert.

ich überlege ob ich einfach eine kleine funktion dazu hänge: immer nach dem wählen eines neuen favoriten nach 2 sekunden checken ob er auf play steht, sonst play-command senden - als notlösung.

bastler
Beiträge: 119
Registriert: 7. Jan 2020 19:36
Answers: 2

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von bastler »

... gerade wieder passiert, aber fürchte das mit meiner 2-sekunden überlegung wird dann auch nichts:

Code: Alles auswählen

2024-05-21 07:30:05.406 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'iSbPlayer_Funktionen' received command PLAY

2024-05-21 07:30:05.411 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'iSbPlayer_Funktionen' predicted to become PLAY

2024-05-21 07:30:05.413 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'iSbPlayer_Funktionen' changed from PAUSE to PLAY

2024-05-21 07:30:05.419 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'iSbPlayer_Laut' received command 90

2024-05-21 07:30:05.421 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'iSbPlayer_Laut' predicted to become 90

2024-05-21 07:30:05.430 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'iSbPlayer_AusEin' changed from OFF to ON

2024-05-21 07:30:32.623 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'iSbPlayer_Funktionen' changed from PLAY to PAUSE
das sind diesmal fast 30 sekunden bis er auf pause schaltet, obwohl ich nur kurz die werbung "this is tune-in" gehört hab. ich hab keine idee dazu.

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

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von udo1toni »

Hier geht es ja in erster Linie um einen Workaround, egal, wie schmutzig der vielleicht ist.
Mein Ansatz dazu wäre also, nach dem Detektieren des Senderwechsels einen Timer zu starten (z.B. 60 Sekunden)
Wird nun ein Wechsel des Betriebs von PLAY zu PAUSE detektiert, muss openHAB nur nachschauen, ob der Timer noch läuft. Ist das der Fall, so sendet openHAB den PLAY Befehl. Ungefähr so:

Code: Alles auswählen

var Timer tSBChange = null

rule "erkenne Senderwechsel"
when
    Item iSbPlayer_AusEin changed to ON
then
    tSBChange?.cancel
    tSBChange = createTimer(now.plusSeconds(60),[|
        tSBChange = null
    ])
end

rule "erkenne Pause"
when
    Item iSbPlayer_Funktionen changed from PLAY to PAUSE
then
    if(tSBChange !== null)
        iSbPlayer_Funktionen.sendCommand(PLAY)
end
Ist aber nur graue Theorie :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

bastler
Beiträge: 119
Registriert: 7. Jan 2020 19:36
Answers: 2

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von bastler »

erst mal dir udo1toni vielen dank für deine unglaublich vielen tips und hilfestellungen die ich stets gern aufmerksam verfolge.

ich selber verwende dsl gar nicht. klar könnte ich trotzdem deinen tip ausprobieren jedoch hab ich gestern schon (unter habapp) erst mal ganz simpel einen kleinen zusatz gemacht dass ich immmer beim start und beim sender umschalten nach ein paar sekunden checke ob der player auf pause steht um dann nochmal ein play command zu senden. bis jetzt kein problem mehr gehabt, aber ob es daran lag oder einfach nur im moment funktioniert keine ahnung. ich werd wohl noch eine benachrichtigung einfügen damit ich sehe ob bzw wie oft dieser workaround zum einsatz kommt und den dann ev versuchen zu verfeinern.

nachdem ich dieses phänomen bereits früher erkannt hab sind bei mir eh nur sehr wenige sender über tune-in gestreamt. darum hab ich das problem zum glück nur selten. ev kann ja norick auch ein feedback geben ob dieser lösungsansatz in die richtige richtung führt.

bastler
Beiträge: 119
Registriert: 7. Jan 2020 19:36
Answers: 2

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von bastler »

ich hab mir jetzt was gebastelt das scheint zu funktionieren. ich weiß nicht ob es jemandem hilft weil ich alles mit habapp mache aber so sieht mein code aus:

Code: Alles auswählen

    def __init__(self):
        '''
        Verhalten des Item iSbPlayer_Funktionen beim
        - Einschalten:
        item_command: PLAY
        item_changed: from "PAUSE" to "PLAY"
        - MANCHMAL (anscheinend nur bei Streams über Tune-In)
        item_changed: from "PLAY" to "PAUSE"
        (wechselt nach manuellem "PLAY" manchmal trotzdem mehrfach wieder zurück auf "PAUSE")
        - Senderwechsel
        item_changed: from "PLAY" to "PAUSE"
        item_changed: from "PAUSE" to "PLAY"
        - Ausschalten
        item_changed: from "PLAY" to "PAUSE"
        - Beabsichtigt schalten auf "PAUSE"
        item_command: PAUSE
        item_changed: from "PLAY" to "PAUSE"
        - Beabsichtigt wieder zurückschalten auf "PLAY"
        item_command: PLAY
        item_changed: from "PAUSE" to "PLAY"
        '''
        super().__init__()
        self.log = logging.getLogger("My_HABApp")

        self.is_command = False
        self.countdown = self.run.countdown(3, self.fkt_item_changed_body)

        fkt_item = OpenhabItem.get_item('iSbPlayer_Funktionen')
        fkt_item.listen_event(self.fkt_item_command, ItemCommandEventFilter(value='PAUSE'))
        fkt_item.listen_event(self.fkt_item_changed, ItemStateChangedEventFilter(value='PAUSE'))

    def fkt_item_command(self, event=None):
        '''
        Wenn PAUSE als Kommando geschickt wird dann ist diese Pause auch bewusst gewollt,
        das Nächste erkannte changed nach PAUSE wird dann nicht beachtet
        '''
        self.log.debug('Squeeze fkt_item_command: PAUSE')
        self.is_command = True

    def fkt_item_changed_body(self):
        '''
        x Sekunden nachdem das Item iSbPlayer_Funktionen auf PAUSE gewechselt ist
        checken ob der Player wieder auf PLAY steht, sonst Kommando neu senden
        '''
        self.log.debug('Squeeze fkt_item_changed_body now check ....')
        if SwitchItem.get_item('iSbPlayer_AusEin').is_off():
            self.log.debug('Squeeze changed to PAUSE because Player is OFF')
            return
        if not OpenhabItem.get_item('iSbPlayer_Funktionen') == 'PLAY':
            msg = 'Squeeze Player auf PAUSE - schalte wieder auf PLAY'
            self.log.warning(msg)
            self.oh.send_command('iSignalMsgStefan', msg)
            self.oh.send_command('iSbPlayer_Funktionen', 'PLAY')


    def fkt_item_changed(self, event=None):
        '''
        Wenn das Item iSbPlayer_Funktionen nach PAUSE changed dann checken ob es
        Absicht war oder wegen des Tune-in Problems passiert ist
        '''
        if self.is_command:
            self.log.debug('Squeeze fkt_item_changed is intended')
            self.is_command = False
            return

        self.log.debug('Squeeze item iSbPlayer_Funktionen changed to PAUSE, start timer')
        self.countdown.reset()
kurz dazu als info
- ich checke immer ob das item nur auf PAUSE wechselt oder ob es dazu auch ein kommano erhält - dann wäre die pause nämlich gewünscht und soll auch bleiben
- selbst wenn es ohne kommando auf PAUSE wechselt kann das gewünschtes verhalten sein, zb wenn der player ausgeschaltet wird oder auch wenn ein senderwechsel statt findet

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

Re: Online Radio mit Squezebox schaltet automatisch ab

Beitrag von Norick »

Ich werde den Vorschlag mittels eines Timers so übernehmen und bei mir testen ob es dann läuft. Ich melde mich nach dem (erfolgreichen) Test dann nochmals.

Schon mal danke für die guten Tips und Hinweise!

Antworten