Seite 1 von 1

Fehlermeldung Shely MQTT JS

Verfasst: 10. Mär 2020 10:53
von Backbe01
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:

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

meine Thingsdatei sieht folgendermaßen aus und lief davor einwandfrei:

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"]
    }

    
}
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

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)
shelly_dimmer-status.js

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)
Die Funktionen sind alle gegeben. Mich stört eben diese Warnung alle 30 sekunden im log.

Bin für jede Hilfe Dankbar!

VG
Gerhard

Re: Fehlermeldung Shely MQTT JS

Verfasst: 10. Mär 2020 11:37
von PeterA
Es gab ja gestern ein Update auf die 1.6 Firmware.

Vielleicht gab es hier eine Änderung oder in Bug.

Re: Fehlermeldung Shely MQTT JS

Verfasst: 10. Mär 2020 13:44
von peter-pan
Ich kenn mich mit den Shellys zwar nicht aus, aber ich habe mal die Channel-Syntax der beiden Geräte verglichen

Code: Alles auswählen

        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 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" ]
und wenn du genau hinschaust, siehst du, dass bei dem zweiten Shelly (OG) ein Schrägstrich (/) -"shellies/shellydimmer-Hausgang_OG/light/0 hinter der 0 fehlt, im Gegensatz zu "EG". Vielleicht ist das ja der Grund !?

Re: Fehlermeldung Shely MQTT JS

Verfasst: 10. Mär 2020 16:14
von Backbe01
peter-pan hat geschrieben: 10. Mär 2020 13:44 wenn du genau hinschaust,
Peter-Pan Du Adler-Auge!!! Fehlermeldung ist nach Änderung und Neustart weg!

Vielen Dank!!!!

Re: Fehlermeldung Shely MQTT JS

Verfasst: 12. Mär 2020 10:54
von peter-pan
Immer gerne :) :)