Ankündigung

Einklappen
Keine Ankündigung bisher.

groupread(ga, cache=False)

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

    groupread(ga, cache=False)

    Hallo Kollegen,

    bekomme einen unerklärlichen Fehler: " unexpected keyword argument 'cache' "

    Logic:
    #!/usr/bin/env python
    sh.knx.groupread('2/5/142', cache=False)
    Im Log steht:
    2018-08-12 08:44:11 ERROR pm_in_betrieb Logic: pm_in_betrieb, File: /usr/smarthome/logics/jg_logic_pm_in_betrieb.py, Line: 4, Method: <module>, Exception: groupread() got an unexpected keyword argument 'cache'
    Traceback (most recent call last):
    File "/usr/smarthome/lib/scheduler.py", line 327, in _task
    exec(obj.bytecode)
    File "/usr/smarthome/logics/jg_logic_pm_in_betrieb.py", line 4, in <module>
    sh.knx.groupread('2/5/142', cache=False) # knx_raum.ug.pm.keller.in_betrieb
    TypeError: groupread() got an unexpected keyword argument 'cache'
    Danke, JG
    Gruß, JG

    #2
    soweit ich das sehe, hat die funktion den parameter nicht:

    Code:
        def groupread(self, ga):
            pkt = bytearray([0, KNXD_GROUP_PACKET])
            try:
                pkt.extend(self.encode(ga, 'ga'))
            except:
                self.logger.warning('KNX[{0}]: problem encoding ga: {1}'.format(self.get_instance_name(), ga))
                return
            pkt.extend([0, KNXREAD])
            self._send(pkt)
    was ist daran unerklärlich?

    ok ich sehe, die doku sagt es gibt ihn:
    Code:
     ### groupread(ga, cache=False)
    Dem "blame" Feature von GIT nach zu gehen, gab es den Parameter aber noch nie:

    ddd.JPG

    Ich vermute hier ist die README schlicht weg falsch?
    Zuletzt geändert von psilo; 12.08.2018, 09:58.

    Kommentar


      #3
      Servus René,

      danke für Deine Antwort ......

      Ohne den Parameter "cache=False" gibt's keine Fehlermeldung.
      -> Lesen und Antworten erfolgt

      Wenn der Verlust von Geräten auf dem Bus ausgewertet werden sol,l gibt's dann ein Problem.
      Das Gerät sendet eine "1" wenn vorhanden. ( Wenn's nicht mehr vorhanden ist, kann das Gerät auch keine "0" senden )
      Der Wert "1" bleibt aber in irgend einem Cache vorhanden, so daß das Item auch - bei Verlust - nach einem "groupread" die "1" behält.

      Das "cache=False" hätte schon seine Berechtigung.

      Offensichtlich ist dann die Lösung, ein "groupwrite" vor dem "groupread" zu machen.
      sh.knx.groupwrite('2/5/142', 0, '1')
      sh.knx.groupread('2/5/142') # knx_raum.ug.pm.keller.in_betrieb

      sh.knx.groupwrite('5/5/138', 0, '1')
      sh.knx.groupread('5/5/138') # knx_raum.eg.pm.wc.in_betrieb

      sh.knx.groupwrite('5/5/140', 0, '1')
      sh.knx.groupread('5/5/140') # knx_raum.eg.pm.bad.in_betrieb
      in_Betrieb.jpg

      Danke, JG
      Gruß, JG

      Kommentar

      Lädt...
      X