Hallo zusammen,
ich möchte über eine Steckdosenleiste vorhandene LED-Streifen schalten, die jeweils eigene Netzteile haben.
Jetzt habe ich mir die Leiste kommen lassen, welche bereits schon geflasht ist. Der Dimmer-Schalter von Philips Hue ist bereits in Fhem eingebunden, wie auch die Steckdosenleiste.
Über die Fritzbox direkt auf den Schalter kann ich das auch schalten, nicht aber via Fhem. Somit kann ich auch den Schalter noch nicht mit der Steckdosenleiste per DOIF koppeln. Wie das funktioniert habe ich bereits raus und schonmal zum Laufen gebracht.
AN/AUS/TOGGLE wäre schon toll, aber leider innerhalb der Gerätezuordnung schaltet noch nichts.
Ganz bestimmt hab ich irgendetwas vergessen, irgend eine Kleinigkeit... und da hoffe ich, dass ein anderes Paar Augen mir den Tipp geben kann.
Als Template habe ich die 4CH mit grafischer Darstellung ausgewählt. Theoretisch würde auch Nur-Text ausreichen. 4CH-gesplittet möchte ich nicht.
Ich danke Euch schonmal fürs Durchlesen! :)
LG, Ralph
Hallo Ralph,
erstens würde ich diese Frage ins MQTT Board verschieben. (Geht unten links)
zweitens: keine unvollständigen Screenshots posten, bitte ein vollständiges list vom Gerät.
Warum weshalb wie - > steht hier: Bitte durchlesen! https://forum.fhem.de/index.php/topic,71806.0.html
Gruß Otto
Okay Otto, ist verschoben...
Internals:
CFGFN
CID DVES_C42DF4
DEF DVES_C42DF4
DEVICETOPIC MQTT2_DVES_C42DF4
FUUID
IODev myBroker
LASTInputDev myBroker
MSGCNT 34
NAME MQTT2_DVES_C42DF4
NR 194
STATE LWT
1:set on
2:set off
3:set off
4:set off
<br><a href="http://xxx.xxx.xxx.xx" target="_blank">xxx.xxx.xxx.xx</a>
TYPE MQTT2_DEVICE
myBroker_MSGCNT 34
myBroker_TIME 2020-09-22 20:43:17
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
OLDREADINGS:
READINGS:
2020-09-22 23:01:29 POWER1 set on
2020-09-22 21:18:21 POWER2 set off
2020-09-22 21:18:35 POWER3 set off
2020-09-22 21:16:27 POWER4 set off
2020-09-22 21:08:51 associatedWith MQTT2_DVES_C42DF4_CH2,MQTT2_DVES_C42DF4_CH3,MQTT2_DVES_C42DF4_CH4
2020-09-22 21:14:31 attrTemplateVersion 20200522 or prior
Attributes:
IODev myBroker
autocreate 0
comment NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/tasmota/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
genericDeviceType switch
icon hue_filled_outlet
jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
model tasmota_4ch_unified_icon
readingList tele/tasmota/LWT:.* LWT
tele/tasmota/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/tasmota/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/tasmota/POWER1:.* POWER1
stat/tasmota/POWER2:.* POWER2
stat/tasmota/POWER3:.* POWER3
stat/tasmota/POWER4:.* POWER4
room MQTT2_DEVICE
setList POWER1:on,off,toggle cmnd/tasmota/POWER1 $EVTPART1
POWER2:on,off,toggle cmnd/tasmota/POWER2 $EVTPART1
POWER3:on,off,toggle cmnd/tasmota/POWER3 $EVTPART1
POWER4:on,off,toggle cmnd/tasmota/POWER4 $EVTPART1
setStateList on off toggle
stateFormat LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx.xxx.xxx.xx" target="_blank">xxx.xxx.xxx.xx</a>
webCmd POWER1:POWER2:POWER3:POWER4
Ich hoffe das ist so okay schonmal ^^
Ja besser :)
Ich finde die setList sieht anders aus, aber ich habe die mehrkanaligen Teile nicht. Hoffen wir mal das einer was weiß.
Beim 4 Kanal Split Gerät ist die setList wie bei mir. Vielleicht versuchst Du es mal, kannst es ja zurück bauen.
Gruß Otto
Okay, ich hab das mal gesplittet. So ganz sauber hat das aber leider nicht funktioniert.
Ich hab damit einmal Ch4, dann Ch2, Ch3 und nochmal Ch4???
Ich stell hier mal gleich die lists aller vier Geräte rein:
Internals:
CFGFN
CID DVES_C42DF4
DEF DVES_C42DF4
DEVICETOPIC MQTT2_DVES_C42DF4
FUUID
IODev myBroker
LASTInputDev myBroker
MSGCNT 34
NAME MQTT2_DVES_C42DF4
NR 194
STATE LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx" target="_blank">xxx</a>
TYPE MQTT2_DEVICE
myBroker_MSGCNT 34
myBroker_TIME 2020-09-22 20:43:17
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
OLDREADINGS:
READINGS:
2020-09-23 21:00:18 associatedWith MQTT2_DVES_C42DF4_CH2,MQTT2_DVES_C42DF4_CH3,MQTT2_DVES_C42DF4_CH4
2020-09-23 21:00:18 attrTemplateVersion 20200529
2020-09-23 21:00:17 subscriptions /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/# /Milena/SteckdLeisteMilena/cmnd/tasmotas/# cmnd/DVES_C42DF4_fb/#
Attributes:
IODev myBroker
autocreate 0
comment Channel 1 for MQTT2_DVES_C42DF4, see also MQTT2_DVES_C42DF4_CH2, MQTT2_DVES_C42DF4_CH3 and MQTT2_DVES_C42DF4_CH4
devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
genericDeviceType switch
icon hue_filled_outlet
jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
model tasmota_4channel_split
readingList tele/tasmota/LWT:.* LWT
tele/tasmota/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/tasmota/POWER1:.* state
stat/tasmota/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
room MQTT2_DEVICE,Milena
setList off:noArg cmnd/tasmota/POWER1 0
on:noArg cmnd/tasmota/POWER1 1
toggle:noArg cmnd/tasmota/POWER1 2
setOtaUrl:textField cmnd/tasmota/OtaUrl $EVTPART1
upgrade:noArg cmnd/tasmota/upgrade 1
setStateList on off toggle
stateFormat LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx" target="_blank">xxx</a>
webCmd POWER1:POWER2:POWER3:POWER4
Internals:
CFGFN
CID DVES_C42DF4
DEF DVES_C42DF4
DEVICETOPIC MQTT2_DVES_C42DF4_CH2
FUUID
IODev myBroker
NAME MQTT2_DVES_C42DF4_CH2
NR 340
STATE LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx" target="_blank">xxx</a>
TYPE MQTT2_DEVICE
JSONMAP:
ANALOG_A0 0
Dimmer pct
Heap 0
LedTable 0
LoadAvg 0
MqttCount 0
POWER1 0
POWER2 0
SaveData 0
Scheme 0
SetOption26 0
Sleep 0
SleepMode 0
Speed 0
StateText1 0
StateText2 0
StateText3 0
StateText4 0
Time 0
Uptime 0
UptimeSec 0
Wifi_AP 0
Wifi_BSSId 0
Wifi_Channel 0
Wifi_Downtime 0
Wifi_LinkCount 0
Wifi_RSSI 0
Wifi_SSId 0
READINGS:
2020-09-23 21:00:18 associatedWith MQTT2_DVES_C42DF4,MQTT2_DVES_C42DF4_CH3,MQTT2_DVES_C42DF4_CH4
2020-09-23 21:00:18 attrTemplateVersion 20200529
2020-09-23 21:00:17 subscriptions /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/# /Milena/SteckdLeisteMilena/cmnd/tasmotas/# cmnd/DVES_C42DF4_fb/#
Attributes:
IODev myBroker
autocreate 0
comment Channel 2 for MQTT2_DVES_C42DF4, see also MQTT2_DVES_C42DF4, MQTT2_DVES_C42DF4_CH3 and MQTT2_DVES_C42DF4_CH4
devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
genericDeviceType switch
icon hue_filled_outlet
jsonMap POWER2:0 Dimmer:pct POWER1:0 Heap:0 LedTable:0 LoadAvg:0 MqttCount:0 SaveData:0 Scheme:0 SetOption26:0 Sleep:0 SleepMode:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Time:0 Uptime:0 UptimeSec:0 Wifi_SSId:0 Wifi_RSSI:0 Wifi_LinkCount:0 Wifi_Downtime:0 Wifi_Channel:0 Wifi_BSSId:0 Wifi_AP:0 ANALOG_A0:0 SetOption26:0 Sleep:0 SleepMode:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Time:0 Uptime:0 UptimeSec:0 Wifi_SSId:0 Wifi_RSSI:0 Wifi_LinkCount:0 Wifi_Downtime:0 Wifi_Channel:0 Wifi_BSSId:0 Wifi_AP:0
model tasmota_4channel_split
readingList stat/tasmota/POWER2:.* state
room MQTT2_DEVICE,Milena
setList off:noArg cmnd/tasmota/POWER2 0
on:noArg cmnd/tasmota/POWER2 1
toggle:noArg cmnd/tasmota/POWER2 2
setStateList on off toggle
stateFormat LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx" target="_blank">xxx</a>
webCmd POWER1:POWER2:POWER3:POWER4
Internals:
CFGFN
CID DVES_C42DF4
DEF DVES_C42DF4
DEVICETOPIC MQTT2_DVES_C42DF4_CH3
FUUID
IODev myBroker
NAME MQTT2_DVES_C42DF4_CH3
NR 341
STATE LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx" target="_blank">xxx</a>
TYPE MQTT2_DEVICE
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
READINGS:
2020-09-23 21:00:18 associatedWith MQTT2_DVES_C42DF4,MQTT2_DVES_C42DF4_CH2,MQTT2_DVES_C42DF4_CH4
2020-09-23 21:00:18 attrTemplateVersion 20200529
2020-09-23 21:00:17 subscriptions /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/# /Milena/SteckdLeisteMilena/cmnd/tasmotas/# cmnd/DVES_C42DF4_fb/#
Attributes:
IODev myBroker
autocreate 0
comment Channel 3 for MQTT2_DVES_C42DF4, see also MQTT2_DVES_C42DF4, MQTT2_DVES_C42DF4_CH2 and MQTT2_DVES_C42DF4_CH4
devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
genericDeviceType switch
icon hue_filled_outlet
jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
model tasmota_4channel_split
readingList stat/tasmota/POWER3:.* state
room MQTT2_DEVICE,Milena
setList off:noArg cmnd/tasmota/POWER3 0
on:noArg cmnd/tasmota/POWER3 1
toggle:noArg cmnd/tasmota/POWER3 2
setStateList on off toggle
stateFormat LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx" target="_blank">xxx</a>
webCmd POWER1:POWER2:POWER3:POWER4
Internals:
CFGFN
CID DVES_C42DF4
DEF DVES_C42DF4
DEVICETOPIC MQTT2_DVES_C42DF4_CH4
FUUID
IODev myBroker
NAME MQTT2_DVES_C42DF4_CH4
NR 342
STATE LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx" target="_blank">xxx</a>
TYPE MQTT2_DEVICE
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
READINGS:
2020-09-23 21:00:18 associatedWith MQTT2_DVES_C42DF4,MQTT2_DVES_C42DF4_CH2,MQTT2_DVES_C42DF4_CH3
2020-09-23 21:00:18 attrTemplateVersion 20200529
2020-09-23 21:00:17 subscriptions /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/# /Milena/SteckdLeisteMilena/cmnd/tasmotas/# cmnd/DVES_C42DF4_fb/#
Attributes:
IODev myBroker
autocreate 0
comment Channel 4 for MQTT2_DVES_C42DF4, see also MQTT2_DVES_C42DF4, MQTT2_DVES_C42DF4_CH2 and MQTT2_DVES_C42DF4_CH3
devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
genericDeviceType switch
icon hue_filled_outlet
jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
model tasmota_4channel_split
readingList stat/tasmota/POWER4:.* state
room MQTT2_DEVICE,Milena
setList off:noArg cmnd/tasmota/POWER4 0
on:noArg cmnd/tasmota/POWER4 1
toggle:noArg cmnd/tasmota/POWER4 2
setStateList on off toggle
stateFormat LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://xxx" target="_blank">xxx</a>
webCmd POWER1:POWER2:POWER3:POWER4
Im Setup vom Tasmota steht folgendes drin (vielleicht muss ich da was ändern?
Program Version 8.5.0(tasmota)
Build Date & Time 2020-09-09T11:41:02
Core/SDK Version 2_7_4_1/2.2.2-dev(38a443e)
Uptime 0T00:59:32
Flash write Count 90 at 0xF9000
Boot Count 12
Restart Reason Power On
Friendly Name 1 POWER1
Friendly Name 2 POWER2
Friendly Name 3 POWER3
Friendly Name 4 POWER4
AP1 SSId (RSSI) xxx (84%, -58 dBm)
Hostname SteckdLeisteMilena-3572
MAC Address xxx
IP Address (wifi) xxx
Gateway xxx
Subnet Mask 255.255.255.0
DNS Server xxx
MQTT Host xxx
MQTT Port 1883
MQTT User DVES_USER
MQTT Client DVES_C42DF4
MQTT Topic SteckdLeisteMilena
MQTT Group Topic 1 /Milena/SteckdLeisteMilena/cmnd/tasmotas/
MQTT Full Topic /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/
MQTT Fallback Topic cmnd/DVES_C42DF4_fb/
MQTT No Retain Disabled
Emulation None
mDNS Discovery Disabled
ESP Chip Id 12856820
Flash Chip Id 0x144051
Flash Size 1024kB
Program Flash Size 1024kB
Program Size 595kB
Free Program Space 408kB
Free Memory 26kB
Der Host ist per IP-Adresse vom Raspi vermerkt, topic und full-topic sind Gerätename und Raum /Gerätename
Da ich bereits zwei Sonoff 1-Ch und einen Sonoff 2-CH-Schalter per MQTTintegriert habe dachte ich, das bekomme ich hin. Im Ergebnis soll meine Kleine ihr Hochbett wahlweise ausleuchten können. Nun klemmt es irgendwo und ich sehe es nicht :o
Beim nochmaligen lesen ist das doch richtig. Einmal das erste Gerät, dannn die drei fgolgenden Switches mit Ch2 bis Ch4...
und schaltet es denn jetzt?
Folgende Fehlermeldung erscheint, oder es passiert einfach nichts
ed_controller,tasmota_rgbw_led,tasmota_rgbcct_light,tasmota_cct_led,tasmota_TuyaMCU_dimmer,shelly1,ESPurna_single_relay,eBus_daemon_splitter,ems-esp_heater_device,ems-esp_boiler,ems-esp_thermostat_read-only,ems-esp_thermostat_RC35_type,ems-esp_thermostat_simpl
Die Fehlermeldung kommt, wenn ich auf einen der Buttons drücke, per set-Befehl passiert nichts
Den Topic find ich komisch!
cmnd/tasmota/POWERx
Wenn Du bei allen Deinen Tasmotas dort nur tasmota stehen hast wird das nix!
Der topic muss unikat sein, Ich verwende dort im Device (Weboberfläche/mqtt Konfiguration/ topic) -> tasmota_%06X
Er hatte es angepaßt - jedenfalls, wenn die subscriptions zutreffen:
ZitatSteckdLeisteMilena
Insgesamt ist da aber vermutlich viel Handarbeit am Werk und irgendwelche "Reste" von früheren Versuchen, z.B. mit dem stateFormat. Tendenziell würde ich empfehlen, die (mit dieser Hardware zusammenhängenden) vohandenen Devices zu löschen, dann den ESP nochmal zu starten, (damit die LWT-message kommt) und dann das "split"-template anzuwenden. Dann sollte eigentlich alles wieder zusammenpassen.
Hallo nochmals,
ich habe das device ausgesteckt und aus FHEM gelöscht.
Danach eingesteckt und autocreate hat es wieder angelegt.
Ich habe dann das template
tasmota_4ch_unified_icon
nochmals ausprobiert. Und siehe da - es hat auf Anhieb gepasst. Ich kann alle 4 switches schalten und meiner Kleinen endlich diese Freude machen ;D
Nachdem ich aus Euren Antworten gelesen habe, dass ich ja nicht gänzlich falsch liegen kann und ich selbst ja eigentlich auch der Meinung war hab ich es jetzt nochmal versucht.
Abschließend nochmals das list vom device:
Internals:
CFGFN
CID DVES_C42DF4
DEF DVES_C42DF4
DEVICETOPIC SteckdLeisteMilena
FUUID
IODev myBroker
LASTInputDev myBroker
MSGCNT 18
NAME SteckdLeisteMilena
NR 427
STATE LWT
1:on
2:on
3:POWER3
4:POWER4
<br><a href="http://IPAddress" target="_blank">IPAddress</a>
TYPE MQTT2_DEVICE
myBroker_MSGCNT 18
myBroker_TIME 2020-09-24 09:41:41
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
OLDREADINGS:
READINGS:
2020-09-24 09:41:41 ANALOG_A0 1024
2020-09-24 09:41:41 ENERGY_ApparentPower 0
2020-09-24 09:41:41 ENERGY_Current 0.000
2020-09-24 09:41:41 ENERGY_Factor 0.00
2020-09-24 09:41:41 ENERGY_Period 0
2020-09-24 09:41:41 ENERGY_Power 0
2020-09-24 09:41:41 ENERGY_ReactivePower 0
2020-09-24 09:41:41 ENERGY_Today 0.000
2020-09-24 09:41:41 ENERGY_Total 0.000
2020-09-24 09:41:41 ENERGY_TotalStartTime 2020-07-22T20:15:06
2020-09-24 09:41:41 ENERGY_Voltage 99
2020-09-24 09:41:41 ENERGY_Yesterday 0.000
2020-09-24 09:41:41 Heap 26
2020-09-24 09:41:41 LoadAvg 19
2020-09-24 09:41:41 MqttCount 1
2020-09-24 09:35:32 POWER1 on
2020-09-24 09:35:52 POWER2 on
2020-09-24 09:34:58 SaveData on
2020-09-24 09:34:58 SetOption26 on
2020-09-24 09:41:41 Sleep 50
2020-09-24 09:41:41 SleepMode Dynamic
2020-09-24 09:34:57 StateText1 off
2020-09-24 09:34:57 StateText2 on
2020-09-24 09:34:57 StateText3 toggle
2020-09-24 09:34:57 StateText4 hold
2020-09-24 09:41:41 Time 2020-09-24T08:41:41
2020-09-24 09:41:41 Uptime 0T00:10:10
2020-09-24 09:41:41 UptimeSec 610
2020-09-24 09:41:41 Wifi_AP 1
2020-09-24 09:41:41 Wifi_BSSId F0:B0:14:32:BA:A1
2020-09-24 09:41:41 Wifi_Channel 6
2020-09-24 09:41:41 Wifi_Downtime 0T00:00:04
2020-09-24 09:41:41 Wifi_LinkCount 1
2020-09-24 09:41:41 Wifi_RSSI 80
2020-09-24 09:41:41 Wifi_SSId
2020-09-24 09:41:41 Wifi_Signal -60
2020-09-24 09:34:56 attrTemplateVersion 20200522 or prior
Attributes:
IODev myBroker
autocreate 0
comment NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd//Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
genericDeviceType switch
icon hue_filled_outlet
jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
model tasmota_4ch_unified_icon
readingList /Milena/SteckdLeisteMilena/tele/SteckdLeisteMilena/LWT:.* LWT
/Milena/SteckdLeisteMilena/tele/SteckdLeisteMilena/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
/Milena/SteckdLeisteMilena/tele/SteckdLeisteMilena/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
/Milena/SteckdLeisteMilena/tele/SteckdLeisteMilena/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
/Milena/SteckdLeisteMilena/stat/SteckdLeisteMilena/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
/Milena/SteckdLeisteMilena/tele/SteckdLeisteMilena/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
/Milena/SteckdLeisteMilena/stat/SteckdLeisteMilena/POWER1:.* POWER1
/Milena/SteckdLeisteMilena/stat/SteckdLeisteMilena/POWER2:.* POWER2
/Milena/SteckdLeisteMilena/stat/SteckdLeisteMilena/POWER3:.* POWER3
/Milena/SteckdLeisteMilena/stat/SteckdLeisteMilena/POWER4:.* POWER4
room MQTT2_DEVICE,Milena
setList POWER1:on,off,toggle /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/POWER1 $EVTPART1
POWER2:on,off,toggle /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/POWER2 $EVTPART1
POWER3:on,off,toggle /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/POWER3 $EVTPART1
POWER4:on,off,toggle /Milena/SteckdLeisteMilena/cmnd/SteckdLeisteMilena/POWER4 $EVTPART1
setStateList on off toggle
stateFormat LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://IPAddress" target="_blank">IPAddress</a>
webCmd POWER1:POWER2:POWER3:POWER4
Ich vermute auch, dass mein Fehler der war, dass ich "IPAdress" mit der IP-Adresse vom device überschrieben hatte. Weil so funktioniert es - okay, ich hab erst die Kanäle 1 und 2 ausprobiert, gehe aber davon aus, dass der Rest auch funzt.
Zusammenfassung: "IPAdress" kommt viermal vor --> nicht ändern! Autocreate macht das richtig.
Und die 4ch-Variante passt super, weil das erhält mit das System schlanker. Ein Device ist für mich besser als 4 Stück.
Nochmals herzlichen Dank für Eure Unterstützung!!!
LG, Ralph
Freut mich (und vermutlich andere auch), dass das jetzt so klappt, wie du das gerne hättest.
Eine Anmerkung noch zu dem hier:
Zitat von: Moonlightkid am 24 September 2020, 09:49:19
Und die 4ch-Variante passt super, weil das erhält mit das System schlanker. Ein Device ist für mich besser als 4 Stück.
Ich war früher auch eher ein Freund der "Gesamtdevices", aber zwischenzeitlich bin ich eher auf Rudi's Linie, der bei schaltbaren Devices (v.a., wenn sie - wie MQTT2_DEVICE - SetExtensions unterstützen (können)) die split-Variante bevorzugt.
Von daher: Man kann das so machen, aber wer mit dem Thema erst einsteigt (und auch mit FHEM eher noch am Anfang steht), sollte es sich überlegen, ob er nicht lieber den geringfügigen Overhead für die weiteren MQTT2_DEVICEs in Kauf nimmt, das kann sich hinterher an Stellen auszahlen, die man vorher nicht bedacht hatte...
Just my2ct.
@Beta-User Was ich nicht verstehe ist die m.E. völlig unterschiedliche Umsetzung der setList Schaltbefehle? Warum ist das grundlegendes anders als beim 1ch Device? Was übersehe ich da? Wo erfolgt die Umsetzung von on auf 1 | off auf 0 ?
Hmm, also die Tasmota-firmware versteht afaik 0=off=OFF, 1=on=ON und 2=toggle=TOGGLE (evtl. sogar noch andere Variationen), das muß halt auf den passenden Topic kommen, aber dann wird es dort "umgesetzt".
Aus historischen Gründen steht da z.B. eine "1", wo das insgesamt "hart" verdrahtet ist; da das auch weniger Info ist als "on", sehe ich auch keine Veranlassung, daran was zu ändern (zumal den User in der Regel der Code-Teil hinten gar nicht interessiert, solange es tut)... Da, wo es um "hübsche" Befehle mit Auswahlmöglichkeit geht, macht man sich halt die Flexibilität der firmware zunutze, that's all ;) .
(Oder habe ich die Frage falsch verstanden?)
Richtig verstanden und richtig beantwortet - Danke!
Zitat von: Otto123 am 24 September 2020, 14:04:11
Danke!
Immer wieder gerne, vor allem bei Leuten wie dir, die solche Infos dann auch gerne weitergeben, wenn's paßt :) ...
(Btw.: das mit dem subscriptions-Reading war irgendwie auch lange "unter" meinem persönlichen Radar geflogen, ist aber ein super feature, wenn man bei SERVER-Einsatz was über die Topic-Struktur an sich und/oder die Topics wissen will, unter denen das Gerät Befehle erwartet...)
Hallo Beta-User,
auch für mich macht Dein Gedanke dazu Sinn:
Zitat von: Beta-User am 24 September 2020, 10:09:41
Eine Anmerkung noch zu dem hier:Ich war früher auch eher ein Freund der "Gesamtdevices", aber zwischenzeitlich bin ich eher auf Rudi's Linie, der bei schaltbaren Devices (v.a., wenn sie - wie MQTT2_DEVICE - SetExtensions unterstützen (können)) die split-Variante bevorzugt.
Von daher: Man kann das so machen, aber wer mit dem Thema erst einsteigt (und auch mit FHEM eher noch am Anfang steht), sollte es sich überlegen, ob er nicht lieber den geringfügigen Overhead für die weiteren MQTT2_DEVICEs in Kauf nimmt, das kann sich hinterher an Stellen auszahlen, die man vorher nicht bedacht hatte...
Just my2ct.
... was ggf. das Schalten mehrerer Aktoren eines solchen devices angeht.
Mit der unified-Variante kann ich die einzelnen Aktoren mit einem passenden notify ansprechen.
Aber mehr als einen gleichzeitig ist wieder knifflig. Damit eine Gruppe generieren, oder mit einer UND-Logik ist für mich (zumindest mit meiner erheblichen Schwäche bei PERL) trivial bis unmöglich. Da wäre es mit tatsächlich einzelnen devices deutlich leichter.
Dafür funktioniert set toggle super (wenn man die wenigen Fälle vernachlässigt, wo das Licht gleich wieder aus oder an geht / je nach vorigem Zustand)
Und toggle brauch ich für meinen Kenntnisstand, um mit jedem der 4 Knöpfe jeweils einen Aktor zu schalten.
Ich fühl mich wohl mit FHEM, was ich soweit habe funktioniert schonmal, auch mit Eurem Knowhow 👍🏻
Zitat von: Moonlightkid am 24 September 2020, 23:53:33
Mit der unified-Variante kann ich die einzelnen Aktoren mit einem passenden notify ansprechen.
Aber mehr als einen gleichzeitig ist wieder knifflig. Damit eine Gruppe generieren, oder mit einer UND-Logik ist für mich (zumindest mit meiner erheblichen Schwäche bei PERL) trivial bis unmöglich. Da wäre es mit tatsächlich einzelnen devices deutlich leichter.
Hi,
Es gibt unterschiedliche Möglichkeiten solche Gruppen zu bilden, eine davon ist auch die Benennung der Geräte. Ich glaube darum ging es in deinem Einwand?
Hier mal ein Beispiel zum selbst Testen, wirfst Du einfach so komplett in die "große Eingabe" der Raw Definition - das große Plus oben links :
define S1 dummy
define S2 dummy
define S3 dummy
define S4 dummy
define n_S notify S[1,4]:(on|off) set L_$NAME $EVENT
define L_S1 dummy
define L_S2 dummy
define L_S3 dummy
define L_S4 dummy
attr L_S[1-4] room TestS
attr S[1-4] room TestS
attr n_S room TestS
Mit set S[1-4] on kannst Du alle mit einem mal anschalten.
Das geht natürlich auch mit einem Device und den Aktoren als Reading, müsste so ähnlich wie das single Device sein:
define S dummy
attr S setList POWER1 POWER2 POWER3 POWER4
attr S readingList POWER1 POWER2 POWER3 POWER4
attr S room TestS
defmod n_S notify S:POWER[1-4]:.(on|off) {my $n = $EVTPART0;; $n =~ /([1-4])/;; fhem("set S$1 $EVTPART1")}
Ein set S POWER2 on schaltet den Dummy S2
Neben der Namensgebung gibt es sowas wie structure. Also FHEM ist ziemlich "bunt" ;)
Mit dem Befehl delete room=TestS kannst Du alle TestS wieder löschen ;)
Gruß Otto
...natürlich kann man Wege finden, auch Unter-Kanäle in einem Einheitsdevice zu schalten, und etwas Regex kann auch nicht schaden.
Ich gebe nur zu bedenken, dass vermutlich
S:POWER[1-4]:.(on|off)
nicht optimal ist...
{ notifyRegexpCheck('S:POWER[1-4]:.(on|off)') }
liefert:
ZitatS (http://localhost:8083/fhem?detail=S):POWER[1-4]:.(on: device S (http://localhost:8083/fhem?detail=S) (OK)
off): unknown (ignored)
{ notifyRegexpCheck('S:POWER[1-4]:.o[nf]+)') }
dagegen meint
ZitatS (http://localhost:8083/fhem?detail=S):POWER[1-4]:.o[nf]+): device S (http://localhost:8083/fhem?detail=S) (OK)
(@Moonlightkid: das ist der Kurs für Fortgeschrittene ;) , nicht irritieren lassen...)
Oh je jetzt verlassen wir den Pfad des Threads ;)
Zitatnicht optimal ist...
oder notifyRegexpCheck ist unvollkommen? Weil sagt ja unknown (ignored) - es funktioniert aber dann prächtig!
Ich weiß, der Ausdruck mit den "Capturing Groups (on|off) wird in FHEM an vielen Stellen nicht als richtiger Syntax erkannt.
Ja: o[nf] sieht auch effektiver aus (https://regex101.com/) - match aber genau genommen auf on und of - nicht exakt auf off.
Zitat von: Otto123 am 25 September 2020, 10:54:35
Oh je jetzt verlassen wir den Pfad des Threads ;)
oder notifyRegexpCheck ist unvollkommen? Weil sagt ja unknown (ignored) - es funktioniert aber dann prächtig!
Ich weiß, der Ausdruck mit den "Capturing Groups (on|off) wird in FHEM an vielen Stellen nicht als richtiger Syntax erkannt.
Ja: o[nf] sieht auch effektiver aus (https://regex101.com/ (https://regex101.com/)) - match aber genau genommen auf on und of - nicht exakt auf off.
notifyRegexpCheck() zeigt, wie (u.a.) "notify" "denkt"... Das Problem scheint zu sein, dass fhem.pl intern etwas anders "tickt" wie "normales regex", um gewisse Optimierungen vornehmen zu können. So wie ich das verstanden habe, geht alles, was (ok) ist "zackig", weil direkt klar ist, welches NotifyFn von welchem Device aufgerufen werden muß, ist es unspezifisch, muß erst aufwändig geschaut werden, zu wem _der ganze Ausdruck_ ggf. paßt.
Und du unterschlägst ein "+", was in diesem Zusammenhang nicht "nett" ist, weil es sehr wichtig ist, und etwas andere Ergebnisse erzeugt, als man zunächst denkt...
o[nf]+
matcht nämlich schon auf "off" (und "on"), aber eben auch auf "onnnnnnn", "offf" oder "of" (alles immer gedacht bis zum Ende des Gesamtstrings!). Nur kommen eben derartige Strings nicht unbedingt häufig vor, von daher kann man damit m.E. besser leben wie mit einem "nicht zugeordneten" "off)".
(EDIT: Da war noch eine runde Klammer in der regex, die muss selbstredend raus, hat aber keinen Einfluss auf die eigentliche Aussage...:
{ notifyRegexpCheck('S:POWER[1-4]:.o[nf]+') }
/EDIT)
(Falls ich hier Unsinn verzapfe, mag mich jemand der "Wissenden" bitte deutlich korrigieren...!)
sorry das + habe ich echt übersehen :-[ wollte ich nicht.
...paßt schon...
War eine gute Gelegenheit, das nochmal zu erklären und ich hoffe, das ist jetzt halbwegs nachvollziehbar?
Vielleicht noch etwas mehr Hintergrund: So wie ich das jetzt im Zusammenhang mit der Umstellung von Twilight (von polling auf NotifyFn für useExtWeather) verstanden habe, bekommt man als "empfangendes Device" eigentlich nur zwei Informationen: "Wer bin ich?" (=> eigener Hash des Eventhandlers, z.b. in https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/91_notify.pm#L81) und "Wer bist du?" (also von wem stammt der Event bzw. stammen die Events, können ja bulk-update sein). Den Rest muss man sich in der NotifFn selbst zusammensuchen...
(Steht etwas schöner geschrieben auch hier: https://wiki.fhem.de/wiki/DevelopmentModuleIntro#X_Notify)
Von daher muss der "Event-Verteiler" in fhem.pl nur wissen, wen er eigentlich informieren muss, und das sollte man ihm eben möglichst akkurat mitteilen, weil sonst ggf. ziemlicher Ressourcenverbrauch passieren kann, wenn man das dann noch "passend" kombiniert, wie z.B. hier: https://forum.fhem.de/index.php/topic,114426.msg1087615.html#msg1087615 (_kann_ sein, dass das dort schlimmer aussieht, wie es ist, weil ggf. im Hintergrund ein bulk-update "alles auf einmal" verursacht und verarbeitet, aber das ist teilweise Glückssache. Von daher finde ich die JSON-Variante mit "alles auf einmal" nicht nur schlecht, weil einzelne Topics sonst auch in jedem Fall einzelne trigger mit sich bringen, um mal wieder auf MQTT2_DEVICE zurückzukommen...
Okay. Auch als Noob wäre ein Teil für mich nachvollziehbar.
Nur im geeigneten Moment werde ich mich u.U. nicht daran erinnern, da ich mit dem bisschen was ich brauche soweit zurecht komme.
Aber krass, wenn man sich auskennt, was alles möglich ist 👍🏻