Verbindung FHEM - MQTT - Home Assistant

Begonnen von sunrise, 16 November 2022, 07:16:27

Vorheriges Thema - Nächstes Thema

sunrise

Muss ich noch einstellen, dass kein TLS verwendet werden soll o.ä.? Ich habe auf dem MQTT Server Username und Password gesetzt und dieselben in FHEM eingetragen, sehe aber diese Meldungen im Log:
2022.11.17 19:04:45 1: pi4.fritz.box:1883 reappeared (MyMQTT)
2022.11.17 19:04:45 1: MyMQTT: Connection refused, not authorized
2022.11.17 19:04:45 1: pi4.fritz.box:1883 disconnected, waiting to reappear (MyMQTT)
2022.11.17 19:05:12 3: Opening Mythz device pi.fritz.box:2000
2022.11.17 19:05:12 3: Mythz device opened
2022.11.17 19:05:33 1: pi4.fritz.box:1883 reappeared (MyMQTT)
2022.11.17 19:05:33 1: MyMQTT: Connection refused, not authorized
2022.11.17 19:05:33 1: pi4.fritz.box:1883 disconnected, waiting to reappear (MyMQTT)
2022.11.17 19:05:41 1: pi4.fritz.box:1883 reappeared (MyMQTT)
2022.11.17 19:06:12 1: pi4.fritz.box:1883 disconnected, waiting to reappear (MyMQTT)
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

Beta-User

Wenn irgendeine Art von Verschlüsselung gewünscht ist, muss man das afaik nochmal gesondert angeben. Ich vermute einen Typo bei den credentials (nur zur Sicherheit: es sind die MQTT-Credentials, die man angeben muss, nicht die FHEM-credentials)
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

sunrise

#17
Auf die Verschlüsselung habe ich bisher bewusst verzichtet, da ich noch beim Testen bin. Die Credentials sind korrekt und die vom externen MQTT Server (RPi 4).

Inzwischen habe ich das serielle Kabel deutlich verkürzt, da ich dort Probleme vermutete, aber die "too slow" Meldungen kommen immer noch (liegt vermutlich am alten RPi 2, auf dem FHEM läuft).

Das hat nichts mit meinem Problem zu tun, dass ich nicht so richtig weiß, wie ich nun diverse Werte über MQTT schicken kann. Im MQTT Snooper habe ich testhalber # subscribed, aber es kommt nichts.

Nach einem Neustart kommen diese FHEM Meldungen im Log:

2022.11.19 19:12:40 0: Server shutdown
2022.11.19 19:12:42 1: Including fhem.cfg
2022.11.19 19:12:43 3: WEB: port 8083 opened
2022.11.19 19:12:43 2: eventTypes: loaded 143 lines from ./log/eventTypes.txt
2022.11.19 19:12:43 3: Opening Mythz device pi.fritz.box:2000
2022.11.19 19:12:43 3: Mythz device opened
2022.11.19 19:12:43 1: Including ./log/fhem.save
2022.11.19 19:12:44 1: Messages collected while initializing FHEM:SecurityCheck:
  WEB is not password protected

Protect this FHEM installation by defining an allowed device with define allowed allowed
You can disable this message with attr global motd none

2022.11.19 19:12:44 1: usb create starting
2022.11.19 19:12:44 3: Probing ZWDongle device /dev/serial0
2022.11.19 19:12:44 3: Probing CUL device /dev/ttyAMA0
2022.11.19 19:12:44 3: Probing TCM_ESP3 device /dev/ttyAMA0
2022.11.19 19:12:45 3: Probing ZWDongle device /dev/ttyAMA0
2022.11.19 19:12:45 3: Probing SIGNALDuino device /dev/ttyAMA0
2022.11.19 19:12:45 3: Probing MYSENSORS device /dev/ttyAMA0
2022.11.19 19:12:45 3: Probing ArduCounter device /dev/ttyAMA0
2022.11.19 19:12:45 3: Probing ElsnerWS device /dev/ttyAMA0
2022.11.19 19:12:46 3: Probing FRM device /dev/ttyAMA0
2022.11.19 19:12:51 3: Probing TCM_ESP3 device /dev/ttyUSB0
2022.11.19 19:12:51 3: Probing TCM_ESP2 device /dev/ttyUSB0
2022.11.19 19:12:52 3: Probing FHZ device /dev/ttyUSB0
2022.11.19 19:12:52 3: Probing TRX device /dev/ttyUSB0
2022.11.19 19:12:52 3: Probing ZWDongle device /dev/ttyUSB0
2022.11.19 19:12:52 3: Probing SIGNALDuino device /dev/ttyUSB0
2022.11.19 19:12:53 3: Probing MYSENSORS device /dev/ttyUSB0
2022.11.19 19:12:53 3: Probing ArduCounter device /dev/ttyUSB0
2022.11.19 19:12:53 3: Probing ElsnerWS device /dev/ttyUSB0
2022.11.19 19:12:54 3: Probing FRM device /dev/ttyUSB0
2022.11.19 19:12:59 1: usb create end
2022.11.19 19:12:59 0: Featurelevel: 6.1
2022.11.19 19:12:59 0: Server started with 9 defined entities (fhem.pl:26635/2022-11-01 perl:5.032001 os:linux user:fhem pid:810)
2022.11.19 19:13:02 3: Mythz/RAW: THZ_ReadAnswer: InterfaceNotRespondig. Maybe too slow
2022.11.19 19:13:02 1: pi4.fritz.box:1883 reappeared (MyMQTT)


MQTT state ist "opened". Das ist ok, oder nicht?
Muss ich extra etwas publishen?


define MyMQTT MQTT2_CLIENT pi4.fritz.box:1883
attr MyMQTT rawEvents fhem/set/.*
attr MyMQTT subscriptions fhem/set/#
attr MyMQTT username user
#   BUF       
#   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
#   ClientsKeepOrder 1
#   DEF        pi4.fritz.box:1883
#   DeviceName pi4.fritz.box:1883
#   FD         4
#   FUUID      xxxxxxxxxx
#   NAME       MyMQTT
#   NR         16
#   PARTIAL   
#   STATE      opened
#   TYPE       MQTT2_CLIENT
#   WBCallback
#   clientId   MyMQTT
#   eventCount 1
#   lastMsgTime xxx.xxx
#   nextOpenDelay 5
#   MatchList:
#     1:MQTT2_DEVICE ^.
#     2:MQTT_GENERIC_BRIDGE ^.
#   READINGS:
#     2022-11-19 19:13:02   state           opened
#
setstate MyMQTT opened
setstate MyMQTT 2022-11-19 19:13:02 state opened
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

sunrise

@Beta-User und andere Nutzer:

Könnt Ihr mir bitte nochmal einen Tipp geben, ob/was noch zu tun ist, damit Werte von der THZ auch zum MQTT Server geschickt werden? Tausend Dank! :)
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

Beta-User

Zitat von: sunrise am 21 November 2022, 18:35:21
@Beta-User und andere Nutzer:

Könnt Ihr mir bitte nochmal einen Tipp geben, ob/was noch zu tun ist, damit Werte von der THZ auch zum MQTT Server geschickt werden? Tausend Dank! :)
"Ganz normal" - per Event-Handler, z.B. notify. Am einfachsten geht das, wenn man den "Event-Monitor" zu Hilfe nimmt (bitte im Wiki nachschlagen, falls das noch unklar ist).

Vermutlich hast du dann nur das Problem, dass du mit "komischen" Dingen wie "$EVTPART1" rummachen must. Aktuelles Beispiel wäre hier zu finden: https://forum.fhem.de/index.php/topic,129896.msg1246933.html#msg1246933

(Man kann das auch generalisieren und sollte darauf achten, dass es NOTIFYDEF nicht zerhaut, wenn man mehrere Werte rauspicken will).
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

sunrise

#20
@Beta-User
Sorry, dass ich nochmal eine Frage habe, aber ich bin hier nicht weitergekommen. Ich denke, alles richtig eingestellt zu haben (inkl. korrektem Passwort für den "user" am MQTT Server):
define MyMQTT MQTT2_CLIENT pi4.fritz.box:1883
attr MyMQTT rawEvents fhem/set/.*
attr MyMQTT subscriptions fhem/set/#
attr MyMQTT username user
#   BUF       
#   CFGFN     
#   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
#   ClientsKeepOrder 1
#   DEF        pi4.fritz.box:1883
#   DeviceName pi4.fritz.box:1883
#   FD         4
#   FUUID      xxxxxxxxxxxxx
#   NAME       MyMQTT
#   NR         47
#   PARTIAL   
#   STATE      opened
#   TYPE       MQTT2_CLIENT
#   WBCallback
#   clientId   MyMQTT
#   eventCount 1575
#   lastMsgTime 1671470513.33139
#   nextOpenDelay 5
#   MatchList:
#     1:MQTT2_DEVICE ^.
#     2:MQTT_GENERIC_BRIDGE ^.
#   READINGS:
#     2022-12-19 18:21:53   state           opened
#
setstate MyMQTT opened
setstate MyMQTT 2022-12-19 18:21:53 state opened


Im FHEM Logfile taucht zigfach das auf:

2022.12.19 18:08:24 1: pi4.fritz.box:1883 reappeared (MyMQTT)
2022.12.19 18:08:24 1: MyMQTT: Connection refused, not authorized
2022.12.19 18:08:24 1: pi4.fritz.box:1883 disconnected, waiting to reappear (MyMQTT)
2022.12.19 18:08:53 1: pi4.fritz.box:1883 reappeared (MyMQTT)
2022.12.19 18:08:53 1: MyMQTT: Connection refused, not authorized
2022.12.19 18:08:53 1: pi4.fritz.box:1883 disconnected, waiting to reappear (MyMQTT)
2022.12.19 18:09:02 1: pi4.fritz.box:1883 reappeared (MyMQTT)
2022.12.19 18:09:02 1: pi4.fritz.box:1883 disconnected, waiting to reappear (MyMQTT)
2022.12.19 18:09:02 1: pi4.fritz.box:1883 reappeared (MyMQTT)


Wieso "not authorized"? Nachdem ich nun mehrfach User + PW des MQTT Servers (pi4.fritz.box) überprüft und für richtig erkannt habe, bin ich mit meinem Latein am Ende.

Hast Du (oder sonst jemand) bitte noch einen Tipp, wo ich besonders nachschauen muss? Ganz herzlichen Dank! :-)
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

sunrise

@Beta-User
Nachdem ich alles neu aufgesetzt habe, kommen keine "Not authorised" Warnungen mehr, aber ich bekomme von fhem trotzdem keine Nachrichten.

define MyMQTT2 MQTT2_CLIENT pi4.fritz.box:1883
attr MyMQTT2 rawEvents fhem/set/.*
attr MyMQTT2 subscriptions fhem/set/#
attr MyMQTT2 username user
#   BUF       
#   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
#   ClientsKeepOrder 1
#   DEF        pi4.fritz.box:1883
#   DeviceName pi4.fritz.box:1883
#   FD         4
#   FUUID      xxxxxxxxxx
#   NAME       MyMQTT2
#   NR         46
#   PARTIAL   
#   STATE      opened
#   TYPE       MQTT2_CLIENT
#   WBCallback
#   clientId   MyMQTT2
#   eventCount 1
#   lastMsgTime 1672135920.30195
#   nextOpenDelay 5
#   MatchList:
#     1:MQTT2_DEVICE ^.
#     2:MQTT_GENERIC_BRIDGE ^.
#   READINGS:
#     2022-12-27 11:05:00   state           opened
#
setstate MyMQTT2 opened
setstate MyMQTT2 2022-12-26 22:48:29 lastPublish AussenTemp:
setstate MyMQTT2 2022-12-27 11:05:00 state opened


Meine subscription in einem MQTT Browser sieht so aus:

fhem/#


Da der MQTT Server auf dem Pi4 von anderswo Werte bekommt, und ich die auch lesen kann, liegt es m.E. nicht am MQTT Server, sondern an einer falschen Einstellung meinerseits in fhem.

Kannst Du mir bitte noch einen Tipp geben, wo ich nachschauen sollte? Herzlichen Dank!
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

Beta-User

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

sunrise

#23
Was ist eine "clientOrder"?

Wenn ich in fhem unter Mythz mittels get einen Parameter lese, müsste der dann nicht automatisch in MQTT auftauchen?
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

Beta-User

Zitat von: sunrise am 27 Dezember 2022, 11:53:14
Was ist eine "clientOrder"?
Ist deine Suchmaschine kaputt?
Aktuell z.B. (wenn man den Begriff nicht einfach mal in der commandref sucht oder sich die attrTemplate-Sätze zu MQTT_GENERIC_BRIDGE ansieht):
Zitat von: rudolfkoenig am 28 Dezember 2022, 10:47:29
Dafuer werden die ParseFn Funktionen aller Client Module aufgerufen, bei MQTT2_SERVER ist die Voreinstellung fuer Clients  :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:, man kan sie aber aendern mit der clientOrder Attribut.

Zitat
Wenn ich in fhem unter Mythz mittels get einen Parameter lese, müsste der dann nicht automatisch in MQTT auftauchen?
Verstehe nicht, was das bedeuten soll, und ich vermute auch, dass die Lösung dafür nicht in diesem Thread steht, oder?
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