Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from pyHS100 import SmartPlug, SmartBulb, Discover
- from pprint import pformat as pf
- from influxdb import InfluxDBClient
- import time
- from datetime import datetime, timezone
- ########################### INFLUXDB CONFIG ###########################
- influxdb_url = '192.168.XXX.XXX'
- influxdb_port = 8086
- influxdb_username = ''
- influxdb_password = ''
- db_name = 'homelab'
- INFLUX_SENDER = InfluxDBClient(influxdb_url,
- influxdb_port,
- influxdb_username,
- influxdb_password,
- db_name)
- def kasa_status():
- CURRENT_TIME = datetime.now(timezone.utc).astimezone().isoformat()
- for dev in Discover.discover().values():
- alias = dev.alias
- state = dev.state
- time = CURRENT_TIME
- INFLUX_PAYLOAD = [
- {
- "measurement": "Homelab",
- "tags": {
- "alias": alias,
- },
- "time": time,
- "fields": {
- "alias": alias,
- "state": state,
- }
- }
- ]
- INFLUX_SENDER.write_points(INFLUX_PAYLOAD)
- print(alias+' is: '+state)
- while True:
- kasa_status()
- time.sleep(3)
Add Comment
Please, Sign In to add comment