Erweiterung MQTT_GENERIC_BRIDGE für MQTT2_CLIENT und -_SERVER

Begonnen von hexenmeister, 15 November 2018, 12:00:57

Vorheriges Thema - Nächstes Thema

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

HomeAlone

Habe in diesem Thread meine Ergebnisse beim Testen des MQTT2_CLIENTS geposted. Denke auch nicht, dass es mit der Bridge zu tun hat, die hier besprochenen (dis-)connects treten aber auch bei mir auf und ich habe auch entsprechende logs vom Mosquitto mit angehangen.
Vielleicht hilft es ja bei der Fehlersuche.

HomeAlone

Update: Seit den Änderungen von Rudi im MQTT2_CLIENT Modul von heute Nacht kommen bei mir keine disconnects mehr vor. Habe allerdings zu Testzwecken den Mosquitto lokal auf dem selben System laufen wie fhem. Bisher klappt es mit MQTT_GENERIC_BRIDGE einwandfreil.
Werde noch berichten, ob und wie es auf einem remote Mosquitto läuft.

Beta-User

Hinweis:

Die commandref wäre noch zu ergänzen, z.B. so:
Zeile 2558
  <br/>One fo the device types could serve as IODev: <a href="#MQTT">MQTT</a>, <a href="#MQTT2_CLIENT">MQTT2_CLIENT</a> or <a href="#MQTT2_SERVER">MQTT2_SERVER</a>.

Zeile 2946
    <br/>Es wird eines der folgenden Geraete als IODev benoetigt: <a href="#MQTT">MQTT</a>, <a href="#MQTT2_CLIENT">MQTT2_CLIENT</a> oder <a href="#MQTT2_SERVER">MQTT2_SERVER</a>..
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

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

pc1246

Moin zusammen
Ich habe folgendes Problem:
2019.01.08 17:09:59 1: reload: Error:Modul 00_MQTT deactivated:
Attempt to reload Net/MQTT/Message.pm aborted.
Compilation failed in require at ./FHEM/00_MQTT.pm line 80.
BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 80.

2019.01.08 17:09:59 0: Attempt to reload Net/MQTT/Message.pm aborted.
Compilation failed in require at ./FHEM/00_MQTT.pm line 80.
BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 80.

2019.01.08 17:09:59 1: reload: Error:Modul 10_MQTT_GENERIC_BRIDGE deactivated:
Can't continue after import errors at ./FHEM/10_MQTT_GENERIC_BRIDGE.pm line 366.
BEGIN failed--compilation aborted at ./FHEM/10_MQTT_GENERIC_BRIDGE.pm line 403.

2019.01.08 17:09:59 0: Can't continue after import errors at ./FHEM/10_MQTT_GENERIC_BRIDGE.pm line 366.
BEGIN failed--compilation aborted at ./FHEM/10_MQTT_GENERIC_BRIDGE.pm line 403.

Ich meine das schon mal gelesen zu haben, finde das aber in der Masse der threads nicht wieder. FHEM ist aktuell, auf diesem System!
Muss ich erst ein device vom Typ MQTT anlegen?
Danke und Gruss
Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

Beta-User

Moin Christoph,
bin nicht ganz sicher, aber vermutlich benötigst du die Perl-Module, die für MQTT (alt) erforderlich sind, weil die Gen-Bridge im Hintergrund Funktionen aus MQTT aufruft - was nur geht, wenn die dafür erforderlichen Module geladen werden können.

MQTT mußt du aber nicht definieren.
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

pc1246

Moin Beta
Danke fuer den Hinweis! Ich habe es nach meinem Post nochmal probiert, und eine weitere Meldung im log gefunden, die mich auf die richtige Spur gefuehrt hat!
sudo apt-get install libmodule-pluggable-perl
Da MQTT2 mosquitto nicht installiert, fehlt diese lib. Also flugs nachinstalliert, und schon geht es. Evtl. ein kleiner Hinweis in einer der vielen wiki Eintraege!?
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

Beta-User

Zitat von: pc1246 am 09 Januar 2019, 11:21:39
Moin Beta
Danke fuer den Hinweis! Ich habe es nach meinem Post nochmal probiert, und eine weitere Meldung im log gefunden, die mich auf die richtige Spur gefuehrt hat!
sudo apt-get install libmodule-pluggable-perl
Da MQTT2 mosquitto nicht installiert, fehlt diese lib. Also flugs nachinstalliert, und schon geht es. Evtl. ein kleiner Hinweis in einer der vielen wiki Eintraege!?
Gruss Christoph
Hab's mal hier eingefügt: https://wiki.fhem.de/wiki/MQTT#MQTT_GENERIC_BRIDGE

Bist du sicher, dass das eine Modul ausreichend ist? Kommt mir wenig vor... (Ich hatte mal mosquitto auf dem Server laufen und daher die betreffenden Perl-libs alle drauf, aber vermutlich nicht deinstalliert, obwohl debianisiert).
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

pc1246

Hallo Beta
Ja, das sieht gut aus! Generic bridge wurde angelegt, und scheint auch zu funktionieren!
Publisht momentan noch nicht, aber das ausgewaehlte device wird gezaehlt!
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

Beta-User

Für's publish ist m.E. dann das MQTT2-IO zuständig.

Da Funktionen aus NET::MQTT erst für MQTT_DEVICE benötigt werden, nicht für MQTT, sollte das eine Modul ausreichen.
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

hexenmeister

Ja, leider eine 'durchgereichte' Abhängigkeit. Bridge verwendet 00_MQTT, dort werden Bibliotheken aus FHEM/lib/net/mqtt geladen und die wollen die Pluggable-Lib. :/ Ich weiß noch nicht so recht, wie ich das am besten auflöse.  ???

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

rudolfkoenig

Theoretisch: pruefen, ob die Daten uber MQTT versendet/empfangen werden sollen, und wenn ja, das Modul per eval require laden.
Ob das auch praktisch eine sinnvolle Loesung ist, ist eine andere Sache.

LudgerR

Zur Info

laut Commandreference  MQTT_GENERIC_BRIDGE

Zitat
IODev
Dieses Attribut ist obligatorisch und muss den Namen einer funktionierenden MQTT-Modulinstanz enthalten. Modul MQTT2_SERVER wird nicht unterstuetzt.
IODev

wird MQTT2_SERVER  nicht unterstuetzt.

War etwas irritierend. Ich dachte schon ich hätte trotz update nicht den letzten Release Stand.

Glücklicherweise  steht anfangs

Zitat
Es wird eines der folgenden Geraete als IODev benoetigt: MQTT, MQTT2_CLIENT oder MQTT2_SERVER.



Fhem/mosquitto/zigbee2mqtt  on PI 3+ , 2xCUNO, 13xFHT, EM1000 WZ/GZ, FS20,AMAD,SONOS, MQTT (Sonoff/Shelly),Buderus GB-112,CanOverEthernet(UVR67/CIM)

Beta-User

@LudgerL:
Danke für's Nachfragen/Melden.
Bitte UNBEDINGT autocreate abschalten, wenn du derzeit ein MQTT2-IO mit der Generic Bridge verwenden willst!

@hexenmeister:
Da stehen nach meinem Lektürestand von neulich noch ein paar Einschränkungen usw. in der cref drin, die man überarbeiten sollte. Vielleicht komme ich am WE dazu, dann bekommst du wieder Vorschläge?
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