Plugins entwickeln: Was wird benötigt?

  • Hallo zusammen,
    könnte mir mal bitte jemand auflisten bzw. vielleicht auch eine kleine Erklärung dazugeben was man alles benötigt um Plugins zu erstellen für die 7025. Das schreiben der Plugins erfolgt in Python das ist soweit klar. Wie kann man die Plugins testen ohne das geflashte System mit vielleicht fehlerhaften alpha oder betaversionen vollzumüllen? Auf meinem Lokalen Rechner kann ich wohl kein Enigma installieren und da da testen? Ich hab echt keine Ahnung. Brauche aber bitte Hilfe. Vielleicht kann sich doch noch jemand überwinden mir die ein oder andere Info dazu schreiben. Ich bin dankbar für jegliche Infos in diese Richtung.


    MfG
    P

    2 Mal editiert, zuletzt von P-Crack ()

  • Du musst die Plugins schon einspielen um sie zu testen. Ich bin mittlerweile sogar dazu übergegangen sie mit vim direkt auf der Box zu schreiben - so entfällt das lästige hin- und herkopieren per FTP.

  • So nun habe ich erfolgreich Multiboot auf meiner CF installiert und das Image läuft. Grundlegendes fehlt mir aber trotzdem noch. Ich habe z.B. den Code von dem Fritzcall mal überflogen um ein bischen zu lernen. Gehen wir mal davon aus ich habe nen Plugin unter python bzw den code fertig und in meinplugin.py gespeichert. Wie muss ich dann genau vorgehen um das Ganze zu testen? Wohin kopier ich die Datei und was ist die *.pyc für eine Endung.


    Vielen Dank.


    MfG
    P

    • Offizieller Beitrag

    Wenn das Plugin im entsprechenden Verzeichnis liegt und du enigma2 neu startest, wird es automatisch kompiliert und die .pyc wird angelegt.
    Im Menü siehst du dann den Eintrag.


    Olove

  • Is there an example of a skeleton for a plugin? With a skeleton I mean a plugin which does do nothing. It shall be used to fill in your own code, to make it do something.


    Regards, Frits

    2 Mal editiert, zuletzt von fwiarda ()

  • None that I knew about, but the existing Plugins can be used as reference.
    But as I'm quite bored right now...


    Python
    from Plugins.Plugin import PluginDescriptor
    
    
    def main(session, **kwargs):                                                                                                                                                                                     
            # do nothing
            return
    
    
    def Plugins(**kwargs):                                                                                                                                                                                           
            return [ PluginDescriptor(name="Empty Plugin", description="This Plugin does nothing and should be used only for reference", where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main ) ]


    This Plugin would show in Extensionsmenu as "Empty Plugin" and does.... well, nothing :smiling_face:

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Dreamboxen
    Mobile WOL: Wake-on-LAN Client für iOS mit optionalem Widget
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung

  • Zitat

    Original von Olove
    Wenn das Plugin im entsprechenden Verzeichnis liegt und du enigma2 neu startest, wird es automatisch kompiliert und die .pyc wird angelegt.
    Im Menü siehst du dann den Eintrag.


    Das bedeutet ich muss die Dreambox für jeden Versuch neu starten?
    Gibt es eigentlich irgendwo ein reference manual oder ähnliches zu enigma2?

    • Offizieller Beitrag
    Zitat

    Original von sadway
    Das bedeutet ich muss die Dreambox für jeden Versuch neu starten?
    Gibt es eigentlich irgendwo ein reference manual oder ähnliches zu enigma2?


    Am besten per telnet ein Init 5, und dann enigma2 von Hand starten.
    zum Testen finde ich das den besten Weg wenn man kein Entwicklungssystem per NFS booten will.


    Referenz gibt es leider keine....

  • Ich habe im Internet nach ipkg-build gesucht und bin fündig geworden. Da der Link ausserhalb des Forums ist, weiss ich nicht, ob ich Ihn hier posten darf (einige Artikel wurden moderiert, wenn URLs enthalten waren).


    ipkg-build ist ein shell script, welches das erstellen erleichtert. Man kann es jedoch
    auch einfach mit tar machen, muss dann aber selbst einiges beachten...


    ipkg-build packt in das gepackte-tar-Archiv (tgz) die Dateien debian-binary, data.tar.tgz und control.tar.gz ein.