Ankündigung

Einklappen
Keine Ankündigung bisher.

Entwicklung Plugin für Denon / Marantz Receiver

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

    #91
    So bin ein bisschen weiter gekommen. Verstärker lässt sich nun ein und ausschalten- Auch lauter leiser geht prima. Nur bei dem Wechsel vom Kanal komme ich nicht weiter. Habt ihr da auch noch einen Tipp für mich. Ich möchte auf CD schalten und erhalte immer die folgende Meldung im Log.

    Code:
    2024-06-09  16:42:19 WARNING  plugins.denon       command zone1.control.input with value CD produced error on converting value, aborting. Error was: Lookup of value cd in table INPUT failed, entry not found.
    Genutzt habe ich das folgende Item und mal CD, 1, 0 probiert. Leider alles ohne Erfolg.
    + MARANTZ..zone1.control.input

    Welcher Table ist denn da gemeint mit dem Log?
    Die Items vom Typ DICT sind bei mir alle leer = {}
    + MARANTZ.ALL.general.custom_inputnames
    + MARANTZ.ALL.general.custom_inputnames.reverse
    + MARANTZ.zone1.control.input.custom_name

    Hat einer ne Idee?
    Gruß
    Christoph
    Zuletzt geändert von loeserman; 09.06.2024, 16:06.

    Kommentar


      #92
      Ah wieder ein Stückchen mehr. Es wird auf die commands.py zurückgegriffen und da ist in der Tabelle INPUT kein CD drin. Verstanden. Aber wofür ist die INPUT3 Tabelle, wann wird die verwendet?

      Werde mal eine für Marantz erstellen und den Ersteller des Plugins bitten, diese mit aufzunehmen.

      Kommentar


        #93
        Input3 ist für Zone 3.
        ich müsste dein exaktes modell wissen und am besten einen link auf die ip/rs232 Befehle erhalten. Dann kann ich das Modell entsprechend ergänzen und dann klappt es

        bei custominput habe ich im develop nachgebessert, kann aber auch sein dass dein gerät das nicht kann

        Kommentar


          #94
          Hi Onkelandy,
          also ich habe den Marantz SR5011 (Firmware Version 3700-4058-9074)

          Ich denke die Infos die Du benötigst sind hier zu finden
          https://www.marantz.com/de-de/produc...11/810220.html

          Genau genommen ist die List hier
          https://www.marantz.com/on/demandwar...tocol_v012.xls

          Aber wenn das zu viel Arbeit ist, dann muss ich gucken, was ich brauche. So viel ist das nicht, On/Off, alle Kanäle, Lauter Leiser, ...). Vieles davon geht ja auch im Standard schon.

          Gruß
          Christoph

          Kommentar


            #95
            Hallo zusammen,
            ich wollte mich nochmal zurückmelden. Habe mich dazu entschieden mit dem Profil vom AVR-X3300W zu arbeiten. Dieser passt für meine Belange ausreichend auch für den Marantz SR5011. Ich nutze aber auch nur Zone1 und hier An/Aus, Laustärke, ein paar Kanäle und die Soundmodes.

            Danke für das gute Plugin. Läuft soweit einwandfrei.

            Gruß
            Christoph

            Kommentar


              #96
              Wunderbar. Aktuell tut sich im Hintergrund einiges, es gibt ua. ein Feature, Befehle nochmals senden zu lassen, wenn keine passende Antwort kommt. Könntest du bei Bedarf mal aus dem develop Branch testen (plugins und core). Oder aber auch mal abwarten, bis es im master Release ist
              Die Modell-Sache müsste ich mir mal ansehen, da könnte man sicher noch etwas optimieren.

              Kommentar


                #97
                Muss doch noch eine Frage loswerden. Heute wollte ich den Verstärker einschalten und erhalte den folgenden Fehler. Es geht auch nicht.

                Code:
                ### WARNING  plugins.denon       trying to send command zone1.control.power with value True, but plugin is suspended.
                Was bedeutet dieses supended für plugins. Wann oder weshalb geht das plugin in den status "suspended"? Und wie bekomme ich das wieder raus?

                Kommentar


                  #98
                  Hmm ich dachte ich hätte es teilweise gefunden. Die Suspend Funktion scheint ja zum SmartDevicePlugin zu gehören. Allerdings weiss ich dadurch immer noch nicht, wann es sich suspendiert und ob ich das auch komplett abschalten kann.

                  Habe ein Item eingeführt dazu

                  item.conf
                  Code:
                  SONDERFUNKTIONEN:
                      PLUGINS:
                          name: SmartHome Plugin Funktionen
                  
                          SUSPEND_DENON:
                              name: Rxx Denon Plugin suspendieren / fortfuehren
                              type: bool
                              visu_acl: rw
                              enforce_updates: 'True'​

                  dann bei dem Plugin mit angegeben
                  Code:
                  denon:
                      plugin_name: denon
                      model: AVR-X3300W # Reicht im Wesentlichen für den MARANTZ aus
                      host: 192.168.xxx.xxx
                      port: 23
                      conn_type: net_tcp_client
                      autoreconnect: true
                      autoconnect: true
                      suspend_item: 'SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON'​
                  
                  smartvisu:
                      plugin_name: smartvisu
                      smartvisu_dir: /var/www/html/smartvisu​
                  Dann neu gestartet. Es läuft alles, auch das Plugin. Aber dann wird es ganz kurios. Ändere ich das Item in der Admin Oberfläche, und aktualisiere es wieder, dann bleibt es immer False. Die Zeit der letzten Änderung und auch Updates läuft einfach weiter, als hätte ich den Wert gar nicht geändert. Aber ansonsten läuft noch alles.

                  Verändere ich hingegen in der VISU den Wert, dann schmiert mir die ganze VISU ab. Danach kann ich nichts mehr bedienen, auch keine anderen Items
                  Code:
                  {{ basic.stateswitch('', 'SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON', 'mini', [1,0], ['refresh', 'refresh'], '', ['icon1', 'icon0'], 'blink') }}
                  Danach hilft nur noch ein Neustart. Dann läuft wieder alles bis ich in der VISU auf den Button drücke.

                  Kommentar


                    #99
                    Stell doch mal das log auf debug, am besten auch von lib.model.sdp

                    Eventuell wird suspend Item drum aktiviert weil die Verbindung nicht (mehr) klappt..?

                    Kommentar


                      Also ich habe nochmal etwas probiert. Du hast Recht, ich schalte den Verstärker öfter aus und damit gibt es dann auch keine Verbindung. Am schönsten wäre es, wenn das das Plugin gar nicht interessieren würde und wenn er erreichbar ist einfach wieder funktioniert. Ich denke das Plugin schaltet sich ab oder geht in suspendiert, da die Verbindung überwacht wird und dann ein Timeout kommt. Hierzu habe ich folgenden Logeintrag gefunden.

                      Code:
                      2024-09-21  13:37:03 ERROR    lib.network         lib.network (denon_192.168.123.26:23) receive thread died with unexpected error: [Errno 110] Die Wartezeit für die Verbindung ist abgelaufen. Go tell... -- If stack trace is necessary, enable/check debug log
                      Danach habe ich dann noch das Suspend Item versucht einmal zu aktiviern und dann wieder zu deaktivieren. Hierbei gab es folgende Logeinträge.Ich weiss auch nicht, warum die sich so oft wiederholen.

                      Code:
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller smartVISU, source 192.168.123.17 and dest None
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend item changed to True
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend mode enabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:31 INFO     plugins.denon       plugin suspended by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be closed
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend item changed to True
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend mode enabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:31 INFO     plugins.denon       plugin suspended by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be closed
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend item changed to True
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend mode enabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:31 INFO     plugins.denon       plugin suspended by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be closed
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      
                      
                      ...
                      das geht gefühlt noch 100x so weiter 
                      ...
                      
                      
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend item changed to True
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend mode enabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:31 INFO     plugins.denon       plugin suspended by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be closed
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend item changed to True
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend mode enabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:31 INFO     plugins.denon       plugin suspended by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be closed
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend item changed to True
                      2024-09-21  16:06:31 DEBUG    plugins.denon       Suspend mode enabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:31 ERROR    lib.item.item       Item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON: problem running <bound method SmartDevicePlugin.update_item of <plugins.denon.denon object at 0x7fef6f839ff0>>: maximum recursion depth exceeded while calling a Python object
                      Traceback (most recent call last):
                        File "/usr/local/lib/python3.10/logging/handlers.py", line 75, in emit
                          logging.FileHandler.emit(self, record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1218, in emit
                          StreamHandler.emit(self, record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1100, in emit
                          msg = self.format(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 943, in format
                          return fmt.format(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 679, in format
                          if self.usesTime():
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 647, in usesTime
                          return self._style.usesTime()
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 424, in usesTime
                          return self._fmt.find(self.asctime_search) >= 0
                      RecursionError: maximum recursion depth exceeded while calling a Python object
                      
                      During handling of the above exception, another exception occurred:
                      
                      Traceback (most recent call last):
                        File "/usr/local/smarthome/lib/item/item.py", line 2265, in __update
                          method(self, caller, source, dest)
                        File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 593, in update_item
                          self.set_suspend(by=f'suspend item {item.property.path}')
                        File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 324, in set_suspend
                          self.suspend(by)
                        File "/usr/local/smarthome/lib/model/smartplugin.py", line 89, in suspend
                          self.logger.info(f'plugin suspended by {by if by else "unknown"}, connections will be closed')
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1841, in info
                          self.log(INFO, msg, *args, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1879, in log
                          self.logger.log(level, msg, *args, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1547, in log
                          self._log(level, msg, args, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1624, in _log
                          self.handle(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1634, in handle
                          self.callHandlers(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1696, in callHandlers
                          hdlr.handle(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 968, in handle
                          self.emit(record)
                        File "/usr/local/lib/python3.10/logging/handlers.py", line 77, in emit
                          self.handleError(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1022, in handleError
                          traceback.print_exception(t, v, tb, None, sys.stderr)
                        File "/usr/local/lib/python3.10/traceback.py", line 119, in print_exception
                          te = TracebackException(type(value), value, tb, limit=limit, compact=True)
                        File "/usr/local/lib/python3.10/traceback.py", line 502, in __init__
                          self.stack = StackSummary.extract(
                        File "/usr/local/lib/python3.10/traceback.py", line 353, in extract
                          limit = getattr(sys, 'tracebacklimit', None)
                      RecursionError: maximum recursion depth exceeded while calling a Python object
                      
                      During handling of the above exception, another exception occurred:
                      
                      Traceback (most recent call last):
                        File "/usr/local/lib/python3.10/logging/handlers.py", line 75, in emit
                          logging.FileHandler.emit(self, record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1218, in emit
                          StreamHandler.emit(self, record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1100, in emit
                          msg = self.format(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 943, in format
                          return fmt.format(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 686, in format
                          record.exc_text = self.formatException(record.exc_info)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 636, in formatException
                          traceback.print_exception(ei[0], ei[1], tb, None, sio)
                        File "/usr/local/lib/python3.10/traceback.py", line 119, in print_exception
                          te = TracebackException(type(value), value, tb, limit=limit, compact=True)
                        File "/usr/local/lib/python3.10/traceback.py", line 502, in __init__
                          self.stack = StackSummary.extract(
                        File "/usr/local/lib/python3.10/traceback.py", line 353, in extract
                          limit = getattr(sys, 'tracebacklimit', None)
                      RecursionError: maximum recursion depth exceeded while calling a Python object
                      
                      During handling of the above exception, another exception occurred:
                      
                      Traceback (most recent call last):
                        File "/usr/local/smarthome/lib/item/item.py", line 2265, in __update
                          method(self, caller, source, dest)
                        File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 593, in update_item
                          self.set_suspend(by=f'suspend item {item.property.path}')
                        File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 324, in set_suspend
                          self.suspend(by)
                        File "/usr/local/smarthome/lib/model/smartplugin.py", line 92, in suspend
                          self._suspend_item(True)
                        File "/usr/local/smarthome/lib/item/item.py", line 1383, in __call__
                          self.__update(value, caller, source, dest, key, index)
                        File "/usr/local/smarthome/lib/item/item.py", line 2267, in __update
                          logger.exception("Item {}: problem running {}: {}".format(self._path, method, e))
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1512, in exception
                          self.error(msg, *args, exc_info=exc_info, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1506, in error
                          self._log(ERROR, msg, args, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1624, in _log
                          self.handle(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1634, in handle
                          self.callHandlers(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1696, in callHandlers
                          hdlr.handle(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 968, in handle
                          self.emit(record)
                        File "/usr/local/lib/python3.10/logging/handlers.py", line 77, in emit
                          self.handleError(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1022, in handleError
                          traceback.print_exception(t, v, tb, None, sys.stderr)
                        File "/usr/local/lib/python3.10/traceback.py", line 119, in print_exception
                          te = TracebackException(type(value), value, tb, limit=limit, compact=True)
                        File "/usr/local/lib/python3.10/traceback.py", line 552, in __init__
                          context = TracebackException(
                        File "/usr/local/lib/python3.10/traceback.py", line 502, in __init__
                          self.stack = StackSummary.extract(
                        File "/usr/local/lib/python3.10/traceback.py", line 383, in extract
                          f.line
                        File "/usr/local/lib/python3.10/traceback.py", line 306, in line
                          self._line = linecache.getline(self.filename, self.lineno)
                        File "/usr/local/lib/python3.10/linecache.py", line 30, in getline
                          lines = getlines(filename, module_globals)
                        File "/usr/local/lib/python3.10/linecache.py", line 42, in getlines
                          if len(entry) != 1:
                      RecursionError: maximum recursion depth exceeded while calling a Python object
                      2024-09-21  16:06:31 DEBUG    lib.model.sdp.connection close method called for connection
                      2024-09-21  16:06:31 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient closing connection
                      2024-09-21  16:06:31 DEBUG    plugins.denon       scheduler_get: name = plugins.denon.denon_cyclic
                      2024-09-21  16:06:31 DEBUG    lib.model.sdp.connection close method called for connection
                      2024-09-21  16:06:31 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient closing connection
                      2024-09-21  16:06:31 DEBUG    plugins.denon       scheduler_get: name = plugins.denon.denon_cyclic
                      2024-09-21  16:06:31 DEBUG    lib.model.sdp.connection close method called for connection
                      2024-09-21  16:06:31 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient closing connection
                      2024-09-21  16:06:31 DEBUG    plugins.denon       scheduler_get: name = plugins.denon.denon_cyclic
                      2024-09-21  16:06:31 DEBUG    lib.model.sdp.connection close method called for connection
                      2024-09-21  16:06:31 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient closing connection
                      
                      
                      ...
                      das geht gefühlt 100x so weiter 
                      ...
                      
                      
                      2024-09-21  16:06:34 DEBUG    plugins.denon       scheduler_get: name = plugins.denon.denon_cyclic
                      2024-09-21  16:06:34 DEBUG    lib.model.sdp.connection close method called for connection
                      2024-09-21  16:06:34 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient closing connection
                      2024-09-21  16:06:34 DEBUG    plugins.denon       scheduler_get: name = plugins.denon.denon_cyclic
                      2024-09-21  16:06:34 DEBUG    lib.model.sdp.connection close method called for connection
                      2024-09-21  16:06:34 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient closing connection
                      2024-09-21  16:06:34 DEBUG    plugins.denon       scheduler_get: name = plugins.denon.denon_cyclic
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller smartVISU, source 192.168.123.17 and dest None
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend item changed to False
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend mode disabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:43 INFO     plugins.denon       plugin resumed by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be resumed
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend item changed to False
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend mode disabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:43 INFO     plugins.denon       plugin resumed by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be resumed
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      2
                      
                      
                      ...
                      das geht gefühlt 100x so weiter
                      ...
                      
                      
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend item changed to False
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend mode disabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:43 INFO     plugins.denon       plugin resumed by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be resumed
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend item changed to False
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend mode disabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:43 INFO     plugins.denon       plugin resumed by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON, connections will be resumed
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Update_item was called with item "Rxx Denon Plugin suspendieren / fortfuehren" from caller Logic, source None and dest None
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend item changed to False
                      2024-09-21  16:06:43 DEBUG    plugins.denon       Suspend mode disabled (set by suspend item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON)
                      2024-09-21  16:06:43 ERROR    lib.item.item       Item SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON: problem running <bound method SmartDevicePlugin.update_item of <plugins.denon.denon object at 0x7fef6f839ff0>>: maximum recursion depth exceeded while calling a Python object
                      Traceback (most recent call last):
                        File "/usr/local/lib/python3.10/logging/handlers.py", line 75, in emit
                          logging.FileHandler.emit(self, record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1218, in emit
                          StreamHandler.emit(self, record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1100, in emit
                          msg = self.format(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 943, in format
                          return fmt.format(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 679, in format
                          if self.usesTime():
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 647, in usesTime
                          return self._style.usesTime()
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 424, in usesTime
                          return self._fmt.find(self.asctime_search) >= 0
                      RecursionError: maximum recursion depth exceeded while calling a Python object
                      
                      During handling of the above exception, another exception occurred:
                      
                      Traceback (most recent call last):
                        File "/usr/local/smarthome/lib/item/item.py", line 2265, in __update
                          method(self, caller, source, dest)
                        File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 593, in update_item
                          self.set_suspend(by=f'suspend item {item.property.path}')
                        File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 326, in set_suspend
                          self.resume(by)
                        File "/usr/local/smarthome/lib/model/smartplugin.py", line 101, in resume
                          self.logger.info(f'plugin resumed by {by if by else "unknown"}, connections will be resumed')
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1841, in info
                          self.log(INFO, msg, *args, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1879, in log
                          self.logger.log(level, msg, *args, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1547, in log
                          self._log(level, msg, args, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1624, in _log
                          self.handle(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1634, in handle
                          self.callHandlers(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1696, in callHandlers
                          hdlr.handle(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 968, in handle
                          self.emit(record)
                        File "/usr/local/lib/python3.10/logging/handlers.py", line 77, in emit
                          self.handleError(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1022, in handleError
                          traceback.print_exception(t, v, tb, None, sys.stderr)
                        File "/usr/local/lib/python3.10/traceback.py", line 119, in print_exception
                          te = TracebackException(type(value), value, tb, limit=limit, compact=True)
                        File "/usr/local/lib/python3.10/traceback.py", line 502, in __init__
                          self.stack = StackSummary.extract(
                        File "/usr/local/lib/python3.10/traceback.py", line 353, in extract
                          limit = getattr(sys, 'tracebacklimit', None)
                      RecursionError: maximum recursion depth exceeded while calling a Python object
                      
                      During handling of the above exception, another exception occurred:
                      
                      Traceback (most recent call last):
                        File "/usr/local/lib/python3.10/logging/handlers.py", line 75, in emit
                          logging.FileHandler.emit(self, record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1218, in emit
                          StreamHandler.emit(self, record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1100, in emit
                          msg = self.format(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 943, in format
                          return fmt.format(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 686, in format
                          record.exc_text = self.formatException(record.exc_info)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 636, in formatException
                          traceback.print_exception(ei[0], ei[1], tb, None, sio)
                        File "/usr/local/lib/python3.10/traceback.py", line 119, in print_exception
                          te = TracebackException(type(value), value, tb, limit=limit, compact=True)
                        File "/usr/local/lib/python3.10/traceback.py", line 502, in __init__
                          self.stack = StackSummary.extract(
                        File "/usr/local/lib/python3.10/traceback.py", line 353, in extract
                          limit = getattr(sys, 'tracebacklimit', None)
                      RecursionError: maximum recursion depth exceeded while calling a Python object
                      
                      During handling of the above exception, another exception occurred:
                      
                      Traceback (most recent call last):
                        File "/usr/local/smarthome/lib/item/item.py", line 2265, in __update
                          method(self, caller, source, dest)
                        File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 593, in update_item
                          self.set_suspend(by=f'suspend item {item.property.path}')
                        File "/usr/local/smarthome/lib/model/smartdeviceplugin.py", line 326, in set_suspend
                          self.resume(by)
                        File "/usr/local/smarthome/lib/model/smartplugin.py", line 104, in resume
                          self._suspend_item(False)
                        File "/usr/local/smarthome/lib/item/item.py", line 1383, in __call__
                          self.__update(value, caller, source, dest, key, index)
                        File "/usr/local/smarthome/lib/item/item.py", line 2267, in __update
                          logger.exception("Item {}: problem running {}: {}".format(self._path, method, e))
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1512, in exception
                          self.error(msg, *args, exc_info=exc_info, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1506, in error
                          self._log(ERROR, msg, args, **kwargs)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1624, in _log
                          self.handle(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1634, in handle
                          self.callHandlers(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1696, in callHandlers
                          hdlr.handle(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 968, in handle
                          self.emit(record)
                        File "/usr/local/lib/python3.10/logging/handlers.py", line 77, in emit
                          self.handleError(record)
                        File "/usr/local/lib/python3.10/logging/__init__.py", line 1022, in handleError
                          traceback.print_exception(t, v, tb, None, sys.stderr)
                        File "/usr/local/lib/python3.10/traceback.py", line 119, in print_exception
                          te = TracebackException(type(value), value, tb, limit=limit, compact=True)
                        File "/usr/local/lib/python3.10/traceback.py", line 552, in __init__
                          context = TracebackException(
                        File "/usr/local/lib/python3.10/traceback.py", line 502, in __init__
                          self.stack = StackSummary.extract(
                        File "/usr/local/lib/python3.10/traceback.py", line 383, in extract
                          f.line
                        File "/usr/local/lib/python3.10/traceback.py", line 306, in line
                          self._line = linecache.getline(self.filename, self.lineno)
                        File "/usr/local/lib/python3.10/linecache.py", line 30, in getline
                          lines = getlines(filename, module_globals)
                        File "/usr/local/lib/python3.10/linecache.py", line 42, in getlines
                          if len(entry) != 1:
                      RecursionError: maximum recursion depth exceeded while calling a Python object
                      2024-09-21  16:06:43 DEBUG    lib.model.sdp.connection open method called for connection
                      2024-09-21  16:06:43 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient opening connection with params {'serialport': '', 'baudrate': 9600.0, 'bytesize': 8.0, 'parity': 'N', 'stopbits': 1.0, 'protocol': None, 'host': '192.168.123.26', 'port': 23, 'binary': False, 'timeout': 3.0, 'autoreconnect': True, 'autoconnect': True, 'connect_retries': 5.0, 'connect_cycle': 3.0, 'retry_cycle': 30.0, 'retry_suspend': 3.0, 'terminator': b'\r', 'connected_callback': None, 'disconnected_callback': None, 'suspend_callback': <bound method SmartDevicePlugin.set_suspend of <plugins.denon.denon object at 0x7fef6f839ff0>>, 'done': False, 'model': 'AVR-X3300W', 'conn_type': 'net_tcp_client', 'command_class': 'SDPCommandParseStr', 'suspend_item': 'SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON', 'webif_pagelength': 0, 'plugin_path': 'plugins.denon', 'custom_patterns': {1: '', 2: '', 3: ''}}
                      2024-09-21  16:06:45 DEBUG    lib.model.sdp.connection open method called for connection
                      2024-09-21  16:06:45 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient opening connection with params {'serialport': '', 'baudrate': 9600.0, 'bytesize': 8.0, 'parity': 'N', 'stopbits': 1.0, 'protocol': None, 'host': '192.168.123.26', 'port': 23, 'binary': False, 'timeout': 3.0, 'autoreconnect': True, 'autoconnect': True, 'connect_retries': 5.0, 'connect_cycle': 3.0, 'retry_cycle': 30.0, 'retry_suspend': 3.0, 'terminator': b'\r', 'connected_callback': None, 'disconnected_callback': None, 'suspend_callback': <bound method SmartDevicePlugin.set_suspend of <plugins.denon.denon object at 0x7fef6f839ff0>>, 'done': False, 'model': 'AVR-X3300W', 'conn_type': 'net_tcp_client', 'command_class': 'SDPCommandParseStr', 'suspend_item': 'SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON', 'webif_pagelength': 0, 'plugin_path': 'plugins.denon', 'custom_patterns': {1: '', 2: '', 3: ''}}
                      2024-09-21  16:06:46 WARNING  lib.network         (denon_192.168.123.26:23) TCP connection failed 1/5 times, last error was: [Errno 113] Keine Route zum Zielrechner
                      2024-09-21  16:06:46 WARNING  lib.network         self._connect() for denon did not work
                      2024-09-21  16:06:47 DEBUG    lib.model.sdp.connection open method called for connection
                      2024-09-21  16:06:47 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient opening connection with params {'serialport': '', 'baudrate': 9600.0, 'bytesize': 8.0, 'parity': 'N', 'stopbits': 1.0, 'protocol': None, 'host': '192.168.123.26', 'port': 23, 'binary': False, 'timeout': 3.0, 'autoreconnect': True, 'autoconnect': True, 'connect_retries': 5.0, 'connect_cycle': 3.0, 'retry_cycle': 30.0, 'retry_suspend': 3.0, 'terminator': b'\r', 'connected_callback': None, 'disconnected_callback': None, 'suspend_callback': <bound method SmartDevicePlugin.set_suspend of <plugins.denon.denon object at 0x7fef6f839ff0>>, 'done': False, 'model': 'AVR-X3300W', 'conn_type': 'net_tcp_client', 'command_class': 'SDPCommandParseStr', 'suspend_item': 'SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON', 'webif_pagelength': 0, 'plugin_path': 'plugins.denon', 'custom_patterns': {1: '', 2: '', 3: ''}}
                      2024-09-21  16:06:49 DEBUG    lib.model.sdp.connection open method called for connection
                      2024-09-21  16:06:49 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient opening connection with params {'serialport': '', 'baudrate': 9600.0, 'bytesize': 8.0, 'parity': 'N', 'stopbits': 1.0, 'protocol': None, 'host': '192.168.123.26', 'port': 23, 'binary': False, 'timeout': 3.0, 'autoreconnect': True, 'autoconnect': True, 'connect_retries': 5.0, 'connect_cycle': 3.0, 'retry_cycle': 30.0, 'retry_suspend': 3.0, 'terminator': b'\r', 'connected_callback': None, 'disconnected_callback': None, 'suspend_callback': <bound method SmartDevicePlugin.set_suspend of <plugins.denon.denon object at 0x7fef6f839ff0>>, 'done': False, 'model': 'AVR-X3300W', 'conn_type': 'net_tcp_client', 'command_class': 'SDPCommandParseStr', 'suspend_item': 'SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON', 'webif_pagelength': 0, 'plugin_path': 'plugins.denon', 'custom_patterns': {1: '', 2: '', 3: ''}}
                      2024-09-21  16:06:49 WARNING  lib.network         (denon_192.168.123.26:23) TCP connection failed 2/5 times, last error was: [Errno 113] Keine Route zum Zielrechner
                      2024-09-21  16:06:49 WARNING  lib.network         self._connect() for denon did not work
                      2024-09-21  16:06:51 DEBUG    lib.model.sdp.connection open method called for connection
                      2024-09-21  16:06:51 DEBUG    lib.model.sdp.connection SDPConnectionNetTcpClient opening connection with params {'serialport': '', 'baudrate': 9600.0, 'bytesize': 8.0, 'parity': 'N', 'stopbits': 1.0, 'protocol': None, 'host': '192.168.123.26', 'port': 23, 'binary': False, 'timeout': 3.0, 'autoreconnect': True, 'autoconnect': True, 'connect_retries': 5.0, 'connect_cycle': 3.0, 'retry_cycle': 30.0, 'retry_suspend': 3.0, 'terminator': b'\r', 'connected_callback': None, 'disconnected_callback': None, 'suspend_callback': <bound method SmartDevicePlugin.set_suspend of <plugins.denon.denon object at 0x7fef6f839ff0>>, 'done': False, 'model': 'AVR-X3300W', 'conn_type': 'net_tcp_client', 'command_class': 'SDPCommandParseStr', 'suspend_item': 'SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON', 'webif_pagelength': 0, 'plugin_path': 'plugins.denon', 'custom_patterns': {1: '', 2: '', 3: ''}}
                      ​

                      Kommentar


                        Poste doch mal deine Config Files, sprich das Sonderfunktionen Item und plugin Config..

                        Kommentar


                          Aber sehr gerne. Danke schonmal für's Helfen.

                          item.yaml
                          Code:
                          %YAML 1.1
                          ---
                          
                          # --------------------------------------------------------------------------------------------------------------------------------------------------------------------
                          # Sonderfunktionen
                          # --------------------------------------------------------------------------------------------------------------------------------------------------------------------
                          # Verschiedene Sonderfunktionen
                          SONDERFUNKTIONEN:​
                              PLUGINS:
                                  name: SmartHome Plugin Funktionen
                          
                                  SUSPEND_DENON:
                                      name: Rxx Denon Plugin suspendieren / fortfuehren
                                      type: bool
                                      visu_acl: rw
                                      enforce_updates: 'True'​
                          plugin.yaml
                          Code:
                          %YAML 1.1
                          ---​
                          denon:
                              plugin_name: denon
                              model: AVR-X3300W # Reicht im Wesentlichen für den MARANTZ aus
                              host: 192.168.123.26
                              port: 23
                              conn_type: net_tcp_client
                              autoreconnect: true
                              autoconnect: true
                              suspend_item: 'SONDERFUNKTIONEN.PLUGINS.SUSPEND_DENON'
                          #    # denon_port = 80 (optional)
                          #    # cycle = 10 (optional)​
                          SmartHomeNG Version:v1.10.0-master (4b25822a0) in /usr/local/smarthome (tags/v1.10.0)
                          SmartHomeNG Plugins Version:v1.10.0-master (7e00e4ee) in /usr/local/smarthome/plugins (tags/v1.10.0)
                          Administrations-Oberfläche:shngAdmin v0.9.3
                          Python Version:3.10.12 final (virtual environment) (/usr/local/smarthome/venvs/py_shng/bin/python3)​

                          Kommentar


                            Morg blickt das sicher eher..

                            Kommentar


                              Das sieht stark danach aus, als wenn sdp auf das suspend-Item reagiert, es setzt/löscht und dieses Update wieder serviert bekommt, ohne zu merken, dass es darauf nicht reagieren sollte...

                              Ist mir bei anderen sdp-Plugins noch nicht untergekommen; da ich nicht den gesamten Verlauf lesen möchte - welches Plugin, welcher Stand? Ich meine, ich hätte oben was von master gelesen, stimmt das? Oder ist das Plugin "sideloaded", also ein develop- oder github-Plugin?

                              Ich würde mir den Aufruf `standby_item(val)` und den Anfang von `update_item()` dazu ansehen. der erste Aufruf sollte den Pluginnamen als zweites Argument mitgeben, und in update_item sollte auf "selbst geänderte" Items nicht reagiert werden...

                              (btw - war jetzt nur Zufall, dass ich hier reingeschaut habe.. im Zweifelsfall bitte kurz anpingen )

                              Kommentar


                                Hi Morg
                                es ist das plugin "denon" in der Version 1.0.1 aus dem master.
                                Habe kein sideload hier gemacht.

                                Danke, dass Du Dir das mal ansiehst,

                                Kommentar

                                Lädt...
                                X