Hi, ich komme gerade nicht weiter. Habe, wie schon öfter, an einen ESP noch einen DHT22 geklemmt und die Daten via mqtt an den Raspi geschickt. Dort will ich das ganze mit mqtthing der Homebridge zugänglich machen. Hat bisher immer geklappt.
Sieht in der Konfiguration so aus. Syntax sollte passen.
Code
{
"accessory": "mqttthing",
"logMqtt": "true",
"history": "true",
"type": "temperatureSensor",
"name": "Temperatur Keller",
"topics": {
"getCurrentTemperature": {
"topic": "tele/Tasmota_SmartMeter/SENSOR",
"apply": "return JSON.parse(message).AM2301.Temperature;"
}
}
},
{
"accessory": "mqttthing",
"logMqtt": "true",
"history": "true",
"type": "humiditySensor",
"name": "Luftfeuchte Keller",
"topics": {
"getCurrentRelativeHumidity": {
"topic": "tele/Tasmota_SmartMeter/SENSOR",
"apply": "return JSON.parse(message).AM2301.Humidity;"
}
}
Alles anzeigen
Homekit gibt bei dem Sensor aber 0° und 0% aus. Im Homebridge-Protokoll sagt er immer:
Code
[11.4.2021, 18:23:39] [Temperatur Keller] Received MQTT: tele/Tasmota_SmartMeter/SENSOR = {"Time":"2021-04-11T18:23:39","Switch1":"ON","AM2301":{"Temperature":12.3,"Humidity":56.6,"DewPoint":3.9},"SML":{"Total_in":234.5124,"Power_curr":52.6,"Meter_number":"0a01445a4700039954f6","Curr_p1":0.000,"TempUnit":"C"}
[11.4.2021, 18:23:39] [Temperatur Keller] Decode function apply( message) { return JSON.parse(message).AM2301.Temperature; } failed for topic tele/Tasmota_SmartMeter/SENSOR with message {"Time":"2021-04-11T18:23:39","Switch1":"ON","AM2301":{"Temperature":12.3,"Humidity":56.6,"DewPoint":3.9},"SML":{"Total_in":234.5124,"Power_curr":52.6,"Meter_number":"0a01445a4700039954f6","Curr_p1":0.000,"TempUnit":"C"} - SyntaxError: Unexpected end of JSON input
[11.4.2021, 18:23:39] [Temperatur Keller] Decode function apply( message) { return JSON.parse(message).AM2301.Temperature; } failed for topic tele/Tasmota_SmartMeter/SENSOR with message {"Time":"2021-04-11T18:23:39","Switch1":"ON","AM2301":{"Temperature":12.3,"Humidity":56.6,"DewPoint":3.9},"SML":{"Total_in":234.5124,"Power_curr":52.6,"Meter_number":"0a01445a4700039954f6","Curr_p1":0.000,"TempUnit":"C"} - SyntaxError: Unexpected end of JSON input
[11.4.2021, 18:23:39] [Luftfeuchte Keller] Received MQTT: tele/Tasmota_SmartMeter/SENSOR = {"Time":"2021-04-11T18:23:39","Switch1":"ON","AM2301":{"Temperature":12.3,"Humidity":56.6,"DewPoint":3.9},"SML":{"Total_in":234.5124,"Power_curr":52.6,"Meter_number":"0a01445a4700039954f6","Curr_p1":0.000,"TempUnit":"C"}
[11.4.2021, 18:23:39] [Luftfeuchte Keller] Decode function apply( message) { return JSON.parse(message).AM2301.Humidity; } failed for topic tele/Tasmota_SmartMeter/SENSOR with message {"Time":"2021-04-11T18:23:39","Switch1":"ON","AM2301":{"Temperature":12.3,"Humidity":56.6,"DewPoint":3.9},"SML":{"Total_in":234.5124,"Power_curr":52.6,"Meter_number":"0a01445a4700039954f6","Curr_p1":0.000,"TempUnit":"C"} - SyntaxError: Unexpected end of JSON input
[11.4.2021, 18:23:39] [Luftfeuchte Keller] Decode function apply( message) { return JSON.parse(message).AM2301.Humidity; } failed for topic tele/Tasmota_SmartMeter/SENSOR with message {"Time":"2021-04-11T18:23:39","Switch1":"ON","AM2301":{"Temperature":12.3,"Humidity":56.6,"DewPoint":3.9},"SML":{"Total_in":234.5124,"Power_curr":52.6,"Meter_number":"0a01445a4700039954f6","Curr_p1":0.000,"TempUnit":"C"} - SyntaxError: Unexpected end of JSON input
Ich weiß nicht, was er mit SyntaxError: Unexpected end of JSON Input. An dem ESP hängt, wie man sehen kann, ein Lesekopf fürs Smartmeter, das die Daten auch übergibt. Jemand eine Idee, wieso er den mqtt-string nicht interpretieren kann?
Danke.