Ankündigung

Einklappen
Keine Ankündigung bisher.

Eigene Plugins erstellen.

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

    #31
    Hi,
    es gibt doch schon die Offizielle Anleitung von Marcus.
    https://docs.callidomus.com/de/Plugin-Entwicklung/
    da kann jeder reingucken....

    Ich werde mir noch das Mail, Snom, DLMS oder SML und Speech Plugin ansehen und wenn möglich Portieren.

    @Marcus:
    Der Item Dialog wird wohl mit jedem weiteren Plugin das eigene Attribute mitbringt immer länger und länger. Das wird bald unübersichtlich wird. Kann man das nicht auf Tabs umbauen?

    VG
    Jürgen

    Kommentar


      #32
      Hallo Jürgen,

      Zitat von heckmannju Beitrag anzeigen
      Kann man das nicht auf Tabs umbauen?
      gute Idee, habe ich mal bei den TODOs aufgenommen.

      Bis bald

      Marcus

      Kommentar


        #33
        Hallo Marco,

        Zitat von Marcov Beitrag anzeigen
        ich "muss" aber meine Plugins mitnehmen können.
        prinzipiell sollte man alle SH.py Plugins einfach konvertieren können, nur wen spezielle HW oder SW notwendig ist könnte es Probleme geben.

        Bis bald

        Marcus

        Kommentar


          #34
          Hi,
          ich bin gerade am Speech Plugin. da liegt ein speech.py neben den __init__.py der import schlägt aber fehl.

          Code:
          global varParse, dictError
          from speech import varParse, dictError
          Code:
          2016-08-13 12:24:21 INFO     Main         SP: Adding listener on: http:0.0.0.0:2788
          2016-08-13 12:24:21 DEBUG    Main         HTTPDispatcher: binding to 0.0.0.0:2788 (TCP)
          2016-08-13 12:24:21 INFO     Main         SP: Server Starts - 0.0.0.0:2788
          2016-08-13 12:24:21 ERROR    Main         Plugin Speech exception: cannot import name 'varParse'
          Traceback (most recent call last):
            File "/mfs/core/lib/plugin.py", line 100, in __init__
              _attributes)
            File "/mfs/core/lib/plugin.py", line 163, in __init__
              self.plugin = _class(core, **args)
            File "/data/callidomus/local/plugins/speech/__init__.py", line 94, in __init__
              from speech import varParse, dictError
          ImportError: cannot import name 'varParse'
          2016-08-13 12:24:22 DEBUG    Main         KNX: binding to 192.168.102.51:26293 (UDP)
          ein ähnliches Problem habe ich auch schon schon mal hier bei den Logiken gemeldet.

          https://knx-user-forum.de/forum/supp...644#post973644

          Viele Grüsse
          Jürgen

          Kommentar


            #35
            Hallo Jürgen,

            Zitat von heckmannju Beitrag anzeigen
            Hi,
            ich bin gerade am Speech Plugin. da liegt ein speech.py neben den __init__.py der import schlägt aber fehl.

            ein ähnliches Problem habe ich auch schon schon mal hier bei den Logiken gemeldet.
            ändere den Import bitte so ab:
            Code:
             
             from speech.speech import varParse, dictError [FONT=Arial][/FONT]
            Für Logiken sehe ich momentan keine sinnvolle Möglichkeit Module zu importieren. Bis bald
            Marcus

            Kommentar


              #36
              Hi,
              Warum ist das Verhalten an dieser Stelle ganz anders wie in den pyton Lehrbüchern beschrieben?


              Das coding speech.speech funktioniert zwar nur weiß ich nicht warum.

              Viele Grüße
              Jürgen

              Kommentar


                #37
                Hallo Jürgen,

                das Verhalten entspricht den "Lehrbüchern" bzw. der Python Doku.

                Ich setze den sys.path an einer Stelle mit:

                Code:
                sys.path.insert(2, '/data/callidomus/local/plugins')
                Dort such er nach community bzw. lokalen Plugins.

                import speech würde das Plugin speech importieren.
                import speech.speech importiert aus dem Plugin speech das Modul speech.

                Bis bald

                Marcus

                Kommentar


                  #38
                  Hi,
                  also das verhalten ist schon anders....aber du hast ja jetzt erklärt warum. Solltes du in die Plugin doku mit aufnehmen.

                  Kann ich den von Logiken aus auf Module der Plugins zugreifen?

                  Viele Grüsse
                  Jürgen

                  Kommentar


                    #39
                    Hallo Jürgen,

                    Zitat von heckmannju Beitrag anzeigen
                    Hi,
                    also das verhalten ist schon anders
                    Nein. Du solltest die Python-Doku noch einmal lesen, oder es einfach akzeptieren.
                    Was an dem Plugin speech ungewöhnlich ist, das es noch ein Modul speech beinhaltet, das abgesehen davon eine Konfiguration beinhaltet.

                    Zitat von heckmannju Beitrag anzeigen
                    Kann ich den von Logiken aus auf Module der Plugins zugreifen?
                    Ja, das geht. Ist aber nicht schön, da bei jedem Logikaufruf das Modul geladen wird. (aus dem Cache)

                    Bis bald

                    Marcus

                    Kommentar


                      #40
                      Marcus,

                      akzeptiert hab ich das schon lange....aber ich will es einfach nochmal sagen/klarmache das das etwas ist was man nicht ohne eine erklärende Doku verstehen kann das auf einmal irgentwo Sys.path gesetzt ist. Und man dann Programme die schon Jahre in Smarthome.py liefen umschreiben muss.

                      Viele Grüsse
                      Jürgen




                      Kommentar


                        #41
                        Hi Marcus,

                        So wie ich das in dem Modbus Thread verstanden habe muss man ja nicht nur seine imports abändern sondern auch alle in den einzelnen Dateien einer Lib. (https://knx-user-forum.de/forum/supp...17#post1039617)

                        Könnte man in den plugins nicht noch einen Folder machen der z.b lib heist und dann diesen auch noch in den Pfad aufnehmen? Dann müste man nicht den Pfad aller Moduldateien abhändern.

                        Viele Grüsse
                        Jürgen

                        Kommentar


                          #42
                          Hallo Jürgen,

                          lib nicht, aber evtl. etwas anderes. Ich muss da noch einmal darüber nachdenken.

                          Bis bald

                          Marcus

                          Kommentar

                          Lädt...
                          X