Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

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