Zum wiederholten mal: eventMap, devStateIcon, setList und webCmd

Begonnen von supernova1963, 04 März 2019, 07:27:27

Vorheriges Thema - Nächstes Thema

supernova1963

Sorry, ich bekomme es nicht hin:

Ich möchte einen aus einem reading generierten web-Link zusätzlich in webcmd aufnehmen.
Wenn ich das Gelesene richtig verstanden habe, gibt es scheinbar nur die Möglichkeit ein notify auf show zu erstellen!?
Fragen:
Ist das notify der einzige Lösungsweg?
- Wenn ja, kann man ein notify für mehrere devices TYPE=MQTT2_DEVICE anlegen, oder empfiehlt sich ein notify pro device?
- Wenn ja, wie muss der Perl Code im notify aussehen, damit sich die "$link = "http://".readingsval("ipaddress",$device,""); " in einem neuen Fenster/Tab öffnet?

oder gibt es eine elegante geeignete Alternative?

Vielen Dank,

Gernot

Mögliches Muster für ein einzelnes notify:
defmod MQTT2_SONOFFPOW063_notify_1 notify MQTT2_SONOFFPOW063:show {
  my $link = "http://".ReadingsVal("IPAddress",$DEVICE,"");
  # ...
}


Muster device (gibt es z.Zt. 6 Stück von):

defmod MQTT2_SONOFFPOW063 MQTT2_DEVICE SONOFFPOW063
attr MQTT2_SONOFFPOW063 IODev mqtt2
attr MQTT2_SONOFFPOW063 alias Dunstabzugshaube
attr MQTT2_SONOFFPOW063 cmdIcon on:general_an@#e56524 off:general_aus status:rc_INFO2@#3a5fcd show:it_internet@#3a5fcd
attr MQTT2_SONOFFPOW063 devStateIcon off:radio_unchecked:on on:radio_checked@#e56524:off status:rc_INFO2@#3a5fcd show:it_internet@#3a5fcd .*:message_attention@red
attr MQTT2_SONOFFPOW063 group 4 Geräte
attr MQTT2_SONOFFPOW063 icon vent_exhaust_air
attr MQTT2_SONOFFPOW063 readingList SONOFFPOW063:tele/03_Dunstabzugshaube/LWT:.* LWT\
SONOFFPOW063:cmnd/03_Dunstabzugshaube/POWER:.* POWER\
SONOFFPOW063:tele/03_Dunstabzugshaube/INFO1:.* { json2nameValue($EVENT) }\
SONOFFPOW063:tele/03_Dunstabzugshaube/INFO2:.* { json2nameValue($EVENT) }\
SONOFFPOW063:tele/03_Dunstabzugshaube/INFO3:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/RESULT:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/POWER:.* POWER\
SONOFFPOW063:tele/03_Dunstabzugshaube/STATE:.* { json2nameValue($EVENT) }\
SONOFFPOW063:tele/03_Dunstabzugshaube/SENSOR:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS1:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS2:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS3:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS4:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS5:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS6:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS7:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS9:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS10:.* { json2nameValue($EVENT) }\
SONOFFPOW063:stat/03_Dunstabzugshaube/STATUS11:.* { json2nameValue($EVENT) }\
SONOFFPOW063:tele/03_Dunstabzugshaube/UPTIME:.* { json2nameValue($EVENT) }
attr MQTT2_SONOFFPOW063 room 03_Küche,99_MQTT2_DEVICE
attr MQTT2_SONOFFPOW063 setList off:noArg    cmnd/03_Dunstabzugshaube/POWER1 0 \
on:noArg     cmnd/03_Dunstabzugshaube/POWER1 1 \
toggle:noArg cmnd/03_Dunstabzugshaube/POWER1 2 \
status:noArg cmnd/03_Dunstabzugshaube/status 0 \
show:noArg   1
attr MQTT2_SONOFFPOW063 webCmd on:off:status:show




carlos

Ich mache das jetzt dank https://forum.fhem.de/index.php/topic,97586 so:
defmod MQTT2_gosund4 MQTT2_DEVICE gosund4
attr MQTT2_gosund4 IODev m2s
attr MQTT2_gosund4 alias Nespresso
attr MQTT2_gosund4 autocreate 0
attr MQTT2_gosund4 devStateIcon 1.on:on:POWER1+off 1.off:off:POWER1+on Online:10px-kreis-gruen@green Offline:10px-kreis-rot@red
attr MQTT2_gosund4 event-on-change-reading .*
attr MQTT2_gosund4 icon hue_filled_outlet
attr MQTT2_gosund4 model A_01c_tasmota_POW
attr MQTT2_gosund4 readingList tele/gosund4/LWT:.* LWT\
tele/gosund4/STATE:.* { json2nameValue($EVENT) }\
tele/gosund4/SENSOR:.* { json2nameValue($EVENT) }\
tele/gosund4/INFO.:.* { json2nameValue($EVENT) }\
stat/gosund4/RESULT:.* { json2nameValue($EVENT) }
attr MQTT2_gosund4 room 20_Küche,MQTT2_DEVICE
attr MQTT2_gosund4 setList POWER1:on,off,toggle cmnd/gosund4/POWER1 $EVTPART1
attr MQTT2_gosund4 setStateList on off toggle
attr MQTT2_gosund4 stateFormat LWT\
<a href="http://IPAddress" target="_blank">Hostname</a>\
Version\
1:POWER1\
<br>\
aktuell: ENERGY_Power W - ENERGY_Voltage V - ENERGY_Current A \
<br>\
Heute: ENERGY_Today kWh - Gestern: ENERGY_Yesterday kWh\
<br> \
Gesamt: ENERGY_Total kWh\

attr MQTT2_gosund4 userReadings state {ReadingsVal($name,"STATE_POWER","")}
attr MQTT2_gosund4 webCmd on:off

setstate MQTT2_gosund4 Online\
<a href="http://192.168.178.60" target="_blank">gosund4-4494</a>\
6.4.1.19(9f42e6d-sonoff)\
1:on\
<br>\
aktuell: 6 W - 254 V - 0.186 A \
<br>\
Heute: 0.113 kWh - Gestern: 0.212 kWh\
<br> \
Gesamt: 16.168 kWh\

setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_ApparentPower 47
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_Current 0.186
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_Factor 0.14
setstate MQTT2_gosund4 2019-03-04 07:33:33 ENERGY_Period 1
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_Power 6
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_ReactivePower 47
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_Today 0.113
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_Total 16.168
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_TotalStartTime 2018-10-30T23:47:03
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_Voltage 254
setstate MQTT2_gosund4 2019-03-04 07:34:44 ENERGY_Yesterday 0.212
setstate MQTT2_gosund4 2019-03-02 18:25:52 FallbackTopic cmnd/gosund4_fb/
setstate MQTT2_gosund4 2019-03-02 18:25:52 GroupTopic sonoffs
setstate MQTT2_gosund4 2019-03-02 18:25:52 Hostname gosund4-4494
setstate MQTT2_gosund4 2019-03-02 18:25:52 IPAddress 192.168.178.60
setstate MQTT2_gosund4 2019-03-04 01:47:16 LWT Online
setstate MQTT2_gosund4 2019-03-04 07:33:33 LoadAvg 19
setstate MQTT2_gosund4 2019-03-02 18:25:52 Module BlitzWolf SHP
setstate MQTT2_gosund4 2019-03-04 07:33:33 POWER1 on
setstate MQTT2_gosund4 2019-03-02 18:25:53 RestartReason Software/System restart
setstate MQTT2_gosund4 2019-02-28 21:49:35 SaveData on
setstate MQTT2_gosund4 2019-02-28 21:49:35 SetOption26 on
setstate MQTT2_gosund4 2019-03-04 07:33:33 Sleep 50
setstate MQTT2_gosund4 2019-03-04 07:33:33 SleepMode Dynamic
setstate MQTT2_gosund4 2019-02-28 21:49:34 StateText1 off
setstate MQTT2_gosund4 2019-02-28 21:49:34 StateText2 on
setstate MQTT2_gosund4 2019-02-28 21:49:35 StateText3 toggle
setstate MQTT2_gosund4 2019-02-28 21:49:35 StateText4 hold
setstate MQTT2_gosund4 2019-03-04 07:34:44 Time 2019-03-04T07:34:44
setstate MQTT2_gosund4 2019-03-04 07:33:33 Uptime 1T13:07:46
setstate MQTT2_gosund4 2019-03-04 07:33:33 Vcc 3.399
setstate MQTT2_gosund4 2019-03-02 18:25:52 Version 6.4.1.19(9f42e6d-sonoff)
setstate MQTT2_gosund4 2019-03-02 18:25:52 WebServerMode Admin
setstate MQTT2_gosund4 2019-03-04 07:33:33 Wifi_AP 1
setstate MQTT2_gosund4 2019-03-04 07:33:33 Wifi_BSSId 5C:49:79:FA:1F:0F
setstate MQTT2_gosund4 2019-03-04 07:33:33 Wifi_Channel 1
setstate MQTT2_gosund4 2019-03-04 07:33:33 Wifi_Downtime 0T00:00:09
setstate MQTT2_gosund4 2019-03-04 07:33:33 Wifi_LinkCount 3
setstate MQTT2_gosund4 2019-03-04 07:33:33 Wifi_RSSI 84
setstate MQTT2_gosund4 2019-03-04 07:33:33 Wifi_SSId FB6590
setstate MQTT2_gosund4 2019-03-04 07:34:44 state

Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

supernova1963

Wow, das ging ja schnell, Carlos,

ich probiere es gleich aus und ändere den Betreff auf [gelöst], wenn funktioniert.

Danke, danke, danke,

Gernot

supernova1963

Sorry,
aber ich bekomme es nicht hin.
Sobald ich ein in einem stateFormat:
state \<a href="http://IPAddress" target="_blank">Hostname</a>

eingebe, werden die Angaben aus devStateFormat nicht mehr verwendet (Standard Icons für on|off und Text für Status).

Das ist scheinbar genauso kompliziert, wie den Link ins webCmd zu bekommen.

Dennoch noch einmal danke für den Tip.

Gernot

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968