Ankündigung

Einklappen
Keine Ankündigung bisher.

Taster auf Squeezebox

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Taster auf Squeezebox

    Moin zusammen!

    Ich möchte mittels Tasterinterface Aktionen auf dem Logitech Media Server (Respektive Squeezebox) auslösen (zB. ein Lied weiter) auslösen.
    Die Fernsteuerung für die Squeezebox habe ich soweit auf dem Smarthome fertig. Es fehlt allerdings noch die Verbindung zw. Knopf und Linux.

    Wie bekomme ich es hin, dass zeitnah auf "Knopfdruck" ein bestimmter Befehl ausgeführt wird?

    Vielen Dank fürs Lesen und Antworten,

    Pietz

    #2
    Das Plugin kennst Du? Squeezebox ? SmartHome.py 1.0 documentation

    Wo liegt genau das Problem?

    Gruß aus Schwerin
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      #3
      Moin!

      Jo, das Plugin kenne ich. Allerdings sehe ich nicht genau, wie ich damit auf eine Aktion eines Tasterinterfaces (auf dem OS) reagieren kann. Soweit ich das sehe, werden dadurch Elemente für das Web-Frontend generiert und die Steuerung durch dieses ermöglicht.

      Was ich im Grunde realisieren möchte, ist eine Art Alarm auszulösen, sobald vom KNX etwas bemerkenswertes kommt (über eine spezifische oder Auswahl an GA).

      Viele Grüße,

      Pietz

      edit: 20:06

      Kommentar


        #4
        Und genau das macht das Plugin.. du musst lediglich in den Items die richtige GA definieren. Dann wird der Befehl für die Squeezebox sofort umgesetzt, sobald die GA einen entsprechenden Wert hat.

        Code:
        [Squeezebox_XY]
          squeezebox_playerid = MAC Adresse
        
          [[Power]]
            type = bool
            visu = yes
            knx_listen=3/4/0  # Wenn Taste mit GA gedrückt wird, wird Befehl ausgeführt
            knx_dpt=1
            squeezebox_send = <playerid> power {}
            squeezebox_recv = <playerid> prefset server power
            squeezebox_init = <playerid> power

        Kommentar


          #5
          merci! Werds heute abend mal ausloten.

          Kommentar


            #6
            So... hat ne Ecke gedauert, aber es funktioniert. Danke für die Unterstützung!

            Aber: One more thing

            Ich habe mir gedacht, dass dies ja ganz prächtig ist, eine Funktion auszulösen, doch kaskadierende Aktionen wären ja noch besser:

            - Merken des Zustandes (Lautstärke, Position im Lied, etc)
            - Einschalten der Radios, falls noch im Ruhemodus
            - Stellen der Lautstärke auf einen bestimmten Wert
            - Abspielen des Alarms oder eines vorbestimmten Songs/Tons.
            - zurück zum vorherigen Modus (Ausnahme Lautstärke)

            Falls jemand fragt: Eine Alarmierung soll auch über die Squeezeboxen laufen.

            Meine Idee hierzu:

            ../etc/logic.conf:
            Code:
            [Alarm]
                    filename=Alarm.py
                    watch_item=eg.raum04.alarm
            ../items/Our_House.conf
            Code:
            [EG]
            [[Raum04]]
            [[[alarm]]]
            type = bool
            visu_acl = rw
            knx_listen = 0/0/2
            knx_init = 0/0/2
            ../logics/Alarm.py
            Code:
            logger.info("alarm script")
            
            if not squeezebox_cooking.power:
                    squeezebox_cooking.power(1)
            
            if not squeezebox_splash.power:
                    squeezebox_splash.power(1)
            
            squeezebox_cooking.volume(10)
            
            squeezebox_splash.volume(10)
            Im Debug bekomme ich zwar den Trigger (0/0/2) mit, allerdings wird nichts dadurch bewirkt:
            Code:
            2014-08-26 16:36:06,422 DEBUG    Main         knx: 1.0.42 set 0/0/2 to 01 -- __init__.py:parse_telegram:181
            2014-08-26 16:36:09,511 DEBUG    Main         knx: 1.0.71 set 4/2/71 to 0c2e -- __init__.py:parse_telegram:181
            2014-08-26 16:39:04,294 DEBUG    env_stat     Item env.core.memory = 15060992 via Logic None None -- item.py:__update:363
            2014-08-26 16:39:04,305 DEBUG    env_stat     Item env.system.load = 0.1 via Logic None None -- item.py:__update:363
            2014-08-26 16:39:04,746 DEBUG    Scheduler    env_stat next time: 2014-08-26 16:44:04+02:00 -- scheduler.py:_next_time:289
            2014-08-26 16:41:09,476 DEBUG    Main         knx: 1.0.71 set 4/2/71 to 0c2e -- __init__.py:parse_telegram:181
            2014-08-26 16:44:04,386 DEBUG    env_stat     Item env.system.load = 0.05 via Logic None None -- item.py:__update:363
            2014-08-26 16:44:04,837 DEBUG    Scheduler    env_stat next time: 2014-08-26 16:49:04+02:00 -- scheduler.py:_next_time:289
            2014-08-26 16:46:09,446 DEBUG    Main         knx: 1.0.71 set 4/2/71 to 0c2e -- __init__.py:parse_telegram:181

            Kommentar


              #7
              Ich antworte mir mal selbst, da ich mittlerweile ein wenig weiter gekommen bin.

              Fehler im vorherigen Post von mir:
              • keine Detailtreue beim Einsatz der Befehle (Groß-/Kleinschreibung)
              • fehlendes "sh." vor den squeezebox Kommandos

              Basierend auf dem Beitrag von SvStefan habe ich nun ein paar Befehlszeilen die es mir ermöglichen die Geräte per Logik abhängig vom vorherigen Zustand einzuschalten die Lautstärke neu zu setzen und nach Aktion wieder auf die alte Lautstärke zu setzen und dann wieder abhängig vom vorherigen Zustand auszuschalten.


              Was noch nicht funktioniert: abspielen des Alarms, da ich den "relativen Pfad" im Share/Mountpoint bisher nicht herausgefunden habe.


              Sobald ich alles fertig habe, werde ich das Ergebnis hier online stellen.

              Kommentar

              Lädt...
              X