Fragen zu einfachem Beispiel/Test Plugin

  • Hallo,


    ich habe versucht im telnet Fenster Befehle von der enigma.py zu testen, aber es kommen schon beim import von enigma Fehlermeldungen:

    z.B.


    Da dies anscheinend so nicht funktioniert, möchte ich mir ein kleines Test Plugin erstellen, da ich nicht weiss wie man ein Plugin erstellt, möchte ich als Vorlage das Quickplugin verwenden und dort nach der Installation die plugin.py ersetzen.

    Kann bitte mal jemand drüber schauen ob dies so passen könnte? Was bewirkt das "-1" am Ende von ActionMap?


    Gruß Ralf

    Two mit SSD, One, 7025-S, 7000-S

  • Die -1 am Ende der ActionMap ist die Prio.


    Das findet man in der ActionMap (.../Components/ActionMap.py)

    Python
    class ActionMap:
        def __init__(self, contexts = [ ], actions = { }, prio=0):


    Wenn man einen eigenen Screen öffnet, kann man die Prio weglassen.

    Das nutzt man eigentlich nur, wenn man bestehende Screens mit eigenen Tastendefinitionen überschreiben möchte.

    Dann entscheidet da die Prio.

    Ich glaube, je kleiner die Prio, desto eher greifen die Definitionen.

    Deshalb wird da manchmal -1 oder -2 verwendet.


    Du kannst die plugin.py doch einfach ersetzen.

    Dann einen GUI-Neustart machen und den Plugin-Browser aufrufen.

    Wenn da ein Fehler kommt, stimmt was nicht im Code, ansonsten kannst du das Plugin dann aufrufen.

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One + Two mit DP AIO - OE2.6

  • Es funktioniert fast wie gewünscht, aber bei rot wird cancel ausgeführt anstatt test2.

    Mir ist nicht klar was ich ändern muss damit es funktioniert.

    Ich hab nicht gefunden wo "ColorActions" definiert ist.

    Code
            self["setupActions"] = ActionMap(["SetupActions", "ColorActions"],
            {
                "green": self.test1,
                "red": self.test2,
                "cancel": self.keyClose,
            }, )

    keymap.xml


    Code
    <keymap>
    <map context="TestActions">
            <key id="KEY_GREEN" mapto="green_l" flags="l" />
            <key id="KEY_YELLOW" mapto="yellow_l" flags="l" />
            <key id="KEY_RED" mapto="red_b" flags="b" />
            <key id="KEY_RED" mapto="red_l" flags="l" />
            <key id="KEY_BLUE" mapto="blue_l" flags="l" />
    </map>
    </keymap>
    root@dreamb

    Two mit SSD, One, 7025-S, 7000-S

  • Die Definitionen für "red", "cancel" ... in "SetupActions", "ColorActions" findest du in folgender Datei:

    /usr/share/enigma2/keymap.xml


    "cancel" kommt hier per "SetupActions" auch von der roten Taste.

    <key id="KEY_RED" mapto="cancel" flags="m" />


    Probiere es mal so (andere Reihenfolge):

    self["setupActions"] = ActionMap(["ColorActions","SetupActions"],

    Dann wird die rote Taste zuerst aus dem "ColorActions" gesetzt.

    <key id="KEY_RED" mapto="red" flags="m" />

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One + Two mit DP AIO - OE2.6

  • Ich hab mal danach versucht ein debian Paket zu erstellen:

    [gelöst] deb-Dateien manipulieren - debianforum.de


    Hab dazu zum testen ein vorhandenes deb Paket verwendet

    entpacken:

    dpkg-deb -R enigma2-plugin-xxx.deb test2

    erstellen:

    dpkg-deb --build test2 test_plugin.deb


    geht das so einfach?


    Mir ist dabei aufgefallen, dass das deb Paket bei jedem erstellen eine andere Größe hat, ist das normal?

    Code
    -rw-r--r--    1 root     root        186620 Feb  2 12:23 test_plugin.deb
    -rw-r--r--    1 root     root        186608 Feb  2 12:24 test_plugin2.deb
    -rw-r--r--    1 root     root        186598 Feb  2 12:24 test_plugin3.deb

    Two mit SSD, One, 7025-S, 7000-S

  • Ich benenne bereits den Ordner mit dem Inhalt des deb passend zum vorhandenen control-File:

    z.B. enigma2-plugin-extensions-startuptoidle_1.2_all

    (Package_Version_Architecture)


    control-file:

    Code
    Package: enigma2-plugin-extensions-startuptoidle
    Version: 1.2
    Architecture: all
    ...

    Dann muss man beim Erstellen nur den Ordner angeben (ohne den 2. Parameter für den Ziel-Dateiname).

    dpkg-deb -b ]enigma2-plugin-extensions-startuptoidle_1.2_all

    Dabei wird dann gleich die deb so genannt, wie der Ordner heißt.


    Bei mir hat das deb auch immer eine andere Größe, wenn ich es mehrfach neu erstelle.

    Sind hier aber auch nur wenige Bytes.

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One + Two mit DP AIO - OE2.6

  • Da ich eine Buildumgebung habe, baue ich meine Packages immer dort. Da brauch ich nur ein bitbake-recipe und den Rest erledigt bitbake

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource