Nach MQTT IO device define sturtzt FHEM ab

Begonnen von zgadgeter, 10 August 2018, 17:18:03

Vorheriges Thema - Nächstes Thema

zgadgeter

Hallo, mein System auf einem NUC:
Description:    Ubuntu 16.04.3 LTS
FHEM funktioniert einwandfrei, und ich moechte Sonoff Geraet die ich erfolgreich mit Tasmota geflascht habe einbinden. Also habe ich MQTT installiert...
Nach dem ich den ersten Tasmota Schalter definiere, wird er auch angelegt:
defmod SonoffS20_1 MQTT_DEVICE

Aber wenn ich danach das IO fuer diese Geraet definiere friert FHEM ein:
attr SonoffS20_1 IODev Mosquitto

Der NUC funktioniert noch da ich mich ueber SSH einloggen kann, nur FHEM funktioniert nicht mehr. Ich habe diese Geraete Definition in FHEM noch nicht gespeichert, also kann ich ein NUC-reboot machen, und FHEM funktioniert wieder, allerdings ohne das SonoffS20 Geraet.

Wenn ich bei der ganzen Sache in einem zweiten Fenster ein Event Monitor aufhabe kommt lediglich folgendes bevor FHEM einfriert

2018-08-10 17:14:59 Global global MODIFIED SonoffS20_1

Was MQTT angeht kenne ich mich nicht aus, also bin ich dankbar fuer jedliche Hilfe...
NUC FHEM mit vielen Intertechno/FS20/Flamingo schalter
und Busware CUL und nanoCUL

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

Hast Du den MQTT Broker vor oder nach dem MQTT_DEVICE definiert?

Das Attribut für das IOdev muss man normalerweise nicht manuell setzen (es sei denn, man hat mehrere Broker)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

zgadgeter

Zitat von: CoolTux am 10 August 2018, 17:24:35
Was sagt das Log?
Hier ein Log nach dem ich das device definiert habe, und dann auch das IO device attribute gesetzt haben....
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_DISCONNECT redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_SUBACK redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_QOS_EXACTLY_ONCE redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_SERVER_UNAVAILABLE redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNACK redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_UNSUBACK redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_IDENTIFIER_REJECTED redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_PINGREQ redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_QOS_AT_MOST_ONCE redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_BAD_USER_NAME_OR_PASSWORD redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBREL redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_UNSUBSCRIBE redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_PINGRESP redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBCOMP redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBLISH redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBACK redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_PUBREC redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_ACCEPTED redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_SUBSCRIBE redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_QOS_AT_LEAST_ONCE redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_UNACCEPTABLE_PROTOCOL_VERSION redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_NOT_AUTHORIZED redefined at /usr/local/share/perl/5.22.1/Net/MQTT/Constants.pm line 44.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Define redefined at ./FHEM/00_MQTT.pm line 105.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Undef redefined at ./FHEM/00_MQTT.pm line 134.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Delete redefined at ./FHEM/00_MQTT.pm line 140.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Shutdown redefined at ./FHEM/00_MQTT.pm line 147.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine onConnect redefined at ./FHEM/00_MQTT.pm line 155.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine onDisconnect redefined at ./FHEM/00_MQTT.pm line 162.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine onTimeout redefined at ./FHEM/00_MQTT.pm line 169.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine process_event redefined at ./FHEM/00_MQTT.pm line 178.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Set redefined at ./FHEM/00_MQTT.pm line 199.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine parseParams redefined at ./FHEM/00_MQTT.pm line 246.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine parsePublishCmdStr redefined at ./FHEM/00_MQTT.pm line 333.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine parsePublishCmd redefined at ./FHEM/00_MQTT.pm line 342.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Notify redefined at ./FHEM/00_MQTT.pm line 384.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Attr redefined at ./FHEM/00_MQTT.pm line 392.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Start redefined at ./FHEM/00_MQTT.pm line 425.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Stop redefined at ./FHEM/00_MQTT.pm line 442.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Ready redefined at ./FHEM/00_MQTT.pm line 456.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Rename redefined at ./FHEM/00_MQTT.pm line 461.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Init redefined at ./FHEM/00_MQTT.pm line 471.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Timer redefined at ./FHEM/00_MQTT.pm line 480.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Read redefined at ./FHEM/00_MQTT.pm line 492.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine send_connect redefined at ./FHEM/00_MQTT.pm line 637.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine send_publish redefined at ./FHEM/00_MQTT.pm line 650.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine send_subscribe redefined at ./FHEM/00_MQTT.pm line 662.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine send_unsubscribe redefined at ./FHEM/00_MQTT.pm line 669.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine send_ping redefined at ./FHEM/00_MQTT.pm line 676.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine send_disconnect redefined at ./FHEM/00_MQTT.pm line 680.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine send_message redefined at ./FHEM/00_MQTT.pm line 686.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine topic_to_regexp redefined at ./FHEM/00_MQTT.pm line 701.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine client_subscribe_topic redefined at ./FHEM/00_MQTT.pm line 712.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine client_unsubscribe_topic redefined at ./FHEM/00_MQTT.pm line 731.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Client_Define redefined at ./FHEM/00_MQTT.pm line 748.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine Client_Undefine redefined at ./FHEM/00_MQTT.pm line 767.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine client_attr redefined at ./FHEM/00_MQTT.pm line 772.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine client_start redefined at ./FHEM/00_MQTT.pm line 886.
2018.08.10 19:15:01 1: PERL WARNING: Subroutine client_stop redefined at ./FHEM/00_MQTT.pm line 905.
2018.08.10 19:15:01 3: No I/O device found for SonoffS20_1
2018.08.10 19:15:09 3: nanoCUL: Unknown code i5555559a69a65556, help me!
2018.08.10 19:15:10 3: nanoCUL: Unknown code ihc78f1e2d6931e5803e, help me!
2018.08.10 19:15:10 3: nanoCUL: Unknown code i145114, help me!
2018.08.10 19:15:21 3: nanoCUL: Unknown code ihdb1895d040, help me!
2018.08.10 19:15:21 3: nanoCUL: Unknown code i5555559a69a65656, help me!
2018.08.10 19:15:21 3: nanoCUL: Unknown code ihc78f1e2d6932e5803f, help me!
2018.08.10 19:15:22 3: nanoCUL: Unknown code i145115, help me!
2018.08.10 19:15:27 3: nanoCUL: Unknown code ihdb994f1040, help me!
2018.08.10 19:15:28 3: nanoCUL: Unknown code i5555559a69a65556, help me!
2018.08.10 19:15:28 3: nanoCUL: Unknown code ihc78f1e2d6931e5803e, help me!
2018.08.10 19:15:28 3: nanoCUL: Unknown code i145114, help me!
2018.08.10 19:15:37 3: No I/O device found for SonoffS20_1
Undefined subroutine &MQTT::DEVICE::client_attr called at ./FHEM/10_MQTT_DEVICE.pm line 231.
NUC FHEM mit vielen Intertechno/FS20/Flamingo schalter
und Busware CUL und nanoCUL

zgadgeter

Zitat von: betateilchen am 10 August 2018, 17:35:23
Hast Du den MQTT Broker vor oder nach dem MQTT_DEVICE definiert?
Das verstehe ich nicht. Was meinst Du mit MQTT Broker setzen?
NUC FHEM mit vielen Intertechno/FS20/Flamingo schalter
und Busware CUL und nanoCUL

CoolTux

Undefined subroutine &MQTT::DEVICE::client_attr called at ./FHEM/10_MQTT_DEVICE.pm line 231.


Das kannst mal dem Developer zu kommen lassen. Kann mir zwar nicht vorstellen das sowas nicht bekannt sein soll. Aber wer weiß.

Ist Dein FHEM aktuell? Wenn nicht Update machen und noch Mal probieren.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

#6
Zitat von: CoolTux am 10 August 2018, 19:44:21
Undefined subroutine &MQTT::DEVICE::client_attr called at ./FHEM/10_MQTT_DEVICE.pm line 231.

Genau das passiert, wenn man ein MQTT_DEVICE definiert, bevor der zugehörige Broker existiert. Das hat mich vor kurzem auch zur Weißglut getrieben.

Zitat von: zgadgeter am 10 August 2018, 19:21:52
Das verstehe ich nicht. Was meinst Du mit MQTT Broker setzen?

Steht doch in Deinem Log:

2018.08.10 19:15:37 3: No I/O device found for SonoffS20_1

Um ein MQTT Device in FHEM zu betreiben, musst Du in FHEM mindestens zwei Geräte anlegen. Einen MQTT Broker (existierender (!) Server vom Typ MQTT), der als Ein-/Ausgabegerät für die Kommunikation zuständig ist und ein MQTT_DEVICE (in diesem Fall Dein Sonoff Gerät)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Zitat von: betateilchen am 10 August 2018, 19:49:49
Genau das passiert, wenn man ein MQTT_DEVICE definiert, bevor der zugehörige Broker existiert. Das hat mich vor kurzem auch zur Weißglut getrieben.

Steht doch in Deinem Log:

2018.08.10 19:15:37 3: No I/O device found for SonoffS20_1

Um ein MQTT Device in FHEM zu betreiben, musst Du in FHEM mindestens zwei Geräte anlegen. Einen MQTT Broker (existierender (!) Server vom Typ MQTT), der als Ein-/Ausgabegerät für die Kommunikation zuständig ist und ein MQTT_DEVICE (in diesem Fall Dein Sonoff Gerät)

Hatten wir das Thema logisches Device vor physikalischen Device nicht schon längst geklärt. Dachte das sowas nicht mehr schief gehen kann.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

Zitat von: CoolTux am 10 August 2018, 19:56:44
Dachte das sowas nicht mehr schief gehen kann.

Ausser bei mqtt. Da passieren noch ganz andere schlimme Dinge...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Mit den von Rudi heute veröffentlichten neuen Modulen wird das Einbinden von mqtt Geräten ein bisschen einfacher. Dann spielt FHEM selbst den MQTT Server.

Die sind wohl ab morgen per update verfügbar.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Zitat von: betateilchen am 10 August 2018, 20:04:42
Mit den von Rudi heute veröffentlichten neuen Modulen wird das Einbinden von mqtt Geräten ein bisschen einfacher. Dann spielt FHEM selbst den MQTT Server.

Die sind wohl ab morgen per update verfügbar.

Habe ich schon gebannt gelesen. Auch Dein Patch für das uralte "Problem"  ;D


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

zgadgeter

Zitat von: CoolTux am 10 August 2018, 19:44:21
Ist Dein FHEM aktuell? Wenn nicht Update machen und noch Mal probieren.
Hoch aktuell...machen ich jeden zweiten Tag!
Also, MQTT doch nicht so einfach wie ueberall zu lesen ist...Ich will ja nur ein paar Tasmota Schalter einbinden...:(
NUC FHEM mit vielen Intertechno/FS20/Flamingo schalter
und Busware CUL und nanoCUL

betateilchen

Zitat von: zgadgeter am 10 August 2018, 20:16:54
Also, MQTT doch nicht so einfach wie ueberall zu lesen ist...Ich will ja nur ein paar Tasmota Schalter einbinden...:(

doch, ab morgen :)



define mqtt_fhem MQTT2_SERVER 1883 global

define SonoffS20_1 MQTT2_DEVICE



(man beachte die "2" bei SERVER und DEVICE!)

Dann brauchst Du in SonoffS20_1 nur noch die Attribute readingList und setList entsprechend der verwendeten mqtt-topic setzen und fertig.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

zgadgeter

NUC FHEM mit vielen Intertechno/FS20/Flamingo schalter
und Busware CUL und nanoCUL

betateilchen

Es funktioniert bei mir jetzt schon, bin gerade dabei, ein paar Tasmota-Schalter auf den FHEM-internen mqtt server umzustellen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!