initial commit with a working version
This commit is contained in:
parent
641e140099
commit
f5b06bcafb
56
mqtt_publish_temp.py
Normal file
56
mqtt_publish_temp.py
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import time
|
||||||
|
import datetime
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
# Import Adafruit_DHT
|
||||||
|
import Adafruit_DHT
|
||||||
|
|
||||||
|
# Import MQTT client.
|
||||||
|
import paho.mqtt.publish as publish
|
||||||
|
import paho.mqtt.client as paho
|
||||||
|
|
||||||
|
# MQTT credentials
|
||||||
|
#mqtt_username = 'homeassistant' # MQTT client username
|
||||||
|
#mqtt_password = '3355' # MQTT client password
|
||||||
|
#client_id = 'temperature' # unique client_id
|
||||||
|
mqtt_broker = "raspberrypi" # broker address, usually your HASS IP address
|
||||||
|
|
||||||
|
# DHT config
|
||||||
|
DHT_PIN = 4 # GPIO nr
|
||||||
|
DHT_SENSOR = Adafruit_DHT.DHT22
|
||||||
|
|
||||||
|
# connection event
|
||||||
|
def on_connect(client, data, flags, rc):
|
||||||
|
print('Connected: ' + str(rc))
|
||||||
|
|
||||||
|
# create the MQTT client
|
||||||
|
client = paho.Client(protocol=paho.MQTTv31) # * set a random string (max 23 chars)
|
||||||
|
|
||||||
|
# Command topic
|
||||||
|
temperature_topic = 'weathersensors/emily/temperature'
|
||||||
|
humidity_topic = 'weathersensors/emily/humidity'
|
||||||
|
|
||||||
|
# client connection
|
||||||
|
#client.username_pw_set(mqtt_username, mqtt_password) # MQTT server credentials
|
||||||
|
client.connect(mqtt_broker) # MQTT server address
|
||||||
|
|
||||||
|
client.loop_start()
|
||||||
|
|
||||||
|
while True:
|
||||||
|
|
||||||
|
# Get Temperature from DHT
|
||||||
|
_, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
|
||||||
|
|
||||||
|
# Get Humidity from DHT
|
||||||
|
humidity, _ = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
|
||||||
|
|
||||||
|
# Publish our data
|
||||||
|
client.publish(temperature_topic, temperature)
|
||||||
|
client.publish(humidity_topic, humidity)
|
||||||
|
|
||||||
|
time.sleep(30)
|
||||||
|
|
||||||
|
# Output data to screen
|
||||||
|
# print temperature
|
||||||
|
# print humidity
|
||||||
|
|
Loading…
Reference in New Issue
Block a user