Servus und Danke
habe jetzt mal das ganze angepasst - aber es lässt sich über die Icons nicht schalten bzw. sehe ich keine Veränderung.
Meine "Ampel" wird über 2 DOIFs erzeugt die auf open und Close reagieren.
Code
defmod MQTT2_shellyswitch25_E098068D550B MQTT2_DEVICE shellyswitch25_E098068D550B
attr MQTT2_shellyswitch25_E098068D550B IODev myBroker
attr MQTT2_shellyswitch25_E098068D550B cmdIcon open:sani_solar close:sani_pump
attr MQTT2_shellyswitch25_E098068D550B group Motorventil
attr MQTT2_shellyswitch25_E098068D550B readingList shellies/shellyswitch25_E098068D550B/roller/0/pos:.* pct\
shellies/shellyswitch25_E098068D550B/status/0/rollers:.* power\
shellies/shellyswitch25_E098068D550B/online:.* online\
shellies/shellyswitch25_E098068D550B/announce:.* { json2nameValue($EVENT)}\
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25_E098068D550B...mac.*, ? json2nameValue($EVENT) : undef }\
shellies/shellyswitch25_E098068D550B/roller/0:.* current\
shellies/shellyswitch25_E098068D550B/input/1:.* input1\
shellies/shellyswitch25_E098068D550B/input/0:.* input0\
shellies/shellyswitch25_E098068D550B/relay/power:.* power\
shellies/shellyswitch25_E098068D550B/relay/energy:.* energy\
shellies/shellyswitch25_E098068D550B/temperature:.* temperature\
shellies/shellyswitch25_E098068D550B/overtemperature:.* overtemperature\
shellyswitch25_E098068D550B:shellies/shellyswitch25_E098068D550B/roller/0/power:.* roller_0_power\
shellyswitch25_E098068D550B:shellies/shellyswitch25_E098068D550B/roller/0/energy:.* roller_0_energy\
shellyswitch25_E098068D550B:shellies/shellyswitch25_E098068D550B/temperature_f:.* temperature_f\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/roller/0/pos:.* roller_0_pos\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/roller/0/power:.* roller_0_power\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/relay/power:.* power\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/roller/0/energy:.* roller_0_energy\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/relay/energy:.* energy\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/input/1:.* input_1\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/input/0:.* input_0\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/temperature:.* temperature\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/temperature_f:.* temperature_f\
shellyswitch25_E098068D550B:shellies/shellyswitch25-E098068D550B/overtemperature:.* overtemperature
attr MQTT2_shellyswitch25_E098068D550B room MQTT2_DEVICE,Poolsteuerung
attr MQTT2_shellyswitch25_E098068D550B setList open:noArg shellies/shellyswitch25_E098068D550B/roller/0/command open\
close:noArg shellies/shellyswitch25_E098068D550B/roller/0/command close\
half:noArg shellies/shellyswitch25_E098068D550B/roller/0/command/pos 50\
stop:noArg shellies/shellyswitch25_E098068D550B/roller/0/command stop\
pct:slider,0,1,100 shellies/shellyswitch25_E098068D550B/roller/0/command/pos $EVTPART1\
x_recalibration:noArg shellies/shellyswitch25_E098068D550B/roller/0/command rc\
x_update:noArg shellies/shellyswitch25_E098068D550B/command update_fw\
x_mqttcom shellies/shellyswitch25_E098068D550B/command $EVTPART1
attr MQTT2_shellyswitch25_E098068D550B sortby 1
attr MQTT2_shellyswitch25_E098068D550B stateFormat {\
my $soll = ReadingsVal($name, "current", "");;\
my $rm0 = ReadingsVal($name, "input0" , 0);;\
my $rm1 = ReadingsVal($name, "input1" , 0);;\
my $ventilstellung;;\
\
if(($soll eq "open") and ($rm0 == 0) and ($rm1 == 0))\
{ $ventilstellung = '==> Solar'}\
elsif ($rm0 == 1)\
{ $ventilstellung = 'Stellung: Solar'}\
elsif(($soll eq "close") and ($rm0 == 0) and ($rm1 == 0))\
{ $ventilstellung = '==> WP'}\
elsif ($rm1 == 1)\
{ $ventilstellung = 'Stellung: WP'};;\
}
attr MQTT2_shellyswitch25_E098068D550B webCmd :open:close:
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 energy 0
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 input_0 0
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 input_1 0
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 overtemperature 0
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 power 0.00
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 roller_0_energy 0
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 roller_0_pos -1
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 roller_0_power 0.00
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:07 state close
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 temperature 53.87
setstate MQTT2_shellyswitch25_E098068D550B 2020-04-23 17:57:11 temperature_f 128.96
Alles anzeigen
anbei nochmals ein RawDef falls du noch Lust und Zeit hast - ich bin am verzweifeln
Vor allem, jetzt ändert sich input0 und input1 nicht????
Gruß
helmut