Ankündigung

Einklappen
Keine Ankündigung bisher.

Eigene Plugins machen

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

    [callidomus] Eigene Plugins machen

    Hi,

    ich bin gerade daran das Sqeezbox plugin zu anzupassen/portieren.

    ich habe dazu ein eine File config.md in angelegt.

    Code:
    {{
    form.guiInput('host', label='host', help="""IP or hostname of the Logitech Media Server if not local""")
    form.guiInput('port', label='port', help="""Port number of the Logitech Media Server if not 9090""")
    }}
    wenn ich jetzt gui build und core restart mache dachte ich das ich dann die beiden werte beim Plugin eingeben darf. Die erscheinen aber nicht. Das Sqeezbox plugin selber ist da.

    Was mir bei gui build auffält ist das mein Plugin Sqeezbox nicht in der liste ist.

    Code:
    Starting cd_gui.
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/icon/icons.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/icon/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/timer/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/rgb/colordisc.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/rgb/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/knxlog/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/qr/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/date/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/slider/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/dimmer/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/switch/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/button/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/chart/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/gauge/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/comfortzone/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/log/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/calendar/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/blind/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/dwd/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/value/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/period/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/sunpos/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/shutter/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/thermostat/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/group/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/blind_buttons/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/widgets/text/edit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/widget.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/items.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/configLocation.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/status.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/logics.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/maintenance.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/pluginEdit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/visuMenu.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/itemEdit.html
    INFO:lib.gui:including: /var/callidomus/gui/tmp/dynamic/help/timer.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/help/timer.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/visu.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/configVisu.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/widgets/index.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/visuIcons.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/visuWidgets.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/config.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/visuPageEdit.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/logicEdit.html
    INFO:lib.gui:including: /var/callidomus/gui/tmp/dynamic/help/timer.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/help/timer.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/statusSystem.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/iCal.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/Network.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/CLI.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/DWD.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/KNX.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/debug.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/debug.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/index.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/base.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/help/timer.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/icons/list.html
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/iCal/config.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Log/config.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Network/config.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Network/item.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/CLI/config.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/DWD/config.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/KNX/config.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/KNX/item.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Kaco/config.md
    INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Kaco/item.md
    INFO:lib.gui:compress /var/callidomus/gui/js/callidomus.js
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/callidomus.js:5,0]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/callidomus.js:6,0]
    WARN: Non-strict equality against boolean: == false [/var/callidomus/gui/js/callidomus.js:189,12]
    WARN: Non-strict equality against boolean: == false [/var/callidomus/gui/js/callidomus.js:230,8]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/callidomus.js:508,12]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/callidomus.js:670,16]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/callidomus.js:694,12]
    INFO:lib.gui:compress /var/callidomus/gui/js/widgets.js
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/widgets.js:41,20]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/widgets.js:76,12]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/widgets.js:96,8]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/widgets.js:116,8]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/widgets.js:122,8]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/widgets.js:338,12]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/widgets.js:779,8]
    WARN: Side effects in initialization of unused variable node [/var/callidomus/gui/js/widgets.js:1082,12]
    WARN: Non-strict equality against boolean: == true [/var/callidomus/gui/js/widgets.js:1316,13]
    WARN: Side effects in initialization of unused variable item [/var/callidomus/gui/js/widgets.js:1375,12]
    WARN: Side effects in initialization of unused variable payload [/var/callidomus/gui/js/widgets.js:1784,20]
    WARN: Side effects in initialization of unused variable payload [/var/callidomus/gui/js/widgets.js:1791,20]
    WARN: Side effects in initialization of unused variable kind [/var/callidomus/gui/js/widgets.js:2158,12]
    WARN: Dropping unreachable code [/var/callidomus/gui/js/widgets.js:2697,16]
    WARN: Side effects in initialization of unused variable element [/var/callidomus/gui/js/widgets.js:3092,12]
    INFO:lib.gui:compress /var/callidomus/gui/js/gui.js
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/gui.js:351,16]
    WARN: Dropping side-effect-free statement [/var/callidomus/gui/js/gui.js:360,20]
    WARN: Side effects in initialization of unused variable $input [/var/callidomus/gui/js/gui.js:645,12]
    INFO:lib.gui:creating: /var/callidomus/gui/css/callidomus.css
    INFO:lib.gui:creating: /var/callidomus/gui/css/callidomus.min.css
    In welchem log ausser core könnte man noch reinschaun?

    VG
    Jürgen



    #2
    Hi,
    im log habe ich noch folgendes gefunden

    Code:
    2016-08-07 23:31:12 ERROR    Main         Plugin Squeezebox exception: No module named 'plugins.squeezebox'
    Traceback (most recent call last):
      File "/mfs/core/lib/plugin.py", line 38, in __init__
        self.directory[plugin]['path'], ', '.join(_attributes))
      File "/mfs/core/lib/plugin.py", line 84, in __init__
        exec("import {0}".format(classpath))
      File "<string>", line 1, in <module>
    ImportError: No module named 'plugins.squeezebox'
    Unbenannt.PNG


    Vielleicht siehst du meinen Fehler

    Viele Grüsse
    Jürgen

    Kommentar


      #3
      Hi Jürgen,

      ich würde darauf tippen, dass Deine plugin.conf so aussehen sollte:
      Code:
      [squeezebox]
          class = Squeezebox
      (also ein kleines s in den eckigen Klammern).

      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


        #4
        Hi Waldemar,
        das hab ich glaube ich schon ausprobiert. Das in den eckigen Klammern ist nur der name wie er dann in der Liste steht. Aber ich probier das heute Abend nochmal aus.
        Viele Grüsse
        Jürgen

        Kommentar


          #5
          Hallo Jürgen,

          wie lautet der Verzeichnisname bzw. der komplette Pfad des SB Plugins?

          Bis bald

          Marcus

          Kommentar


            #6
            Hi,

            der Pfad heisst

            /data/callidomus/local/plugins/squeezebox

            VG Jürgen
            Zuletzt geändert von heckmannju; 08.08.2016, 14:02.

            Kommentar


              #7
              Hallo Jürgen,

              da fehlt ein u. Er sucht nach
              Code:
              plugins/squeezebox
              Bis bald

              Marcus

              Kommentar


                #8
                das war nur ein Tippfehler...das u ist da siehe in den Screenshot weiter oben da sind die ganzen Dateien mit Pfad drauf. Und auch wenn das u nicht da ist. Fehlt mir noch der Bezug zu den config Dateien. An welcher stelle sollte ich den den Pfad angeben?
                Zuletzt geändert von heckmannju; 08.08.2016, 14:15.

                Kommentar


                  #9
                  Hallo Jürgen,

                  habe das Problem gefunden. Melde mich bald noch einmal.

                  Bis bald

                  Marcus

                  Kommentar


                    #10
                    Hallo Jürgen,

                    bitte zwei Dinge:

                    Code:
                    callidomus.core update
                    touch /data/callidomus/local/plugins/__init__.py
                    btw. das touch ist bei dem nächsten Image Update drin.

                    Bis bald

                    Marcus

                    Kommentar


                      #11
                      Hi,
                      ein Fehler gibt es aber immer noch

                      Code:
                      2016-08-08 18:19:38 ERROR    Main         Plugin squeezebox exception: __init__() got an unexpected keyword argument 'active'
                      Traceback (most recent call last):
                        File "/mfs/core/lib/plugin.py", line 39, in __init__
                          self.directory[plugin]['path'], _attributes)
                        File "/mfs/core/lib/plugin.py", line 90, in __init__
                          self.plugin = _class(core, **args)
                      TypeError: __init__() got an unexpected keyword argument 'active'
                      VG
                      Jürgen

                      Kommentar


                        #12
                        Hi,
                        darüber war noch ein anderer Fehler....

                        Code:
                        Init callidomus 1.0
                        2016-08-08 18:27:09 INFO     Main         Start callidomus 1.0
                        2016-08-08 18:27:09 INFO     Main         Branch: testing, Revision: 4781934, Timestamp: 201608081735
                        2016-08-08 18:27:09 DEBUG    Main         Init Scheduler
                        2016-08-08 18:27:09 DEBUG    Scheduler    creating 5 workers
                        2016-08-08 18:27:09 INFO     Main         Init Plugins
                        2016-08-08 18:27:09 INFO     Scheduler    Start Logics
                        2016-08-08 18:27:10 ERROR    Main         Plugin KNX exception: Parent module 'KNX' not loaded, cannot perform relative import
                        Traceback (most recent call last):
                          File "/mfs/core/lib/plugin.py", line 39, in __init__
                            self.directory[plugin]['path'], _attributes)
                          File "/mfs/core/lib/plugin.py", line 88, in __init__
                            _spec.loader.exec_module(_module)
                          File "<frozen importlib._bootstrap_external>", line 665, in exec_module
                          File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
                          File "/mfs/core/plugins/knx/__init__.py", line 9, in <module>
                            from . import base
                        SystemError: Parent module 'KNX' not loaded, cannot perform relative import
                        2016-08-08 18:27:10 DEBUG    Main         Adding listener on: http:0.0.0.0:8888
                        2016-08-08 18:27:10 DEBUG    Main         HTTPDispatcher: binding to 0.0.0.0:8888 (TCP)
                        2016-08-08 18:27:10 ERROR    Main         Plugin squeezebox exception: __init__() got an unexpected keyword argument 'active'
                        Traceback (most recent call last):
                          File "/mfs/core/lib/plugin.py", line 39, in __init__
                            self.directory[plugin]['path'], _attributes)
                          File "/mfs/core/lib/plugin.py", line 90, in __init__
                            self.plugin = _class(core, **args)
                        TypeError: __init__() got an unexpected keyword argument 'active'
                        2016-08-08 18:27:10 DEBUG    Main         trace DB: SQLite 3.13.0
                        Viele Grüsse
                        Jürgen

                        Kommentar


                          #13
                          Hallo Jürgen,

                          ok.

                          Bitte ein callidomus.core update

                          Und bei dem SB-Plugin, bei dem __init__ am Ende noch **kwargs dazu:
                          Code:
                          def __init__(self, smarthome, host='127.0.0.1', port=9090, [COLOR=#FF0000]**kwargs[/COLOR]):
                          Bis bald

                          Marcus

                          Kommentar


                            #14
                            Okay ist alles upgedatet und auch die codeanpassung wurden gemacht. Die Fehlermeldungen sind weg.

                            Das Plugin start auch:
                            Code:
                            2016-08-08 22:20:44 ERROR    _connections Squeezebox: could not connect to 127.0.0.1:9090 (TCP): [Errno 61] Connection refused
                            Die config.md und die item.md gehen aber immer noch nicht ich sehe beim Plugin kein Eingabefeld für host und port. Und auch bei den Items sehe ich nicht die drei Eingabefelder.

                            gui update
                            gui restart

                            habe ich gemacht. Da sehe ich das für deine Plugins was generiert wird.

                            Code:
                            INFO:lib.gui:including: /var/callidomus/gui/tmp/dynamic/help/timer.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/help/timer.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/statusSystem.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/iCal.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/Network.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/CLI.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/DWD.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/pages/plugins/KNX.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/debug.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/debug.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/index.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/templates/base.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/help/timer.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/icons/list.html
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/iCal/config.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Log/config.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Network/config.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Network/item.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/CLI/config.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/DWD/config.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/KNX/config.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/KNX/item.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Kaco/config.md
                            INFO:lib.gui:parsing file: /var/callidomus/gui/tmp/dynamic/plugins/Kaco/item.md
                            INFO:lib.gui:compress /var/callidomus/gui/js/callidomus.js
                            Aber halt nix für das Squeezbox plugin.

                            VG
                            Jürgen

                            Kommentar


                              #15
                              Hallo Jürgen,

                              ahh, mache bitte mal ein Update:

                              Code:
                              callidomus.core update
                              callidomus.core restart
                              callidomus.gui build
                              Bis bald

                              Marcus

                              Kommentar

                              Lädt...
                              X