Benutzeravatar
BERLINHIMMEL
Mitglied

Beiträge:103
Registriert:27. Mar 2016
Wohnort:Berlin

Individuelle Anpassung der Fernbedienung will nicht... (gelöst)

16. Mai 2016, 23:52

Hi....

In der Anleitung hier auf powerpi im Kontext zur Verwendung mit Kodi / Hyperion stoße ich leider auf gewisse Grenzen...

Die Tasten konnte ich alle programmieren / anlernen lassen und die meisten Befehle laufen auch, wie sie sollen. Allerdings stoße ich bei den "Sondertasten" an meine Grenzen.

So lautet es z.B. in der Anleitung bei "5. Individuelle Anpassungen vornehmen" man kann eine Keymap anlegen und für eine Sondertaste (im Beispiel "Star" genannt) bekommt einen Steuerbefehl um die Favoriten direkt zu öffnen. Dieser Befehl wiederum soll aus dem Wiki von Kodi stammen, doch hier hapert es bereits, denn im Wiki finde ich den Befehl für Favoriten nicht mehr. Es scheint so, als hätte man diesen Eliminiert. Demnach funktioniert "ActivateWindow(Favourites)" nicht mehr. Wenn ich das so einrichte und meine freien Sondertaste drücke, werden jedenfalls keine Favoriten geöffnet, sondern er will immer in den Fernsehmodus springen.

Das mit den Favoriten ist nun aber nicht so wichtig, denn im Grunde will ich mittels FB den Kanal auf externe oder interne Quelle ändern können bzw. ggf. noch das Ambilight an/ausmachen können.

Für den Wechsel von KODI / HDMI Ambilight habe ich zwei freie Tasten einer FB mit KEY_F1 und KEY_F2 belegt. In der Lircmap weiß ich nun zum Beispiel nicht so recht, was ich hier genau definieren soll, da es im Wiki von KODI ja kein Befehl für Ambilight gibt und im Beispiel der Anleitung wird nur von "Star" gesprochen, aber Sterne will ich ja keine Vergeben.
Kann ich hier nun eine beliebige Vergabe machen einer bisher ungenutzten Aktion??? Und was muss ich die remote.xml dann rein schreiben?
Ich hatte dies Testweise mal versucht oder infach mal den Tasten in der Lircmap.xml ein "pageplus" und "pageminus" definiert (diese Befehle sollen ja so weit existieren) und das dann auch in der remote.xml so verankert, doch leider ohne Erfolg. Egal was ich einstelle, die Tasten funktionieren nicht so wie sie sollen.
Zuletzt geändert von BERLINHIMMEL am 9. Aug 2016, 19:01, insgesamt 1-mal geändert.
Mein Projekt "Ambilight hinter eine Leinwand" erfolgreich abgeschlossen.

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Individuelle Anpassung der Fernbedienung will nicht...

17. Mai 2016, 13:42

Wenn deine Tasten sauber bis Kodi von LIRC durchgeschleust werden verwende einfach das Addon hier
http://kodi.wiki/view/Add-on:Keymap_Editor

Damit kannst du alles sauber mappen.

Ich würde halt Grundsätzlich NIE selber die Tasten mit LIRC anlernen sondern die fertigen Keymaps von hier runter laden, dann hast du korrekte Namen für alle Tasten welche in Kodi im Regelfall sofort supported werden.
Kein Support per PM!

BERLINHIMMEL
Mitglied

Beiträge:103
Registriert:27. Mar 2016
Wohnort:Berlin

Individuelle Anpassung der Fernbedienung will nicht...

17. Mai 2016, 13:57

Die Liste mit den fertigen Keymaps habe ich schon gesehen, aber meine FB (Miglia - Eine FB die mit meinem EyeTV Stick mitkam) war dort nicht gelistet.
Grundsätzlich sind ja alle Tasten auch korrekt angelernt. Sie funktionieren alle, was ich mittels Test verifizieren konnte.
Den Keymap Editor habe ich auch installiert und konnte so schonmal die Favoriten zuweisen. Die Taste funktioniert also nun korrekt. Aber der Editor ist ziemlich verschachtelt wie ich finde und man findet auch nicht alle Funktionen, vor allem nicht die, die nichts mit Kodi zu tun haben. So kann ich zumindest bisher keine Option finden um Ambilight An/Aus zu schalten bzw. die Signalquelle zu ändern. Genau das war ja eigentlich mein Ziel bei dem Vorhaben, damit ich am Ende eben ein einfaches Ablaufscript im Harmony Hub erstellen kann.
Mein Projekt "Ambilight hinter eine Leinwand" erfolgreich abgeschlossen.

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Individuelle Anpassung der Fernbedienung will nicht...

17. Mai 2016, 13:59

In dem Keymap_Editor findest du natürlich keine Funktionen zum Ambilight, der zeigt ja nur Kodi interne Funktionen an welche man mappen kann :D

Persönlich verwende ich den Keymap_Editor auch nur um mir Funktionen und Tasten anzeigen zu lassen - daher danach verwende ich wieder meine eigene keymap.xml

Mit dem Addon kann man aber schnell raus finden welche Taste gedrückt wurde und wie die Befehle heißen.
Kein Support per PM!

BERLINHIMMEL
Mitglied

Beiträge:103
Registriert:27. Mar 2016
Wohnort:Berlin

Individuelle Anpassung der Fernbedienung will nicht...

17. Mai 2016, 14:09

Und wo kann ich das im Addon sehen, also wie die jeweiligen Befehle heißen nachdem ich gedrückt habe?

Und hinsichtlich der eigenen Keymap sind wir wieder an dem Punkt, dass es bei mir ja nicht funktionieren will. Ich hab ja versucht die Favoriten anzusprechen entsprechend der Anleitung, was aber nicht funktionieren wollte und ich an falscher Stelle gelandet bin. Erst mit dem Keymap Editor habe ich es richtig einstellen können was die Favs anbelangt.
Mein Projekt "Ambilight hinter eine Leinwand" erfolgreich abgeschlossen.

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Individuelle Anpassung der Fernbedienung will nicht...

17. Mai 2016, 14:11

Im Addon gar nicht.

Ich mach immer ein backup meiner eigenen keymap.xml, stell dann mit dem Addon was ein was ich auf die schnelle nicht via google finde, lass das Addon die keymap.xml generien, hol mir aus der generierten Datei den benötigten Eintrag, packe diesen in meine keymap.xml und verwende jene dann auch wieder.
Kein Support per PM!

BERLINHIMMEL
Mitglied

Beiträge:103
Registriert:27. Mar 2016
Wohnort:Berlin

Individuelle Anpassung der Fernbedienung will nicht...

17. Mai 2016, 14:13

Good point... Das sollte ich auch hinbekommen :-) Danke.
Mein Projekt "Ambilight hinter eine Leinwand" erfolgreich abgeschlossen.

BERLINHIMMEL
Mitglied

Beiträge:103
Registriert:27. Mar 2016
Wohnort:Berlin

Individuelle Anpassung der Fernbedienung will nicht...

9. Aug 2016, 18:51

Nachdem ich nun länger nicht mehr das Projekt "Fernbedienung" angerührt habe und es so belassen habe, wie es funktioniert hat... Habe ich mich nun mal wieder daran gewagt und bin einen sehr großen Schritt voran gekommen.

So habe ich herausgefunden, dass jede Taste der Fernbedienung eine "ID" zugewiesen bekommt. Teilweise eine Nummer, teilweise weist Kodi aber auch einen Befehl in Form von Text zu, der nicht identisch mit den definierten Begriffen beim Anlernen ist (wie z.B. KEY_BLUE für eine blaue Taste usw.).

Der Anstoß kam über ein Zufallsfundstück, als ich via SSH mit meinem FTP Programm am Pi verbunden war. Hierbei bin ich über eine Datei gestolpert, die sich "gen.xml" nennt und sich im Ordner "keymaps" befand. Diese Datei wurde vom Keymaps Editor erzeugt.

Pfad: /storage/.kodi/userdata/keypmaps/gen.xml

Die Datei war genau so aufgebaut wie hier auf Powerpi in der Anleitung für die individuelle Zuweisung von erstellte Aktionen (z.B. zum Wechsel der Hyperion Quellen) von Befehlen der Fernbedienung. Im Programm vom Keymap Editor hatte ich bis dato exakt eine Taste definiert... Eine Rote. In der besagten Datei sah das dann so aus:

Code: Alles auswählen

<keymap>
   <home>
      <keyboard>
         <key id="251">activatewindow(favourites)</key>
      </keyboard>
   </home>
</keymap>


Der Druck auf die rote Taste hat die Favoriten geöffnet und wie man sieht, hat die rote Taste vom Keymap Editor eine ID bekommen. Nach Recherchen im Netz konnte ich dann herausfinden, dass man über das Logfile von Kodi diese individuellen ID's herausfinden kann.
Also befolgte ich die Anleitung von http://kodi.wiki/view/Log_file/Advanced eine "advancedsettings.xml" Datei an, die in den Ordner "userdata" muss.

Pfad: /storage/.kodi/userdata/advancedsettings.xml

In diese Datei habe ich diesen Inhalt eingefügt (entsprechend der Anleitung), um nur die Aktionen von Eingabegeräten aufzuzeichnen:

Code: Alles auswählen

<advancedsettings>
    <loglevel>2</loglevel> <!-- Change this to "1" to hide the on-screen debug log text -->
    <debug>
        <extralogging>true</extralogging>
        <setextraloglevel>64,2048,32768</setextraloglevel>
        <showloginfo>true</showloginfo> <!-- Change this to "false" to hide the on-screen debug log text -->
    </debug>
</advancedsettings>


Das Ergebnis war dann perfekt, denn im Logfile waren tatsächlich die ID's zu finden. Der Kodi Log befindet sich hier:

Pfad: /storage/.kodi/temp/kodi.log

Der Logfile hat natürlich sehr viel Text, aber wenn man ihn nach einer Eingabe der Fernbedienung öffnet, kann man ans Ende springen und findet hier dann in einer der vielen Zeilen ein Eintrag der sich "DEBUG: OnKey:" nennt. Direkt dahinter befindet sich dann die ID der gedrückten Taste wie z.B. "DEBUG: OnKey: 251 (0xfb)". Die ID lautet in diesem Fall "251". Diese ID stimmte exakt mit der ID überein, die ich in der gen.xml Datei gefunden habe für meine rote Taste (siehe weitere oben im Text). Also ein Volltreffer.
Wer mag, kann den Inhalt vom Kodi log auch einfach löschen und die leere Datei sichern. Das erspart einen dann das ständige neuladen und durchscrollen des gesamten Logfiles. Löschen sollte man die Datei hingegen nicht, sonst funktioniert das ganze nicht mehr und man muss den Pi neu starten.

Über den Log konnte ich so nun für jede Taste die eigene ID erfahren die KODI vergeben hat und damit ist es mir nun gelungen, alle Aktionen die ich mir gewünscht habe, frei zuzuweisen.

Dieser Weg ist sicherlich nicht der aller einfachste. Vielleicht kennt jemand eine bessere Lösung die ID in Erfahrung zu bringen, aber bis dahin ist dies vielleicht auch für andere eine Lösung, eine beliebige Fernbedienung im vollen Umfang zu nutzen wie man es möchte, ohne Einschränkungen.

Achja und wenn man fertig ist mir diesem Projekt, kann man die advancedsettings.xml wieder löschen. Sonst wird das Logfile die ganze Zeit weitergeführt und bläht sich immer mehr auf mit jeder Eingabe die man in Kodi macht.

Meine fertige gen.xml Datei sieht nun aktuell übrigens so aus:

Code: Alles auswählen

<keymap>
   <global>
      <keyboard>
         <!-- ROT --><key id="251">activatewindow(favourites)</key>
         <!-- GRUEN --><key id="252">XBMC.System.Exec("/storage/.kodi/userdata/hyperion_toggle.sh")</key>
         <!-- GELB --><key id="253">XBMC.System.Exec("/storage/.kodi/userdata/hyperion_hue_aktivieren.sh")</key>
         <!-- BLAU --><key id="254">XBMC.System.Exec("/storage/.kodi/userdata/hyperion_grabber_aktivieren.sh")</key>
      </keyboard>
   </global>
</keymap>


Die Infos zwischen <!-- XXX --> sind von mir selbst gesetzte Hinweise, welche Taste es ist. Sie werden nicht beachtet vom System und sind auch nicht relevant oder erforderlich. Ich denke man kann im Ordner "keymaps", wo sich die gen.xml Datei befindet, auch andere xml Dateien ablegen. Ich habe einfach aus Bequemlichkeit die vorhandene benutzt. Wer den Keymap Editor nicht installiert hat in Kodi, muss vermutlich den Ordner "keymaps" manuell anlegen.

ID's können, wie gesagt, nicht nur als Zahl existieren. So lautet z.B. eine ID "homepage" und die Taste auf der FB besitzt den Vordruck "Play/Pause". Von Kodi wurde sie auch als Play/Pause korrekt interpretiert. Die Taste "Mute" auf der FB besitzt die ID: launch_app1_pc_icon.
Mein Projekt "Ambilight hinter eine Leinwand" erfolgreich abgeschlossen.

funkyflex
Neuling

Beiträge:10
Registriert:26. Jun 2016

Individuelle Anpassung der Fernbedienung will nicht...

10. Aug 2016, 09:55

Guten morgen und vielen Dank für deine Ausführungen!

Ich habe die alte IR-Fernbedienung eines DVD-Players von Philips zweckentfremdet und diese funktioniert auch prinzipiell am PI. Problem ist, dass ich den PI nicht offen stehen haben möchte und ich aus diesem Grund eine WLAN Fernbedienung als App auf meinem Smartphone nutzen möchte.

Hast du diesbezüglich auch schon Erfahrungen gemacht? Ich nutze bisher die App Yatse, diese funktioniert gut, jedoch hat sie bisher zwei Mängel, die ich bisher nicht beheben konnte:

1. Das starten des PI's funktioniert nicht, sodass ich dafür entweder den Knopf an dem Remote Pi-Board Plus direkt am PI drücken, oder die IR-Fernbedienung nutzen muss. Das wird sich vermutlich auch nicht lösen lassen, oder? (eher nicht so wichtig, da der PI im Dauermodus laufen soll)

2. Kann ich die von dir beschriebenen Programmierungen für die verschiedenen Ambilight Modi ("Aus"; "Ambilight für Kodi"; Ambilight für HDMI Quellen") auch in diese WLAN Fernbedienung einbauen? Hast du da irgendwelche Erfahrungen / Ideen?

BERLINHIMMEL hat geschrieben:
Meine fertige gen.xml Datei sieht nun aktuell übrigens so aus:

Code: Alles auswählen

<keymap>
   <global>
      <keyboard>
         <!-- ROT --><key id="251">activatewindow(favourites)</key>
         <!-- GRUEN --><key id="252">XBMC.System.Exec("/storage/.kodi/userdata/hyperion_toggle.sh")</key>
         <!-- GELB --><key id="253">XBMC.System.Exec("/storage/.kodi/userdata/hyperion_hue_aktivieren.sh")</key>
         <!-- BLAU --><key id="254">XBMC.System.Exec("/storage/.kodi/userdata/hyperion_grabber_aktivieren.sh")</key>
      </keyboard>
   </global>
</keymap>



BERLINHIMMEL
Mitglied

Beiträge:103
Registriert:27. Mar 2016
Wohnort:Berlin

Individuelle Anpassung der Fernbedienung will nicht... (gelöst)

10. Aug 2016, 13:38

Also für iOS gibt es eine offizielle Anwendung für Kodi (einfach nach Kodi suchen). Da gibt es auch Optionen um eigene Zuweisungen zu machen.
Sowas wie hier geschildert, also Aktionen die man in einer .sh Datei definiert hat, kann man darüber aber auch nicht steuern.

Bez. des Empfangs des IR Signals fallen mir da aber spontan zwei möglichkeiten ein.
1. Der IR Empfänger ist winzig. Warum nicht einfach eine lange Leitung (3 Kabel notwendig) zum IR Empfänger an die Stelle seiner wahl. Die Kabel müssen auch nicht dick sein. Entscheidend ist nur, dass es Sichtkontakt zur FB gibt.

2. Mittels Harmony Hub kann man nicht nur sein FB Chaos beseitigen sondern auch Geräte steuern, die im Schrank sind. Der Hub selbst empfängt Befehle vom Smartphone mittels Harmony Software über wlan. Der Hub selbst hat sehr viele IR Sender und eine sehr gute Streuung. Zusätzlich liegt im Hub noch ein externer IR Sender bei, den man auf eine andere Etage im Schrank oder außerhalb anbringen kann. Er ist auch nicht sehr groß. Man kann sogar noch einen zweiten IR Sender dazu kaufen und anschließen. Einen hab ich sogar auch zuhause rumliegen... Weil ich den ersten in der Packung damals übersehen habe :-x
Allerdings muss man dem Harmony Hub für die definieren Befehle für den Pi dann anlernen... Das ist etwas mühsam. Zwar lernt der Hub schnell das IR Signal, aber die verwaltung der Befehle ist etwas eigenwillig wie ich finde.
Das tolle beim Harmony Hub ist wiederum, dass man ganze Aktionsketten erstellen kann wie z.B eine Aktion "Film von BluRay". Per klick auf eine Taste werden dann alle definierten Geräte angesteuert wie der richtige Kanal am HiFi Receiver, Player usw.
Der Hub lohnt aber nur, wenn man mehrere Geräte bedienen möchte. Allein für Kodi ist das quatsch, da zu teuer.
Mein Projekt "Ambilight hinter eine Leinwand" erfolgreich abgeschlossen.

Zurück zu „Ambilight - Support“