Fehlermeldung Shely MQTT JS
Verfasst: 10. Mär 2020 10:53
Hallo,
ich habe heute meinen dritten Shelly Dimmer (shellydimmer_Hausgang_OG) mittels MQTT in OH2 eingebunden. Davor lief alles problemlos. Jetzt erhalte ich folgende Fehlermeldung im log:
meine Thingsdatei sieht folgendermaßen aus und lief davor einwandfrei:
Wenn ich die letzten Zeilen auskommentiere kommt der Fehler nicht. Also muss es ja am Dimmer vom OG liegen. Aber ich finde den Fehler nicht (und weiß ehrlich gesagt auch nicht was er aussagt.)
Dazu noch die Json dateien
shelly_dimmer-bright.js
shelly_dimmer-status.js
Die Funktionen sind alle gegeben. Mich stört eben diese Warnung alle 30 sekunden im log.
Bin für jede Hilfe Dankbar!
VG
Gerhard
ich habe heute meinen dritten Shelly Dimmer (shellydimmer_Hausgang_OG) mittels MQTT in OH2 eingebunden. Davor lief alles problemlos. Jetzt erhalte ich folgende Fehlermeldung im log:
Code: Alles auswählen
2020-03-10 10:42:24.573 [WARN ] [t.generic.ChannelStateTransformation] - Executing the JS-transformation failed: An error occurred while executing script. SyntaxError: Invalid JSON: <json>:1:0 Expected json literal but found o
off
^ in <eval> at line number 2
Code: Alles auswählen
Bridge mqtt:broker:Mosquitto "Mosquitto MQTT Broker" @ "MQTT" [ host="192.168.178.79", secure=false ]
{
Thing topic shelly "shelly" @ "MQTT" {
Channels:
Type switch : Shottimer "Shottimer" [stateTopic="shellies/shelly1-E09579/relay/0", off="OFF", commandTopic="shellies/shelly1-E09579/relay/0/command", on="on", off="off"]
}
Thing topic wemos_1 "Klima & Motion" @ "MQTT" {
Channels:
Type number : Luftfeuchtigkeit_WZ "Luftfeuchte" [ stateTopic="Klimatele/DHT22/SENSOR", transformationPattern="JSONPATH:$.AM2301.Humidity" ]
Type number : Temperatur_WZ "Temperatur" [ stateTopic="Klimatele/DHT22/SENSOR", transformationPattern="JSONPATH:$.AM2301.Temperature" ]
Type switch : Bewegung "Bewegung" [ stateTopic="Klimastat/DHT22/POWER", commandTopic="Klimacmnd/DHT22/POWER" ]
Type string : Online "Online" [ stateTopic="Klimatele/DHT22/LWT" ]
Type number : rssi "Wlan Stärke" [ stateTopic="Klimatele/DHT22/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
}
Thing topic CT_Klingel "CT-Klingel" @ "MQTT" {
Channels:
Type switch : CT_Klingel "Türklingel" [ stateTopic="CT-Klingel/klingel", on="on", commandTopic="CT-Klingel/klingel"]
}
Thing topic shelly1pm_EZ "LEDstripe_shelly" @ "MQTT" {
Channels:
Type switch : power "LEDstripe Power" [stateTopic="shellies/shelly1pm-76B926/relay/0", off="OFF", commandTopic="shellies/shelly1pm-76B926/relay/0/command", on="on", off="off"]
Type number : energy "LEDstripe Verbrauch" [stateTopic="shellies/shelly1pm-76B926/relay/0/power"]
Type number : temperature "LEDstripe Shelly Temp" [StateTopic="shellies/shelly1pm-76B926/temperature"]
}
Thing topic shellydimmer_LEDspot_EZ "LEDspot_Dimmer" @ "MQTT" {
Channels:
Type switch : power "Power" [ stateTopic="shellies/shellydimmer-D0ECFF/light/0/", transformationPattern="JS:shelly_dimmer-status.js", commandTopic="shellies/shellydimmer-D0ECFF/light/0/command", on="on", off="off" ]
Type dimmer : dimmer "Dimmer" [ stateTopic="shellies/shellydimmer-D0ECFF/light/0/status", transformationPattern="JSONPATH:$.brightness", commandTopic="shellies/shellydimmer-D0ECFF/light/0/set", transformationPatternOut="JS:shelly_dimmer-bright.js"]
Type number : temperature "Temperature" [ stateTopic="shellies/shellydimmer-D0ECFF/temperature"]
Type number : energy "Energy" [ stateTopic="shellies/shellydimmer-D0ECFF/light/0/power"]
}
Thing topic shellydimmer_LED_WZ "LED_WZ_Dimmer" @ "MQTT" {
Channels:
Type switch : power "Power" [ stateTopic="shellies/shellydimmer-D0ED8C/light/0/", transformationPattern="JS:shelly_dimmer-status.js", commandTopic="shellies/shellydimmer-D0ED8C/light/0/command", on="on", off="off" ]
Type dimmer : dimmer "Dimmer" [ stateTopic="shellies/shellydimmer-D0ED8C/light/0/status", transformationPattern="JSONPATH:$.brightness", commandTopic="shellies/shellydimmer-D0ED8C/light/0/set", transformationPatternOut="JS:shelly_dimmer-bright.js"]
Type number : temperature "Temperature" [ stateTopic="shellies/shellydimmer-D0ED8C/temperature"]
Type number : energy "Energy" [ stateTopic="shellies/shellydimmer-D0ED8C/light/0/power"]
}
Thing topic shellydimmer_Hausgang_EG "Hausgang_EG" @ "MQTT" {
Channels:
Type switch : power "Power" [ stateTopic="shellies/shellydimmer-Hausgang_EG/light/0/", transformationPattern="JS:shelly_dimmer-status.js", commandTopic="shellies/shellydimmer-Hausgang_EG/light/0/command", on="on", off="off" ]
Type dimmer : dimmer "Dimmer" [ stateTopic="shellies/shellydimmer-Hausgang_EG/light/0/status", transformationPattern="JSONPATH:$.brightness", commandTopic="shellies/shellydimmer-Hausgang_EG/light/0/set", transformationPatternOut="JS:shelly_dimmer-bright.js"]
Type number : temperature "Temperature" [ stateTopic="shellies/shellydimmer-Hausgang_EG/temperature"]
Type number : energy "Energy" [ stateTopic="shellies/shellydimmer-Hausgang_EG/light/0/power"]
}
Thing topic shellydimmer_Hausgang_OG "Hausgang_OG" @ "MQTT" {
Channels:
Type switch : power "Power" [ stateTopic="shellies/shellydimmer-Hausgang_OG/light/0", transformationPattern="JS:shelly_dimmer-status.js", commandTopic="shellies/shellydimmer-Hausgang_OG/light/0/command", on="on", off="off" ]
Type dimmer : dimmer "Dimmer" [ stateTopic="shellies/shellydimmer-Hausgang_OG/light/0/status", transformationPattern="JSONPATH:$.brightness", commandTopic="shellies/shellydimmer-Hausgang_OG/light/0/set", transformationPatternOut="JS:shelly_dimmer-bright.js"]
Type number : temperature "Temperature" [ stateTopic="shellies/shellydimmer-Hausgang_OG/temperature"]
Type number : energy "Energy" [ stateTopic="shellies/shellydimmer-Hausgang_OG/light/0/power"]
}
}
Dazu noch die Json dateien
shelly_dimmer-bright.js
Code: Alles auswählen
(function(brightness) {
if (brightness > 0) {
var shellyobj = { "turn":"on", "brightness":brightness};
} else {
var shellyobj = { "turn":"off", "brightness":0 };
}
var data = JSON.stringify(shellyobj);
return data;
})(input)
Code: Alles auswählen
(function(jsonString) {
var data = JSON.parse(jsonString);
var isonState = data.ison;
if (isonState === null) isonState = UNDEF;
if (isonState == true) isonState = 'ON';
if (isonState == false) isonState = 'OFF';
return isonState;
})(input)
Bin für jede Hilfe Dankbar!
VG
Gerhard