Seite 1 von 1

Umstellung MQTT1 auf MQTT2

Verfasst: 30. Mai 2019 11:05
von Heavy-Dee
Hallo zusammen,
habe ein Problem bei der Umstellung auf MQTT 2.
Ich habe div Shelly 1 und Shelly 2.5 (alle Tasmota) im Haus verbaut und möchte diese auf MQTT 2 umstellen.
Bei MQTT 1 sind die items wie folgt:
Shelly 1:

Code: Alles auswählen

Switch Shelly1_2C68B6           "Esszimmer Decke"           <light>         (grpHomeNet,grpHaus,grpEG,grpEsszimmer,grpLicht)        ["Switchable"]   {mqtt=">[broker:cmnd/Shelly1_2C68B6/POWER:command:*:default], <[broker:stat/Shelly1_2C68B6/POWER:state:default]"}

Shelly 2.5:

Code: Alles auswählen

Switch Shelly25_00B0BE_1         "Wohnzimmer Wand"           <light>         (grpHomeNet,grpHaus,grpEG,grpWohnzimmer,grpLicht)       ["Switchable"]   {mqtt=">[broker:cmnd/Shelly25_00B0BE/POWER1:command:*:default], <[broker:stat/Shelly25_00B0BE/POWER1:state:default]"}
Switch Shelly25_00B0BE_2         "Wohnzimmer Decke"          <light>         (grpHomeNet,grpHaus,grpEG,grpWohnzimmer,grpLicht)       ["Switchable"]   {mqtt=">[broker:cmnd/Shelly25_00B0BE/POWER2:command:*:default], <[broker:stat/Shelly25_00B0BE/POWER2:state:default]"}
Bei MQTT 2:

Code: Alles auswählen

// Deckenbeleuchtung Esszimmer
    Thing topic Shelly1_2C68B6 "Deckenlampe" @ "Esszimmer" 
    {
        Channels:
        Type switch : Shelly1_2C68B6    "Deckenlampe (Esszimmer)"
        [
            stateTopic="stat/Shelly1_2C68B6/POWER", commandTopic="cmnd/Shelly1_2C68B6/POWER"
        ] 
    }
// Wandbeleuchtung Wohnzimmer
    Thing topic Shelly25_00B0BE "Wandlampen" @ "Wohnzimmer" 
    {
        Channels:
        Type switch : Shelly25_00B0BE_1    "Wandlampen (Wohnzimmer)"
        [
            stateTopic="stat/Shelly25_00B0BE/POWER1", commandTopic="cmnd/Shelly25_00B0BE/POWER1"
        ] 
    }    
// Deckenbeleuchtung Wohnzimmer
    Thing topic Shelly25_00B0BE "Deckenleuchte" @ "Wohnzimmer" 
    {
        Channels:
        Type switch : Shelly25_00B0BE_2    "Deckenleuchte (Wohnzimmer)"
        [
            stateTopic="stat/Shelly25_00B0BE/POWER2", commandTopic="cmnd/Shelly25_00B0BE/POWER2"
        ] 
    }

Code: Alles auswählen

// Deckenbeleuchtung Esszimmer
    Switch    Shelly1_2C68B6        "Deckenlampe"           <light>     (grpHomeNet,grpEsszimmer,grpLicht,grpLichtEsszimmer)
        ["Switchable"]  {channel="mqtt:topic:embedded-mqtt-broker:Shelly1_2C68B6:Shelly1_2C68B6"}
// Wandbeleuchtung Wohnzimmer
    Switch    Shelly25_00B0BE_1     "Wandlampen"            <light>     (grpHomeNet,grpWohnzimmer,grpLicht,grpLichtWohnzimmer)
        ["Switchable"]  {channel="mqtt:topic:embedded-mqtt-broker:Shelly25_00B0BE:Shelly25_00B0BE"}
// Deckenbeleuchtung Wohnzimmer
    Switch    Shelly25_00B0BE_2     "Deckenleuchte"         <light>     (grpHomeNet,grpWohnzimmer,grpLicht,grpLichtWohnzimmer)
        ["Switchable"]  {channel="mqtt:topic:embedded-mqtt-broker:Shelly25_00B0BE:Shelly25_00B0BE"}
Das Problem ist über MQTT 1 sind alle Shellys schaltbar.
Über MQTT2 lassen sich nur die Shelly 1 schalten. Die Shelly 2 reagieren nicht.
Vieleicht kann mir jmd sagen wo der Fehler liegt.

Re: Umstellung MQTT1 auf MQTT2

Verfasst: 30. Mai 2019 20:10
von udo1toni
So, wie ich das sehe, hast Du noch nicht so ganz verstanden, wie das Thing Modell gedacht ist.
Im Fall von mqtt gibt es zwar keinen zwingenden Zusammenhang, aber ein Thing ist eigentlich als Hardware Einheit gedacht. Ein Shelly2.5 hat zwei Kanäle, ist aber ein Thing.
Weiterhin solltest Du die Channel besser mit einem vernünftigen Namen versehen. Z.B. so:

Code: Alles auswählen

// Deckenbeleuchtung Esszimmer
    Thing topic Shelly1_2C68B6 "Deckenlampe" @ "Esszimmer" 
    {
        Channels:
        Type switch : ch1    "Deckenlampe (Esszimmer)"     [ stateTopic="stat/Shelly1_2C68B6/POWER", commandTopic="cmnd/Shelly1_2C68B6/POWER" ] 
    }
// Wandbeleuchtung Wohnzimmer
    Thing topic Shelly25_00B0BE "Lampen" @ "Wohnzimmer" 
    {
        Channels:
        Type switch : ch1    "Wandlampen (Wohnzimmer)"     [ stateTopic="stat/Shelly25_00B0BE/POWER1", commandTopic="cmnd/Shelly25_00B0BE/POWER1" ] 
        Type switch : ch2    "Deckenleuchte (Wohnzimmer)"  [ stateTopic="stat/Shelly25_00B0BE/POWER2", commandTopic="cmnd/Shelly25_00B0BE/POWER2" ] 
    }
Die entsprechenden Items:

Code: Alles auswählen

// Deckenbeleuchtung Esszimmer
Switch Shelly1_2C68B6    "Deckenlampe"   <light> (grpHomeNet,grpEsszimmer,grpLicht,grpLichtEsszimmer)   ["Switchable"]  {channel="mqtt:topic:embedded-mqtt-broker:Shelly1_2C68B6:ch1"}
// Wandbeleuchtung Wohnzimmer
Switch Shelly25_00B0BE_1 "Wandlampen"    <light> (grpHomeNet,grpWohnzimmer,grpLicht,grpLichtWohnzimmer) ["Switchable"]  {channel="mqtt:topic:embedded-mqtt-broker:Shelly25_00B0BE:ch1"}
// Deckenbeleuchtung Wohnzimmer
Switch Shelly25_00B0BE_2 "Deckenleuchte" <light> (grpHomeNet,grpWohnzimmer,grpLicht,grpLichtWohnzimmer) ["Switchable"]  {channel="mqtt:topic:embedded-mqtt-broker:Shelly25_00B0BE:ch2"}
Es wäre auch besser, eindeutige Namen zu wählen, die nicht identisch zu den Things Namen sind. Funktioniert zwar, führt aber im Zweifel gerne zu Durcheinander.

Re: Umstellung MQTT1 auf MQTT2

Verfasst: 2. Jun 2019 10:45
von Heavy-Dee
Danke für die Info und die Lösung.
Habe vor lauter Wald die Bäume nicht mehr gesehen.
Alle Things u. Items geändert und neu benannt. -> funktioniert !!!