mqtt2.template: bugs, Fragen, Anregungen

Begonnen von Beta-User, 15 Dezember 2018, 11:44:43

Vorheriges Thema - Nächstes Thema

DasQ

was in der art?

defmod sonoff_Waeschetrockner MQTT2_DEVICE sonoffPow1
attr sonoff_Waeschetrockner IODev MQTT2_Broker
attr sonoff_Waeschetrockner group Trockner
attr sonoff_Waeschetrockner readingList sonoffPow1:tele/sonoffPOW1/STATE:.* { json2nameValue($EVENT) }\
sonoffPow1:tele/sonoffPOW1/SENSOR:.* { json2nameValue($EVENT) }\
sonoffPow1:tele/sonoffPOW1/LWT:.* LWT\
sonoffPow1:cmnd/sonoffPOW1/POWER:.* POWER\
sonoffPow1:tele/sonoffPOW1/INFO1:.* { json2nameValue($EVENT) }\
sonoffPow1:tele/sonoffPOW1/INFO2:.* { json2nameValue($EVENT) }\
sonoffPow1:tele/sonoffPOW1/INFO3:.* { json2nameValue($EVENT) }\
sonoffPow1:stat/sonoffPOW1/RESULT:.* { json2nameValue($EVENT) }\
sonoffPow1:stat/sonoffPOW1/POWER1:.* POWER1\
sonoffPow1:tele/sonoffPOW1/UPTIME:.* { json2nameValue($EVENT) }
attr sonoff_Waeschetrockner room Waschkueche
attr sonoff_Waeschetrockner setList off:noArg    cmnd/sonoffPOW1/POWER1 0\
on:noArg     cmnd/sonoffPOW1/POWER1 1
attr sonoff_Waeschetrockner stateFormat {sprintf("aktuell: %.1f W Tag: %.2f Kw/h Gestern: %.3f Kw/h Gesamt: %.4f Kw/h", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}


Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Beta-User

Zitat von: DasQ am 07 Februar 2019, 12:48:26
was in der art?
Vermutlich sucht Christian was in der Art... Für ihn wäre aber ein erweitertes template hilfreicher als dein mühsam von Hand erweitertes Beispiel ::) :P .

Also (ungetestet, habe kein passendes Device) sowas:
name:A_01b_tasmota_POW
filter:TYPE=MQTT2_DEVICE
desc:Applies to Sonoff POW devices<br>NOTE: Power topic will be set to POWER1; the format the device is sending data will also be changed to lowercase!
set DEVICE attrTemplate A_01a_tasmota_basic_state_power1
attr DEVICE stateFormat {sprintf("aktuell: %.1f W Tag: %.2f Kw/h Gestern: %.3f Kw/h Gesamt: %.4f Kw/h", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}
attr DEVICE model A_01b_tasmota_POW

Fehlt ggf. dann noch die uptime; da sollte es reichen ggf. autocreate am DEVICE wieder einzuschalten.

Gruß, 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

DasQ

ja sorry, hat sich irgenwie überschnitten.

aber dafür test ich gleich mal morgen
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

helmut

Hallo Beta-User,

heute habe ich zum ersten Mal die Templates fuer ein Sonoff Pow Device ausprobiert.
Das funktioniert sehr gut, aber bei der Masseinheit zur Anzeige der Arbeit habe ich einen
Fluechtigkeitsfehler gefunden. Die Arbeit wird in Leistung mal Zeiteinheit ausgedrueckt,
daher muss es statt "Kw/h" "kWh" heissen.

name:A_01c_tasmota_POW
[...]
attr DEVICE stateFormat {sprintf("aktuell: %.1f W Tag: %.2f Kw/h Gestern: %.3f Kw/h Gesamt: %.4f Kw/h", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}


Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

Beta-User

Thx, habe da leider wirklich nicht drauf geachtet, sondern das einfach so übernommen wie übermittelt :( . Ist im svn jetzt hoffentlich richtig.

Danke für die positive Rückmeldung im Übrigen :) .
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

helmut

Danke, jetzt ist es richtig. Das duerfte den Meisten nicht auffallen. Aber als gelerntem
Starkstroemer springt Dir sowas ins Auge ;-)

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

carlos

Dank dem neuen support für mehrere gleichzeitige devStateIcons in einem device von justme1968, sieht mein sonoff 4ch jetzt so aus:
defmod MQTT2_sonoff4ch MQTT2_DEVICE sonoff4ch
attr MQTT2_sonoff4ch IODev m2s
attr MQTT2_sonoff4ch alias Sonoff4ch
attr MQTT2_sonoff4ch autocreate 0
attr MQTT2_sonoff4ch devStateIcon Online:10px-kreis-gruen@green Offline:10px-kreis-rot@red 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
attr MQTT2_sonoff4ch icon hue_filled_outlet
attr MQTT2_sonoff4ch readingList tele/sonoff4ch/LWT:.* LWT\
tele/sonoff4ch/STATE:.* { json2nameValue($EVENT) }\
tele/sonoff4ch/SENSOR:.* { json2nameValue($EVENT) }\
tele/sonoff4ch/INFO.:.* { json2nameValue($EVENT) }\
stat/sonoff4ch/RESULT:.* { json2nameValue($EVENT) }\
sonoff4ch:cmnd/sonoff4ch/POWER:.* POWER\
sonoff4ch:stat/sonoff4ch/POWER1:.* POWER1\
sonoff4ch:stat/sonoff4ch/POWER2:.* POWER2\
sonoff4ch:stat/sonoff4ch/POWER3:.* POWER3\
sonoff4ch:stat/sonoff4ch/POWER4:.* POWER4\
sonoff4ch:tele/sonoff4ch/UPTIME:.* { json2nameValue($EVENT) }
attr MQTT2_sonoff4ch room MQTT2_DEVICE
attr MQTT2_sonoff4ch setList POWER1:on,off cmnd/sonoff4ch/POWER1 $EVTPART1\
POWER2:on,off cmnd/sonoff4ch/POWER2 $EVTPART1\
POWER3:on,off cmnd/sonoff4ch/POWER3 $EVTPART1\
POWER4:on,off cmnd/sonoff4ch/POWER4 $EVTPART1
attr MQTT2_sonoff4ch stateFormat LWT\
1:POWER1\
2:POWER2\
3:POWER3\
4:POWER4\
<br>\
<a href="http://IPAddress" target="_blank">IPAddress</a>
attr MQTT2_sonoff4ch webCmd POWER1:POWER2:POWER3:POWER4

setstate MQTT2_sonoff4ch Online\
1:on\
2:off\
3:off\
4:on\
<br>\
<a href="http://192.168.178.186" target="_blank">192.168.178.186</a>


Evtl kann man das jetzt ja auch in den templates benutzen.
Entsprechend für die sonoff Dual
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

Beta-User

Zitat von: carlos am 20 Februar 2019, 23:43:37
Dank dem neuen support für mehrere gleichzeitige devStateIcons in einem device von justme1968, sieht mein sonoff 4ch jetzt so aus:
Danke für die Info.
Habe eben eine angepaßte Fassung ins svn geschoben, erst mal nur für den 4-kanaligen. Eine kurze Rückmeldung wäre nett, ob das alles soweit paßt (auch mit den Leerzeichen, die ich für meine eigene Orientierung in dem file gerne so behalten würde). Wenn ja, erhät auch der Rest bei Gelegenheit eine "Renovierung" (da war auch was mit uptime, das ist jetzt im Basistemplate auch neu drin).
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

carlos

Hab es jetzt noch ein wenig abgeändert, Sieht jetzt so aus für meinen 4CH und Dual.
Aber das ist alles Geschmackssache.
Ich hatte mir vorher eine ähnliche Ansich mit readingsgroup gemacht.
Das ist jetzt aber alles nicht mehr nötig.
Man kann mit dem neuen devstateicon jede Menge readings mit rein nehmen.

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

Beta-User

Zitat von: carlos am 21 Februar 2019, 09:52:18
Hab es jetzt noch ein wenig abgeändert,
Ähm, kannst du mir bitte erläutern, was das für das/die templates heißt? Funktioniert der im heutigen update enthaltene 4-er Code soweit, oder besteht Änderungsbedarf bzw. gibt es Wünsche oder Anregungen dazu?
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

carlos

Als initiales template ist das erst mal ok.
Ich kann es gerade nicht testen. Heute Abend dann.
Ich fürchte aber die Leerzeichen müssen raus.

Im stateformat könnte man halt noch beliebige Readings mit reinnehmen
Ich habe mir den link für die IP adresse und die Tasmota Version mit reingenommen.
Aber das kann ja dann jeder selbst für sich entscheiden was er da noch mit anzeigen will.

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

Beta-User

Danke für die vorläufige Rückmeldung.

Die IP-Adresse finde ich ok, wie es umgesetzt ist; es gab hier ja auch schon den Wunsch, das mit reinzunehmen, deswegen habe ich das in der Form auch ins template integriert (Version finde ich overdone). Wer die IP nicht mag, kann's ja löschen, und wer die Version braucht, hat ein Beispiel mit der IP...

Unklarheiten auf meiner Seite bzw. Anmerkungen:
- Das devStateIcon kann man ja auch zur Bedienung nutzen, oder? Macht dann die webCmd-Sache noch großen Sinn?
- Wenn, könnte man es noch aufhübschen wie beim Shelly4pro (attr DEVICE setList \  relay0:iconSwitch,on,li_wht_off,off,li_wht_on shellies/DEVNAME/relay/0/command $EVTPART1\), wobei ich hier vorschlagen würde, statt der "li_wht_.*"-Icons schlicht die on/off-Varianten zu nutzen.

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

carlos

Ja, da gebe ich dir recht.
Deswegen als initiale Version finde das template gut so.
Und ja das devStateIcon kann man zur Bedienung nutzen, deshalb kann webcmd entfallen
Auch die on/off Variante als Icon ist mir persöhnlich ausreichend.

Wie schon gesagt als Standard Version ist das template so gut, wer mehr will kann das Device ja dann anpassen.
Wenn man die duals und basics die templates ähnlich aufbaut hätte man eine gute Lösung für die Sonoffs bzw. für die Tasmota MQTT2 devices.
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

carlos

Hi,
Ich habe das template noch mal getestet.
Wie schon erwähnt müssen die Leerzeichen zumindest im stateformat raus.
Mit dieser Änderung sollte es funtionieren.
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

Beta-User

Moin,

habe eben die beiden geänderten Tasmota-templates noch ins svn geschoben (4-er ohne Leerzeichen, 2-er nach dem 4-er Muster). Wäre nett, wenn das jemand (carlos?) testen könnte, bevor das morgen in das update geht :D .

Ein screenshot sam zugehörigem List für's Wiki wäre auch noch nett, dann kommt das noch nach "device-Overview anpassen", als 2. (schaltbares) Beispiel für das neue Feature :) .

Gruß, 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