MQTT2 Server löschen von "alten" RETAIN Einträgen

Begonnen von cortmen, 30 Juni 2019, 16:08:38

Vorheriges Thema - Nächstes Thema

cortmen

 :)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.




hexenmeister

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.

cortmen


rudolfkoenig

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.

cortmen


cortmen

 ;)
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



rudolfkoenig

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>

cortmen

hat geklappt, Danke für die Top Unterstützung

grappa24

muss das löschen mal aufgreifen:

Kann man bei den topics auch mit wildcards arbeiten oder muss man immer alles komplett angeben?

Gruß
grappa24
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

rudolfkoenig

Zum Loeschen per set muss ein topic exakt angegeben werden.

Dr. Boris Neubert

#10
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


Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

Ich habe mein Problem selbst gelöst: ich muss (natürlich :-) das ganze Topic angeben.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!