Openbeken Template Erstellung Aubess Steckdose 20A (LSPA9 clone)

Begonnen von denis.robel, 18 Dezember 2023, 20:01:00

Vorheriges Thema - Nächstes Thema

denis.robel

Hallo,

Ich habe eine  Aubess Steckdose 20A (LSPA9 clone) mit dem Tuya Cloudcutter mit Openbeken versehen und via mqtt in FHEM eingebunden.

Nun möchte ich gerne ein mqtt Template für dieses Teil erstellen, habe aber keine Ahnung wo und wie ich anfangen könnte. Ist das Erstellen von MQTT Templates irgendwo beschrieben?

Hier mein RAW Device für das funktionierende Device.

defmod MQTT2_obkFFC5CF49 MQTT2_DEVICE obkFFC5CF49
attr MQTT2_obkFFC5CF49 alias SchreibtischlampeJannik
attr MQTT2_obkFFC5CF49 event-on-change-reading .*
attr MQTT2_obkFFC5CF49 icon hue_filled_outlet
attr MQTT2_obkFFC5CF49 readingList obkFFC5CF49:obkFFC5CF49/connected:.* connected\
obkFFC5CF49:obkFFC5CF49/host:.* host\
obkFFC5CF49:obkFFC5CF49/build:.* build\
obkFFC5CF49:obkFFC5CF49/mac:.* mac\
obkFFC5CF49:obkFFC5CF49/ssid:.* ssid\
obkFFC5CF49:obkFFC5CF49/sockets:.* sockets\
obkFFC5CF49:obkFFC5CF49/rssi:.* rssi\
obkFFC5CF49:obkFFC5CF49/uptime:.* uptime\
obkFFC5CF49:obkFFC5CF49/freeheap:.* freeheap\
obkFFC5CF49:obkFFC5CF49/ip:.* ip\
obkFFC5CF49:obkFFC5CF49/1/get:.* obkFFC5CF49_1_get\
obkFFC5CF49:obkFFC5CF49/2/get:.* obkFFC5CF49_2_get\
obkFFC5CF49:stat/obkFFC5CF49/RESULT:.* { json2nameValue($EVENT) }\
obkFFC5CF49:obkFFC5CF49/voltage/get:.* ENERGY_Voltage\
obkFFC5CF49:obkFFC5CF49/current/get:.* ENERGY_Current\
obkFFC5CF49:obkFFC5CF49/power/get:.* ENERGY_Power\
obkFFC5CF49:obkFFC5CF49/energycounter/get:.* ENERGY_Total\
obkFFC5CF49:obkFFC5CF49/energycounter_last_hour/get:.* ENERGY_LastHour\
obkFFC5CF49:tele/obkFFC5CF49/STATE:.* { json2nameValue($EVENT) }\
obkFFC5CF49:tele/obkFFC5CF49/SENSOR:.* { json2nameValue($EVENT) }
attr MQTT2_obkFFC5CF49 room MQTT2_DEVICE
attr MQTT2_obkFFC5CF49 setList off:noArg cmnd/obkFFC5CF49/POWER1 0\
on:noArg cmnd/obkFFC5CF49/POWER1 1\
toggle:noArg cmnd/obkFFC5CF49/POWER1 2\
reboot:noArg cmnd/obkFFC5CF49/Restart 1
attr MQTT2_obkFFC5CF49 stateFormat { if(ReadingsVal("MQTT2_obkFFC5CF49","POWER",0) eq "ON") {return "on";;} else {return "off";;} }
attr MQTT2_obkFFC5CF49 webCmd on:off:reboot

setstate MQTT2_obkFFC5CF49 on
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 ENERGY_ApparentPower 32.170246
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 ENERGY_ConsumptionLastHour 0.000000
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 ENERGY_ConsumptionTotal 819.380554
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 ENERGY_Current 0.107
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 ENERGY_Factor 0.419642
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:35 ENERGY_LastHour 0.000
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 ENERGY_Power 13.500000
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 ENERGY_ReactivePower 29.200593
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:35 ENERGY_Total 0.819
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 ENERGY_Voltage 246.638565
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Heap 25
setstate MQTT2_obkFFC5CF49 2023-12-17 20:59:32 IODev myBroker
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 LoadAvg 99
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 MqttCount 23
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 POWER ON
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Sleep 10
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 SleepMode Dynamic
setstate MQTT2_obkFFC5CF49 2023-12-18 19:53:37 Time 1970-01-01T00:00:00
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Uptime 2T21:13:01
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 UptimeSec 249181
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_AP 1
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_BSSId ff:ff:ff:ff:ff:ff
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_Channel 11
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_Downtime 0T06:13:34
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_LinkCount 21
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_Mode 11n
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_RSSI 68
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_SSId Viper
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:54 Wifi_Signal -66
setstate MQTT2_obkFFC5CF49 2023-12-15 23:04:06 attrTemplateVersion 20231202 or prior
setstate MQTT2_obkFFC5CF49 2023-12-17 20:59:41 connected online
setstate MQTT2_obkFFC5CF49 2023-12-17 20:59:45 freeheap 76160
setstate MQTT2_obkFFC5CF49 2023-12-15 23:05:36 get 0.011
setstate MQTT2_obkFFC5CF49 2023-12-17 20:59:46 ip --.--.--.--
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:25 obkFFC5CF49_1_get 1
setstate MQTT2_obkFFC5CF49 2023-12-17 20:59:43 rssi -60
setstate MQTT2_obkFFC5CF49 2023-12-17 20:59:42 sockets 2
setstate MQTT2_obkFFC5CF49 2023-12-17 20:59:41 ssid Viper
setstate MQTT2_obkFFC5CF49 2023-12-18 19:52:24 state on
setstate MQTT2_obkFFC5CF49 2023-12-17 21:00:29 subscriptions bekens_n/+/set cmnd/bekens_n/+ cmnd/obkFFC5CF49/+ obkFFC5CF49/+/get obkFFC5CF49/+/set stat/obkFFC5CF49/+ tele/obkFFC5CF49/+
setstate MQTT2_obkFFC5CF49 2023-12-17 20:59:44 uptime 166792
VG

Denis

rudolfkoenig

ZitatIst das Erstellen von MQTT Templates irgendwo beschrieben?
Unter Anderem hier: https://wiki.fhem.de/wiki/AttrTemplate

denis.robel

Ich habe jetzt ein Template erstellt und das Problem besteht darin, dass mit DEVICE der String MQTT2_obkFFC5CF49 erzeugt wird z.B. in der Reading list. Ich benötige aber obkFFC5CF49.

Wie kann ich das beeinflussen? In den Tasmota-Templates wird eine Variable für DEVICETOPIC erstellt und verwendet.

Wie das geht verstehe ich aber gerade nicht.
VG

Denis

rudolfkoenig

ZitatIn den Tasmota-Templates wird eine Variable für DEVICETOPIC erstellt und verwendet.
DEVICETOPIC ist keine attrTemplate Variable, sondern eine in MQTT2_DEVICE.
Damit attrTemplate DEVICE nicht ersetzt, wird sie da als $\DEVICETOPIC geschrieben.

denis.robel

Zitat von: rudolfkoenig am 19 Dezember 2023, 08:59:37
ZitatIn den Tasmota-Templates wird eine Variable für DEVICETOPIC erstellt und verwendet.
DEVICETOPIC ist keine attrTemplate Variable, sondern eine in MQTT2_DEVICE.
Damit attrTemplate DEVICE nicht ersetzt, wird sie da als $\DEVICETOPIC geschrieben.

Danke für die Rückmeldung.

Gibt es eine Auflistung von solchen Variablen? So als absoluter Newbie ist es schwierig, einen Ansatz zu finden.

Dann sollte ein Ersetzen von DEVICE durch DEVICETOPIC an den richtigen Stellen also zum Ziel führen.
VG

Denis

Beta-User

Komische firmware. Selbe topics in der readingList und in subscriptions...?!?

Bitte noch den Link zur Projektseite etc. und den MQTT-Traffic, das sieht jedenfalls seltsam aus, glaube nicht, dass wir da ohne Handarbeit weiterkommen.
Hilfsmittel noch: "Schritt für Schritt" im Wiki.

Sorry für Telegramstil, muss gleich weg.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

denis.robel

Zitat von: Beta-User am 19 Dezember 2023, 19:35:14Komische firmware. Selbe topics in der readingList und in subscriptions...?!?

Bitte noch den Link zur Projektseite etc. und den MQTT-Traffic, das sieht jedenfalls seltsam aus, glaube nicht, dass wir da ohne Handarbeit weiterkommen.
Hilfsmittel noch: "Schritt für Schritt" im Wiki.

Sorry für Telegramstil, muss gleich weg.

Der Telegrammstil ist kein Problem.

Hier der Link zur Projektseite von OpenBeken

Der Traffic sieht so aus:192.168.179.30
obkFFC5CF49
voltage
get = 248.1
energycounter
get = 0.871
energycounter_last_hour
get = 0.000
current
get = 0.357
power
get = 40.25
1
get = 1
tele
obkFFC5CF49
SENSOR = {"Time":"1970-01-01T00:00:00","ENERGY":{"Power": 40.500000,"ApparentPower": 82.019905,"ReactivePower": 71.323310,"Factor":0.493782,"Voltage":247.036148,"Current":0.332015,"ConsumptionTotal":871.445739,"ConsumptionLastHour":0.000000}}
STATE = {"Time":"1970-01-01T00:00:00","Uptime":"3T21:42:04","UptimeSec":337324,"Heap":25,"SleepMode":"Dynamic","Sleep":10,"LoadAvg":99,"MqttCount":23,"POWER":"ON","Wifi":{"AP":1,"SSId":"Viper","BSSId":"30:B5:C2:5D:70:72","Channel":11,"Mode":"11n","RSSI":72,"Signal":-64,"LinkCount":21,"Downtime":"0T06:13:34"}}
stat
obkFFC5CF49
RESULT = {"Time":"1970-01-01T00:00:00","Uptime":"3T21:42:05","UptimeSec":337325,"Heap":25,"SleepMode":"Dynamic","Sleep":10,"LoadAvg":99,"MqttCount":23,"POWER":"ON","Wifi":{"AP":1,"SSId":"Viper","BSSId":"30:B5:C2:5D:70:72","Channel":11,"Mode":"11n","RSSI":70,"Signal":-65,"LinkCount":21,"Downtime":"0T06:13:34"}}

obkFFC5CF49/energycounter_last_hour/get



Jedenfalls ist es das, was der MQTT-Explorer raus lässt. Ich bin da noch nicht so firm und hoffe, dass das die richtigen Informationen sind.

VG

Denis

frober

OpenBeken ist am Tasmota angelehnt. MWn gibt es bzgl. MQTT "keine" Unterschiede.

Ich muss zu Hause schauen, kann sein das ich sogar ein Tasmota Template benutzt habe...
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Beta-User

Zitat von: denis.robel am 19 Dezember 2023, 20:25:42Jedenfalls ist es das, was der MQTT-Explorer raus lässt. Ich bin da noch nicht so firm und hoffe, dass das die richtigen Informationen sind.
Mit "traffic" war gemeint, dass ich gerne den Datenverkehr von und zu dem Device _in seinem dynamischen Verlauf_ gesehen hätte. Sowas kann man sich über die MQTT2-IO-Module anzeigen lassen und das ggf. per regex auch auf das relevante beschränken.

In jedem Fall hätte ich immer gerne ein Device gesehen, wie autocreate es anlegt und habe nach wie vor den Verdacht, dass da irgendwas komisch ist.

Was ich mir nach wie vor kaum vorstellen kann: Nach deiner readingList sendet das Teil teilweise auf denselben Topics, wie es seine Antworten versendet (v.a. die get-Dinger). Das ist deswegen komisch, weil dann das Device irgendwie entscheiden muss, ob es seine eigene Info war, die der MQTT-Server einfach wieder an alle verteilt, oder ob es eine Anfrage ist. Sonst entsteht eine Schleife... Üblich ist, dazu die topics zu trennen; in der Doku war dazu aber auf die Schnelle nichts zu finden.

@frober: Danke, bin mal gespannt!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

frober

#9
Ich habe mehrere, nur mal geflasht und als Reserve angelegt.

Dass müsste noch ein Autocreate ohne Anpassung sein:
define MQTT2_aubess20a_3 MQTT2_DEVICE aubess20a_3
attr MQTT2_aubess20a_3 readingList aubess20a_3:aubess20a_3/connected:.* connected\
aubess20a_3:aubess20a_3/host:.* host\
aubess20a_3:aubess20a_3/energycounter/get:.* get\
aubess20a_3:aubess20a_3/energycounter_last_hour/get:.* get\
aubess20a_3:aubess20a_3/build:.* build\
aubess20a_3:aubess20a_3/mac:.* mac\
aubess20a_3:aubess20a_3/voltage/get:.* get\
aubess20a_3:aubess20a_3/power/get:.* get\
aubess20a_3:aubess20a_3/sockets:.* sockets\
aubess20a_3:aubess20a_3/rssi:.* rssi\
aubess20a_3:aubess20a_3/current/get:.* get\
aubess20a_3:aubess20a_3/uptime:.* uptime\
aubess20a_3:aubess20a_3/freeheap:.* freeheap\
aubess20a_3:aubess20a_3/ip:.* ip\
aubess20a_3:aubess20a_3/0/get:.* aubess20a_3_0_get\
aubess20a_3:aubess20a_3/energycounter_yesterday/get:.* get\
aubess20a_3:aubess20a_3/energycounter_today/get:.* get\
aubess20a_3:aubess20a_3/energycounter_clear_date/get:.* get\
aubess20a_3:aubess20a_3/datetime:.* datetime
attr MQTT2_aubess20a_3 room Unsorted
#  CID        aubess20a_3
#  DEF        aubess20a_3
#  FUUID      6457cc0d-f33f-ff70-8cbd-a308f311153218bb
#  IODev      MQTT2_Server
#  NAME      MQTT2_aubess20a_3
#  NR        591
#  STATE      ???
#  TYPE      MQTT2_DEVICE
#  READINGS:
#    2023-12-01 16:00:36  IODev          MQTT2_Server
#    2023-05-07 20:16:58  aubess20a_3_0_get 0
#    2023-05-07 20:16:50  build          Build on May  5 2023 10:21:44 version 1.17.104
#    2023-05-07 20:20:06  connected      offline
#    2023-05-07 20:16:52  datetime        1683487010
#    2023-05-07 20:16:56  freeheap        71488
#    2023-05-07 20:17:33  get            0.000
#    2023-05-07 20:16:49  host            Aubess3
#    2023-05-07 20:16:57  ip              192.168.10.64
#    2023-05-07 20:16:51  mac            1c:90:ff:dc:6d:f6
#    2023-05-07 20:16:54  rssi            -74
#    2023-05-07 20:16:53  sockets        2
#    2023-05-07 18:04:29  subscriptions  aubess20a_3/+/get aubess20a_3/+/set bekens/+/set cmnd/aubess20a_3/+ cmnd/bekens/+
#    2023-05-07 20:16:55  uptime          19
#
setstate MQTT2_aubess20a_3 2023-12-01 16:00:36 IODev MQTT2_Server
setstate MQTT2_aubess20a_3 2023-05-07 20:16:58 aubess20a_3_0_get 0
setstate MQTT2_aubess20a_3 2023-05-07 20:16:50 build Build on May  5 2023 10:21:44 version 1.17.104
setstate MQTT2_aubess20a_3 2023-05-07 20:20:06 connected offline
setstate MQTT2_aubess20a_3 2023-05-07 20:16:52 datetime 1683487010
setstate MQTT2_aubess20a_3 2023-05-07 20:16:56 freeheap 71488
setstate MQTT2_aubess20a_3 2023-05-07 20:17:33 get 0.000
setstate MQTT2_aubess20a_3 2023-05-07 20:16:49 host Aubess3
setstate MQTT2_aubess20a_3 2023-05-07 20:16:57 ip 192.168.****
setstate MQTT2_aubess20a_3 2023-05-07 20:16:51 mac 1c:90:ff****
setstate MQTT2_aubess20a_3 2023-05-07 20:16:54 rssi -74
setstate MQTT2_aubess20a_3 2023-05-07 20:16:53 sockets 2
setstate MQTT2_aubess20a_3 2023-05-07 18:04:29 subscriptions aubess20a_3/+/get aubess20a_3/+/set bekens/+/set cmnd/aubess20a_3/+ cmnd/bekens/+
setstate MQTT2_aubess20a_3 2023-05-07 20:16:55 uptime 19

und eins angepasst und getestet (bzgl. Template kann ich mich nicht mehr erinnern):
define Aubess20a_1 MQTT2_DEVICE aubess20a_1
attr Aubess20a_1 IODev MQTT2_Server
attr Aubess20a_1 autocreate 1
attr Aubess20a_1 model OpenBK7231T_App
attr Aubess20a_1 readingList aubess20a_1:aubess20a_1/host:.* host\
aubess20a_1:aubess20a_1/energycounter/get:.* energy_total\
aubess20a_1:aubess20a_1/energycounter_last_hour/get:.* energy_lasthour\
aubess20a_1:aubess20a_1/connected:.* connected\
aubess20a_1:aubess20a_1/build:.* build\
aubess20a_1:aubess20a_1/mac:.* mac\
aubess20a_1:aubess20a_1/power/get:.* energy_power\
aubess20a_1:aubess20a_1/sockets:.* sockets\
aubess20a_1:aubess20a_1/current/get:.* current\
aubess20a_1:aubess20a_1/rssi:.* rssi\
aubess20a_1:aubess20a_1/uptime:.* uptime\
aubess20a_1:aubess20a_1/voltage/get:.* voltage\
aubess20a_1:aubess20a_1/freeheap:.* freeheap\
aubess20a_1:aubess20a_1/ip:.* ip\
aubess20a_1:aubess20a_1/0/get:.* POWER\
aubess20a_1:aubess20a_1/datetime:.* datetime\
aubess20a_1:aubess20a_1/energycounter_yesterday/get:.* get\
aubess20a_1:aubess20a_1/energycounter_today/get:.* get\
aubess20a_1:aubess20a_1/energycounter_clear_date/get:.* get
attr Aubess20a_1 setList on aubess20a_1/0/set 1\
off aubess20a_1/0/set 0
#  CID        aubess20a_1
#  DEF        aubess20a_1
#  FUUID      64416e9f-f33f-ff70-13cf-405bbe6af73606a4
#  IODev      MQTT2_Server
#  NAME      Aubess20a_1
#  NR        589
#  STATE      on
#  TYPE      MQTT2_DEVICE
#  READINGS:
#    2023-12-01 16:00:35  IODev          MQTT2_Server
#    2023-05-07 20:13:28  POWER          0
#    2023-05-07 20:13:20  build          Build on May  5 2023 10:21:44 version 1.17.104
#    2023-05-07 20:20:26  connected      offline
#    2023-05-07 20:17:54  current        0.000
#    2023-05-07 20:13:22  datetime        1683486800
#    2023-05-07 20:17:51  energy_lasthour 0.000
#    2023-05-07 20:17:09  energy_power    0.00
#    2023-05-07 20:17:23  energy_total    10.287
#    2023-05-07 20:13:26  freeheap        71280
#    2023-05-07 20:17:23  get            2023-05-07 19:06:18
#    2023-05-07 20:13:19  host            Aubess1
#    2023-05-07 20:13:27  ip              192.168.10.62
#    2023-05-07 20:13:21  mac            fc:67:1f:88:4b:05
#    2023-05-07 20:13:24  rssi            -54
#    2023-05-07 20:13:23  sockets        4
#    2023-04-21 19:16:21  state          on
#    2023-04-20 18:55:59  subscriptions  aubess20a_1/+/get aubess20a_1/+/set bekens/+/set cmnd/aubess20a_1/+ cmnd/bekens/+
#    2023-05-07 20:13:25  uptime          19
#    2023-05-07 20:17:54  voltage        222.5
#
setstate Aubess20a_1 on
setstate Aubess20a_1 2023-12-01 16:00:35 IODev MQTT2_Server
setstate Aubess20a_1 2023-05-07 20:13:28 POWER 0
setstate Aubess20a_1 2023-05-07 20:13:20 build Build on May  5 2023 10:21:44 version 1.17.104
setstate Aubess20a_1 2023-05-07 20:20:26 connected offline
setstate Aubess20a_1 2023-05-07 20:17:54 current 0.000
setstate Aubess20a_1 2023-05-07 20:13:22 datetime 1683486800
setstate Aubess20a_1 2023-05-07 20:17:51 energy_lasthour 0.000
setstate Aubess20a_1 2023-05-07 20:17:09 energy_power 0.00
setstate Aubess20a_1 2023-05-07 20:17:23 energy_total 10.287
setstate Aubess20a_1 2023-05-07 20:13:26 freeheap 71280
setstate Aubess20a_1 2023-05-07 20:17:23 get 2023-05-07 19:06:18
setstate Aubess20a_1 2023-05-07 20:13:19 host Aubess1
setstate Aubess20a_1 2023-05-07 20:13:27 ip 192.168.*****
setstate Aubess20a_1 2023-05-07 20:13:21 mac fc:67:1f:*****
setstate Aubess20a_1 2023-05-07 20:13:24 rssi -54
setstate Aubess20a_1 2023-05-07 20:13:23 sockets 4
setstate Aubess20a_1 2023-04-21 19:16:21 state on
setstate Aubess20a_1 2023-04-20 18:55:59 subscriptions aubess20a_1/+/get aubess20a_1/+/set bekens/+/set cmnd/aubess20a_1/+ cmnd/bekens/+
setstate Aubess20a_1 2023-05-07 20:13:25 uptime 19
setstate Aubess20a_1 2023-05-07 20:17:54 voltage 222.5

Ich vermute eher, dass ich es manuell angepasst habe.

Nachtrag: Im Anhang noch die Konfig von OpenBeken.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Nachtrag: Es fehlte noch die Rückmeldung im Fhemweb beim schalten am Plug.

attr Aubess20a_1 devStateIcon 1:on:off 0:off:on
attr Aubess20a_1 stateFormat POWER
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

denis.robel

Nach autocreate sieht dass device so aus:

defmod MQTT2_obkFFC5CF49 MQTT2_DEVICE obkFFC5CF49
attr MQTT2_obkFFC5CF49 readingList obkFFC5CF49:tele/obkFFC5CF49/SENSOR:.* { json2nameValue($EVENT) }\
obkFFC5CF49:obkFFC5CF49/power/get:.* get\
obkFFC5CF49:obkFFC5CF49/current/get:.* get\
obkFFC5CF49:obkFFC5CF49/voltage/get:.* get\
obkFFC5CF49:obkFFC5CF49/energycounter/get:.* get\
obkFFC5CF49:obkFFC5CF49/energycounter_last_hour/get:.* get\
obkFFC5CF49:tele/obkFFC5CF49/STATE:.* { json2nameValue($EVENT) }\
obkFFC5CF49:obkFFC5CF49/1/get:.* obkFFC5CF49_1_get\
obkFFC5CF49:stat/obkFFC5CF49/RESULT:.* { json2nameValue($EVENT) }
attr MQTT2_obkFFC5CF49 room MQTT2_DEVICE

setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 ENERGY_ApparentPower 20.306966
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 ENERGY_ConsumptionLastHour 0.000000
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 ENERGY_ConsumptionTotal 961.127807
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 ENERGY_Current 0.083003
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 ENERGY_Factor 0.443197
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 ENERGY_Power 9.000000
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 ENERGY_ReactivePower 18.203651
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 ENERGY_Voltage 244.650604
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Heap 25
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:43 IODev myBroker
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 LoadAvg 99
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 MqttCount 23
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 POWER ON
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Sleep 10
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 SleepMode Dynamic
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 Time 1970-01-01T00:00:00
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Uptime 5T20:33:10
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 UptimeSec 505990
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_AP 1
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_BSSId 30:B5:C2:5D:70:72
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_Channel 11
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_Downtime 0T06:13:34
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_LinkCount 21
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_Mode 11n
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_RSSI 76
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_SSId Viper
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 Wifi_Signal -62
setstate MQTT2_obkFFC5CF49 2023-12-21 19:13:16 get 248.9
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:59 obkFFC5CF49_1_get 1
setstate MQTT2_obkFFC5CF49 2023-12-21 19:12:43 subscriptions bekens_n/+/set cmnd/bekens_n/+ cmnd/obkFFC5CF49/+ obkFFC5CF49/+/get obkFFC5CF49/+/set stat/obkFFC5CF49/+ tele/obkFFC5CF49/+

Damit kann ich aber noch nicht schalten, weil die setList fehlt.

meine Anpassungen sind:
attr MQTT2_obkFFC5CF49 setList off:noArg cmnd/obkFFC5CF49/POWER1 0\
on:noArg cmnd/obkFFC5CF49/POWER1 1\
toggle:noArg cmnd/obkFFC5CF49/POWER1 2\
reboot:noArg cmnd/obkFFC5CF49/Restart 1
attr MQTT2_obkFFC5CF49 stateFormat { if(ReadingsVal("MQTT2_obkFFC5CF49","POWER",0) eq "ON") {return "on";;} else {return "off";;} }
attr MQTT2_obkFFC5CF49 webCmd on:off:reboot

Das stateFormat musste ich setzen, weil beim Drücken des Buttons der state in FHEM nicht mit gewechselt hat. 
VG

Denis

Beta-User

OK, das sieht mal wirklich komisch aus mit diesen subscriptions... Wer macht denn sowas?!?

Zur Sache: Sieh dir bitte mal https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt näher an, da ist vieles zumindest rudimentär erklärt, was möglich ist und wie man der Reihe nach vorgeht.

Das mit dem stateFormat hatten wir in frühen Fassungen von Tasmota auch so ähnlich, es geht aber vermutlich einfacher...

Hast du die von frober empfohlene Abkürzung mal versucht und einfach das "normale" Tasmota-attrTemplate drüber gebügelt? Das würde ich für den ersten Schritt auch mal empfehlen. Wenn's nicht funktioniert, kannst du immer noch wieder von vorne anfangen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

denis.robel

Hallo Beta-User,

ich habe mich mit dem MQTT Tutorial beschäftigt und es ist für mich nun Einiges klarer.

Das Mitschneiden des MQTT-Traffics funktioniert bei mir irgendwie nicht.
Wenn ich beim MQTT2_Server auf Show MQTT traffic klicke, bleibt das Feld darunter leer.
Den Filter hab ich nicht verändert und der steht auf .*

Gibt es noch eine Einstellung, die gesetzt werden muss, damit das funktioniert?
VG

Denis

rudolfkoenig

ZitatWenn ich beim MQTT2_Server auf Show MQTT traffic klicke, bleibt das Feld darunter leer.
Entweder werden keine Daten zu MQTT2_Server gesendet, oder der Browser kann keine websocket/longpoll Verbindug zu FHEM aufbauen.

Ersteres kann man mit "attr MQTT2_server verbose 4" und beobachten des FHEM-Logs pruefen.
Falls Letzteres, dann muesste im JavaScript Fenster des Browsers eine Fehlermeldung zu sehen sein.