Je suis reparti de zero pour mettre le dernier raspbian, mais plus de remontée de temp.
Une idée pourquoi ce plugin ne fonctionne plus ? J'ai oublié de ré installer quelques choses ?
Merci.
Xiaomi - Mijia Hygrothermographe
Re: Xiaomi - Mijia Hygrothermographe
Salut, me revoila.
Voici le script :
Quand je lance le script dans putty, j'ai cette erreur :
File "domoticz_mijia.py", line 62
SyntaxError: Non-ASCII character '\xc2' in file domoticz_mijia.py on line 62, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
La ligne 62 c'est celle vers le milieu que j'ai isolé avec un commentaire.
Vous voyez pourquoi ca ne fonctionne plus ?
Merci.
Voici le script :
Code : Tout sélectionner
import urllib.request
import base64
import time
from mijia.mijia_poller import MijiaPoller, \
MI_HUMIDITY, MI_TEMPERATURE, MI_BATTERY
# Settings for the domoticz server
# Forum see: http://domoticz.com/forum/viewtopic.php?f=56&t=13306&hilit=mi+flora&start=20#p105255
domoticzserver = xxxxxxxxxxxx
domoticzusername = xxxxxxxx
domoticzpassword = xxxxxxxxxxx
# So id devices use: sudo hcitool lescan
# Sensor IDs
# Create virtual sensors in dummy hardware
# type temperature & humidity
base64string = base64.encodestring(('%s:%s' % (domoticzusername, domoticzpassword)).encode()).decode().replace('\n', '')
def domoticzrequest (url):
print(url)
request = urllib.request.Request(url)
request.add_header("Authorization", "Basic %s" % base64string)
response = urllib.request.urlopen(request)
return response.read()
def update(address,idx_temp):
poller = MijiaPoller(address)
loop = 0
try:
temp = poller.parameter_value(MI_TEMPERATURE)
except:
temp = "Not set"
while loop < 2 and temp == "Not set":
print("Error reading value retry after 5 seconds...\n")
time.sleep(5)
poller = MijiaPoller(address)
loop += 1
try:
temp = poller.parameter_value(MI_TEMPERATURE)
except:
temp = "Not set"
if temp == "Not set":
print("Error reading value\n")
return
global domoticzserver
print("Mi Sensor: " + address)
print("Firmware: {}".format(poller.firmware_version()))
print("Name: {}".format(poller.name()))
# C'est cette ligne qui pose problème
print("Temperature: {}°C".format(poller.parameter_value(MI_TEMPERATURE)))
# Fin du problème
print("Humidity: {}%".format(poller.parameter_value(MI_HUMIDITY)))
print("Battery: {}%".format(poller.parameter_value(MI_BATTERY)))
val_bat = "{}".format(poller.parameter_value(MI_BATTERY))
# Update temp
#val_temp = "{}".format(poller.parameter_value(MI_TEMPERATURE))
#domoticzrequest("http://" + domoticzserver + "/json.htm?type=command¶m=udevice&idx=" + idx_temp + "&nvalue=0&svalue=" + val_temp + "&battery=" + val_bat)
# Update humidity
#val_hum = "{}".format(poller.parameter_value(MI_HUMIDITY))
#domoticzrequest("http://" + domoticzserver + "/json.htm?type=command¶m=udevice&idx=" + idx_hum + "&svalue=" + val_hum + "&battery=" + val_bat)
#/json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=TEMP;HUM;HUM_STAT
val_temp = "{}".format(poller.parameter_value(MI_TEMPERATURE))
val_hum = "{}".format(poller.parameter_value(MI_HUMIDITY))
val_comfort = "0"
if float(val_hum) < 40:
val_comfort = "2"
elif float(val_hum) <= 70:
val_comfort = "1"
elif float(val_hum) > 70:
val_comfort = "3"
domoticzrequest("http://" + domoticzserver + "/json.htm?type=command¶m=udevice&idx=" + idx_temp + "&nvalue=0&svalue=" + val_temp + ";" + val_hum + ";"+ val_comfort + "&battery=" + val_bat)
print("\n1: updating")
update("4C:65:A8:D8:AC:1C","127")
update("4C:65:A8:D4:BA:92","98")
update("4C:65:A8:D5:EC:AE","99")
update("A4:C1:38:89:1F:B9","334")
File "domoticz_mijia.py", line 62
SyntaxError: Non-ASCII character '\xc2' in file domoticz_mijia.py on line 62, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
La ligne 62 c'est celle vers le milieu que j'ai isolé avec un commentaire.
Vous voyez pourquoi ca ne fonctionne plus ?
Merci.