FHEM Forum

Allgemeine Informationen => Wiki => Thema gestartet von: Beta-User am 12 Dezember 2018, 07:59:00

Titel: MQTT2 - Praxisbeispiele
Beitrag von: Beta-User am 12 Dezember 2018, 07:59:00
Seit einiger Zeit gibt es ja schon den Artikel https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele.

Neulich habe ich mal angefangen, das mit den neuen Funktionen bridgeRegexp und attrTemplate anzureichern, für zigbee2mqtt ist das soweit fertig.

Wäre schön, wenn
- jemand den Tasmota-Teil noch entsprechend anpassen könnte
- jemand ein (kurzes!) Beispiel für einen shelly beisteuern würde
- ihr Rückmeldung geben würdet, wenn in dem zigbee-Teil oder attrTemplate Verbesserungsbedarf besteht.

Unklar ist mir im Moment, ob man attrTemplate ausgliedern sollte. Dürfte spätestens dann Sinn machen, wenn weitere Module dazu kommen, die das auch nutzen (für ESPEasy gibt es eine Testversion).

Danke für eure Rückmeldungen dazu.

Beta-User
Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: ingo1870 am 12 Januar 2019, 14:04:08
Bitte erwähnen, dass man unbedingt das in seiner fhem.cfg haben muss:
define autocreate autocreate

Ansonsten werden keine MQTT2_Devices angelegt, unabhängig vom erwähnten:
attr MQTT2_FHEM_Server autocreate 1

Und das Logfile hilft auch nicht weiter.
Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: Beta-User am 12 Januar 2019, 16:54:40
Hab's in eine Fußnote gepackt.

Ist aber eigentlich nichts neues, das ist bei anderen Modulen (IT, MySensors...) auch so...
Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: ingo1870 am 03 Februar 2019, 21:48:22
Danke für die Fußnote. Ich hatte es halt in meiner Installation (vor 4 Jahren?) deaktiviert, da ich die Kontrolle haben wollte. Selbst verändernde Konfigurationen waren nicht mein Ziel.

Leider weist die Fußnote ( https://fhem.de/commandref.html#autocreate ) aber nicht auf das MODUL "autocreate", sondern auf das ATTRIBUT im MQTT2_Client.
Offensichtlich ein Fehler in der Verlinkung von commandref.html. Da ich keinen Bugtracker von FHEM kenne, schreibe ich es mal hier rein.

-- ingo1870
Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: nils_ am 03 Februar 2019, 22:03:59
das liegt wohl am identischen anker, der heißt bei allen "autocreate"  :o

unterforum mqtt, dann auf den beitrag von dir hier verweisen :)


ist aber denke ich ein generelles "problem" der cref, wenn die anker in verschiedenen modulen gleich benannt sind  :-\ :-\ :-\
Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: Beta-User am 05 Februar 2019, 17:42:53
Zitat von: nils_ am 03 Februar 2019, 22:03:59
das liegt wohl am identischen anker, der heißt bei allen "autocreate"  :o
... scheint so zu sein. Text ist daher entsprechend geändert, dass es sich um ein bestimmtes eigenes Device handelt.
Danke für die Hinweise!
Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: DasQ am 06 Februar 2019, 13:40:58
Sonoff POW r2

Ist zwar noch nicht viel drin (meiste autocreate), aber vielleicht hat ja der ein oder ander noch ne Anregung wie Mans aufhübschen oder informativer gestalten könnt.

BTW. Wäre hier im Template ggf ne Funktion gut, die dann auch gleich nenn hübschen Plot bastelt (zweiter Codetag)
defmod sonoff_Waeschetrockner MQTT2_DEVICE sonoffPow1
attr sonoff_Waeschetrockner IODev MQTT2_Broker
attr sonoff_Waeschetrockner devStateIcon ON:on:OFF Off:off:ON
attr sonoff_Waeschetrockner eventMap ON:on OFF:off
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))}

setstate sonoff_Waeschetrockner aktuell: 0.0 W Tag: 0.00 Kw/h Gestern: 0.000 Kw/h Gesamt: 16.0010 Kw/h
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_ApparentPower 0
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_Current 0.000
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_Factor 0.00
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_Period 0
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_Power 0
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_ReactivePower 0
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_Today 0.000
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_Total 16.001
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_TotalStartTime 2019-01-28T17:54:21
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_Voltage 234
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 ENERGY_Yesterday 0.000
setstate sonoff_Waeschetrockner 2019-01-28 18:21:19 FallbackTopic cmnd/sonoffPow1_fb/
setstate sonoff_Waeschetrockner 2019-01-28 18:21:19 GroupTopic sonoffs
setstate sonoff_Waeschetrockner 2019-01-28 18:21:19 Hostname SonOff-Pow1
setstate sonoff_Waeschetrockner 2019-01-28 18:21:19 IPAddress 192.168.1.190
setstate sonoff_Waeschetrockner 2019-02-06 04:57:54 LWT Online
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 LoadAvg 19
setstate sonoff_Waeschetrockner 2019-01-28 18:21:19 Module Sonoff Pow R2
setstate sonoff_Waeschetrockner 2019-02-06 04:57:54 POWER
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 POWER1 on
setstate sonoff_Waeschetrockner 2019-01-28 18:21:19 RestartReason Software/System restart
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Sleep 50
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 SleepMode Dynamic
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Time 2019-02-06T13:27:18
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Uptime 8T19:06:06
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Vcc 3.480
setstate sonoff_Waeschetrockner 2019-01-28 18:21:19 Version 6.4.1(sonoff)
setstate sonoff_Waeschetrockner 2019-01-28 18:21:19 WebServerMode Admin
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Wifi_AP 1
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Wifi_BSSId 08:96:D7:86:0C:3D
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Wifi_Channel 11
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Wifi_RSSI 58
setstate sonoff_Waeschetrockner 2019-02-06 13:27:18 Wifi_SSId 1
setstate sonoff_Waeschetrockner 2019-01-30 13:27:57 state on




raw:
defmod SVG_FileLog_sonoff_Waeschetrockner_1 SVG FileLog_sonoff_Waeschetrockner:SVG_FileLog_sonoff_Waeschetrockner_1:CURRENT
attr SVG_FileLog_sonoff_Waeschetrockner_1 group Trockner
attr SVG_FileLog_sonoff_Waeschetrockner_1 room Waschkueche

setstate SVG_FileLog_sonoff_Waeschetrockner_1 initialized

List:
Internals:
   DEF        FileLog_sonoff_Waeschetrockner:SVG_FileLog_sonoff_Waeschetrockner_1:CURRENT
   FUUID      5c4ff2a8-f33f-9f3d-57f6-5a8bbc1b44580c7a
   GPLOTFILE  SVG_FileLog_sonoff_Waeschetrockner_1
   LOGDEVICE  FileLog_sonoff_Waeschetrockner
   LOGFILE    CURRENT
   NAME       SVG_FileLog_sonoff_Waeschetrockner_1
   NOTIFYDEV  global
   NR         184
   STATE      initialized
   TYPE       SVG
Attributes:
   group      Trockner
   room       Waschkueche


Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: Beta-User am 06 Februar 2019, 13:58:44
@DasQ:
Bezieht sich dein Beitrag auf das Wiki oder auf attrTemplate?
Wenn attrTemplate: wäre es nicht sinnvoll, erst mal das template zur "FHEM"-isierung des Tasmota drüberzubügeln? (Das meiste sieht für mich nach "dem üblichen" aus; was hier besonders ist, ist das stateFormat. Es würde also reichen, ähnlich vorzugehen wie in A_01b_tasmota_1ch+motion+SI7021 bzw. A_02a_tasmota_2ch_unified.) Magst du das so finalisieren und dann getestet direkt als template bei "contributing" posten?

Das mit dem Erstellen eines Plots wäre zwar theoretisch denkbar, übersteigt aber nach meinem Verständnis das, was man mit einem template sinnvollerweise tun sollte - ein bißchen sollte der User schon noch entscheiden, welche Devices er warum haben will bzw. was er jeweils draus zieht (ich habe z.B. gemeinsame logfiles für manches, da würde das eher nicht passen). Wenn das template soweit ist, kann der zugehörige Plot dann gerne ins Wiki :) .
Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: DasQ am 07 Februar 2019, 08:13:01
Zitat von: Beta-User am 06 Februar 2019, 13:58:44
@DasQ:
Bezieht sich dein Beitrag auf das Wiki oder auf attrTemplate?

Das wenn ich jetzt genau wüsste   :D ;)
Ich hab mich vom Topic leiten lassen und dacht wir posten hier ,,Praxis Beispiele".
Das du hier das logisch getrennt hast, war mir zuerst nicht bewusst. Bzw. Hab ich die postings nur überflogen und gewundert warum da kein Code zu finden ist.

Egal jetzt steht's hier, ggf kann man's ja abtrennen und nenn eigenen Thread draus basteln.
Und klar ist's im Wiki am besten aufgehoben.

Btw. Gibt es eine ne Möglichkeit das ,,plot-konstruckt" was ich konfiguriert habe, als Bauplan zu hinterlegen?  Der pow ist ja im Grunde nix anderes, als jede  Wetterstation und da  wird ja auch sofort ein Standard Plot erzeugt.

Sorry fürs OT

Titel: Antw:MQTT2 - Praxisbeispiele
Beitrag von: Beta-User am 07 Februar 2019, 08:55:12
Zitat von: DasQ am 07 Februar 2019, 08:13:01
Das wenn ich jetzt genau wüsste   :D ;)
Ich hab mich vom Topic leiten lassen und dacht wir posten hier ,,Praxis Beispiele".
Das du hier das logisch getrennt hast, war mir zuerst nicht bewusst. Bzw. Hab ich die postings nur überflogen und gewundert warum da kein Code zu finden ist.
Nu ja, die logische Einordnung ergibt sich eben auch aus der Struktur des Forums; passiert mir manchmal aber auch, dass ich "flasch abbiege" ;D .
ZitatBtw. Gibt es eine ne Möglichkeit das ,,plot-konstruckt" was ich konfiguriert habe, als Bauplan zu hinterlegen?  Der pow ist ja im Grunde nix anderes, als jede  Wetterstation und da  wird ja auch sofort ein Standard Plot erzeugt.
Klar geht das; einfach ein entsprechendes gplot-file erzeugen, das nicht auf ein konkretes Log-Device bezogen ist (steht in der cref, meine ich; im Zweifel mal die vorhandenen gplot-files näher ansehen...).

ZitatEgal jetzt steht's hier, ggf kann man's ja abtrennen und nenn eigenen Thread draus basteln.
Und klar ist's im Wiki am besten aufgehoben.

Sorry fürs OT
Muß man nicht. Wenn du mit dem mustergültigen template soweit bist  ;D ;D ;D , poste es einfach im MQTT-Bereich, da ist ganz oben ein "contributing"-Thread angepinnt, da steht auch, was mit "mustergültig" gemeint ist ;) . Eine weitere grobe Anleitung für das konkrete Gerät steht ja hier...
Danach übernehme ich das gerne samt Grafik und generalisiertem "gplot"-Muster ins Wiki 8) .