connect.py 863 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. demeter mqtt
  5. name:connect.py
  6. author:rabin
  7. """
  8. from demeter import *
  9. import paho.mqtt.client as mqtt
  10. class Connect(object):
  11. def __init__(self, act):
  12. act.connect = self
  13. self.client = mqtt.Client()
  14. self.client.on_connect = self.connect
  15. state = hasattr(act, 'message')
  16. if state:
  17. self.client.on_message = act.message
  18. self.client.connect(Demeter.config['mqtt']['host'], Demeter.config['mqtt']['port'], int(Demeter.config['mqtt']['timeout']))
  19. if state:
  20. self.client.loop_forever()
  21. def __del__(self):
  22. pass
  23. def getClient(self):
  24. return self.client
  25. def connect(self, client, userdata, flags, rc):
  26. #print("Connected with result code "+str(rc))
  27. #client.subscribe("sensor/temperature/#")
  28. client.subscribe("sensor/#")
  29. def handle(self, key, value):
  30. Demeter.record(key, value)