Read the statement by Michael Teeuw here.
Problem with MMM-ValuesByNotification and MMM-CommandToNotification
-
@wishmaster270 Oh i could sworn i just submitted sth. but i cant see it in the notifications…
Well for a second time:
It kinda works now. I tried using the script as u said manually and the dependencies (adafruit library) wasnt up to date. I got reasonable outputs.
But the ValuesByNotification Module isnt working as intended. I Just get a “NaN” (“not a number”?) for the temperature. The Humidity is kinda working giving me a reasonable output. But sometimes after a blink (i think a refresh?), the value changes to “0.00%rH” but after another one it is good again. -
@Jimmy1502 all.posts for users with reputation below 2 are reviewed by me before posting.
so… sometimes you have to wait til i get back to the forum
you can see your pendkngmpodts.in tye pending queue under your user icon top right
-
@sdetweil i have seen thath. But usually it shows me in the notifications that its not approved yet. But i couldnt find it. Thats why i was confused.
-
@Jimmy1502 I have seen the pending g list be empty when it’s not. maybe your side has the same problem
-
@Jimmy1502 I think the problem with the temperature is caused by the json path. The script outputs
temperature_c
andtemperature_f
but the json path causes the module to search fortemperature
only.The problem with the humidity may be caused by the interval you query the sponsor values. 10 seconds is very short for the dht sensor. Maybe you can try a bigger interval.
-
@wishmaster270 I can see the temps now. I increased the UpdateInterval in both ValuesByNotification and CommandToNotification and made them different. But i still got the “0.00” for both temperature and humidity. But i dont think it should be the UpdateInterval. Cause when i tested the DHT22 with a Microcontroller i was able to get values every second.
-
@Jimmy1502 As the reuseCount is set to 100 the wrong value need to be caused by the script sending them.
It only sends 0.0 if a error occurs.You may remove the except block in the script and fire it very quickly on the shell to see what causes the error.
-
@wishmaster270
Hi! Ive been busy so i couldnt work on it. I removed the except block with five “#” for each line to make it a comment. And i get the following error. The line 32 has a syntax error “invalid syntax”. It is the print function printing json.dumps(result)) -
@Jimmy1502
You will need to comment the try, too. Additionally the indention of the code needs to be changed.
The file will be look like this then:#!/bin/python3 #Install Dependencies: # pip3 install adafruit-circuitpython-dht # sudo apt-get install libgpiod2 import time import board import adafruit_dht import json import sys gpio_nr = 4 if len(sys.argv) > 1: gpio_nr = int(sys.argv[1]) # Initial the dht device, with data pin connected to: dhtDevice = adafruit_dht.DHT22(getattr(board, "D%d"%gpio_nr)) result = {} result["temperature_c"] = dhtDevice.temperature result["humidity"] = dhtDevice.humidity result["temperature_f"] = (result["temperature_c"]*1.8) + 32 result["error"] = False print(json.dumps(result))