Fehlermeldung Shely MQTT JS

Geflasht oder ungeflasht ...

Moderator: seppy

Antworten
Backbe01
Beiträge: 123
Registriert: 19. Jul 2019 21:04

Fehlermeldung Shely MQTT JS

Beitrag 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
OH 4.1.0M2 auf nuc in Docker

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Fehlermeldung Shely MQTT JS

Beitrag von PeterA »

Es gab ja gestern ein Update auf die 1.6 Firmware.

Vielleicht gab es hier eine Änderung oder in Bug.
- OpenHab 2.4
#PWRUP

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: Fehlermeldung Shely MQTT JS

Beitrag 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 !?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

Backbe01
Beiträge: 123
Registriert: 19. Jul 2019 21:04

Re: Fehlermeldung Shely MQTT JS

Beitrag 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!!!!
OH 4.1.0M2 auf nuc in Docker

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: Fehlermeldung Shely MQTT JS

Beitrag von peter-pan »

Immer gerne :) :)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

Antworten