MQTT2_Client --> crash

Begonnen von Tedious, 16 April 2019, 14:27:47

Vorheriges Thema - Nächstes Thema

Tedious

Hallo zusammen,

ich bin da gerade etwas ratlos. Ich habe Probleme mit dem ej bei MQTT und Sonoffs, der wirft mor immer die Topics durcheinander (bzw. sitzt der Fehler wohl 60cm vor dem Monitor...). Ich kann mich erinnern dass das alles mal reibungslos mit dem State Topic lief, aber seit geraumer Zeit kommen State1-StateX als Topics an- naja, lange Geschichte, ich habs vor mir her geschoben, heute angefasst und folgendes Problem:

Als Broker läuft mosquitto. Ich habe alles bezüglich mqtt aus FHEM gelöscht (Bridge, Devices...) und ein neues MQTT2-CLIENT Device angelegt, da ich auf MQTT2 wechseln wollte. Autocreate ist noch aus, state ist opened. Wenn ich nun einen Shutdown restart durchführe läuft FHEM in einen endlos-Loop (folgend ein Ausschnitt aus dem Log):


2019.04.16 14:16:42 3: Opening CulMax device 192.168.192.52:2323
2019.04.16 14:16:42 3: CulMax: Possible commands: BbCFiAZNEkGMKLUYRTVWXOefhltxz
2019.04.16 14:16:42 3: CulMax device opened
2019.04.16 14:16:42 2: Switched CulMax rfmode to MAX
2019.04.16 14:16:42 3: CUL_MAX_Check: Detected firmware version 154 of the CUL-compatible IODev
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_SUBSCRIBE redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_UNSUBACK redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_DISCONNECT redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNACK redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_IDENTIFIER_REJECTED redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_BAD_USER_NAME_OR_PASSWORD redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_ACCEPTED redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_PINGREQ redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_SUBACK redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_PINGRESP redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBREL redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_QOS_AT_MOST_ONCE redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBACK redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_QOS_EXACTLY_ONCE redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBREC redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_NOT_AUTHORIZED redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_QOS_AT_LEAST_ONCE redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBCOMP redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_UNSUBSCRIBE redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_UNACCEPTABLE_PROTOCOL_VERSION redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBLISH redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_SERVER_UNAVAILABLE redefined at /usr/local/share/perl/5.24.1/Net/MQTT/Constants.pm line 44, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Subroutine Define redefined at ./FHEM/00_MQTT.pm line 106, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Subroutine Undef redefined at ./FHEM/00_MQTT.pm line 135, <$fh> line 1892.
2019.04.16 14:16:43 1: PERL WARNING: Subroutine Delete redefined at ./FHEM/00_MQTT.pm line 141, <$fh> line 1892.


Ich habe keinen User und kein Passwort definiert, insofern stehe ich da auf dem Schlauch. An sich dachte ich ich bin der Commandref gefolgt. Habe ich was übersehen?

Das spannende - mache ich keinen restart, sondern aktiviere autocreate kann ich die Geräte anlegen lassen, konfigurieren, schalten... alles sauber. beim restart fliegt mir denn wieder alles um die Ohren...
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Beta-User

Hmm,

also das log sieht mir nicht danach aus, als wäre MQTT2_CLIENT der Übeltäter, sondern eines der klassischen MQTT-Module (da im Hintergrund immer 00_MQTT geladen wird, das dann die genannten subroutines haben will...

Also ist vermutlich irgendwo noch ein Rest vorhanden. Gibt es eine GenericBridge (10_MQTT_GENERIC_BIRDGE.pm)?

Aber an sich sollte MQTT auch neben MQTT2_CLIENT gehen, das Problem könnte also auch ganz was anderes sein.

Kannst du mal ein list TYPE=MQTT.* liefern?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Tedious

#2
Hi,

klar - aber (leider) nur vom Status "vor" löschen und (Versuchs-)Migration, ich habe ein Backup eingespielt damit es wieder läuft, da hängt das halbe Haus dran (fhem) ;)

Sonoff_s20_1
Sonoff_s20_2
Sonoff_s20_3
Sonoff_s20_4
myBroker
rfid_reader
sonoff_sw2
sonoffpow_1
sonoffpow_2
sonoffpow_3


Aus dieser Liste hatte ich alles außer rfid_reader rausgelöscht

Ein list des Devices:



Internals:
   FUUID      5c6984a7-f33f-4ec3-e5d4-556f2dcb785d86c7
   IODev      myBroker
   NAME       rfid_reader
   NR         336
   STATE      subscription acknowledged
   TYPE       MQTT_DEVICE
   READINGS:
     2019-04-16 14:18:00   transmission-state subscription acknowledged
     2019-04-16 08:47:51   uid             42648d1c
   message_ids:
   sets:
   subscribe:
     /hardware/rfid_reader/uid
   subscribeExpr:
     ^\/hardware\/rfid_reader\/uid$
   subscribeQos:
     /hardware/rfid_reader/uid 0
   subscribeReadings:
     /hardware/rfid_reader/uid:
       cmd       
       name       uid
Attributes:
   DbLogExclude .*
   IODev      myBroker
   room       Küche
   stateFormat transmission-state
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

bartman121

Das hatte ich auch, wenn es mqtt-devices gibt, aber kein mqtt-Broker device, dann passiert das.

Sichere dir die 00_mqtt.pm aus /opt/fhem/FHEM
Dann löscht du die 00_mqtt.pm.
Dann startet dein fhem, aber alle Mqtt-Devices fehlen.


Tedious

Pling! Danke für den Hinweis :) Teste ich, vielen Dank!
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

bartman121

Lösch einfach den alten broker nicht. Bis du alle devices umgebaut hast.

Tedious

Danke! Auch für den Hinweis mit dem List - das hatte ich nicht mehr auf dem Schirm!
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...