mqtt2.template: Contributing

Begonnen von Beta-User, 15 Dezember 2018, 11:45:40

Vorheriges Thema - Nächstes Thema

joelinux

Zitat von: Beta-User am 11 März 2020, 15:02:56
- dem widget für x_NTPServer. Tendiere zu "x_NTPServer:multiple,fritz.box"
- dem weiteren reboot am Ende. Eigentlich wäre das wohl eine Sache, die für alle Tasmota-(End-)Templates Sinn macht, wenn man erst die readings gelöscht hatte. Oder reicht da das mit der status-Anforderung...? (Muß wohl mal testen).

Danke für deine konstruktive Rückmeldung.

Das mit der multiple Angabe in einem Widget kannte ich bisher noch nicht. Ist definitiv zielführender und passt auch zu x_SetOtaUrl.

Die Anwendung des Templates ruft zwar zwei weitere Templates auf, aber es sollte genau nur ein reboot am Ende ausgelöst werden.
Nur der reboot füllt das reading LWT, daher ist die status Anforderung alleine nicht ausreichend.

Bei dieser Gelegenheit möchte ich ein weiteres Template für 5 Kanal Mehrfach Steckdosenleisten vorstellen.
Es baut auf das tasmota_3socketUSB_split Template auf.


# 5-way multi socket 4AC+USB device flashed with Tasmota.
# Tested with Koogeek KLOE4 Power Strip, please see <a href="https://templates.blakadder.com/koogeek_kloe4.html">Tasmota Template Repository</a>
name:tasmota_4socketUSB_split
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
desc:5 channel device flashed with Tasmota. <br>NOTE: Tested with 5-way Koogeek KLOE4 Power Strip, please see <a href="https://templates.blakadder.com/koogeek_kloe4.html">Tasmota Template Repository</a><br>NOTE: a second, third, fourth and fifth device will be created for each additional channel.<br>NOTE: Please wait some seconds after apply to have Tasmota device to complete restart.
order:A_01_5base
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
par:TELETOPIC;info topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}tele$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
par:ICON;ICON as set, defaults to hue_filled_outlet;{ AttrVal("DEVICE","icon","hue_filled_outlet") }
par:IO_DEV;Currently used IO;{ AttrVal("DEVICE","IODev",undef)}
par:LONGITUDE;Read longitude set in FHEM;{ AttrVal("global","longitude","8.686")}
par:LATITUDE;Read latitude set in FHEM;{ AttrVal("global","latitude","50.112")}
par:ALTITUDE;Read altitude set in FHEM;{ AttrVal("global","altitude","0")}
par:BUTTONRULE;Suggest Tasmota Button Rule for Power Strip;{ q/rule on button1#state=3 do backlog power1 2; power2 2; power3 2; power4 2; power5 2 endon on button1#state=2 do backlog power1 1; power2 1; power3 1; power4 1; power5 1 endon/ }
par:JSONSUPPRESS;Tasmota reading pairs to suppress;"LedTable:0 SaveData:0 Scheme:0 SetOption26:0 ANALOG_A0:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Module:0 Version:0 FallbackTopic:0 GroupTopic:0 WebServerMode:0 Hostname:0 RestartReason:0 Time:0 Uptime:0 UptimeSec:0 Heap:0 SleepMode:0 Sleep:0 LoadAvg:0 MqttCount:0 Wifi_AP:0 Wifi_SSId:0 Wifi_BSSId:0 Wifi_Channel:0 Wifi_RSSI:0 Wifi_Signal:0 Wifi_LinkCount:0 Wifi_Downtime:0 subscriptions:0 Status_ButtonRetain:0 Status_ButtonTopic:0 Status_LedMask:0 Status_LedState:0 Status_Module:0 Status_Power:0 Status_PowerOnState:0 Status_PowerRetain:0 Status_SaveData:0 Status_SaveState:0 Status_SensorRetain:0 Status_SwitchMode_1:0 Status_SwitchMode_2:0 Status_SwitchMode_3:0 Status_SwitchMode_4:0 Status_SwitchMode_5:0 Status_SwitchMode_6:0 Status_SwitchMode_7:0 Status_SwitchRetain:0 Status_SwitchTopic:0 Status_Topic:0"
farewell:Template has been applied successfully. Wait some seconds for reboot to complete and watch readings get populated.
# Do some cleanup to eventually rerun apply template process
deletereading -q DEVICE (?!associatedWith).*
delete DEVICE_CH4
# reuse 3socketUSB template to create 4 out of 5 devices ...
set DEVICE attrTemplate tasmota_3socketUSB_split
# ... and add a 5th device, USB socket moves from channel 4 to channel 5
copy DEVICE_CH2 DEVICE_CH4
#
# re-arrange DEVICE, DEVICE_CH2, DEVICE_CH3, DEVICE_USB from 3socket template
setreading DEVICE associatedWith DEVICE_CH2,DEVICE_CH3,DEVICE_CH4,DEVICE_USB
setreading DEVICE_CH2 associatedWith DEVICE,DEVICE_CH3,DEVICE_CH4,DEVICE_USB
setreading DEVICE_CH3 associatedWith DEVICE,DEVICE_CH2,DEVICE_CH4,DEVICE_USB
setreading DEVICE_CH4 associatedWith DEVICE,DEVICE_CH2,DEVICE_CH3,DEVICE_USB
setreading DEVICE_USB associatedWith DEVICE,DEVICE_CH2,DEVICE_CH3,DEVICE_CH4
#
attr DEVICE comment Channel 1 for DEVICE, see also DEVICE_CH2, DEVICE_CH3, DEVICE_CH4 and DEVICE_USB
attr DEVICE_CH2 comment Channel 2 for DEVICE, see also DEVICE_CH3, DEVICE_CH4 and DEVICE_USB
attr DEVICE_CH3 comment Channel 3 for DEVICE, see also DEVICE_CH2, DEVICE_CH4 and DEVICE_USB
attr DEVICE_CH4 comment Channel 4 for DEVICE, see also DEVICE_CH2, DEVICE_CH3 and DEVICE_USB
attr DEVICE_USB comment Channel 5 (USB) for DEVICE, see also DEVICE_CH2, DEVICE_CH3 and DEVICE_CH4
# setlist looks the same for 3socketUSB and 4socketUSB but differs in PARameter BUTTONRULE
attr DEVICE setList\
  off:noArg CMNDTOPIC/POWER1 0\
  on:noArg CMNDTOPIC/POWER1 1\
  toggle:noArg CMNDTOPIC/POWER1 2\
  x_Reboot:noArg CMNDTOPIC/restart 1\
  x_Status:noArg CMNDTOPIC/Status\
  x_setOtaUrl:multiple,http://thehackbox.org/tasmota/release/tasmota-DE.bin CMNDTOPIC/OtaUrl $EVTPART1\
  x_upgrade:noArg   CMNDTOPIC/upgrade 1\
  x_ShowHostname:noArg CMNDTOPIC/Backlog setoption53 1; Status;\
  x_DisableBlinkLED:noArg CMNDTOPIC/Backlog LEDPower 0; setoption31 1; Status;\
  x_SaveData:0,1 CMNDTOPIC/savedata $EVTPART1\
  x_Configuration CMNDTOPIC/$EVTPART1 $EVTPART2\
  x_RuleButton:noArg CMNDTOPIC/BUTTONRULE\
  x_RuleEnable:noArg CMNDTOPIC/backlog setoption1 1; setoption32 15; rule1 1\
  x_Location:noArg CMNDTOPIC/Backlog Latitude LATITUDE; Longitude LONGITUDE; Altitude ALTITUDE\
x_NTPServer:multiple,fritz.box CMNDTOPIC/ntpserver $EVTPART1
#
# move DEVICE_USB from channel 4 to channel 5
attr DEVICE_CH4 setList \
  off:noArg    CMNDTOPIC/POWER4 0\
  on:noArg     CMNDTOPIC/POWER4 1\
  toggle:noArg CMNDTOPIC/POWER4 2
attr DEVICE_USB setList \
  off:noArg    CMNDTOPIC/POWER5 0\
  on:noArg     CMNDTOPIC/POWER5 1\
  toggle:noArg CMNDTOPIC/POWER5 2
attr DEVICE readingList \
  TELETOPIC/LWT:.* LWT\
  TELETOPIC/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  TELETOPIC/STATE:.* { json2nameValue($EVENT,'state_',$JSONMAP) }\
  STATTOPIC/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  STATTOPIC/STATUS:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  STATTOPIC/POWER1:.* state\
  STATTOPIC/POWER2:.* POWER2\
  STATTOPIC/POWER3:.* POWER3\
  STATTOPIC/POWER4:.* POWER4\
  STATTOPIC/POWER5:.* POWER5\
  CMNDTOPIC/POWER:.* POWER
attr DEVICE_CH4 readingList \
  TELETOPIC/LWT:.* LWT\
  TELETOPIC/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  TELETOPIC/STATE:.* { json2nameValue($EVENT,'state_',$JSONMAP) }\
  STATTOPIC/STATUS:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  STATTOPIC/POWER4:.* state
attr DEVICE_USB readingList \
  TELETOPIC/LWT:.* LWT\
  TELETOPIC/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  TELETOPIC/STATE:.* { json2nameValue($EVENT,'state_',$JSONMAP) }\
  STATTOPIC/STATUS:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  STATTOPIC/POWER5:.* state
attr DEVICE_CH4 jsonMap POWER4:state POWER1:0 POWER2:0 POWER3:0 POWER5:0 JSONSUPPRESS
attr DEVICE_USB jsonMap POWER5:state POWER1:0 POWER2:0 POWER3:0 POWER4:0 JSONSUPPRESS
attr DEVICE_CH4 userReadings formatedUptime:state_UptimeSec.* { my $m = ReadingsVal($name,"state_UptimeSec",0)/60;; return sprintf "0 000 00:%02d", $m if $m < 60;; my $h = $m / 60;; $m %= 60;; return sprintf "0 000 %02d:%02d", $h, $m if $h < 24;; my $d = $h / 24;; $h %= 24;; return sprintf "0 %03d %02d:%02d", $d, $h, $m if $d <365;; my $y = $d / 365;; $d %= 365;; return sprintf "%d %03d %02d:%02d", $y, $d, $h, $m }
attr DEVICE_USB userReadings formatedUptime:state_UptimeSec.* { my $m = ReadingsVal($name,"state_UptimeSec",0)/60;; return sprintf "0 000 00:%02d", $m if $m < 60;; my $h = $m / 60;; $m %= 60;; return sprintf "0 000 %02d:%02d", $h, $m if $h < 24;; my $d = $h / 24;; $h %= 24;; return sprintf "0 %03d %02d:%02d", $d, $h, $m if $d <365;; my $y = $d / 365;; $d %= 365;; return sprintf "%d %03d %02d:%02d", $y, $d, $h, $m }
#
#finally set the model attr for all new devices and do a reboot of device
attr DEVICE,DEVICE_CH2,DEVICE_CH3,DEVICE_CH4,DEVICE_USB model tasmota_4socketUSB_split
set IO_DEV publish CMNDTOPIC/status
set IO_DEV publish CMNDTOPIC/restart 1
#
FHem on RPi2 Buster, Duofern Rollladen, ZWave Rolllade + Steckdosen, ZigBee (Philips, Tradfri), Tasmota (diverse Steckdosen, GU10 und E14 LSC Leds von Action, Sonoff RF Bridge), InterTechno Dimmer Steckdose ITLR-200

Beta-User

Wow!

Ähm, eigentlich bin ich zu müde, um da intensiv genug nachzudenken, daher kurz und evtl. fehlerhaft:
- multiple kannte ich vorher auch nicht bzw. habe das nicht bewußt wahrgenommen ;D ...
- bin irgendwie geneigt, aus diesen beiden templates (und dem "alten" 4-channel) dann 3 bzw 4 templates zu generieren bzw. das ganze (alle Tasmota-templates) irgendwie so aufzudröseln, dass es einen "allgemeinen Tasmota-Start" gibt (as is, aber eventuell dann etwas anders), einen Mittelteil, in dem sich die betreffenden templates teils wechselseitig aufrufen können, aber ohne dass jedesmal ein farewell gezeigt wird bzw. ein reboot ausgelöst, und einen "allgemeinen Tasmota-Ende-Teil", der den reboot anschubst und das farewell zeigt (das kam bisher nur, wenn es weitere Hinweise an den Nutzer gab, aber eigentlich ist es ganz nett, wenn man die Rückmeldung bekommt, dass alles "normal durchgelaufen" ist.

(Falls du das verstehen solltest und Vorschläge hast: gerne - dann aber besser in dem Tasmota-Thead oder ganz gesondert.)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

australien

Hallo zusammen

Ich bin kein Entwickler, aber überlege von mqtt auf mqtt2 umzustellen.

Gibt es schon ein template fur den 3EM? Kann dazu nichts finden.

Danke und Entschuldigung wenn es hier falsch eingestellt ist

raspberry pi3
signalduino, Shelly1, Shelly2, Sonos, Unifi
Amazon Fire Tablet 7 | Noname Android Tablet 10"

Beta-User

Ist hier in der Tat falsch:
Zitat von: Beta-User am 15 Dezember 2018, 11:45:40
Für Fehlermeldungen, Diskussionen zu Verbesserungsvorschlägen zu vorhandenen und zum Anfragen von support für neue Devices ist ein weiterer Thread gedacht, dieser hier sollte möglichst übersichtlich bleiben und sich auf das Wesentliche beschränken.
Ich habe hier noch ein paar Hinweise reingebastelt, was ggf. hilfreich wäre; wenn du das gleich als separaten Post hier im Forumsbereich MQTT mit deisen Infos aufmachst, werde ich es sehen, du brauchst es nicht nochmal im anderen Thread (oder hier) verlinken.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KurtK

#94
Habe für den Shelly Door/Window Sensor das folgende Template erzeugt:


# shellydoorwindow using original firmware
name:shellydoorwindow
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*shellies.*
desc:Shelly Door Window sensor using original firmware <br>Tested with firmware 20200408-085810/v1.6.5@b075f0bf
order:A_19
par:DEVNAME;name of this shelly;{ AttrVal("DEVICE","readingList","") =~ m,shellies/([^/]+)/, ? $1 : undef }
attr DEVICE readingList \
  shellies/DEVNAME/sensor/state:.* state\
  shellies/DEVNAME/sensor/tilt:.* tilt\
  shellies/DEVNAME/sensor/vibration:.* vibration\
  shellies/DEVNAME/sensor/battery:.* battery\
  shellies/DEVNAME/sensor/lux:.* lux\
  shellies/announce:.* { $EVENT =~ m,..id...DEVNAME...mac.*, ? json2nameValue($EVENT) : return }
attr DEVICE devStateIcon open:fts_door_open@red close:fts_door@green

- FHEM auf Intel NUC mit Proxmox -
- FTUI mit FUIP -
- HM, Zigbee,  WLAN -

Beta-User

Hallo KurtK,

Danke für den Vorschlag, das hat sich etwas überschnitten: just vorgestern  hatte majestro84 hier was unter dem Kürzel "dw" geliefert: https://forum.fhem.de/index.php/topic,94060.msg1054466.html#msg1054466

Das wertet dann tilt+state (umgeleitet zu doorWindow) insgesamt aus und ist seit gestern bereits via update verfügbar.

Evtl. wäre aber die Frage, ob der immer als three-state genutzt wird, sonst könnten/sollten ggf. zwei templates dafür aufgenommen werden?
Anwort dazu bitte im anderen Thread.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KurtK

Für die Shelly Duo habe ich folgendes Template erzeugt:

# shellyduo using original firmware
name:shellyduo
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*shellies.*
desc:Shelly Duo using original firmware <br>Tested with firmware 20200320-123338/v1.6.2@514044b4 <br> based on shellybulb and shelliergbw2 template
order:A_15a
par:DEVNAME;name of this shelly;{ AttrVal("DEVICE","readingList","") =~ m,shellies/([^/]+)/, ? $1 : undef }
par:ICON;ICON as set, defaults to light_control;{ AttrVal("DEVICE","icon","light_control") }
attr DEVICE icon ICON
attr DEVICE setList\
  off:noArg shellies/DEVNAME/light/0/command off\
  on:noArg shellies/DEVNAME/light/0/command on\
  pct:colorpicker,BRI,0,1,100 shellies/DEVNAME/light/0/set {"gain":"$EVTPART1","brightness":"$EVTPART1"}\
  pct_on:colorpicker,BRI,0,1,100 shellies/DEVNAME/light/0/set {"turn":"on","gain":"$EVTPART1","brightness":"$EVTPART1"}\
  ct:colorpicker,CT,3000,10,6500 {$EVTPART1=3000 if ($EVTPART1<3000);"shellies/DEVNAME/light/0/set {\"mode\":\"white\",\"temp\":\"$EVTPART1\"}"}\
  ct_on:colorpicker,CT,3000,10,6500 {$EVTPART1=3000 if ($EVTPART1<3000);"shellies/DEVNAME/light/0/set {\"turn\":\"on\",\"mode\":\"white\",\"temp\":\"$EVTPART1\"}"}\
  x_update:noArg shellies/DEVNAME/command update_fw\
  x_mqttcom shellies/DEVNAME/command $EVTPART1
deletereading -q DEVICE status_.*
attr DEVICE readingList\
  shellies/DEVNAME/light/0/status:.* {json2nameValue($EVENT,'',$JSONMAP)}\
  shellies/DEVNAME/light/0/power:.* power\
  shellies/DEVNAME/light/0/energy:.* energy\
  shellies/DEVNAME/light/0:.* state\
  shellies/DEVNAME/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...DEVNAME...mac.*, ? json2nameValue($EVENT) : return }
attr DEVICE userReadings ct:temp.* {ReadingsVal($name,"temp",3000)}
attr DEVICE webCmd on:off:pct:ct
attr DEVICE devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"power","unknown");; "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons</div>"}
#attr DEVICE genericDeviceType light
attr DEVICE jsonMap brightness:pct
set DEVICE x_mqttcom announce
set DEVICE attrTemplate speechcontrol_type_light
attr DEVICE model shellyduo

- FHEM auf Intel NUC mit Proxmox -
- FTUI mit FUIP -
- HM, Zigbee,  WLAN -

Beta-User

Thx, hab's eben eingecheckt und auch einen kurzen Kommentar in die desc. zu dem two/three-State-Thema reingenommen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KurtK

#98
Habe für den IKEA SYMFONSIK sound controller folgendes Template erstellt
# SYMFONSIK sound controller
name:zigbee2mqtt_symfonsik_sound_controller
desc: IKEA SYMFONSIK sound controller via zigbee2mqtt <br>Tested with: IKEA E1744 SYMFONSIK sound controller
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_16
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).+, ? $1 : undef }
par:ICON;ICON as set, defaults to it_remote;{ AttrVal("DEVICE","icon","it_remote") }
attr DEVICE icon ICON
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE stateFormat Action: action  Volume: volume  Batterie: battery %
attr DEVICE readingList $\DEVICETOPIC:.* { json2nameValue($EVENT) }
attr DEVICE model SYMFONISK sound controller
attr DEVICE userReadings volume:brightness.* {int(ReadingsVal($name,"brightness",10)/2.55)}
deletereading -q DEVICE (?!associatedWith).*
- FHEM auf Intel NUC mit Proxmox -
- FTUI mit FUIP -
- HM, Zigbee,  WLAN -

87insane

Ist der wie der licht kontroler, auch Batterie betrieben? Wie kommen deine events sauber rein? Auf den Bildern sieht der aus als würde er genauso funktionieren... Wenn ja würde ich dein template auf meinen umbauen ... Bei mir sind die events nur noch nicht sauber. Ab und an reagiert er, ab und an nicht usw. Das sogar direkt am conbee2. Der BWM zb reagiert mir eigentlich auch zu träge. Hab das Gefühl er liefert sauber Bewegung true/false aber nicht direkt sondern im Intervall. Das finde ich echt bescheiden.

Gesendet von meinem LM-G810 mit Tapatalk


Beta-User

Ähm, bitte keine Fachsimpeleien zu speziellen Device hier in diesem Thread! (Ich finde das auch interessant und würde mich für ein list interessieren bzw. was das Ding sonst an Events bringt; evtl. kann man da auch "Remote-Code" anflanschen, der etwas weniger "speziell" ist wie das MiLight-Ding: https://forum.fhem.de/index.php/topic,103493.0.html; aber bitte ggf. einfach einen separaten Thread aufmachen!)

Zur Sache an sich:
@KurtK: Was volume angeht, gehe ich mal davon aus, dass es die übliche Hex (=255) zu 100%-Umrechnung ist. Dann wäre vermutlich das hier passender:
int(ReadingsVal($name,"brightness",10)/2.55)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

87insane

Sorry aber es passte so gut. Ich verstehe nicht warum man das Gespräch nicht hier führen kann, es passt hier hin... Und am Ende einfach in einen anderen Thread mit Link verschoben werden kann. Oder an OP muss das übernehmen. Normal würde ich auf deiner seite sein aber man findet hier bald nichts mehr wenn man nicht genau weiß wo man genau was hin geschrieben hat. Ich hangel mich ab und an über Profil>eigene Beiträge>scrolle ewig bis ich gefunden habey was ich wollte.... Weil es über die Suche nicht findbar ist. Ich finde die Funktionen des Forums sind wie Lotus Notes. Viele große Firmen nutzen es, 90% der Mitarbeiter wünschen sich ein anderes Mail Programm :-P

Spaß bei seite und auch das genörgel :)
Die Umrechnung "int" zu machen und nicht in einem extra reading, kannte ich auch noch nicht. Danke! Hab sowas bisher immer in ein anderes gesetzt aber genau wie du umgerechnet. Bei den meisten Geräten war es aber gut diesen Wert sowohl als pct als auch als helligkeitswert zu haben.

Gesendet von meinem LM-G810 mit Tapatalk


Beta-User

Zitat von: 87insane am 22 Mai 2020, 16:05:43
Ich verstehe nicht warum man das Gespräch nicht hier führen kann, es passt hier hin...
Weil dieser Thread
a) meiner ist (es ergo einfach höflich ist, meinen klar geäußerten Wunsch auch zu beherzigen) und
b) ausdrücklich einen anderen Zweck hat wie (längere) Diskussionen (siehe ersten Post!).

ZitatDie Umrechnung "int" zu machen und nicht in einem extra reading, kannte ich auch noch nicht. Danke! Hab sowas bisher immer in ein anderes gesetzt aber genau wie du umgerechnet. Bei den meisten Geräten war es aber gut diesen Wert sowohl als pct als auch als helligkeitswert zu haben.
Das wird schon ein anderes (user-) Reading namens volume, es wird halt auf andere Art gerundet (int statt sprintf). Aber falls ich da was neues lernen kann: nur zu).
HIER aber bitte direkt in funktionierender attrTemplate-Form ;) !
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KurtK

@ Beta-User:
Da hast du Recht, sollte die normale Umwandlung sein. Habe es in meinem Template mal angepasst. Kannte ich vorher auch nicht.
Den List zum Controller und ne Liste mit den möglichen Actions stell ich in das zigbee2mqtt-template Thema, sobald ich ein bisschen mehr Zeit hab.
- FHEM auf Intel NUC mit Proxmox -
- FTUI mit FUIP -
- HM, Zigbee,  WLAN -

Beta-User

...und damit ist dieses template das erste, das eine "richtige Version" bekommt :) :
setreading DEVICE attrTemplateVersion 20200522

(siehe https://forum.fhem.de/index.php/topic,98880.msg1056499.html#msg1056499; Rückmeldungen dazu ggf. bitte in dem "Anregungen"-Thread)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files