Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Neues Plugin: Logitech Squeezebox - Anregungen?

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

  • Cannon
    antwortet
    Zitat von Morg Beitrag anzeigen
    Der Trend geht zum Zweit-shng
    Ja, wenn ich aber darüber nachdenke, dass ich dann immer alle Änderungen synchronisieren müsste, wäre das mir zu müssig. Zudem "missbrauche" ich Items für bestimmte structs usw. auch als Parameterspeicher. Somit kann man bestimmte Parameter einfach ändern und diese werden dauerhaft gespeichert. Das üsste dann jedes Mal angepasst werden. Nee - mir ist das zu verrückt. Ich mache bei dem Trend nicht mit.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Der Trend geht zum Zweit-shng

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Morg Beitrag anzeigen
    Naja, wenn du ein "garantiert" lauffähiges, stabiles System für den Produktiveinsatz will - nimm master. Nur master, kopiere nichts hinein.
    Wenn du was ausprobieren willst, dann nimm develop. Und wenn du dann was reinkopierst, sind die Chancen besser, dass was bei rauskommt
    Mir klar. :-) Aber ich kann ja hier nicht 2 Systeme laufen haben (oder kann ich doch. ;-). Ich versuche zumindest darauf zu achten, was ich in mein Master-System einpflege. Wenn ich ein plugin dazu tue, dann ist nur das plugin normalerweise eben nicht mehr master.

    Zitat von Morg Beitrag anzeigen
    Wenn du "unbedingt" sdp_squeezebox brauchst, musst du - leider - warten, bis es in master ist.
    Ich brauche es ja nicht unbedingt. Ich hätte nur gerne mit getetest. Da ich ja immer noch keinen Bildschirm für die Steuerung installiert habe, gibt es sowieso nur meine Handy-Visu, die mal ab und an verwendet wird. Später wäre es natürlich sinnvoll alles drin zu haben.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Ich hatte ja auch gefragt, was kopiert werden soll. Es ist ohnehin sehr müßig immer die richtigen Dateien aus dem github zu laden und dann einzeln manuell zu überschreiben.
    Naja, wenn du ein "garantiert" lauffähiges, stabiles System für den Produktiveinsatz will - nimm master. Nur master, kopiere nichts hinein.

    Wenn du was ausprobieren willst, dann nimm develop. Und wenn du dann was reinkopierst, sind die Chancen besser, dass was bei rauskommt

    Ich habe ein Produktivsystem fürs Haus, das läuft auf master, und auf einem anderen Rechner entwickle ich und teste develop...

    Wenn du "unbedingt" sdp_squeezebox brauchst, musst du - leider - warten, bis es in master ist.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Morg Setz doch im Plugin eine minimum shng Version. Dann gibt es in einem solchen Fall eine einfache und klare Fehlermeldung.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Morg Beitrag anzeigen
    Kann es sein, dass du sdp auf shng/master benutzt?
    Klar nutze ich den master-branch. Ich kopiere dann nur die Dateien rein, die für das plugin benötigt werden. Wenn dazu natürlich der gesamte "Kern" ersetzt werden muss, bin ich raus. Das ist dann nicht wirlich optimal für eine lauffähige Version, die die gesamte Steuerung im Haus übernimmt.

    Ich hatte ja auch gefragt, was kopiert werden soll. Es ist ohnehin sehr müßig immer die richtigen Dateien aus dem github zu laden und dann einzeln manuell zu überschreiben.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Kann es sein, dass du sdp auf shng/master benutzt? Das kann nicht funktionieren... in develop sind die Innereien von smartplugin.py verändert worden, und die Plugins müssen ggf. erst angepasst werden.

    SDP ist ja noch nichtmal im develop (basiert aber darauf).

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Dann braucht es offenbar noch das neueste translationsfile vom 28.11. https://github.com/Morg42/smarthome/...translation.py

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Morg Beitrag anzeigen
    Das sieht aus, als hättest du eine falsche Version der lib/model/smartplugin.py installiert. In der "neuen" Version (develop, oder in meinem Repo) hat diese eine Methode "add_item()".
    Das schrieb ich ja bereits oben. Behalte ich das smartplugin.py aus dem master von SmarteHomeNG bei, gibt es den Fehler mit add_item(). Ersetze ich das aus dem Repo funkionieren einige Plugins nicht richtig und das WebIF lädt bei keinem und der Log zeigt Fehler:

    Code:
    023-01-13 18:58:46 ERROR cherrypy.error.1699111336 [13/Jan/2023:18:58:46] HTTP
    > Traceback (most recent call last):
    > File "/home/smarthome/.local/lib/python3.9/site-packages/cherrypy/_cprequest.py", line 638, in respond
    > self._do_respond(path_info)
    > File "/home/smarthome/.local/lib/python3.9/site-packages/cherrypy/_cprequest.py", line 697, in _do_respond
    > response.body = self.handler()
    > File "/home/smarthome/.local/lib/python3.9/site-packages/cherrypy/lib/encoding.py", line 223, in __call__
    > self.body = self.oldhandler(*args, **kwargs)
    > File "/home/smarthome/.local/lib/python3.9/site-packages/cherrypy/_cpdispatch.py", line 54, in __call__
    > return self.callable(*self.args, **self.kwargs)
    > File "/usr/local/smarthome/plugins/alexarc4shng/__init__.py", line 1403, in index
    > return self.render_template('index.html',
    > File "/usr/local/smarthome/plugins/alexarc4shng/__init__.py", line 1358, in render_template
    > return tmpl.render(plugin_shortname=self.plugin.get_shortname(), plugin_version=self.plugin.get_version(),
    > File "/home/smarthome/.local/lib/python3.9/site-packages/jinja2/environment.py", line 1301, in render
    > self.environment.handle_exception()
    > File "/home/smarthome/.local/lib/python3.9/site-packages/jinja2/environment.py", line 936, in handle_exception
    > raise rewrite_traceback_stack(source=source)
    > File "/usr/local/smarthome/plugins/alexarc4shng/webif/templates/index.html", line 24, in top-level template code
    > {% set tab5title = 'Communication-Protocol' %}
    > File "/usr/local/smarthome/modules/http/webif/gtemplates/base_plugin.html", line 249, in top-level template code
    > {% if scroll_heading is not defined %}
    > File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 1, in top-level template code
    > {% block doc -%}
    > File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 4, in block 'doc'
    > {%- block html %}
    > File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 87, in block 'html'
    > {% block body -%}
    > File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 90, in block 'body'
    > {% block content -%}
    > File "/usr/local/smarthome/modules/http/webif/gtemplates/base_plugin.html", line 105, in block 'content'
    > <h5>{{ _('Plugin') }} : <span id="webif_plugin_name"><strong>{{ p.get_shortname() }}</strong></span> v<span id="webif_plugin_version">{{ p.get_version() }}</span></h5>
    > File "/usr/local/smarthome/lib/model/smartplugin.py", line 1019, in translate
    > return lib_translate(txt, vars, plugin_translations='plugin/'+self.plugin.get_shortname(), module_translations='module/http')
    > TypeError: translate() got an unexpected keyword argument 'plugin_translations'
    ​

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Das sieht aus, als hättest du eine falsche Version der lib/model/smartplugin.py installiert. In der "neuen" Version (develop, oder in meinem Repo) hat diese eine Methode "add_item()".

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Kürze das Log bitte auf einen einzigen Eintrag. Ist ja immer das Gleiche..?!

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Das steht im Log, wenn ich das plugin sdp_squeezebox aktiviere:

    Code:
    2023-01-14  16:30:34 ERROR    lib.item.item       Item Zentral.squeezebox.rescan.start: problem creating: 'sdp_squeezebox' object has no attribute 'add_item'
    > Traceback (most recent call last):
    >   File "/usr/local/smarthome/lib/item/item.py", line 356, in __init__
    >     child = Item(smarthome, self, child_path, value)
    >   File "/usr/local/smarthome/lib/item/item.py", line 433, in __init__
    >     update = plugin.parse_item(self)
    >   File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 408, in parse_item
    >     self.add_item(item, device_command=command)
    > AttributeError: 'sdp_squeezebox' object has no attribute 'add_item'
    ​
    Zuletzt geändert von Cannon; 15.01.2023, 23:05.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Spezifiziere gerne "macht Probleme" und "laufen nicht recht".. Das smartplugin hat nur bedingt was mit smartdeviceplugin zu tun bzw. eigtl. nichts.

    Bei mir gabs jetzt einen ziemlichen Lag im Admininterface generell... aber jetzt klappt wieder alles. Keine Ahnung, ob es solche Aussetzer davor auch mal gab oder nicht...

    Die Dateien sind korrekt.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Ich habe jetzt mal alles installiert und die ganzen Fehler analysiert. Bei mir funktioniert das sdp-Plugin nicht so richtig. Folgendes Problem:

    Entweder läuft das sdp-Plugin und sämtliche WebIF machen Probleme oder Plugins laufen nicht so recht oder umgekehrt. Das Problem scheint an der Datei model/smartplugin.py zu liegen. Diese ist in eurem Paket viel größer, verursacht aber Probleme. Möglicherweise habe ich auch die falschen Dateien kopiert:

    installiert habe ich in:

    lib\model:
    - Ordner + Unterordner sdp
    - smartdeviceplugin.py
    - smartplugin.py -> siehe oben

    plugins:
    - Ordner + Unterordner sdp_squeezebox

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Alternativ wie erwähnt mit Logfiltern arbeiten, das sollte doch auch klappen.
    Da smitd en Loggern klappt irgendwie nicht. Ich habe dazu auch schon einen separaten Thread ins Forum gestellt. Gefiltert wird irgendwie nichts.

    Einen Kommentar schreiben:

Lädt...
X