Fix error where sensor dies not read data & exits

This commit is contained in:
2022-12-06 08:30:19 -05:00
parent 8b630b8ddc
commit b1de1a6d67

View File

@@ -39,22 +39,23 @@ def connect_mqtt():
def getValues(sensor): def getValues(sensor):
try: #While loop to try sensor again if it fails, seems to happen occasionally
temp = sensor.temperature result = None
humidity = sensor.humidity while result is None:
try:
temp = sensor.temperature
humidity = sensor.humidity
#convert to Farenheit #convert to Farenheit
temp = (temp * 1.8) + 32 temp = (temp * 1.8) + 32
#Round the decimals #Round the decimals
temp = round(temp, 2) temp = round(temp, 2)
#print("Temperature: {}*F Humidity: {}% ".format(temp, humidity)) #print("Temperature: {}*F Humidity: {}% ".format(temp, humidity))
except RuntimeError as error: result = 1
print(error.args[0]) except RuntimeError as error:
time.sleep(2.0) print(error.args[0])
except Exception as error: time.sleep(2.0)
sensor.exit() return temp, humidity
raise error
return temp, humidity
def publish(client, temp, humidity): def publish(client, temp, humidity):
@@ -85,7 +86,7 @@ def publish(client, temp, humidity):
while True: while True:
client = connect_mqtt() client = connect_mqtt()
client.loop_start() client.loop_start()
#temp, humidity = getValues(sensor) temp, humidity = getValues(sensor)
getValues(sensor) getValues(sensor)
publish(client, temp, humidity) publish(client, temp, humidity)
time.sleep (60.0) time.sleep (60.0)