:)Tach zusammen,
Wie kann ich "alte" Einträge im Reading RETAIN des MQTT2 Server löschen.
Einträge mit (null)
milight/states/0xCCC1/rgbw/0 {"state":"ON","status":"ON","brightness":102,"device_id":52417,"group_id":0,"device_type":"rgbw"}
milight/states/0xCCC2/rgbw/1 {"state":"OFF","status":"OFF","hue":21,"color":{"r":255,"g":89,"b":0},"device_id":52418,"group_id":1,"device_type":"rgbw"}
milight/LWT {"status":"connected","firmware":"milight-hub","version":"1.9.2","ip_address":"192.168.0.85","reset_reason":"Software/System restart"}
milight/states/0xCCC1/rgb_cct/1 {"state":"OFF","status":"OFF","device_id":52417,"group_id":1,"device_type":"rgb_cct"}
milight/states/0xCCC1/rgbw/1 {"state":"OFF","status":"OFF","brightness":163,"level":64,"device_id":52417,"group_id":1,"device_type":"rgbw"}
milight/states/0xFFF1/rgbw/1 (null)
milight/states/0xFFF1/rgb_cct/1 (null)
ein deletereading <devspec> <readingname>
RETAIN lässt die Einträge nach einiger Zeit wieder auftauchen.
Das betr. MQTT2 Device sind seit einigen Tagen nicht mehr vorhanden.
Die 'retained' Nachrichten speichert der MQTT-Server, ob Mosquitto oder MQTT2_SERVER. Zum Löschen muss laut Spezifikation eine Nachicht ohne Inhalt (leer) auf diesen Topic gesendet werden. Am einfachsten geht das mit dem Tool MQTTExplorer (http://mqtt-explorer.com/) Das programm erlaubt recht bequemm solche Nachrichten zu löschen.
:)thnx für Info
ZitatZum Löschen muss laut Spezifikation eine Nachicht ohne Inhalt (leer) auf diesen Topic gesendet werden.
Das habe ich jetzt im MQTT2_SERVER implementiert :)
Loeschen kann man ein LWT auch mit "set mqtt2_server publish -r LWT_TOPIC"
update ist morgen ab acht Uhr verfuegbar.
;)Danke sehr
;)
Bei mir klappt das löschen noch nicht.
das sind die Retain die gelöscht werden sollen.
,"milight/states/0xFFF1/rgb_cct/1":"","milight/states/0xFFF1/rgbw":"","milight/states/0xFFF2":"","milight/states/0xFFF2/rgb_cct":"","milight/states/0xFFF2/rgb_cct/1":"","milight/states/0xFFF2/rgbw/1":""}
set MQTT2_FHEM_Server publish -r milight/states/0xFFF1/rgb_cct/1":""
oder auch ein
set MQTT2_FHEM_Server publish -r milight/states/0xFFF1/rgb_cct/1
Bei mir funktioniert es:
fhem> l -r m2s
define m2s MQTT2_SERVER 1883 global
setstate m2s 2019-07-01 08:37:17 RETAIN { "milight/states/0xFFF1/rgb_cct/1":"", "milight/states/0xFFF1/rgbw":"", "milight/states/0xFFF2":"", "milight/states/0xFFF2/rgb_cct":"", "milight/states/0xFFF2/rgb_cct/1":"", "milight/states/0xFFF2/rgbw/1":""}
setstate m2s 2019-07-03 08:19:02 nrclients 0
setstate m2s 2019-07-03 08:19:02 state Initialized
fhem> set m2s publish -r milight/states/0xFFF1/rgb_cct/1
fhem> l -r m2s
define m2s MQTT2_SERVER 1883 global
setstate m2s 2019-07-03 08:20:47 RETAIN {"milight/states/0xFFF1/rgbw":"","milight/states/0xFFF2":"","milight/states/0xFFF2/rgb_cct":"","milight/states/0xFFF2/rgb_cct/1":"","milight/states/0xFFF2/rgbw/1":""}
setstate m2s 2019-07-03 08:19:02 nrclients 0
setstate m2s 2019-07-03 08:19:02 state Initialized
fhem> version MQTT2_SERVER
File Rev Last Change
00_MQTT2_SERVER.pm 19753 2019-07-01 06:42:12Z rudolfkoenig
fhem>
hat geklappt, Danke für die Top Unterstützung
muss das löschen mal aufgreifen:
Kann man bei den topics auch mit wildcards arbeiten oder muss man immer alles komplett angeben?
Gruß
grappa24
Zum Loeschen per set muss ein topic exakt angegeben werden.
version MQTT2_SERVER
File Rev Last Change
00_MQTT2_SERVER.pm 24984 2021-09-16 17:21:43Z rudolfkoenig
Bei mir funktioniert ein
set MQTTBroker publish -r LWT
nicht. Die alten Einträge im RETAIN-Reading bleiben bestehen.
list MQTTBroker
Internals:
CONNECTS 491
Clients :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
ClientsKeepOrder 1
DEF 1883 global
FD 9
FUUID 608ee93f-f33f-1bf0-4de4-83466164715f7df0
NAME MQTTBroker
NR 52
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
.attraggr:
.attrminint:
.clientArray:
MQTT2_DEVICE
MatchList:
1:MQTT2_DEVICE ^.
2:MQTT_GENERIC_BRIDGE ^.
READINGS:
2021-11-07 14:54:20 RETAIN {"tele/DVES_3E744C/LWT":"Online","tele/DVES_B4EA79/LWT":"Offline","tele/DVES_B4EB31/LWT":"Online","tele/DVES_B9B00E/LWT":"Online","tele/DVES_C5BF63/LWT":"Online","tele/tasmota_3E744C/LWT":"Offline","tele/tasmota_B4EA79/LWT":"Offline","tele/tasmota_B4EB31/LWT":"Offline","tele/tasmota_B9B00E/LWT":"Offline","tele/tasmota_C5BF63/LWT":"Offline"}
2021-11-07 14:54:20 lastPublish LWT_TOPIC:
2021-11-07 15:01:45 nrclients 7
2021-09-21 19:24:57 state Initialized
clients:
MQTTBroker_192.168.11.137_55714 1
MQTTBroker_192.168.11.176_53214 1
MQTTBroker_192.168.11.177_56950 1
MQTTBroker_192.168.11.178_56618 1
MQTTBroker_192.168.11.179_53077 1
MQTTBroker_192.168.11.55_54486 1
MQTTBroker_192.168.11.56_55403 1
retain:
tele/DVES_3E744C/LWT:
ts 1634587473.32756
val Online
tele/DVES_B4EA79/LWT:
ts 1632245101.09679
val Offline
tele/DVES_B4EB31/LWT:
ts 1634733921.54705
val Online
tele/DVES_B9B00E/LWT:
ts 1634733921.90732
val Online
tele/DVES_C5BF63/LWT:
ts 1636119256.43117
val Online
tele/tasmota_3E744C/LWT:
ts 1632245101.09679
val Offline
tele/tasmota_B4EA79/LWT:
ts 1632245101.09679
val Offline
tele/tasmota_B4EB31/LWT:
ts 1632245101.09679
val Offline
tele/tasmota_B9B00E/LWT:
ts 1632245101.09679
val Offline
tele/tasmota_C5BF63/LWT:
ts 1632245101.09679
val Offline
Attributes:
autocreate complex
room Interfaces
Ich habe mein Problem selbst gelöst: ich muss (natürlich :-) das ganze Topic angeben.