MQTT Geräte / Werte weitergeben

Begonnen von Jewe, 14 Januar 2024, 16:39:39

Vorheriges Thema - Nächstes Thema

Jewe

Hallo,

ich habe einen MQTT2-Server am laufen und von diversen Geräten bekomme ich die Readings / Werte.
Nun möchte ich alle Werte der Geräte auch noch an einen andere VM weitergeben. Dazu müsste nun Fhem die Sachen gleichzeitig publishen.

Kann mir jemand dabei auf die Sprünge helfen ?

Dankschee.

define mqtt2Server MQTT2_SERVER 1883 global
attr mqtt2Server DbLogExclude .*
attr mqtt2Server autocreate complex
attr mqtt2Server icon mqtt
attr mqtt2Server rePublish 1
attr mqtt2Server room MQTT2_DEVICE,x_System
#   CONNECTS   128
#   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
#   ClientsKeepOrder 1
#   DEF        1883 global
#   FD         31
#   FUUID      6232d112-f33f-9f49-b744-2b9048d419f0a0cb
#   FVERSION   00_MQTT2_SERVER.pm:0.281910/2023-11-20
#   NAME       mqtt2Server
#   NR         678
#   PORT       1883
#   STATE      Initialized
#   TYPE       MQTT2_SERVER
#   eventCount 250
#   MatchList:
#     1:MQTT2_DEVICE ^.
#     2:MQTT_GENERIC_BRIDGE ^.
#   READINGS:
#     2024-01-14 13:12:58   lastPublish     4444:
#     2024-01-14 16:03:56   nrclients       10
#     2024-01-14 13:14:34   state           Initialized
#   clients:
#     mqtt2Server_192.168.6.174_52655 1
#     mqtt2Server_192.168.6.193_52057 1
#     mqtt2Server_192.168.6.197_50655 1
#     mqtt2Server_192.168.6.205_65265 1
#     mqtt2Server_192.168.6.42_32511 1
#     mqtt2Server_192.168.6.45_18188 1
#     mqtt2Server_192.168.6.47_24045 1
#     mqtt2Server_192.168.6.62_27940 1
#     mqtt2Server_192.168.6.91_49264 1
#     mqtt2Server_192.168.6.92_54073 1
#   retain:
#
setstate mqtt2Server 2024-01-14 13:12:58 lastPublish 4444:
setstate mqtt2Server 2024-01-14 16:03:56 nrclients 10
setstate mqtt2Server 2024-01-14 13:14:34 state Initialized


define MQTT2_Stromzaehler MQTT2_DEVICE Stromzaehler
attr MQTT2_Stromzaehler DbLogExclude .*
attr MQTT2_Stromzaehler DbLogInclude SENSOR_Strom_Power_cur,SENSOR_Strom_Total_in,statSENSOR,User_SENSOR_Strom_Total_out,statUser_SENSOR
attr MQTT2_Stromzaehler IODev mqtt2Server
attr MQTT2_Stromzaehler event-on-change-reading .*
attr MQTT2_Stromzaehler icon measure_power
attr MQTT2_Stromzaehler readingList Stromzaehler:tele/tasmota_CF9A06/LWT:.* LWT\
Stromzaehler:cmnd/tasmota_CF9A06/POWER:.* POWER\
Stromzaehler:tele/tasmota_CF9A06/INFO1:.* { json2nameValue($EVENT, 'INFO1_', $JSONMAP) }\
Stromzaehler:tele/tasmota_CF9A06/INFO2:.* { json2nameValue($EVENT, 'INFO2_', $JSONMAP) }\
Stromzaehler:tele/tasmota_CF9A06/INFO3:.* { json2nameValue($EVENT, 'INFO3_', $JSONMAP) }\
Stromzaehler:stat/tasmota_CF9A06/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }\
Stromzaehler:stat/tasmota_CF9A06/POWER:.* POWER\
Stromzaehler:tele/tasmota_CF9A06/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }\
Stromzaehler:tele/tasmota_CF9A06/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }\
Stromzaehler:tasmota/discovery/AC0BFBCF9A06/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
Stromzaehler:tasmota/discovery/AC0BFBCF9A06/sensors:.* { json2nameValue($EVENT, 'sensors_', $JSONMAP) }
attr MQTT2_Stromzaehler room MQTT2_DEVICE,PV,Stromverbrauch
attr MQTT2_Stromzaehler stateFormat {sprintf("Strom: %.0f W - Zählerstand: %.2f kWh - heute: %.2f kWh - gestern: %.2f kWh - Eingespeist heute: %.2f kWh - Gesamt %.2f kWh - WebLink: %s", \
ReadingsVal($name,"SENSOR_Strom_Power_cur",0), ReadingsVal($name,"SENSOR_Strom_Total_in",0), ReadingsVal($name,"statSENSOR_Strom_Total_inDay",0), \
ReadingsVal($name,"statSENSOR_Strom_Total_inDayLast",0), ReadingsVal($name,"statUser_SENSOR_Strom_Total_outDay",0), ReadingsVal($name,"User_SENSOR_Strom_Total_out",0), ReadingsVal($name,"WebLink","none"))}
attr MQTT2_Stromzaehler userReadings User_SENSOR_Strom_Power_in:SENSOR_Strom_Power_cur.* integral {ReadingsVal("$name","SENSOR_Strom_Power_cur","")>0?ReadingsVal("$name","SENSOR_Strom_Power_cur","")/3600000:0},\
User_SENSOR_Strom_Total_out:SENSOR_Strom_Power_cur.* integral {ReadingsVal("$name","SENSOR_Strom_Power_cur","")<0?ReadingsVal("$name","SENSOR_Strom_Power_cur","")/-3600000:0},\
WebLink:SENSOR_Time:.* {my $io = InternalVal($name,'IODev','unkn')->{NAME}//return;; \
my $ip = InternalVal($name,"${io}_CONN",'none');;\
$ip=~s{.*_([.\d]+)_.*}{$1}xe;;qq(<html><a href='http://$ip'>WEB</a></html>)}
#   CID        Stromzaehler
#   DEF        Stromzaehler
#   FUUID      6372b3b1-f33f-9f49-ce5d-55bea12eeb122b74
#   FVERSION   10_MQTT2_DEVICE.pm:0.279350/2023-09-05
#   IODev      mqtt2Server
#   LASTInputDev mqtt2Server
#   MSGCNT     23892
#   NAME       MQTT2_Stromzaehler
#   NR         734
#   STATE      Strom: 590 W - Zählerstand: 43343.45 kWh - heute: 3.03 kWh - gestern: 0.00 kWh - Eingespeist heute: -16.77 kWh - Gesamt 0.02 kWh - WebLink: <html><a href='http://192.168.6.91'>WEB</a></html>
#   TYPE       MQTT2_DEVICE
#   eventCount 23982
#   mqtt2Server_CONN mqtt2Server_192.168.6.91_49264
#   mqtt2Server_MSGCNT 23892
#   mqtt2Server_TIME 2024-01-14 16:38:57
#   Helper:
#     DBLOG:
#       SENSOR_Strom_Power_cur:
#         DbLog:
#           TIME       1705246737.46355
#           VALUE      590
#       SENSOR_Strom_Total_in:
#         DbLog:
#           TIME       1705246737.46355
#           VALUE      43343.451
#       User_SENSOR_Strom_Power_in:
#         DbLog:
#           TIME       1705233327.32213
#           VALUE      1502.57428586464
#       User_SENSOR_Strom_Total_out:
#         DbLog:
#           TIME       1705241907.4561
#           VALUE      0.0234012319306864
#       statSENSOR_Strom_Total_in:
#         DbLog:
#           TIME       1705233327.32213
#           VALUE      Hour: 0.555 Day: 6.878 Month: 185.384 Year: 185.384
#       statSENSOR_Strom_Total_inDay:
#         DbLog:
#           TIME       1705233327.32213
#           VALUE      6.878
#       statSENSOR_Strom_Total_inDayLast:
#         DbLog:
#           TIME       1705186795.0099
#           VALUE      16.418
#       statSENSOR_Strom_Total_inHour:
#         DbLog:
#           TIME       1705233327.32213
#           VALUE      0.555
#       statSENSOR_Strom_Total_inHourLast:
#         DbLog:
#           TIME       1705229995.00745
#           VALUE      0.563
#       statSENSOR_Strom_Total_inLast:
#         DbLog:
#           TIME       1705229995.00745
#           VALUE      Hour: 0.563 Day: 16.418 Month: 472.398 Year: 1370.037 (since: 2023-09-20 )
#       statSENSOR_Strom_Total_inMonth:
#         DbLog:
#           TIME       1705233327.32213
#           VALUE      185.384
#       statSENSOR_Strom_Total_inYear:
#         DbLog:
#           TIME       1705233327.32213
#           VALUE      185.384
#       statUser_SENSOR_Strom_Total_out:
#         DbLog:
#           TIME       1705233267.3435
#           VALUE      Hour: 0.013255395949901327 Day: 0.015338191457701100 Month: 1.203518193869800967 Year: 1.203518193869800967
#       statUser_SENSOR_Strom_Total_outDay:
#         DbLog:
#           TIME       1705233267.3435
#           VALUE      0.015338191457701100
#       statUser_SENSOR_Strom_Total_outDayLast:
#         DbLog:
#           TIME       1705186795.0099
#           VALUE      0.000000000000000000
#       statUser_SENSOR_Strom_Total_outHour:
#         DbLog:
#           TIME       1705233267.3435
#           VALUE      0.013255395949901327
#       statUser_SENSOR_Strom_Total_outHourLast:
#         DbLog:
#           TIME       1705229995.00745
#           VALUE      0.002082795507799773
#       statUser_SENSOR_Strom_Total_outLast:
#         DbLog:
#           TIME       1705229995.00745
#           VALUE      Hour: 0.002082795507799773 Day: 0.000000000000000000 Month: 1.844555299286200878 Year: 15.592384650050000516 (since: 2023-09-20 )
#       statUser_SENSOR_Strom_Total_outMonth:
#         DbLog:
#           TIME       1705233267.3435
#           VALUE      1.203518193869800967
#       statUser_SENSOR_Strom_Total_outYear:
#         DbLog:
#           TIME       1705233267.3435
#           VALUE      1.203518193869800967
#   OLDREADINGS:
#   READINGS:
#     2024-01-14 13:10:03   IODev           mqtt2Server
#     2024-01-14 16:38:57   SENSOR_Strom_Meter_id 0649534b010722f52389
#     2024-01-14 16:38:57   SENSOR_Strom_Power_cur 590
#     2024-01-14 16:38:57   SENSOR_Strom_Power_p1 0
#     2024-01-14 16:38:57   SENSOR_Strom_Power_p2 0
#     2024-01-14 16:38:57   SENSOR_Strom_Power_p3 0
#     2024-01-14 16:38:57   SENSOR_Strom_Total_in 43343.451
#     2024-01-14 16:38:57   SENSOR_Strom_Total_out 0.000
#     2024-01-14 16:38:57   SENSOR_Time     2024-01-14T16:38:57
#     2024-01-14 16:38:57   STATE_Heap      21
#     2024-01-14 16:38:57   STATE_LoadAvg   19
#     2024-01-14 16:38:57   STATE_MqttCount 33
#     2024-01-14 16:38:57   STATE_POWER     OFF
#     2024-01-14 16:38:57   STATE_Sleep     50
#     2024-01-14 16:38:57   STATE_SleepMode Dynamic
#     2024-01-14 16:38:57   STATE_Time      2024-01-14T16:38:57
#     2024-01-14 16:38:57   STATE_Uptime    30T17:34:37
#     2024-01-14 16:38:57   STATE_UptimeSec 2655277
#     2024-01-14 16:38:57   STATE_Wifi_AP   1
#     2024-01-14 16:38:57   STATE_Wifi_BSSId E6:63:DA:AD:EC:01
#     2024-01-14 16:38:57   STATE_Wifi_Channel 6
#     2024-01-14 16:38:57   STATE_Wifi_Downtime 0T00:02:45
#     2024-01-14 16:38:57   STATE_Wifi_LinkCount 10
#     2024-01-14 16:38:57   STATE_Wifi_Mode 11n
#     2024-01-14 16:38:57   STATE_Wifi_RSSI 50
#     2024-01-14 16:38:57   STATE_Wifi_SSId WELAN
#     2024-01-14 16:38:57   STATE_Wifi_Signal -75
#     2024-01-14 16:38:57   User_SENSOR_Strom_Power_in 3.03060090528634
#     2024-01-14 16:38:57   User_SENSOR_Strom_Total_out 0.0234012319306864
#     2024-01-14 16:38:57   WebLink         <html><a href='http://192.168.6.91'>WEB</a></html>
#     2024-01-14 16:38:57   ecSENSOR_Strom_Power_curIn 590
#     2024-01-14 16:38:57   ecSENSOR_Strom_Power_curInOutOld 590
#     2024-01-14 16:38:57   ecSENSOR_Strom_Power_curInOutTime 1705246737.477465
#     2024-01-14 16:38:57   ecSENSOR_Strom_Power_curInTotal 3.0272250916288
#     2024-01-14 16:38:57   ecSENSOR_Strom_Power_curOut 0
#     2024-01-14 15:17:57   ecSENSOR_Strom_Power_curOutTotal 6.26366701662621
#     2024-01-14 16:38:57   statSENSOR_Strom_Total_in Hour: 1.028 Day: 3.034 Month: 3.034 Year: 3.034
#     2024-01-14 16:38:57   statSENSOR_Strom_Total_inDay 3.034
#     2024-01-14 16:38:57   statSENSOR_Strom_Total_inHour 1.028
#     2024-01-14 15:59:55   statSENSOR_Strom_Total_inHourLast 1.095
#     2024-01-14 15:59:55   statSENSOR_Strom_Total_inLast Hour: 1.095 Day: - Month: - Year: - (since:  )
#     2024-01-14 16:38:57   statSENSOR_Strom_Total_inMonth 3.034
#     2024-01-14 16:38:57   statSENSOR_Strom_Total_inYear 3.034
#     2024-01-14 16:38:57   statUser_SENSOR_Strom_Total_out Hour: 0.000000000000000000 Day: -16.772501611989120818 Month: -16.772501611989120818 Year: -16.772501611989120818
#     2024-01-14 16:38:57   statUser_SENSOR_Strom_Total_outDay -16.772501611989120818
#     2024-01-14 16:38:57   statUser_SENSOR_Strom_Total_outHour 0.000000000000000000
#     2024-01-14 15:59:55   statUser_SENSOR_Strom_Total_outHourLast 0.002108194245232502
#     2024-01-14 15:59:55   statUser_SENSOR_Strom_Total_outLast Hour: 0.002108194245232502 Day: - Month: - Year: - (since:  )
#     2024-01-14 16:38:57   statUser_SENSOR_Strom_Total_outMonth -16.772501611989120818
#     2024-01-14 16:38:57   statUser_SENSOR_Strom_Total_outYear -16.772501611989120818
#     2024-01-14 13:12:58   subscriptions   cmnd/Stromzaehler_fb/# cmnd/tasmota_CF9A06/# cmnd/tasmotas/#
#   helper:
#     _98_statistics Statistik_Stromzaehler
#
setstate MQTT2_Stromzaehler Strom: 590 W - Zählerstand: 43343.45 kWh - heute: 3.03 kWh - gestern: 0.00 kWh - Eingespeist heute: -16.77 kWh - Gesamt 0.02 kWh - WebLink: <html><a href='http://192.168.6.91'>WEB</a></html>
setstate MQTT2_Stromzaehler 2024-01-14 13:10:03 IODev mqtt2Server
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 SENSOR_Strom_Meter_id 0649534b010722f52389
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 SENSOR_Strom_Power_cur 590
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 SENSOR_Strom_Power_p1 0
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 SENSOR_Strom_Power_p2 0
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 SENSOR_Strom_Power_p3 0
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 SENSOR_Strom_Total_in 43343.451
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 SENSOR_Strom_Total_out 0.000
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 SENSOR_Time 2024-01-14T16:38:57
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Heap 21
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_LoadAvg 19
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_MqttCount 33
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_POWER OFF
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Sleep 50
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_SleepMode Dynamic
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Time 2024-01-14T16:38:57
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Uptime 30T17:34:37
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_UptimeSec 2655277
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_AP 1
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_BSSId E6:63:DA:AD:EC:01
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_Channel 6
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_Downtime 0T00:02:45
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_LinkCount 10
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_Mode 11n
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_RSSI 50
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_SSId WELAN
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 STATE_Wifi_Signal -75
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 User_SENSOR_Strom_Power_in 3.03060090528634
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 User_SENSOR_Strom_Total_out 0.0234012319306864
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 WebLink <html><a href='http://192.168.6.91'>WEB</a></html>
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 ecSENSOR_Strom_Power_curIn 590
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 ecSENSOR_Strom_Power_curInOutOld 590
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 ecSENSOR_Strom_Power_curInOutTime 1705246737.477465
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 ecSENSOR_Strom_Power_curInTotal 3.0272250916288
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 ecSENSOR_Strom_Power_curOut 0
setstate MQTT2_Stromzaehler 2024-01-14 15:17:57 ecSENSOR_Strom_Power_curOutTotal 6.26366701662621
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statSENSOR_Strom_Total_in Hour: 1.028 Day: 3.034 Month: 3.034 Year: 3.034
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statSENSOR_Strom_Total_inDay 3.034
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statSENSOR_Strom_Total_inHour 1.028
setstate MQTT2_Stromzaehler 2024-01-14 15:59:55 statSENSOR_Strom_Total_inHourLast 1.095
setstate MQTT2_Stromzaehler 2024-01-14 15:59:55 statSENSOR_Strom_Total_inLast Hour: 1.095 Day: - Month: - Year: - (since:  )
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statSENSOR_Strom_Total_inMonth 3.034
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statSENSOR_Strom_Total_inYear 3.034
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statUser_SENSOR_Strom_Total_out Hour: 0.000000000000000000 Day: -16.772501611989120818 Month: -16.772501611989120818 Year: -16.772501611989120818
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statUser_SENSOR_Strom_Total_outDay -16.772501611989120818
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statUser_SENSOR_Strom_Total_outHour 0.000000000000000000
setstate MQTT2_Stromzaehler 2024-01-14 15:59:55 statUser_SENSOR_Strom_Total_outHourLast 0.002108194245232502
setstate MQTT2_Stromzaehler 2024-01-14 15:59:55 statUser_SENSOR_Strom_Total_outLast Hour: 0.002108194245232502 Day: - Month: - Year: - (since:  )
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statUser_SENSOR_Strom_Total_outMonth -16.772501611989120818
setstate MQTT2_Stromzaehler 2024-01-14 16:38:57 statUser_SENSOR_Strom_Total_outYear -16.772501611989120818
setstate MQTT2_Stromzaehler 2024-01-14 13:12:58 subscriptions cmnd/Stromzaehler_fb/# cmnd/tasmota_CF9A06/# cmnd/tasmotas/#


DasQ

Du hast den Grundgedanken von MQTT noch nicht ganz verinnerlicht.

Will die VM was vom MQTT mitlauschen muss es das topic abonieren (subscribe)
Dann bekommt sie die Infos von ganz allein.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Jewe

ZitatDu hast den Grundgedanken von MQTT noch nicht ganz verinnerlicht.

Ja, das habe ich sicherlich noch nicht ganz.
In meinem Stromzaehler habe ich Fhem als MQTT Host angegeben und ein Device wird dazu in Fhem angelegt. Dort geben ich dann die topics in der readingslist ein.
In meiner anderen VM muss ich dann Fhem als MQTT-Broker angeben.
D.h. ich muss dann dort die gewünschten topics einfach eingeben und dann holt er die sich Automatisch?

Jewe

Zitat von: Jewe am 14 Januar 2024, 17:02:49
ZitatDu hast den Grundgedanken von MQTT noch nicht ganz verinnerlicht.

Ja, das habe ich sicherlich noch nicht ganz.
In meinem Stromzaehler habe ich Fhem als MQTT Host angegeben und ein Device wird dazu in Fhem angelegt. Dort geben ich dann die topics in der readingslist ein.
In meiner anderen VM muss ich dann Fhem als MQTT-Broker angeben.
D.h. ich muss dann dort die gewünschten topics einfach eingeben und dann holt er die sich Automatisch?

EDIT: Habe mir das nun mit dem MQTT Explorer angeschaut. Da kommt alles. d.h. ich muss in der neuen VM schauen wie es dort geht.