Ankündigung

Einklappen
Keine Ankündigung bisher.

IR Codes der Squeezebox auswerten

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

    IR Codes der Squeezebox auswerten

    Hallo,

    ich möchte gerne mit meiner Squeezebox andere Geräte ein/ausschalten können. Das hatte ich bei meiner alten MisterHouse Installation mit Perl hinbekommen, nur leider ist mir Java völlig fremd.
    Wenn ich openHAB im Debug Modus laufen lasse, sehe ich folgende Leilen:
    Code:
    11:06:47.079 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A06%3A21%3Aaa ir 768928d7 1950581.901
    11:06:47.080 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
    11:06:47.086 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A06%3A21%3Aaa button dead 1950581.901 1
    11:06:47.170 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A06%3A21%3Aaa ir 768928d7 1950582.008
    11:06:47.171 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
    11:06:47.276 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A06%3A21%3Aaa ir 768928d7 1950582.115
    11:06:47.277 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
    Und genau solche Events (in diesem Fall der IR-Code 768928d7) möchte ich gerne auswerten um irgendwelche Geräte einzuschalten. Da ich mit meiner Harmony Fernbedienung beliebige IR-Codes schicken kann ist damit die Vielfalt der zu steuernden Geräte für mich fast unbegrenzt.
    Squeezeboxen habe ich genügend im Haus stehen ;-)

    Kann mir bitte wer helfen? An wen muss ich mich wenden, um dieses Feature vorzustellen. Ich bin da wirklich sehr interessiert dran.

    Vielen Dank und viele Grüße
    Michael

    #2
    +1

    Hatte ich mit MH auch. Für mich aktuell der einzige Grund eine Squeezebox im Wohnzimmer zu lassen (neben dem Sonos Geraffel ,-).

    Das müsste am einfachsten mit dem Squeezebox Binding gehen. Wende dich doch an dessen Entwickler.

    BTW: Braucht jemand Squeezeboxen (1xclassic, 2xboom). Einfach melden.

    Kommentar


      #3
      Zitat von RaK Beitrag anzeigen
      +1
      Das müsste am einfachsten mit dem Squeezebox Binding gehen. Wende dich doch an dessen Entwickler.
      Weißt Du, wie ich den Entwickler rausfinden kann?

      Kommentar


        #4
        Der ursprüngliche Entwickler hieß Markus ;-) Allerdings ist das Binding danach wohl ziemlich umgebaut worden und ich hatte länger keine Zeit mehr, mal wieder einen Blick auf den Code zu werfen.
        Leider fehlt mir auch noch eine Fernbedienung, um damit rumzuspielen. Gibt es die Ir Codes irgendwo nachzulesen?

        Kommentar


          #5
          Du kannst jede beliebige Fernbedienung nehmen. Das ist das spannende. Die Squeezebox empfängt, dekodiert und sendet einen lesbaren Code über das CLI.

          Kommentar


            #6
            Zitat von KingCrab Beitrag anzeigen
            Der ursprüngliche Entwickler hieß Markus ;-) Allerdings ist das Binding danach wohl ziemlich umgebaut worden und ich hatte länger keine Zeit mehr, mal wieder einen Blick auf den Code zu werfen.
            Leider fehlt mir auch noch eine Fernbedienung, um damit rumzuspielen. Gibt es die Ir Codes irgendwo nachzulesen?
            Hallo KingCrab,

            ich fände das super, wenn Du Dir das mal ansehen könntest. Also eigentlich brauchst Du keine IR-Codes zu wissen. Die Anforderung ist schlicht, dass die empfangenen IR-Codes in einer Variablen gespeichert werden, so wie z.B. der title oder artist des aktuell gespielten Songs.
            In einer Rule könnte die Variable dann Aktionen auslösen. Es könnte z.B. so aussehen:

            item:
            Code:
            String sq_ir_code { squeeze="player1:ir" }
            rule:
            Code:
            rule Startup 
            when 
                    sq_ir_code received update
            then
                Wenn IR-Code == xyz123 dann schalte das Wohnzimmerlicht ein.
                Wenn IR-Code == xyz124 dann schalte das Wohnzimmerlicht aus.
            end
            Diese IR-Codes werden im Debug-Modus auch bereits im openhab.log registriert, sprich es müsste diese Nachricht "nur" noch geparsed werden und in eine Variable abgelegt werden.
            Leider bin ich kein Entwickler ...

            Viele Grüße
            Michael

            Kommentar


              #7
              Hallo Zusammen,
              hab' mal geguckt und versucht, die Änderungen einzubauen. Bin mir aber nicht sicher ob ich schon alle Stellen erwischt habe und leider bin ich gerade etwas in Zeit- und Skill-Nöten (meine Squeezebox gibt keinen Code aus und ich habe einen Termin). Hättet Ihr vielleicht Lust und Zeit, den Snapshot mal auszuprobieren? Das Zauberwort ist "ircode", sonst bleibt Alles wie gehabt.
              Danke
              Angehängte Dateien

              Kommentar


                #8
                Hey KingCrab,

                erstmal vielen Dank für Deine Mühe!
                Ich hatte die letzten Tage Besuch und nicht mal Zeits in Forum zu schauen, aber klar, ich werde Deinen Patch ausprobieren.
                Ich melde mich, sobald ich dazu gekommen bin.

                Viele Grüße
                Michael

                Kommentar


                  #9
                  Hallo KingCrab,

                  also hier meine bisherigen Erkenntnisse, bzw. Fragen:

                  als rule habe ich folgendes abgelegt:
                  Code:
                  rule "IR Code catched"
                  when
                      Item sq_galerie_ircode received update
                  then
                      logInfo("IR Code rules", "IR Code: sq_galerie_ircode.state")
                  end
                  Leider gibt das Logfile im Debugmodus nur folgenden Output:
                  Code:
                  17:31:41.045 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 768948b7 2202.292
                  17:31:41.046 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  17:31:41.052 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 button done 2202.292 1
                  17:31:41.136 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 768948b7 2202.4
                  17:31:41.137 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  17:31:41.244 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 768948b7 2202.508
                  17:31:41.244 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  17:31:42.007 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 7689c837 2202.972
                  17:31:42.008 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  17:31:42.360 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 button numberScroll_5 2202.972 1
                  17:31:42.361 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 7689c837 2203.08
                  17:31:42.362 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  17:31:42.363 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 7689c837 2203.188
                  17:31:42.364 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  17:31:42.427 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 768928d7 2203.675
                  17:31:42.428 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  17:31:42.433 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 button numberScroll_6 2203.675 1
                  17:31:42.518 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 768928d7 2203.783
                  17:31:42.519 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  17:31:42.626 DEBUG o.o.i.s.SqueezeServer[:375] - Message received: 00%3A04%3A20%3A1e%3Ae7%3A12 ir 768928d7 2203.891
                  17:31:42.627 DEBUG o.o.i.s.SqueezeServer[:482] - Unhandled message type 'ir'. Ignoring.
                  Mögliche Fehler meinerseits (bin noch sehr neu bei openHAB):
                  1) die rule funktioniert nicht (z.B. loginfo-Befehl oder die Bedingung ist falsch)
                  2) das item ist falsch definiert
                  Meine item-Definition:
                  Code:
                  String sq_galerie_ircode   "IR-Code [%s]"  (gPlayerGalerie)   { squeeze="galerie:ircode" }
                  Kannst Du mir helfen?

                  Viele Grüße
                  Michael

                  Kommentar


                    #10
                    Entschuldige, war vermutlich mein Fehler. Hab noch nicht verstanden gehabt, das jetzt auch mehrere Pakete aus dem Build rausfallen. Hier sollte jetzt Alles drin sein...
                    Angehängte Dateien

                    Kommentar


                      #11
                      Super, es funktioniert!!!
                      Herzlichen Dank, KingCrab!

                      Sollte ich noch auf Fragen haben oder auf Probleme stoßen, dann melde ich mich.

                      Werden Deine Anpassungen in den offiziellen Code Einzug finden oder wären die bei einem Update wieder weg?

                      Viele Grüße
                      Michael

                      Kommentar


                        #12
                        Werd' mal zusehen, das ich die in den offiziellen Code bekomme... Allerdings ist dann die Frage, wann die Änderung aufgenommen wird. Aber ich geb mein Bestes ;-)

                        Kommentar


                          #13
                          Hi,

                          Zitat von KingCrab Beitrag anzeigen
                          Allerdings ist dann die Frage, wann die Änderung aufgenommen wird. Aber ich geb mein Bestes ;-)
                          für PR in überschaubarer Größe (hiermit meine ich die Anzahl der Betroffenen Klassen und deren Änderungsgrad) sollte das kein Problem. Bitte bedenke, dass wir ab dem 15. Januar den Code-Freeze starten.

                          Gruß,

                          Thomas E.-E.
                          Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                          Kommentar


                            #14
                            Das Wiki sollte zum Squeezebox Binding dann auch noch angepasst, sonst bleiben diese Änderungen unser Geheimnis :-)
                            Hab auch was zu squeezespeak oder ähnliches gesehen,aber im Wiki steht dazu nix.

                            Gesendet von meinem GT-I9105P mit Tapatalk

                            Kommentar


                              #15
                              @Thomas: Pull request ist raus. Sind nur eine handvoll Zeilen.

                              @staehler: Nur zu... Geteiltes Leid ist halbes Leid :-P

                              Kommentar

                              Lädt...
                              X