FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: purehunter am 07 Oktober 2022, 09:54:29

Titel: [gelöst] MQTT Device umbenennen - wie?
Beitrag von: purehunter am 07 Oktober 2022, 09:54:29
Hallo,
ich bin ganz neu hier :)

... und habe folgendes Problem:
ich habe einen "Gaszähler", (ESP32-CAM mit AI-on-the-edge), der messages an den MQTT2 Server sendet. Den Gaszähler hatte ich zu Beginn auch noch nur unvollständig eingerichtet, also teilweise mit defaults, ich wollte "einfach nur sehen ob es geht". Möglicherweise stand da auch mal irgendwo "watermeter", das Device ist ja universell.
Jetzt wird er mir immer als "watermeter" in FHEM angezeigt, was natürlich nicht so sinnvoll ist.

Ich habe dann alles was mit MQTT2_DEVICE im Webinterface sichtbar ist, gelöscht (Delete this Device).
Aber der "MQTT2_watermeter" erscheint nach einem Reboot von FHEM immer wieder.

Der Gaszähler sendet Pakete in der Art:
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=2591, gaszaehler/connection, connected
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=19857, gaszaehler/connection, connected
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=6863, gaszaehler/uptime, 758
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=28926, gaszaehler/freeMem, 3075755
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=47869, gaszaehler/wifiRSSI, -46
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=7355, gaszaehler/CPUtemp, 41.111111
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=16534, gaszaehler/Gas/value, 6459.098
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=8702, gaszaehler/Gas/error, no error
2022-10-07T09:30:15: MQTT - sent publish successful in MQTTPublish, msg_id=15107, gaszaehler/Gas/rate, 0.000000


in FHEM sehe ich unter "Attributes/reading list" folgendes:

watermeter:gaszaehler/connection:.* connection
watermeter:gaszaehler/uptime:.* uptime
watermeter:gaszaehler/freeMem:.* freeMem
watermeter:gaszaehler/wifiRSSI:.* wifiRSSI
watermeter:gaszaehler/CPUtemp:.* CPUtemp
watermeter:gaszaehler/Gas/value:.* value
watermeter:gaszaehler/Gas/error:.* error
watermeter:gaszaehler/Gas/rate:.* rate
watermeter:gaszaehler/Gas/changeabsolut:.* changeabsolut
watermeter:gaszaehler/Gas/raw:.* raw
watermeter:gaszaehler/Gas/timestamp:.* timestamp
watermeter:gaszaehler/Gas/json:.* { json2nameValue($EVENT) }



Ich hoffe, jemand kann mir da weiterhelfen.

Gruß purehunter
Titel: Antw:MQTT Device umbenennen - wie?
Beitrag von: kadettilac89 am 07 Oktober 2022, 10:53:13
Zitat von: purehunter am 07 Oktober 2022, 09:54:29

Ich hoffe, jemand kann mir da weiterhelfen.

Gruß purehunter

Gehts dir nur um die Anzeige des Namens? Es gibt das Attribut alias. Wenn du das setzt wird Alias statt technischem Namen angezeigt
Titel: Antw:MQTT Device umbenennen - wie?
Beitrag von: purehunter am 07 Oktober 2022, 11:34:57
Ja, zunächst geht es mir nur um die Benennung. Wenn da nicht noch mehr Probleme in der Zukunft hochkommen, was ich vermute.

Ich habe alias auf das Device angewendet, das hat funktioniert. Danke für den Tipp.

Aber ich sehe schon, der dazugehörige Plot heißt immer noch "SVG_FileLog_MQTT2_watermeter_2". Kann man den auch einfach so umbenennen?

Dann habe ich noch gesehen, dass die Client ID des Devices in FHEM "watermeter" heißt. Wird die vom Device so gesendet? Ich kann sie nämlich in der Konfiguration des Devices nicht sehen/ändern. Ich kann dort nur "main topic" angeben.
Titel: Antw:MQTT Device umbenennen - wie?
Beitrag von: betateilchen am 07 Oktober 2022, 12:19:55
ich glaube, Du bringst hier gerade ganz viele Dinge durcheinander.

- devicename = beliebig, Du kannst ein device (fast) beliebig benennen.
- aliasname = wenn Du für devices z.B. logische Namensmuster verwendest, kannst Du per alias einen Anzeigenamen verwenden, der sich innerhalb von FHEM auf nichts weiter auswirkt. Das bedeutet, dass ein notify immer auf den devicename triggern sollte

- das SVG device = der devicename des SVG-device ist beliebig, es gibt ein bestimmtes Muster, wenn ein SVG von FHEM automatisiert (über autocreate oder über "Create SVG plot") erzeugt wird. Aber den Namen kannst Du im Nachgang mit rename ändern.

- die MQTT Daten - schau doch mal in die Attribute des zugehörigen Gerätes. Du hattest doch schon geschrieben

Zitatin FHEM sehe ich unter "Attributes/reading list" folgendes:

watermeter:gaszaehler/connection:.* connection

also ist in dem Attribut festgelegt, welche eingehenden mqtt Nachrichten erwartet werden.
Die Client-ID hat normalerweise wenig mit dem "main topic" zu tun (es ist aber auch nicht ausgeschlossen).
Aber das, was im main topic Deines Gerätes angegeben ist, muss zu dem Wert passen, den Du im Attribut readingList auf FHEM Seite angegeben hast.
Titel: Antw:MQTT Device umbenennen - wie?
Beitrag von: purehunter am 07 Oktober 2022, 12:44:08
Habe jetzt gesehen, dass die Client-ID (=watermeter) von der Firmware meines Clients "vorgegeben" ist und nicht je Device konfiguriert werden kann, zumindest habe ich keinen Weg gefunden (außer den Source Code umschreiben...).

Habe den Plot jetzt auch umbenannt. Danke auch für den Tipp.
Bin halt erst den 2. Tag an FHEM,... da hören sich die Fragen vielleicht ziemlich dämlich an.
Titel: Antw:[gelöst] MQTT Device umbenennen - wie?
Beitrag von: pink99panther am 07 Oktober 2022, 15:14:00
Hallo purehunter,

setz mal in der Config von Deinem "ESP32-CAM mit AI-on-the-edge"
den Haken ganz oben auf der Seite bei Expert Mode, dann kalppt das auch mit dem
Ändern der ClientID

LG
pink99panther