MQTT2+Shelly: erste Konfiguration und template-Entwicklung

Begonnen von miggun, 03 Dezember 2018, 21:05:34

Vorheriges Thema - Nächstes Thema

87insane

Da sich kein anderer dazu äußert, kann ich argumentativ nicht nach legen ;) dann wird es eben so bleiben. An sich komme ich ganz gut klar seit dem Rollo template für tasmota. Weswegen es in meinen Augen besser mit verschachteln wäre.

Man könnte zb diese ganzen devstate Icons auch auslagern. Und wer für Rollo zb die ganzen pct Bilder haben will nimmt in dem fall einfach 99_Rollo_Bilder/Icons. Ich denke du weis worauf ich hinaus will. Es geht mir wirklich nur um sich wiederholende Dinge.

Aber so seie es... Ggf ist das in 1-2 Jahren interessanter, sobald das Konstrukt so nicht mehr übersichtlich sein kann. Immerhin kommen fast jeden Tag irgendwelche neuen LoT geräte raus und dann kann man immer noch weiter sehen. Schaue mir nachher erst mal an wie es eingecheckt ist. Am handy mag ich ungern im SVN wühlen. Alleine wegen der Bildschirm Größe ...

Danke schon mal und bis zum nächsten Template :)

PS: als nächstes kommt bei mir shelly 2.5 Rollo shutter dran. Mal sehen ob es da schon was gutes/schönes gibt.

Gesendet von meinem LG-H850 mit Tapatalk


Prof. Dr. Peter Henning

ZitatPerl ist in der tat an der stelle etwas überdimensioniert.
Pardon, aber das halte ich für Quark - genau dafür wurde Perl nämlich geschaffen.

LG

pah

87insane

Entschuldige meine dummen Worte. Das man das verstehen kann, wie es gemeint sein könnte, ist aber klar oder? Hinzu, was trägt dein Kommentar ohne Code oder sinnvolle Infos, der Gemeinde bei?

Gesendet von meinem LG-H850 mit Tapatalk


87insane

Guten Morgen zusammen,

folgendes ist mir aufgefallen und ich finde keine Antwort dafür. Wenn man im StateFormat diesen online/offline Kreis einblendet (siehe z.B. Shelly1pm Template), dann kann man diesen anklicken und man landet auf dem Webinterface des Gerätes. Sobald man in setList aber
off:noArg shellies/shelly1pm-B1D951/relay/0/command off
on:noArg shellies/shelly1pm-B1D951/relay/0/command on


also on und off setzt, damit auch via Alexa gesteuert werden kann, kann man den online/offline Kreis nicht anklicken. Wenn man es macht, wird der Shelly eingeschaltet bzw. sein relay. Sobald man on/off aus setList löscht und nur:
relay0:on,off,toggle shellies/shelly1pm-B1D951/relay/0/command $EVTPART1
einfügt, kann man auch den kleinen Kreis anklicken. Allerdings erkennt Alexa dann das Gerät nicht mehr als Schalter und man kann ihn nicht mehr schalten....

List -r von einem der Shellys:
define sz_deckenlicht MQTT2_DEVICE shelly1pm_B1D951
attr sz_deckenlicht IODev MQTT2_FHEM_Server
attr sz_deckenlicht alexaName Schlafzimmer Deckenlicht
attr sz_deckenlicht alias Schlafzimmer Deckenlicht
attr sz_deckenlicht autocreate 1
attr sz_deckenlicht devStateIcon true:10px-kreis-gruen false:10px-kreis-rot .*SetExtensionsCommand.*:1px-spacer on:light_pendant_light@green:relay0+off off:light_pendant_light:relay0+on on-.*:on-for-timer:relay0+off off-.*:off-for-timer:relay0+on blink.*:light_toggle:relay0+off
attr sz_deckenlicht event-on-change-reading .*
attr sz_deckenlicht model A_10b_shelly1pm
attr sz_deckenlicht readingList shellies/shelly1pm-B1D951/relay/0:.* state\
  shellies/shelly1pm-B1D951/relay/0:.* relay0\
  shellies/shelly1pm-B1D951/input/0:.* input0\
  shellies/shelly1pm-B1D951/online:.* online\
  shellies/shelly1pm-B1D951/announce:.* { json2nameValue($EVENT) }\
  shellies/shelly1pm-B1D951/relay/0/power:.* relay_0_power\
  shellies/shelly1pm-B1D951/temperature:.* temperature\
  shellies/shelly1pm-B1D951/overtemperature:.* overtemperature\
  shellies/shelly1pm-B1D951/relay/0/energy:.* relay_0_energy\
  shellies/shelly1pm-B1D951/longpush/0:.* longpush_0\
  shellies/announce:.* { json2nameValue($EVENT) }
attr sz_deckenlicht room Alexa,MQTT,Schlafzimmer
attr sz_deckenlicht setList relay0:on,off,toggle shellies/shelly1pm-B1D951/relay/0/command $EVTPART1\
  off:noArg shellies/shelly1pm-B1D951/relay/0/command off\
  on:noArg shellies/shelly1pm-B1D951/relay/0/command on
attr sz_deckenlicht stateFormat <a href="http://ip" target="_blank">\
online\
</a>\
relay0\
<br>\
Aktueller Verbrauch: relay_0_power W\
<br>\
Temperatur: temperature °C
attr sz_deckenlicht webCmd :relay0

setstate sz_deckenlicht <a href="http://192.168.xxx.xxx" target="_blank">\
true\
</a>\
on\
<br>\
Aktueller Verbrauch: 5.61 W\
<br>\
Temperatur: 32.04 °C
setstate sz_deckenlicht 2019-04-30 16:50:34 fw_ver 20190423-080637/v1.4.9-switch1pm-hotfix4@f8c51629
setstate sz_deckenlicht 2019-04-30 16:50:34 id shelly1pm-B1D901
setstate sz_deckenlicht 2019-05-02 08:53:56 input0 0
setstate sz_deckenlicht 2019-04-30 16:50:34 ip 192.168.xxx.xxx
setstate sz_deckenlicht 2019-04-30 16:50:34 mac 840D8EB1D901
setstate sz_deckenlicht 2019-04-30 16:50:34 new_fw false
setstate sz_deckenlicht 2019-04-30 16:49:52 online true
setstate sz_deckenlicht 2019-05-02 08:53:56 overtemperature 0
setstate sz_deckenlicht 2019-05-02 08:54:08 relay0 on
setstate sz_deckenlicht 2019-05-02 08:54:10 relay_0_energy 588
setstate sz_deckenlicht 2019-05-02 08:54:10 relay_0_power 5.61
setstate sz_deckenlicht 2019-05-02 08:54:08 state on
setstate sz_deckenlicht 2019-05-02 08:53:56 temperature 32.04


Ideen?

Beta-User

Hmm, würde mal vermuten, dass das daher kommt, dass true/1/on und false/0/off häufig synonym verwendet werden. Ergo sollte sich das Problem lösen lassen, wenn man dafür sorgt, dass nicht nur "true" in einer Zeile steht.

Versuche es mal mit einem zusätzlichen "Marker" (hier: c für connection, das ist aber an sich völlig willkürlich):attr sz_deckenlicht devStateIcon c.true:10px-kreis-gruen c.false:10px-kreis-rot .*SetExtensionsCommand.*:1px-spacer on:light_pendant_light@green:relay0+off off:light_pendant_light:relay0+on on-.*:on-for-timer:relay0+off off-.*:off-for-timer:relay0+on blink.*:light_toggle:relay0+offattr sz_deckenlicht stateFormat <a href="http://ip" target="_blank">\
c:online\
</a>\
relay0\
<br>\
Aktueller Verbrauch: relay_0_power W\
<br>\
Temperatur: temperature °C

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

87insane

Hey und guten Morgen,

hilft leider nicht. Egal ob mit [gerät:reading] oder einfach ohne magic gearbeitet wird in stateFormat.
Nehme ich on/off in setList mit auf ist das "Problem" da und lösche ich die beiden Zeilen, ist das Problem weg. Allerdings ist damit dann auch die Alexa Steuerung weg....

Beta-User

Argh, da ist ein attr verloren gegangen, nur devStateIcon reicht nicht, die zweite Zeile war für stateFormat gedacht...
attr sz_deckenlicht devStateIcon c.true:10px-kreis-gruen c.false:10px-kreis-rot .*SetExtensionsCommand.*:1px-spacer on:light_pendant_light@green:relay0+off off:light_pendant_light:relay0+on on-.*:on-for-timer:relay0+off off-.*:off-for-timer:relay0+on blink.*:light_toggle:relay0+offattr sz_deckenlicht stateFormat <a href="http://ip" target="_blank">\
attr sz_deckenlicht stateFormat c:online\
</a>\
relay0\
<br>\
Aktueller Verbrauch: relay_0_power W\
<br>\
Temperatur: temperature °C
Kannst du bitte nochmal ein RAW-list liefern, wenn du beide Attribute wie vorgeschlagen geändert hast?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

87insane

Hatte ich schon erkannt... Man sieht ja was an welcher Stelle Sinn macht....
Anbei ein List von einem der Geräte....


Internals:
   CFGFN      ./FHEM/Tasmota.cfg
   CHANGED   
   CID        shelly1pm_B1D951
   DEF        shelly1pm_B1D951
   DEVICETOPIC sz_deckenlicht
   FUUID      5cc4074e-f33f-fcb4-2a2d-5a4b3c845d1a880d
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 1129
   MQTT2_FHEM_Server_TIME 2019-05-02 10:47:36
   MSGCNT     1129
   NAME       sz_deckenlicht
   NR         113
   STATE      <a href="http://:ip" target="_blank">
c:online
</a>
off
Aktueller Verbrauch: 0.00 / Temperatur: 31.99 °C
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2019-05-02 10:47:16   input0          0
     2019-05-02 10:47:16   overtemperature 0
     2019-05-02 10:47:36   relay0          off
     2019-05-02 10:47:36   relay_0_energy  656
     2019-05-02 10:47:36   relay_0_power   0.00
     2019-05-02 10:47:36   state           off
     2019-05-02 10:47:16   temperature     31.99
Attributes:
   IODev      MQTT2_FHEM_Server
   alexaName  Schlafzimmer Deckenlicht
   alias      Schlafzimmer Deckenlicht
   autocreate 1
   devStateIcon c.true:10px-kreis-gruen c.false:10px-kreis-rot .*SetExtensionsCommand.*:1px-spacer on:light_pendant_light@green:relay0+off off:light_pendant_light:relay0+on on-.*:on-for-timer:relay0+off off-.*:off-for-timer:relay0+on blink.*:light_toggle:relay0+offattr sz_deckenlicht stateFormat <a href="http://ip" target="_blank">
   event-on-change-reading .*
   model      A_10b_shelly1pm
   readingList shellies/shelly1pm-B1D951/relay/0:.* state
  shellies/shelly1pm-B1D951/relay/0:.* relay0
  shellies/shelly1pm-B1D951/input/0:.* input0
  shellies/shelly1pm-B1D951/online:.* online
  shellies/shelly1pm-B1D951/announce:.* { json2nameValue($EVENT) }
  shellies/shelly1pm-B1D951/relay/0/power:.* relay_0_power
  shellies/shelly1pm-B1D951/temperature:.* temperature
  shellies/shelly1pm-B1D951/overtemperature:.* overtemperature
  shellies/shelly1pm-B1D951/relay/0/energy:.* relay_0_energy
  shellies/shelly1pm-B1D951/longpush/0:.* longpush_0
  shellies/announce:.* { json2nameValue($EVENT) }
   room       Alexa,MQTT,Schlafzimmer
   setList    relay0:on,off,toggle shellies/shelly1pm-B1D951/relay/0/command $EVTPART1
  off:noArg shellies/shelly1pm-B1D951/relay/0/command off
  on:noArg shellies/shelly1pm-B1D951/relay/0/command on
   stateFormat <a href="http://:ip" target="_blank">
c:online
</a>
relay0
Aktueller Verbrauch: relay_0_power / Temperatur: temperature °C
   webCmd     :relay0


List -r:


define sz_deckenlicht MQTT2_DEVICE shelly1pm_B1D951
attr sz_deckenlicht IODev MQTT2_FHEM_Server
attr sz_deckenlicht alexaName Schlafzimmer Deckenlicht
attr sz_deckenlicht alias Schlafzimmer Deckenlicht
attr sz_deckenlicht autocreate 1
attr sz_deckenlicht devStateIcon c.true:10px-kreis-gruen c.false:10px-kreis-rot .*SetExtensionsCommand.*:1px-spacer on:light_pendant_light@green:relay0+off off:light_pendant_light:relay0+on on-.*:on-for-timer:relay0+off off-.*:off-for-timer:relay0+on blink.*:light_toggle:relay0+offattr sz_deckenlicht stateFormat <a href="http://ip" target="_blank">
attr sz_deckenlicht event-on-change-reading .*
attr sz_deckenlicht model A_10b_shelly1pm
attr sz_deckenlicht readingList shellies/shelly1pm-B1D951/relay/0:.* state\
  shellies/shelly1pm-B1D951/relay/0:.* relay0\
  shellies/shelly1pm-B1D951/input/0:.* input0\
  shellies/shelly1pm-B1D951/online:.* online\
  shellies/shelly1pm-B1D951/announce:.* { json2nameValue($EVENT) }\
  shellies/shelly1pm-B1D951/relay/0/power:.* relay_0_power\
  shellies/shelly1pm-B1D951/temperature:.* temperature\
  shellies/shelly1pm-B1D951/overtemperature:.* overtemperature\
  shellies/shelly1pm-B1D951/relay/0/energy:.* relay_0_energy\
  shellies/shelly1pm-B1D951/longpush/0:.* longpush_0\
  shellies/announce:.* { json2nameValue($EVENT) }
attr sz_deckenlicht room Alexa,MQTT,Schlafzimmer
attr sz_deckenlicht setList relay0:on,off,toggle shellies/shelly1pm-B1D951/relay/0/command $EVTPART1\
  off:noArg shellies/shelly1pm-B1D951/relay/0/command off\
  on:noArg shellies/shelly1pm-B1D951/relay/0/command on
attr sz_deckenlicht stateFormat <a href="http://:ip" target="_blank">\
c:online\
</a>\
relay0\
Aktueller Verbrauch: relay_0_power / Temperatur: temperature °C
attr sz_deckenlicht webCmd :relay0

setstate sz_deckenlicht <a href="http://:ip" target="_blank">\
c:online\
</a>\
off\
Aktueller Verbrauch: 0.00 / Temperatur: 32.10 °C
setstate sz_deckenlicht 2019-05-02 10:49:06 input0 0
setstate sz_deckenlicht 2019-05-02 10:49:06 overtemperature 0
setstate sz_deckenlicht 2019-05-02 10:49:06 relay0 off
setstate sz_deckenlicht 2019-05-02 10:47:36 relay_0_energy 656
setstate sz_deckenlicht 2019-05-02 10:49:06 relay_0_power 0.00
setstate sz_deckenlicht 2019-05-02 10:49:06 state off
setstate sz_deckenlicht 2019-05-02 10:49:06 temperature 32.10

Beta-User

Hmm, der devStateIcon-Code kann kürzer sein, da wir ja das mit den SetExtensions hier nicht benötigen usw..
Dann solltest du den shelly mal neu starten (eigentlich: da steht noch kein setstate zu "online"), erst danach kann man checken, ob das wirklich funktioniert.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

87insane

Jo, hatte es zum testen drin gelassen...

Mit dem Neustart, ist klar.. War nach Template setzen natürlich weg und neustart aus der Ferne nur via VPN. Mache ich aber gleich. Das verhalten ist bei einem vorhandenem bzw beschriebenem Reading genau wie wenn es leer ist oder so. Werde ich aber gleich einfach nochmal senden....

87insane

#280
List:


Internals:
   CFGFN      ./FHEM/Tasmota.cfg
   CHANGED   
   CID        shelly1pm_B1D951
   DEF        shelly1pm_B1D951
   DEVICETOPIC sz_deckenlicht
   FUUID      5cc4074e-f33f-fcb4-2a2d-5a4b3c845d1a880d
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 1604
   MQTT2_FHEM_Server_TIME 2019-05-02 11:34:19
   MSGCNT     1604
   NAME       sz_deckenlicht
   NR         113
   STATE      <a href="http://192.168.20.53" target="_blank">
c:true
</a>
off
Aktueller Verbrauch: 0.00 W / Temperatur: 32.15 °C
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2019-05-02 11:32:16   fw_ver          20190423-080637/v1.4.9-switch1pm-hotfix4@f8c51629
     2019-05-02 11:32:16   id              shelly1pm-B1D951
     2019-05-02 11:34:06   input0          0
     2019-05-02 11:32:16   ip              192.168.20.53
     2019-05-02 11:32:16   mac             840D8EB1D951
     2019-05-02 11:32:16   new_fw          false
     2019-05-02 11:32:16   online          true
     2019-05-02 11:34:06   overtemperature 0
     2019-05-02 11:34:19   relay0          off
     2019-05-02 11:34:19   relay_0_energy  6
     2019-05-02 11:34:19   relay_0_power   0.00
     2019-05-02 11:34:19   state           off
     2019-05-02 11:34:06   temperature     32.15
Attributes:
   IODev      MQTT2_FHEM_Server
   alexaName  Schlafzimmer Deckenlicht
   alias      Schlafzimmer Deckenlicht
   autocreate 1
   devStateIcon c.true:10px-kreis-gruen c.false:10px-kreis-rot .*SetExtensionsCommand.*:1px-spacer on:light_pendant_light@green:relay0+off off:light_pendant_light:relay0+on on-.*:on-for-timer:relay0+off off-.*:off-for-timer:relay0+on blink.*:light_toggle:relay0+off
   event-on-change-reading .*
   model      A_10b_shelly1pm
   readingList shellies/shelly1pm-B1D951/relay/0:.* state
  shellies/shelly1pm-B1D951/relay/0:.* relay0
  shellies/shelly1pm-B1D951/input/0:.* input0
  shellies/shelly1pm-B1D951/online:.* online
  shellies/shelly1pm-B1D951/announce:.* { json2nameValue($EVENT) }
  shellies/shelly1pm-B1D951/relay/0/power:.* relay_0_power
  shellies/shelly1pm-B1D951/temperature:.* temperature
  shellies/shelly1pm-B1D951/overtemperature:.* overtemperature
  shellies/shelly1pm-B1D951/relay/0/energy:.* relay_0_energy
  shellies/shelly1pm-B1D951/longpush/0:.* longpush_0
  shellies/announce:.* { json2nameValue($EVENT) }
   room       Alexa,MQTT,Schlafzimmer
   setList    relay0:on,off,toggle shellies/shelly1pm-B1D951/relay/0/command $EVTPART1
  off:noArg shellies/shelly1pm-B1D951/relay/0/command off
  on:noArg shellies/shelly1pm-B1D951/relay/0/command on
   stateFormat <a href="http://ip" target="_blank">
c:online
</a>
relay0
Aktueller Verbrauch: relay_0_power W / Temperatur: temperature °C
   webCmd     :relay0



List -r:
define sz_deckenlicht MQTT2_DEVICE shelly1pm_B1D951
attr sz_deckenlicht IODev MQTT2_FHEM_Server
attr sz_deckenlicht alexaName Schlafzimmer Deckenlicht
attr sz_deckenlicht alias Schlafzimmer Deckenlicht
attr sz_deckenlicht autocreate 1
attr sz_deckenlicht devStateIcon c.true:10px-kreis-gruen c.false:10px-kreis-rot .*SetExtensionsCommand.*:1px-spacer on:light_pendant_light@green:relay0+off off:light_pendant_light:relay0+on on-.*:on-for-timer:relay0+off off-.*:off-for-timer:relay0+on blink.*:light_toggle:relay0+off
attr sz_deckenlicht event-on-change-reading .*
attr sz_deckenlicht model A_10b_shelly1pm
attr sz_deckenlicht readingList shellies/shelly1pm-B1D951/relay/0:.* state\
  shellies/shelly1pm-B1D951/relay/0:.* relay0\
  shellies/shelly1pm-B1D951/input/0:.* input0\
  shellies/shelly1pm-B1D951/online:.* online\
  shellies/shelly1pm-B1D951/announce:.* { json2nameValue($EVENT) }\
  shellies/shelly1pm-B1D951/relay/0/power:.* relay_0_power\
  shellies/shelly1pm-B1D951/temperature:.* temperature\
  shellies/shelly1pm-B1D951/overtemperature:.* overtemperature\
  shellies/shelly1pm-B1D951/relay/0/energy:.* relay_0_energy\
  shellies/shelly1pm-B1D951/longpush/0:.* longpush_0\
  shellies/announce:.* { json2nameValue($EVENT) }
attr sz_deckenlicht room Alexa,MQTT,Schlafzimmer
attr sz_deckenlicht setList relay0:on,off,toggle shellies/shelly1pm-B1D951/relay/0/command $EVTPART1\
  off:noArg shellies/shelly1pm-B1D951/relay/0/command off\
  on:noArg shellies/shelly1pm-B1D951/relay/0/command on
attr sz_deckenlicht stateFormat <a href="http://ip" target="_blank">\
c:online\
</a>\
relay0\
Aktueller Verbrauch: relay_0_power W / Temperatur: temperature °C
attr sz_deckenlicht webCmd :relay0

setstate sz_deckenlicht <a href="http://192.168.20.53" target="_blank">\
c:true\
</a>\
off\
Aktueller Verbrauch: 0.00 W / Temperatur: 32.26 °C
setstate sz_deckenlicht 2019-05-02 11:32:16 fw_ver 20190423-080637/v1.4.9-switch1pm-hotfix4@f8c51629
setstate sz_deckenlicht 2019-05-02 11:32:16 id shelly1pm-B1D951
setstate sz_deckenlicht 2019-05-02 11:34:49 input0 0
setstate sz_deckenlicht 2019-05-02 11:32:16 ip 192.168.20.53
setstate sz_deckenlicht 2019-05-02 11:32:16 mac 840D8EB1D951
setstate sz_deckenlicht 2019-05-02 11:32:16 new_fw false
setstate sz_deckenlicht 2019-05-02 11:32:16 online true
setstate sz_deckenlicht 2019-05-02 11:34:49 overtemperature 0
setstate sz_deckenlicht 2019-05-02 11:34:49 relay0 off
setstate sz_deckenlicht 2019-05-02 11:34:19 relay_0_energy 6
setstate sz_deckenlicht 2019-05-02 11:34:49 relay_0_power 0.00
setstate sz_deckenlicht 2019-05-02 11:34:49 state off
setstate sz_deckenlicht 2019-05-02 11:34:49 temperature 32.26

Beta-User

Hmmm, interessanter Effekt: Anscheinend wird alles neben dem Icon mit dem Setter als Befehl zur state-Änderung aufgefaßt; man kann also "irgendwohin" klicken (also auch auf die Temperatur usw.), um den state zu schalten (wobe alles, was nicht on.* ist als off interpretiert zu werden scheint, also nach on geschaltet wird)....

Ich bin da auch mit meinem Latein am Ende.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

87insane

Das lustige ist ja wirklich, das beim löschen von on/off aus setList, alles wieder läuft wie es soll.
Bei den Rollos z.B. gibt es auch kein on/off. Da gibt es pct, half usw. Da läuft es auch. Kann man on/off in setList ggf. anders schreiben, damit der "site effect" nicht auftritt?

Aufgrund der Erkenntnisse weiß man ja es muss im Zusammenhang stehen. Ich möchte aber auch nicht auf die Alexa Steuerung verzichten. Leider sieht diese das aber so vor das on/off existieren muss. Ansonsten kann man bei einem Shelly1pm nicht schalten über Alexa. Lustig ist, man kann aber z.B. die Temperatur abfragen.

Mal ganz blöde.... in stateFormat wird dem Online-Status explizit gesagt wo er beginnt und wo er endet. Scheint als würde hier was quer laufen innerhalb von <a> bla bla</a>. Interpretiert wird direkt das alles in stateFormat = der Link ist. Aber der Link wird nicht ausgeführt, da FHEM einfach ON schaltet. Ein OFF via online Anzeiger oder dem anderen Text geht nicht. Off geht wirklich nur über das Lampen Symbol oder aber dem Dropdown Menü (bei mir).

Beta-User

So, jetzt habe ich doch noch was gefunden:
FHEMWEB unterscheidet on/off-Geräte von anderen, und man kann das Schalten unterbinden, wenn man ein "noFhemwebLink" als (Schalt-) Anweisung hinter das Icon in devStateIcon schreibt.
ABER: auch der Link an sich funktioniert dann nicht mehr...

Wenn man die IP sehen will, muß man die im Klartext hinwürgen, aber der link ist dann wieder "on".

Teilerfolg sieht also so aus:
attr sz_deckenlicht devStateIcon c.true:10px-kreis-gruen:noFhemwebLink c.false:10px-kreis-rot:noFhemwebLink on:light_pendant_light@green:relay0+off off:light_pendant_light:relay0+on
attr sz_deckenlicht stateFormat <a href="http://ip" target="_blank">\c:online\</a>\
relay0\
Aktueller Verbrauch: relay_0_power W <div>Temperatur: temperature °C</div>


Damit hat man dann auch Verbrauch und Temperatur untereinander nach den Icons (ist aber auch nicht schön, dient nur zur Demo...).

Wenn man das anders haben will, müßte man also die Perl-Variante nutzen (?), oder Rudi einen Patch für FHEMWEB anbieten, der dann nur Icons explizit schaltbar macht, für die das bei mehrzeiligen angegeben ist. Das ganze gehört vermutlich in diesen Kontext: https://forum.fhem.de/index.php/topic,97586.msg908277.html#msg908277.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

87insane

Ich habe auch noch ein wenig getestet und kann deine Aussage nur bestätigen.

Hatte versucht via EventMap ein wenig um zu biegen. Allerdings ist es genau wie du sagst. Sobald on/off in setList steht ist das Verhalten so "komisch".
Sobald man anstelle von on/off einfach an/aus nimmt, kann man den online Kreis anklicken. Es sind wohl nur die Worte on/off (ggf. weitere?).

Ich selber kann keinen Patch schreiben oder kenne die Zusammenhänge im Hintergrund. Das ist wirklich etwas zu tief mit meinem aktuellem Kenntnisstand. Kann hier ggf. jemand diese Rolle übernehmen? Für mich ist das ein "bug". Aber auch nur weil man es so sicher nicht gewollt hat.