MQTT2_FHEM_Server findet nicht openDTU

Begonnen von boeho, 29 September 2024, 11:29:07

Vorheriges Thema - Nächstes Thema

boeho

Hallo, brauche Hilfe. Habe einen Hoymiles Wechselrichter mit einer openDTU. Über die Webseite der openDTU läuft alles ok.
Habe dann den MQTT2_FHEM_Server angelegt mit
define MQTT2_FHEM_Server MQTT2_SERVER 1883 global
attr MQTT2_FHEM_Server autocreate simple
attr MQTT2_FHEM_Server room MQTT

Im Log steht nur: MQTT2_FHEM_Server: port 1883 openedList zeigt folgendes:Internals:
   CFGFN      ./FHEM/99_my_PV_Solar_01.cfg
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        1883 global
   FD         117
   FUUID      66e2d84e-f33f-25d3-c480-4424ebdd93ab941c
   NAME       MQTT2_FHEM_Server
   NR         3366
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2024-09-29 11:12:38   nrclients       0
     2024-09-29 11:12:58   state           Initialized
   clients:
   retain:
Attributes:
   autocreate simple
   room       MQTT

Momentan habe ich nur den Wechselrichter als MQTT Gerät, wird aber nicht automatisch gefunden und angelegt.
Was ist falsch definiert bzw fehlt??

Beta-User

Zitat von: boeho am 29 September 2024, 11:29:07Was ist falsch definiert bzw fehlt??
Von der FHEM-Seite her sieht es gut (wenn man davon absieht, dass "autocreate" hier überflüssig ist und das mit includes nach cfg-Editiererei (=Pfui) aussieht).

Wie sind die Einstellungen auf der DTU? Da muss afair MQTT aktiviert werden und v.a. der Server angegeben werden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

tomcat.x

Zitat von: Beta-User am 29 September 2024, 12:05:13Da muss afair MQTT aktiviert werden und v.a. der Server angegeben werden.

Genau. Das autocreate beim MQTT2_SERVER bedeutet, dass in FHEM automatisch Geräte angelegt werden, die der MQTT Server "kennt". Damit der die kennt, müssen sich die Geräte aber mit ihm verbinden. Siehe "MQTT-Einstellungen" in den Einstellungen der OpenDTU.

Wenn die Geräte (eins für die Bridge und eins für den Inverter) dann da sind, noch jeweils ein "set attrTemplate hoymiles_opendtu_hub_bridge/hoymiles_opendtu_microinverter".

Und vielleicht vorher noch eine "allowed instance" anlegen, damit die Verbindung zum MQTT Server nur mit User/Password geht.
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

Beta-User

Zitat von: tomcat.x am 29 September 2024, 16:54:53autocreate beim MQTT2_SERVER
autocreate simple ist der default, das Attribut ist also unnötig ;). Der Server wird das device so oder so anlegen, wenn !!! es sich verbindet (es sei denn, man stellt autocreate versehentlich ab, indem man sich vielleicht beim Editieren der config-File verschreibt u.ä. (ich hab's nicht getestet, ob Schreibfehler sich wirklich so auswirken, aber wir sehen immer wieder sehr seltsame Effekte, daher der Hinweis auf "Pfui"))...

Der Tipp mit dem "allowed" ist zwar an sich richtig, aber m.E. sollte man sich erst dann damit befassen, wenn einem klar ist, wie MQTT an sich funktioniert. Hier sollte also erst mal die Verbindung da sein.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

boeho

Zitat von: Beta-User am 29 September 2024, 12:05:13
Zitat von: boeho am 29 September 2024, 11:29:07Was ist falsch definiert bzw fehlt??
Von der FHEM-Seite her sieht es gut (wenn man davon absieht, dass "autocreate" hier überflüssig ist und das mit includes nach cfg-Editiererei (=Pfui) aussieht).

Wie sind die Einstellungen auf der DTU? Da muss afair MQTT aktiviert werden und v.a. der Server angegeben werden.
Danke für die schnellen antworten.
Ich kann aber in den Einstellungen der openDTU nichts zu 'afair' finden. Wo muss ich suchen?
Welche Einstellungen auf der DTU sind noch wichtig?
 Ich habe 'Home Assistant MQTT-Auto-Discovery aktivieren  auf AUS'
 Hostname ist momentan die IP.

Beta-User

"Hostname" hat m.E. nichts mit mqtt zu tun, das müßte ein anderer Abschnitt sein, in dem man den mqtt-Server oder "broker" angeben kann.
Habe aber lange schon auf AhoyDTU gewechselt und daher keine genaue Erinnerung mehr, daher "as far as I remember" (=afair)...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DasQ

Hast du in fhem einen Raum der ,,MQTT2_DEVICE" heißt?
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

tomcat.x

#7
Zitat von: Beta-User am 29 September 2024, 21:30:09"Hostname" hat m.E. nichts mit mqtt zu tun, das müßte ein anderer Abschnitt sein, in dem man den mqtt-Server oder "broker" angeben kann.

Doch, ich denke, das ist die richtige Stelle. Unterhalb vom genannten "Home Assistant MQTT-Auto-Discovery aktivieren" kommen die "MQTT-Broker-Parameter" und da ist das erste Feld "Hostname" (des MQTT-Brokers, also der fhem Instanz). Danach geht es mit Port (1883) , Client ID (meines Wissens nach vorbelegt), Benutzername/Passwort (ohne definierte  "allowed instance" dann leer) und das Basic-Topic (frei wählbar). Rest war glaube ich auch vorbelegt und nicht zu ändern.

Ergänzung: Wenn die Verbindung besteht, sieht man das unter "Info->MQTT" ganz unten.
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

Beta-User

Ha, OK.

OpenDTU und fhem sind (ipv4) im selben Subnetz? Also nur die letzte Ziffer der IP-Adresse ist unterschiedlich? (Sonst braucht man eine allowed-Instanz)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

boeho

Zitat von: DasQ am 30 September 2024, 03:24:55Hast du in fhem einen Raum der ,,MQTT2_DEVICE" heißt?
Hallo, nein habe ich nicht. Habe in fhem.cfg: 'attr autocreate device_room NEU.%TYPE', das hat bisher funktioniert.

boeho

#10
Zitat von: Beta-User am 30 September 2024, 09:06:37Ha, OK.

OpenDTU und fhem sind (ipv4) im selben Subnetz? Also nur die letzte Ziffer der IP-Adresse ist unterschiedlich? (Sonst braucht man eine allowed-Instanz)
Hallo, ja nur der letzte Block ist anders.
Ich habe auch mit und ohne  user und psw getestet, ebenso keine Devices.

STATE von meinem MQTT2_FHEM_Server ist 'Initialized'. Ist das richtig ?
Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:         Das sind wohl Typen, nach denen gesucht wird?

Kann denn bitte jemand mit openDTU und MQTT2_Server die Konfiguration vergleichen?

Beta-User

Zitat von: boeho am 03 Oktober 2024, 12:19:52Hallo, ja nur der letzte Block ist anders.
OK, dann braucht es kein allowed.

Den ESP hattest du bestimmt schon mal neu gestartet, oder? Wenn ja: Bitte gibt mal auf dem ESP die IP-Adresse vom FHEM-Server an und poste einen screenshot von den MQTT-relevanten Einstellungen auf der firmware.

Zitat von: boeho am 03 Oktober 2024, 12:19:52STATE von meinem MQTT2_FHEM_Server ist 'Initialized'. Ist das richtig ?
Das ist ok, es sollte aber bei "clients" was auftauchen, wenn die Verbindung zu irgendeinem Client besteht und "nrclients" müßte dann höher sein.
ZitatClients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:        Das sind wohl Typen, nach denen gesucht wird?
"gesucht" ist doppelt falsch:

- Der MQTT2-Server "sucht" nicht, er akzeptiert nur angefragte Verbindungen. Hier wird er anscheinend nicht gefragt, das Problem liegt im Netzwerk und/oder auf dem ESP.
- Es sind FHEM-Device-TYPEs, die vom Server dann beliefert werden können. Ist hier irrelevant.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files