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