Ankündigung

Einklappen
Keine Ankündigung bisher.

Sqeezboxplugin geht nicht mehr nach update

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

    #16
    Hi Marcus,

    scheint wir brauchen noch ein paar Snickers....

    was kann das sein?

    Code:
    2017-02-26 21:19:32 ERROR    Core         Item Music.Bad.Playlist_Name: problem running <bound method Squeezebox.update_item of Node: Squeezbox>: 'dict' object has no attribute 'node'
    Traceback (most recent call last):
      File "/mfs/core/lib/item.py", line 507, in __update
        method(self._value, mtrigger)
      File "/data/callidomus/local/plugins/squeezebox/__init__.py", line 140, in update_item
        item = trigger.node
    AttributeError: 'dict' object has no attribute 'node'
    2017-02-26 21:19:32 DEBUG    Connections  squeezebox: Sending request: 74:da:38:1a:da:9f current_title ?
    Viele Grüsse
    Jürgen

    Kommentar


      #17
      Zitat von heckmannju Beitrag anzeigen
      Wie kommt man darauf so eine inkompatible Änderung zu machen?
      Damit man connected subitems anlegen kann

      Kommentar


        #18
        Zitat von heckmannju Beitrag anzeigen
        Hi Marcus,

        scheint wir brauchen noch ein paar Snickers....

        was kann das sein?
        Ist gefixt.

        Bis bald

        Marcus

        Kommentar


          #19
          okay,,,was muss ich machen das es bei mir geht?
          Viele Grüsse
          Jürgen

          Kommentar


            #20
            Ich ändere das immer auch auf Github. Entweder von dort aktualisieren, oder dort nachsehen.

            Bis bald

            Marcus

            Kommentar


              #21
              Okay es wäre trotzdem gut wenn du das reinschreiben würdes das ich da nachsen muss! Woher soll ich wissen ob ich nicht updaten muss? Ist gefixt ist da wirklich einwenig zuwenig!

              zur änderung hätte ich noch eine Frage
              code.JPG

              kommt da immer ein Dictionary Objekt zurück bei update_item?

              ich hätte erwartet das es das Trigger Ojekt so wie von den Logicken zurückkommt.
              trigger.JPG

              die Methode update_item ist auch nicht Dokumentiert jedenfalls nicht unter https://docs.callidomus.com/de/Plugin-Entwicklung/

              Wie kann man rausfinden wenn man nur den objektnamen kennt ob es ein dict oder ein Trigger objekt ist?

              Viele Grüsse & Danke
              Jürgen

              Kommentar


                #22
                Nur so als Feedback...jetzt scheint es wirklich zu gehen. Ich weiss jetzt auch warum ich das recht kritisch sehe von dir der die Hardware zum Testen nicht hat. Die anpassungen für die Plugins zu machen. Für mich zeigt das das es nicht geht....nicht ohne doku...

                Morgen guck ich mir das Pushbullet plugin an.

                Viele Grüsse & Danke
                Jürgen

                Kommentar


                  #23
                  Zitat von heckmannju Beitrag anzeigen
                  Morgen guck ich mir das Pushbullet plugin an.
                  Hi Jürgen,

                  wie ich hier geschrieben hatte: https://knx-user-forum.de/forum/supp...95#post1049695 läuft es bei mir wieder und es sollte auch im Git-Repository stehen. Falls du noch was im Plugin findest, gib bitte Bescheid. Dann würde ich mein Script auch gleich anpassen.

                  Danke und Gruß
                  Thomas

                  Kommentar


                    #24
                    Hi Markus,

                    bei mir kam es zu folgender Fehlermeldung.

                    Code:
                    2017-03-16 07:43:02 DEBUG    Core         Item Music.Bad.Playlist_Load_Playlist1                                                                                                                       = True Trigger pa=1.1.28, ga=8/7/4, caller=KNX, by=Plugin, node=plugins.knx, pa                                                                                                                      th=plugins.knx
                    2017-03-16 07:43:02 ERROR    Core         Item Music.Bad.Playlist_Load_Playlist1                                                                                                                      : problem running <bound method Squeezebox.update_item of Node: plugins.Squeezbo                                                                                                                      x>: 'dict' object has no attribute 'split'
                    Traceback (most recent call last):
                      File "/mfs/core/lib/item.py", line 509, in __update
                        method(self._value, mtrigger)
                      File "/data/callidomus/local/plugins/squeezebox/__init__.py", line 173, in upd                                                                                                                      ate_item
                        cmd = self._resolv_full_cmd(item, 'squeezebox_send').split()
                    AttributeError: 'dict' object has no attribute 'split'
                    2017-03-16 07:43:02 DEBUG    Core         squeezebox: Got: ['74:da:38:1a:da:9f',                                                                                                                       'playlist', 'play', '[URL]http://sunshinelive.hoerradar.de/sunshinelive-aac-64?sABC=[/URL]                                                                                                                      550r9074%230%233rq52r17s6nppq19qqp947r11o9qpr13%23gharva&amsparams=playerid:tune                                                                                                                      in;skey:1427017844']
                                                                                  230461,21     89%
                    2017-03-16 07:42:58 DEBUG    aussen.wetter.windgeschwindigkeit-code Item aussen.wetter.windgeschwindigkeit = 0.0 Trigger pa=1.1.41, ga=7/0/5, caller=KNX, by=Plugin, node=plugins.knx, path=plugins.knx

                    Der code sieht so aus.

                    resolve_full_cmd.PNG

                    update_item.PNG


                    Was sind den die möglichen Rückgabewerte von

                    Code:
                    item.attr[attr]
                    Viele Grüsse
                    Jürgen

                    Kommentar


                      #25
                      Hallo Jürgen,

                      was steht denn so bei einem sb_send?

                      item.attr kann int, float, str, array, dict, bool und evtl. datetime zurück liefern.

                      Bis bald

                      Marcus

                      Kommentar


                        #26
                        Zitat von callidomus Beitrag anzeigen
                        was steht denn so bei einem sb_send?
                        Eigenlich können da bisher nur strings rauskommen deswegen wurde auch hart mit split geparst.
                        hier kannst du sehen was in dem Konfigelementen so drin stehen
                        https://github.com/smarthomeNG/plugi...ebox/README.md
                        die playerid wird irgentwann wärend dem parse_item umgewandelt in die Playerid welche im Parent steht.

                        Nach welchen Regeln funktioniert den jetzt die automatische umwandlung in die unterschielichen objekte? In der Attibute config können doch letztendlich eigentlich nur Strings eingegeben werden.

                        In dem Item was zum Fehler führt steht folgendes drin.

                        Code:
                        <playerid> playlist play http://sunshinelive.hoerradar.de/sunshinelive-aac-64?sABC=550r9074%230%233rq52r17s6nppq19qqp947r11o9qpr13%23gharva&amsparams=playerid:tunein;skey:1427017844

                        Viele Grüsse
                        Jürgen
                        Zuletzt geändert von heckmannju; 16.03.2017, 22:51.

                        Kommentar


                          #27
                          Hallo Jürgen,

                          das Problem liegt an dem =.
                          Setzte bitte das Attribut in Anführungszeichen.
                          Dann wird es nicht interpretiert.

                          Bis bald

                          Marcus

                          Kommentar


                            #28
                            Ich verstehe den zusammenhang nicht. Warum ist das dann ein dict? Und wozu soll das gut sein? Muss ich jetzt meine 1000 items durchgehen und nachsehen ob ich sondern Zeichen drinnen habe die du dann als Zeit usw erkennst? Marcus das ist eine ganz ganz schlecht Idee mit diese Umwandlung! Meiner meinung nach.

                            Könntest du nicht einfach eine Methode anbieten die das unkonvertiert zurückgibt? Im Idealfall heißt die dann gleich wie früher das würde das Portieren von smarthome.py code vereinfachen.

                            Viele Grüße
                            Jürgen
                            Zuletzt geändert von heckmannju; 19.03.2017, 15:36.

                            Kommentar


                              #29
                              Hallo Marcus,

                              eine Antwort zu dem automatischen Typ Anpassungen wäre gut. Ich verstehe nicht wozu das gut ist? Ich geben einene Config String ein und was raus kommt wenn man conf.get('mykey') sagt ist für mich random! Mal dict mal string mal int mal eine Zeit.

                              Kannst du nicht wie von mir vorgeschlagen eine Methode anbieten die einfach die Strings so zurückgibt wie eingegeben?

                              Das Beispiel vom Sqeezplayer müsste dir eigenlich klarmachen warum!

                              Viele Grüsse
                              Jürgen

                              Kommentar


                                #30
                                Hi Jürgen,

                                so eine Funktion wie Du sie vorschlägst, braucht es nicht. Außerdem dürfte zur Laufzeit gar nicht mehr das Original vorhanden sein, da ja beim parsen schon die Typkonvertierung passiert.
                                Marcus hat es doch beschrieben: Mach daraus explizit einen String (also Anführungsstriche vorne und hinten) und dann bekommst Du das, was Du notiert hast.

                                Gruß, Waldemar
                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X