(gelöst) MQTT2_FHEM_Server startet ständig neu und blockiert fhem

Begonnen von Tom71, 02 März 2019, 10:46:31

Vorheriges Thema - Nächstes Thema

Tom71

Hallo,
ich habe von meinem mosquito-MQTT-Broker zu MQTT2_FHEM_Server umgestellt.

Jetzt habe ich ständig Neustarts vom MQTT-Server und fhem blockiert in dieser Zeit.

Im log sehe ich:

2019.03.02 10:25:55 5: MQTT2_FHEM_Server: dispatch autocreate\000ESPClient0\000/WeMos/temp2/Temperature\00056.31
2019.03.02 10:25:55 4: MQTT2_FHEM_Server_192.168.0.52_58513 MQTT_FX_Client PINGREQ
2019.03.02 10:27:59 3: MQTT2_FHEM_Server: MQTT2_FHEM_Server_192.168.0.90_33419/3YCLOPF8ApvnH94MJ0ISab left us (keepalive check)
2019.03.02 10:27:59 5: MQTT2_FHEM_Server_192.168.0.52_58513 MQTT_FX_Client => octoprint/mqtt:disconnected
2019.03.02 10:27:59 5: MQTT2_FHEM_Server_192.168.0.38_46340 mqtt_4d7937c2.624788 => octoprint/mqtt:disconnected


Auf  192.168.0.38 läuft fhem mit MQTT2_FHEM_Server.


So habe ich das Device angelegt:
defmod MQTT2_FHEM_Server MQTT2_SERVER 1883 global
attr MQTT2_FHEM_Server autocreate 1
attr MQTT2_FHEM_Server room MQTT,Server

setstate MQTT2_FHEM_Server 2019-03-02 10:37:10 RETAIN {"/WemosFussboden/status/LWT":"Connected","octoprint/mqtt":"disconnected","tele/%topic%/LWT":"","tele/sonoff2/LWT":"Online","tele/sonoff3/LWT":"online","zigbee2mqtt/bridge/state":"offline"}
setstate MQTT2_FHEM_Server 2019-03-02 10:37:10 nrclients 10
setstate MQTT2_FHEM_Server 2019-03-02 09:45:34 state Initialized


Den zigbee2mqtt habe ich derzeit ausgeschaltet, um diese Fehlerquelle zu reduzieren.

Ich kann mir leider keinen Reim drauf machen. An sich werden die Devices auch angelegt und ich kann sie auch schalten. Aber ca. jede Minute hängt der MQTT-Server und fhem.

Gruss Thomas
Homematic | RaspberryMatic

rudolfkoenig

Zitatich habe von meinem mosquito-MQTT-Broker zu MQTT2_FHEM_Server umgestellt.
Gehe ich recht in der Annahme, dass "Umstellung" bedeutet, dass die MQTT oder MQTT2_CLIENT Definition in FHEM vom mosquitto auf den FHEM Internen MQTT2_SERVER umgestellt wurde?
Wenn ja, dann ist das (vorsichtig formuliert) eine nicht unterstuetzte Konfiguration, MQTT2_SERVER dient als _Ersatz_ fuer ((MQTT2_CLIENT oder MQTT) + mosquitto).

Wenn meine Annahme falsch ist, dann bitte einen ungefilterten(!) "attr global verbose 5" Log bei einem Problemfall hier anhaengen.



Tom71

Hallo,
dann verstehe ich es nicht. Sorry.
MQTT2_SERVER dient als Ersatz für mosquito (may be used as a replacement for standalone servers like mosquitto https://fhem.de/commandref.html#MQTT2_SERVER)
Den mosquitto Service habe ich gestoppt. Und dann mit "define MQTT2_FHEM_Server MQTT2_SERVER 1883 global" einen internen Mosquitto-Service gestartet.
Alle vorher definierten MQTT-Devices in fhem habe ich gelöscht und bekomme nun alle neu über autocreate angelegt. Das funktioniert wunderbar.

Ist das Vorgehen nicht richtig?

Hier der Auszug aus dem Log.
Ein node-Red-Connector meldet in dieser Zeit:
nodered_1  | 2 Mar 11:52:13 - [info] [mqtt-broker:MQTT] Disconnected from broker: mqtt://192.168.0.38:1883
nodered_1  | 2 Mar 11:53:22 - [info] [mqtt-broker:MQTT] Connected to broker: mqtt://192.168.0.38:1883


Anbei ein debug-Log für den Zeitraum.

Vielen Dank
Homematic | RaspberryMatic

rudolfkoenig

ZitatAlle vorher definierten MQTT-Devices in fhem habe ich gelöscht und bekomme nun alle neu über autocreate angelegt. Das funktioniert wunderbar.
So ist das auch gedacht.

Ich habe das Log angeschaut, und ich sehe keinen Hinweis auf "MQTT2_FHEM_Server startet ständig neu und blockiert fhem".
Ich sehe aber, dass bestimmte sonoff Geraete (z.Bsp. DVES_084C9B) sich komisch verhalten, weil sie innerhalb von 6 Sekunden 5mal sich anmelden, ohne vorher sich abzumelden. Eine Erklaerung habe ich dafuer nicht.
Und ich habe den verdacht, dass FHEM nicht aktuell ist, was (je nach verwendete Version) doch eine Erklaerung sein koennte.

Tom71

#4
Ein "update" in fhem hatte ich gemacht. Das OS ist auch aktuell.
Schade. Dann probiere ich erst mal die Combi MQTT2_CLIENT  + mosquitto.

Ich kann mir auch keinen Reim drauf machen. An sich ist das schon eine feine Sache, dass sich die MQTT-Devices selbst erzeugen.

Vielen Dank

Update: Ich glaube ich habe das Problem gefunden. Ich mache in einer Funktion ein:

system("mosquitto_pub -t cmnd/FastLedDisplay/rbw -m '$led'")

Das blockiert vielleicht. Zumindest passiert das kurz vorher. Morgen kann ich das näher untersuchen.

Update 2:
Das war in der Tat der Fehler. Ich verstehe es zwar nicht ganz, warum der Aufruf blockiert hat. Auf der Command-Line kann ich den Befehl ohne Probleme absetzen.
Jetzt schicke ich den publish im 99_myUtils mit:
   fhem("set MQTT2_FHEM_Server publish cmnd/FastLedDisplay/rbw '$nr,$rgb' ");

Und alles ist gut.


Homematic | RaspberryMatic