mqtt2.template: Contributing

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

Vorheriges Thema - Nächstes Thema

luke666s

Hier mal was für die Helligkeit :) Xiaomi MiJia light intensity sensor GZCGQ01LM

name:zigbee2mqtt_Light_Intensity_Sensor
desc: Light Intensity Sensor via zigbee2mqtt <br>Tested with: Xiaomi MiJia light intensity sensor GZCGQ01LM
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_08
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 weather_sun;{ AttrVal("DEVICE","icon","weather_sun") }
attr DEVICE icon ICON
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE stateFormat Lux: illuminance_lux Luminance: illuminance
attr DEVICE readingList $\DEVICETOPIC:.* { json2nameValue($EVENT) }
deletereading -q DEVICE (?!associatedWith).*
attr DEVICE model zigbee2mqtt_Light_Intensity_Sensor
setreading DEVICE attrTemplateVersion 20200522 or prior

Beta-User

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

Otto123

Ich habe mal ein funktionales Template für sonos2mqtt gemacht.
Es ist sind soweit die wichtigsten Steuerbefehle drin, die drin sind habe ich alle getestet.
Damit man die anderen Befehle einfach testen kann, habe ich set payload eingebaut. Da kommt einfach der komplette Json rein den man übertragen will.

Es wirklich so getestet, die Anzahl der ; stimmt :)

Du musst nur attrTemplateVersion anpassen :)

name:sonos2mqtt_speaker
desc:A sonos2mqtt speaker device
filter:TYPE=MQTT2_DEVICE
order:M_05a
par:BASE_TOPIC;base topic set in configuration.yaml of the sonos2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^\/:]+)[\/].+, ? $1 : undef }
par:DEV_ID;techname of the device ;{ AttrVal("DEVICE","readingList","") =~ m,[^\/]+[\/](RINCON_[0-9A-Z]+):.*, ? $1 : undef }
par:ALIAS;friendly name as set in sonos gadget itself;{ ReadingsVal("DEVICE","name","unknown") }
par:DEVNAME;friendly name, used for topic in lowercase;{ lc(ReadingsVal("DEVICE","name","unknown")) }
par:ICON;ICON as set, defaults to audio_volume_low;{ AttrVal("DEVICE","icon","audio_volume_low") }
attr DEVICE icon ICON
attr DEVICE jsonMap volume_Master:volume mute_Master:mute transportState:state
attr DEVICE readingList\
  BASE_TOPIC/status/DEVNAME/avtransport:.* { json2nameValue($EVENT,'AV_',$JSONMAP) }\
  BASE_TOPIC/status/DEVNAME/renderingcontrol:.* { json2nameValue($EVENT,'REND_',$JSONMAP) }\
  BASE_TOPIC/DEV_ID:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr DEVICE setList\
  stop:noArg BASE_TOPIC/DEV_ID/control { "command": "stop" }\
  play:noArg BASE_TOPIC/DEV_ID/control { "command": "play" }\
  pause:noArg BASE_TOPIC/DEV_ID/control { "command": "pause" }\
  toggle:noArg BASE_TOPIC/DEV_ID/control { "command": "toggle" }\
  volumeup:noArg BASE_TOPIC/DEV_ID/control { "command": "volumeup" }\
  volumedown:noArg BASE_TOPIC/DEV_ID/control { "command": "volumedown" }\
  switchToQueue:noArg BASE_TOPIC/DEV_ID/control { "command": "switchtoqueue" }\
  switchToTv:noArg BASE_TOPIC/DEV_ID/control { "command": "switchtotv" }\
  switchToLine:noArg BASE_TOPIC/DEV_ID/control { "command": "switchtoline" }\
  volume:slider,0,1,100 BASE_TOPIC/DEV_ID/control { "command": "volume", "input": $EVTPART1 }\
  mute:on,off { my $value = $EVTPART1 eq "on" ? "mute" : "unmute"; qq(BASE_TOPIC/DEV_ID/control { "command": "$value" } ) }\
  next:noArg BASE_TOPIC/DEV_ID/control { "command": "next" }\
  previous:noArg BASE_TOPIC/DEV_ID/control { "command": "previous" }\
  payload:textField { my $payload = $EVENT;$payload =~ s/$EVTPART0 //g; qq(BASE_TOPIC/DEV_ID/control $payload)}\
  joinGroup:textField BASE_TOPIC/DEV_ID/control { "command": "joingroup",  "input": "$EVTPART1"}\
  leaveGroup:noArg { my $value = ReadingsVal("DEV_ID","groupName","all"); qq(BASE_TOPIC/DEV_ID/control { "command": "leavegroup",  "input": "$value" } ) }\
  setAVTUri:textField BASE_TOPIC/DEV_ID/control { "command": "setavtransporturi",  "input": "$EVTPART1"}\
  notify:textField BASE_TOPIC/DEV_ID/control { "command":"notify","input":{"trackUri":"$EVTPART2","onlyWhenPlaying":false,"timeout":10,"volume":$EVTPART1,"delayMs":700}}
attr DEVICE model sonos2mqtt_speaker
attr DEVICE alias ALIAS

setreading DEVICE attrTemplateVersion 20200606


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

Aus diesem Thread heraus ist mal noch ein Template entstanden.
Hier wird die worx landroid cloud direkt per MQTT2_CLIENT angebunden. Dieses Template konfiguriert das Mower Device.

Ich mach später noch einen separaten Thread im MQTT Board.

name:worx_landroid
desc:a Worx Landroid mower
filter:TYPE=MQTT2_DEVICE
order:M_05c
par:BASE_TOPIC;base topic: the Mower BoardID (2019: PRM100);{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^\/:]+)[\/].+, ? $1 : undef }
par:DEV_ID;the MAC of the Mower (Device Info);{ AttrVal("DEVICE","readingList","") =~ m,[^\/]+[\/]([0-9A-Z]+)[\/]commandOut:.*, ? $1 : undef }
par:ICON;ICON as set, defaults to audio_volume_low;{ AttrVal("DEVICE","icon","scene_robo_lawnmower") }
attr DEVICE icon ICON
attr DEVICE readingList BASE_TOPIC/DEV_ID/commandOut:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr DEVICE model worx_landroid_mover
attr DEVICE jsonMap dat_rsi:wifiQuality dat_fw:firmware cfg_sn:SerialNumber\
dat_le:mowerErrorIndex dat_ls:mowerStatusIndex\
cfg_rd:mowerRainDelay cfg_sc_m:mowerActiveIndex cfg_sc_p:mowerTimeCorrection\
dat_bt_t:batteryTemperature dat_bt_v:batteryVoltage dat_bt_p:batteryLevel dat_bt_nr:batteryChargeCycle dat_bt_c:batteryCharging\
dat_st_b:bladeTimeCounter dat_st_d:totalDistance dat_st_wt:totalTime\
dat_dmp_1:directionPitch dat_dmp_2:directionRoll dat_dmp_3:directionYaw
attr DEVICE setList mowerRainDelay:slider,0,30,1440 BASE_TOPIC/DEV_ID/commandIn {"rd":$EVTPART1}\
mowerTimeCorrection:slider,-100,1,100 BASE_TOPIC/DEV_ID/commandIn {"sc":{"p":$EVTPART1}}\
startMower:noArg BASE_TOPIC/DEV_ID/commandIn {"cmd":1}\
pauseMower:noArg BASE_TOPIC/DEV_ID/commandIn {"cmd":2}\
stopMower:noArg BASE_TOPIC/DEV_ID/commandIn {"cmd":3}
attr DEVICE userReadings mowerActive {ReadingsVal($name,"mowerActiveIndex","0") ? "true" : "false"},\
mowerStatusTxt {my %stateCodes = (\
0 => "Idle",\
1 => "Home",\
2 => "Start sequence",\
3 => "Leaving home",\
4 => "Follow wire",\
5 => "Searching home",\
6 => "Searching wire",\
7 => "Mowing",\
8 => "Lifted",\
9 => "Trapped",\
10 => "Blade blocked",\
11 => "Debug",\
12 => "Remote control",\
30 => "Going home",\
31 => "Zone Training",\
32 => "Edge cutting",\
33 => "Searching zone",\
34 => "Pause"\
); $stateCodes{ReadingsVal($name,"mowerStatusIndex","0")}},\
mowerErrorTxt { my %errorCodes = (\
0 => "No error",\
1 => "Trapped",\
2 => "Lifted",\
3 => "Wire missing",\
4 => "Outside wire",\
5 => "Raining",\
6 => "Close door to mow",\
7 => "Close door to go home",\
8 => "Blade motor blocked",\
9 => "Wheel motor blocked",\
10 => "Trapped timeout",\
11 => "Upside down",\
12 => "Battery low",\
13 => "Reverse wire",\
14 => "Charge error",\
15 => "Timeout finding home",\
16 => "Mower locked",\
17 => "Battery temp out of range"\
); $errorCodes{ReadingsVal($name,"mowerErrorIndex","0")}}

setreading DEVICE attrTemplateVersion 20200607
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Hi Otto,

vorab mal Danke!

Ein paar Kleinigkeiten habe ich jeweils noch geändert. Kann's grade nicht im Detail erläutern, falls Fragen sind oder was nicht funktioniert, bitte melden.
(Den sonos dann noch für Spracherkennung zu erweitern, wäre evtl. noch so eine Sache von allg. Relevanz)...
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

Ja! Damit würde ich sogar das Modul ablösen. Ich brauche zu 99% nur speak. Okay usw mache ich so gut wie nie über das Modul weil die App einfach schneller ist. Oder gar in den Sonos one die integrierte alexa. Im sonos2mqtt Thread hatte ich das schon mal erwähnt. Was mir nicht ganz klar ist wo wir die sprach Synthese am besten her nehmen. Ich würde gut im Sonos Modul abgucken. Denn die attr die man dazu setzen muss kommen mir schon verdächtig gleich vor.

Gesendet von meinem LM-G810 mit Tapatalk


Beta-User

Sorry, war ungenau: Sprachsteuerung, nicht Sprachausgabe (was aber auch ein interessanter Aspekt wäre).

Details dazu bitte aber NICHT HIER, sondern in dem Sonos-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

Otto123

Eine logistische Frage: War ist richtig so die Templates hier einzureichen? Oder besser: wenn es schon  einen "Entwicklungsthread" gibt es einfach dort zu belassen (damit die Diskussion nicht gesplittet werden)?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

87insane

Ich persönlich finde das übergreifen nicht schlecht. So kam die Vereinheitlichung ja eigentlich zu Stande.

Anders rum genügt wohl meist auch ein link mit kleiner Info.

Gesendet von meinem LM-G810 mit Tapatalk

Beta-User

Zitat von: Beta-User am 15 Dezember 2018, 11:45:40
Bitte nutzt möglichst diesen Thread, wenn ihr neue (im Prinzip ausentwickelte) templates für mqtt2.template vorschlagen wollt.
Für Fehlermeldungen, Diskussionen zu Verbesserungsvorschlägen zu vorhandenen und zum Anfragen von support für neue Devices [...]
Ergo paßte das mit dem landroiden auf alle Fälle hierher;
bei dem Sonos kann man streiten, aber das ist auch schon recht weit gediehen. Da du sowieso hier gepostet hattest, was es völlig ok, es wäre aber genausogut in dem anderen Thread aufgehoben gewesen (ich lese da ja auch mit, s.u.).

Mit der einleitenden Bemerkung ist es so:
1. Wer hier postet oder mitliest, will evtl. nicht mit allen Details (und irgendwelchen Meinungen zu diesem und jenem :P ) behelligt werden, sondern einfach wissen, was es neues gibt - eine Art "announcement"-Thread eben.
2. Ansonsten will ich möglichst nicht alles irgendwo mühsam zusammensuchen/erraten müssen, sondern einen Ort haben, wo man mich gezielt dazu erreicht. Gibt's bereits anderweitig eine Diskussion bzw. noch offene Punkte, ist es meistens dort besser aufgehoben, weil es dann auch die anderen beteiligten User leichter finden.

(Deswegen beschränke ich meine eigenen Anmerkungen meistens hier auch auf das nötigste, gebe Hinweise+Links, wo ggf. weiter verfeinert werden wird und "verhaue" User, die die Eingangsbemerkung nicht beachten und dazwischenquatschen...)
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

Otto123

Hallo Beta-User,
Betrifft worx.landroid Template
Kannst Du bitte noch die Zeile "Entwicklungshilfe" ins Template einbauen:
x_raw_payload:textField { my $payload = $EVENT;$payload =~ s/$EVTPART0 //g; qq(BASE_TOPIC/DEV_ID/commandIn $payload)}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Wird gemacht (ist hier aber genauso OT wie meine Rückfrage, ob es vor deinem Urlaub noch einen Zwischenstand zum sonos-Speaker gibt...? Ggf. würde ich TomLee's devStateIcon ohne slider mal einbauen...? Antwort bitte dort ;) )
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

ToM_ToM

#117
Hallo Zusammen,

anbei ein erstes Template für die Instar Kameras (getestet mit der Instar 8015 HD).

Ich weiß nicht ob es sinnvoll ist, ein Template für Instar allgemein zu machen oder für die einzelnen Modeltypen.

Was hier noch nicht funktioniert, ist "alarmsignal" ein/ausschalten. Die Message an sich funktioniert und die Kamera liefert per MQTT auch den korrekten Wert zurück, jedoch schaltet sie nicht. Führe ich den gleichen Befehl per MQTT.fx oder per MQTT2_SERVER aus, klappt es prima.



# Instar 8015HD.
name:InstarCam
filter:TYPE=MQTT2_DEVICE
desc:for Instar Camera
par:DEVNAME;MAC address in the topic;{ AttrVal("DEVICE","readingList","") =~ m,instar/([^/]*)/, ? $1 : undef }

attr DEVICE eventMap 0:off 1:on

attr DEVICE jsonMap area1val:area1\
area1sensitivityval:area1sensitivity\
area2val:area2\
area2sensitivityval:area2sensitivity\
area3val:area3\
area3sensitivityval:area3sensitivity\
area4val:area4\
area4sensitivityval:area4sensitivity\
pirval:pir\
alarmserverval:alarmserver\
alarmserveraddressval:alarmserveraddress\
alarmserverportval:alarmserverport\
alarmserverpathval:alarmserverpath\
alarmsignalval:alarmsignal\
audioalarmval:audioalarm\
audioalarmsensitivityval:audioalarmsensitivity\
power_ledval:power_led\
wifi_ledval:wifi_led

attr DEVICE readingList instar/DEVNAME/status/alarm/actions/pir/enable:.* { json2nameValue($EVENT, 'pir', $JSONMAP) }\
instar/DEVNAME/status/alarm/area1/enable:.* { json2nameValue($EVENT, 'area1', $JSONMAP) }\
instar/DEVNAME/status/alarm/area1/sensitivity:.* { json2nameValue($EVENT, 'area1sensitivity', $JSONMAP) }\
instar/DEVNAME/status/alarm/area2/enable:.* { json2nameValue($EVENT, 'area2', $JSONMAP) }\
instar/DEVNAME/status/alarm/area2/sensitivity:.* { json2nameValue($EVENT, 'area2sensitivity', $JSONMAP) }\
instar/DEVNAME/status/alarm/area3/enable:.* { json2nameValue($EVENT, 'area3', $JSONMAP) }\
instar/DEVNAME/status/alarm/area3/sensitivity:.* { json2nameValue($EVENT, 'area3sensitivity', $JSONMAP) }\
instar/DEVNAME/status/alarm/area4/enable:.* { json2nameValue($EVENT, 'area4', $JSONMAP) }\
instar/DEVNAME/status/alarm/area4/sensitivity:.* { json2nameValue($EVENT, 'area4sensitivity', $JSONMAP) }\
instar/DEVNAME/status/alarm/alarmserver/enable:.* { json2nameValue($EVENT, 'alarmserver', $JSONMAP) }\
instar/DEVNAME/status/alarm/alarmserver/address:.* { json2nameValue($EVENT, 'alarmserveraddress', $JSONMAP) }\
instar/DEVNAME/status/alarm/alarmserver/port:.* { json2nameValue($EVENT, 'alarmserverport', $JSONMAP) }\
instar/DEVNAME/status/alarm/alarmserver/path:.* { json2nameValue($EVENT, 'alarmserverpath', $JSONMAP) }\
instar/DEVNAME/status/alarm/actions/alarmsignal:.* { json2nameValue($EVENT, 'alarmsignal', $JSONMAP) }\
instar/DEVNAME/status/alarm/actions/audioalarm:.* { json2nameValue($EVENT, 'audioalarm', $JSONMAP) }\
instar/DEVNAME/status/alarm/actions/audioalarmsensitivity:.* { json2nameValue($EVENT, 'audioalarmsensitivity', $JSONMAP) }\
instar/DEVNAME/status/features/indicator/power:.* { json2nameValue($EVENT, 'power_led', $JSONMAP) }\
instar/DEVNAME/status/features/indicator/wifi:.* { json2nameValue($EVENT, 'wifi_led', $JSONMAP) }

attr DEVICE setList pir:on,off instar/DEVNAME/alarm/actions/pir/enable/raw $EVTPART1\
area1:on,off instar/DEVNAME/alarm/area1/enable/raw $EVTPART1\
area1sensitivity:slider,1,1,100 instar/DEVNAME/alarm/area1/sensitivity/raw $EVTPART1\
area2:on,off instar/DEVNAME/alarm/area2/enable/raw $EVTPART1\
area2sensitivity:slider,1,1,100 instar/DEVNAME/alarm/area2/sensitivity/raw $EVTPART1\
area3:on,off instar/DEVNAME/alarm/area3/enable/raw $EVTPART1\
area3sensitivity:slider,1,1,100 instar/DEVNAME/alarm/area3/sensitivity/raw $EVTPART1\
area4:on,off instar/DEVNAME/alarm/area4/enable/raw $EVTPART1\
area4sensitivity:slider,1,1,100 instar/DEVNAME/alarm/area4/sensitivity/raw $EVTPART1\
alarmserver:on,off instar/DEVNAME/alarm/alarmserver/enable/raw $EVTPART1\
alarmsignal:on,off instar/DEVNAME/alarm/actions/alarmsignal/raw $EVTPART1\
audioalarm:on,off instar/DEVNAME/alarm/actions/audioalarm/raw $EVTPART1\
audioalarmsensitivity:slider,10,10,100 instar/DEVNAME/alarm/actions/audioalarmsensitivity/raw $EVTPART1\
power_led:on,off instar/DEVNAME/features/indicator/power/raw $EVTPART1\
wifi_led:on,off instar/DEVNAME/features/indicator/wifi/raw $EVTPART1


attr DEVICE model InstarCam#

setreading DEVICE attrTemplateVersion 20200619



Viele Grüße

Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Beta-User

Vorab mal Danke für das Template.

Kann nicht beurteilen, ob "eines für alle" ausreichend ist, werden wir sehen...

Werd's auch mal mit den langen Präfixen eingecheckt, aber wenn man hinterher sowieso via $JSONMAP wieder umbenennt, ginge es evtl auch kürzer oder wenigstens optisch prägnanter?
Dafür, dass der command nicht effektiv ankommt, gibt es m.E. keine wirklich gute Erklärung; MQTT2_DEVICE macht im Prinzip auch nichts anderes als ein publish über das IO, und wenn man da von extern keinen Unterschied sieht, wird es schwierig (Vertiefung dazu aber bitte bei Bedarf in separatem Thread!). Sieht mir eher wie ein "Hau" in der firmware aus?

Das ist auch die normale firmware des Herstellers, oder? (Wg. der Sortierung)
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

ToM_ToM

ZitatWerd's auch mal mit den langen Präfixen eingecheckt, aber wenn man hinterher sowieso via $JSONMAP wieder umbenennt, ginge es evtl auch kürzer oder wenigstens optisch prägnanter?

Wenn du eine Idee hast, wie... An den normalen Werten hängt sonst immer "val" am Ende dran was ich nicht so schön finde. Deshalb habe ich jsonmap verwendet.

ZitatDas ist auch die normale firmware des Herstellers, oder? (Wg. der Sortierung)
Ja, das ist die Original Firmware. Die hat zwar aktuell noch wifi led und power led per mqtt vertauscht, aber das habe ich bereits an Instar gemeldet.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8