Ankündigung

Einklappen

Sammelbestellung ETS5-UPGRADE nähert sich dem Ende...

Die Sammelbestellung für ETS5 UPGRADE nähert sich dem Ende! Infos unter: Link
Mehr anzeigen
Weniger anzeigen

SmarthomeNG sendet Wert nicht auf den Bus

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

    #16
    So, nun habe ich fast einen ganzen Tag mitgeloggt. Das Problem scheint nicht die Logik zu sein. Das Logging hat mich ja deshalb so beschäftigt, weil ich das Item bzw. die Gruppenadresse im Log nicht gesehen habe und dachte, dass mein Problem damit zusammen hängt. Die eigentliche Funktion habe ich aber nun zum Laufen bekommen.

    Was bleibt ist, die Frage, warum die von der Logik ausgehende Gruppenadresse nicht geloggt wird. Was muss ich denn da noch ändern, damit wirklich alles geloggt wird?
    Cheers
    Art Mooney

    Kommentar


      #17
      Ich habe mal eben geschaut: an der Stelle, wo im Plugin ein Update des Items geloggt werden würde steht schlicht kein logging Code.
      Du kannst also beim Besten Willen nichts geloggt bekommen...

      Ich habe das mal im Code etwas erweitert in plugins/knx/__init__.py in der Funktion update_item():

      Code:
          def update_item(self, item, caller=None, source=None, dest=None):
              """
              Item has been updated
      
              This method is called, if the value of an item has been updated by SmartHomeNG.
              It should write the changed value out to the device (hardware/interface) that
              is managed by this plugin.
      
              :param item: item to be updated towards the plugin
              :param caller: if given it represents the callers name
              :param source: if given it represents the source
              :param dest: if given it represents the dest
              """
              if self.has_iattr(item.conf, KNX_SEND):
                  if caller != self.get_shortname():
                      for ga in self.get_iattr_value(item.conf, KNX_SEND):
                          self.groupwrite(ga, item(), self.get_iattr_value(item.conf, KNX_DPT))
                          if self.logger.isEnabledFor(logging.DEBUG):
                              self.logger.debug("{}: update for item {}, send value '{}' to group address {}".format(KNX_SEND, item, item(), ga))
              if self.has_iattr(item.conf, KNX_STATUS):
                  for ga in self.get_iattr_value(item.conf, KNX_STATUS):  # send status update
                      if ga != dest:
                          self.groupwrite(ga, item(), self.get_iattr_value(item.conf, KNX_DPT))
                          if self.logger.isEnabledFor(logging.DEBUG):
                              self.logger.debug("{}: update for item {}, send value '{}' to group address {}".format(KNX_SEND, item, item(), ga))
      Damit bekomme ich mit meinem ArtMooney Testitem folgendes:

      Code:
      2020-11-21 22:18:32 CET DEBUG __init__ CP Server Thread-18 plugins.knx knx_send: update for item ArtMooney, send value 'True' to group address 8/1/158 -- __init__.py:update_item:682
      2020-11-21 22:19:33 CET DEBUG __init__ items.ArtMooney-Timer plugins.knx knx_send: update for item ArtMooney, send value 'False' to group address 8/1/158 -- __init__.py:update_item:682
      Zuletzt geändert von bmx; 21.11.2020, 22:22.

      Kommentar


        #18
        Hi bmx : das wäre für mich sehr hilfreich, auch wenn ich nur die Hälfte von dem verstehe, was Du schreibst. Mit anderen Worten: der fettgedruckte Code muss in der __init__.py hinzugefügt werden, damit ich das geloggt bekomme?
        Cheers
        Art Mooney

        Kommentar


          #19
          Ja. Die Einrückungen bitte beachten ...

          Kommentar


            #20
            Das Logging funktioniert jetzt. Ganz offenbar funktioniert die Logik auch, wie wahrscheinlich schon die ganze Zeit.
            Cheers
            Art Mooney

            Kommentar


              #21
              Vielen Dank für die Hilfe!
              Cheers
              Art Mooney

              Kommentar

              Lädt...
              X