Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5986

[Python-de] Re: paho-mqtt und vorgegebene Callback-Funktionen in einer Klasse.

From Hartmut Goebel <h.goebel@goebel-consult.de>
Newsgroups de.comp.lang.python
Subject [Python-de] Re: paho-mqtt und vorgegebene Callback-Funktionen in einer Klasse.
Date 2023-06-11 20:52 +0200
Organization Goebel Consult
Message-ID <e34fbaa8-14b6-b8df-b2f9-40b772fc8352@goebel-consult.de> (permalink)
References <u64v9c$2041$1@news1.tnib.de>

Show all headers | View raw


Hallo,

ich kenne die Diskussion von vor einem halbe Jahr nicht, aber mir fällt 
folgendes auf:

Am 11.06.23 um 19:12 schrieb Marc Haber:
> |    def on_connect(self, client, userdata, flags, rcode):
> |        client.subscribe('tele/wama/SENSOR')
> [_]
> |        client = mqtt.Client()
> |        client.on_connect = on_connect

Diese Zeile muss lauten:

         client.on_connect =*self.*on_connect

Es wundert mich, dass Dein Code überhaupt funktioniert, denn 
"on_connect" ist nicht definiert. Oder hast Du das nur zu viel gekürzt?!

> Leider haben die beiden Callbackfunktionen von paho eine vorgegebene
> Signatur und können deswegen keine Methoden des ApplianceMonitor sein.

Hmm, Ich habe eben folgendes probiert, und das klappt (X.on_connect wird 
wie erwartet mit der Instanz von ApplianceMonitor als ersten Argument 
und den anderen vier danach aufgerufen):

class Client:
     def doit(self):
         self.on_connect(self, 2, 3, 4)

class ApplianceMonitor:
     def on_connect(self, client, userdata, flags, rcode):
         print(self, client, userdata, flags, rcode)

     def main(self):
         c = Client()
         c.on_connect = self.on_connect
         c.doit()

ApplianceMonitor().main()

Andernfalls verstehe ich nicht, was Deine Frage ist.


-- 
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software 
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog: 
https://www.goebel-consult.de/blog/2021/debugging-python-_frozen_importlib/
Kolumne: 
https://www.goebel-consult.de/blog/cissp-gefluester/2012-04-compliance-bringt-keine-sicherheit/ 

Back to de.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

paho-mqtt und vorgegebene Callback-Funktionen in einer Klasse. Marc Haber <mh+usenetspam1118@zugschl.us> - 2023-06-11 19:12 +0200
  [Python-de] Re: paho-mqtt und vorgegebene Callback-Funktionen in einer Klasse. Hartmut Goebel <h.goebel@goebel-consult.de> - 2023-06-11 20:52 +0200
    Re: [Python-de] Re: paho-mqtt und vorgegebene Callback-Funktionen in einer Klasse. Marc Haber <mh+usenetspam1118@zugschl.us> - 2023-06-11 21:41 +0200
      Re: [Python-de] Re: paho-mqtt und vorgegebene Callback-Funktionen in einer Klasse. "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2023-06-11 22:06 +0200
      [Python-de] Re: paho-mqtt und vorgegebene Callback-Funktionen in einer Klasse. Hartmut Goebel <h.goebel@goebel-consult.de> - 2023-06-11 22:09 +0200
  [Python-de] Re: paho-mqtt und vorgegebene Callback-Funktionen in einer Klasse. Stefan Clauß <st_clauss@gmx.de> - 2023-06-21 14:01 +0200

csiph-web