Guest User

Untitled

a guest
Oct 30th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. from pyHS100 import SmartPlug, SmartBulb, Discover
  2. from pprint import pformat as pf
  3. from influxdb import InfluxDBClient
  4. import time
  5. from datetime import datetime, timezone
  6.  
  7. ########################### INFLUXDB CONFIG ###########################
  8. influxdb_url = '192.168.XXX.XXX'
  9. influxdb_port = 8086
  10. influxdb_username = ''
  11. influxdb_password = ''
  12. db_name = 'homelab'
  13.  
  14. INFLUX_SENDER = InfluxDBClient(influxdb_url,
  15. influxdb_port,
  16. influxdb_username,
  17. influxdb_password,
  18. db_name)
  19.  
  20.  
  21. def kasa_status():
  22. CURRENT_TIME = datetime.now(timezone.utc).astimezone().isoformat()
  23. for dev in Discover.discover().values():
  24. alias = dev.alias
  25. state = dev.state
  26.  
  27. time = CURRENT_TIME
  28. INFLUX_PAYLOAD = [
  29. {
  30. "measurement": "Homelab",
  31. "tags": {
  32. "alias": alias,
  33. },
  34. "time": time,
  35. "fields": {
  36. "alias": alias,
  37. "state": state,
  38.  
  39. }
  40. }
  41. ]
  42. INFLUX_SENDER.write_points(INFLUX_PAYLOAD)
  43. print(alias+' is: '+state)
  44.  
  45. while True:
  46. kasa_status()
  47. time.sleep(3)
Add Comment
Please, Sign In to add comment