NEWS
MQTT-Client (ioB) keine Verbindung zum FHEM-MQTT-Server
-
Möglicherweise bin ich hier nicht richtig, hatte die Auswahl zwischen dem FHEM- und ioB-Forum.
Hab mich hier für das Forum entschieden, da mein MQTT-Server auf dem FHEM-System läuft:
Nun von Anfang an:
Ich habe 2 RasPi am Laufen, den für das FHEM-System (192.168.2.147) und den für den ioBroker, Grafana und Influxdb (192.168.2.193).
Den MQTT-Server habe ich auf dem FHEM-RasPi laufenInternals: CONNECTS 5929 Clients :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE: ClientsKeepOrder 1 DEF 1883 global FD 13 FUUID 63d7d3e4-f33f-aab4-350e-e0d8fa6c1e7dbfff NAME MQTT2_FHEM_Server NR 851 PORT 1883 STATE Initialized TYPE MQTT2_SERVER eventCount 11857 MatchList: 1:MQTT2_DEVICE ^. 2:MQTT_GENERIC_BRIDGE ^. READINGS: 2024-04-16 16:43:43 nrclients 1 2024-04-16 06:22:43 state Initialized clients: MQTT2_FHEM_Server_192.168.2.154_56677 1 retain: Attributes: alias MQTT2_FHEM_Server autocreate simple room Büro,MQTT2
Derzeit hängt an ihm ein Shelly 1PMmini (192.168.2.154) - der Server läuft also! Diesen Client habe ich über das WebUI des Shelly konfiguriert.
Nun möchte ich im ioB einen Client-Adapter installieren und bekomme nach dessen Installation in der Instanz folgende Konfigurationsmaske zu sehen:
Nun bin ich wahrhaftig ein Anfänger in der Materie und habe die o.g. Maske nach bestem Wissen ausgefüllt - ich gehe doch recht in der Annahme, dass der eingetragene Benutzername und das Kennwort sich auf den RasPi-Zugang bezieht, auf dem der MQTT-Server läuft - oder?
Eine Verbindung zw. Client und Server kommt nicht zustande, die Fehlermeldung im Protokoll lautet
client error: Error: getaddrinfo ENOTFOUND pi
Nach mehren Stunden gebe ich nun auf, selbst eine Lösung zu finden, das I-Net hilft mir nicht weiter.
Bekomme ich hier einen Hinweis auf die Problemlösung? -
@nobbiman Nein der Benutzername und Passwort ist nur dann erforderlich, wenn Dein mqtt Broker eine Authentifizierung erfordert.
-
@mickym Es ist zum Haare raufen, wieso habe ich mir die Frage nicht selbst durch das Löschen der vermeindlichen Zugangsdaten beantwortet.
Stunden, die ich mir hätte sparen können!
Danke - die Lösung lag so nah! -
Wo ich schon mal dran bin, die Aussage
MQTT-client Einstellungen müssen für jeden State einzeln gemacht werden
verstehe ich nicht. Das kann doch nicht heißen, dass dies für jeden zu übermittelnden Datenpunkt gilt, sondern ...? Was bedeutet "State" in diesem Zusammenhang?
und, ... wie legt man denn einen Datenpunkt im Adapter am besten an, damit das nicht so ein Wirrwar unter FHEM gibt?
Wenn ich es so mache
sieht das bei mir unter FHEM so ausAttributes alias MQTT2_ioBroker deleteattr readingList ioBroker:ioB/0\x20userdata/0/RaumanforderungFBH:.* 0_userdata_0_RaumanforderungFBH ioBroker:0\x20userdata/0/RaumanforderungFBH:.* 0_userdata_0_RaumanforderungFBH deleteattr room Heizung,MQTT2_DEVICE deleteattr
.. ziemlich kryptisch, ihr habt doch da sicher beste Erfahrungswerte!?
-
@nobbiman Doch jeder state ist ein Datenpunkt. Wenn Du mehrer Datenpunkte aufeinmal publishen willst - dann unter einem eigenen Präfix - dann würde ich aber den anderen Adapter nehmen. Hatten wir das nicht alles schon mal in dem anderen Thread?
-
@mickym sicher meinst du den MQTT Broker/Client-Adapter?
-
@nobbiman Ja
-
Ich habe die ganzen mqtt Adapter und deren Eigenheiten hier schon mal beschrieben - ggf. auch halt ein paar Posts vorher oder nachher lesen:
https://forum.iobroker.net/post/847655
https://forum.iobroker.net/post/847470 -
Ich persönlich habe mosquitto als Broker laufen und tausche über den zwischen FHEM und iobroker Daten aus. Da bei mir FHEM hauptsächlich für die MAX Steuerung noch läuft - abonniere ich im iobroker den ganzen mosquitto.
Über fhem als Präfix wird alles von FHEM in einen eigenen Ast gepublished.
Inzwischen habe ich FHEM auch unter PROXMOX in einem Container laufen und das tut auch gut. Ich mach aber mit FHEM nichts mehr - deswegen habe ich das meiste auch schon wieder vergessen.
Ich habe diese Generic Bridge im Einsatz und teilweise fange ich die Empfangsdatenpunkte über ein notify ab.
Das Veröffentlichen habe ich irgendwie einfach durch das Zuordnen der Geräte durch die Zuordnung in einen Raum und durch die Maske welche Attribute gelesen werden beim Update oder Change veröffentlicht.
Aber ich weiß das alles wirklich nicht mehr im Detail
-
@mickym Danke, ich versuche mal daraus schlau zu werden.
Nach der Installation des alternativen Adapters erscheint dieser aber nicht unter den benutzerdefinierten Einstellungen des Datenpunktes!
Muss ich die Datenpunkte händisch in der Konfiguration des Adapters eingeben?
Ich glaube, ich leser erst einmal deine o.g. Links -
@nobbiman Nein bei dem anderen Adapter erscheinen die da nicht darun - lies Dir bitte die Verlinkten Posts durch.
Du kannst zum Beispiel in der Clientmaske
zum Beispiel einen Pfad mit Stern eingeben der alle Datenpunkte darunter enthält - solltest aber zwingend ein Präfix mitgeben.
Nun siehst Du dass alle Datenpunkte des tr-064 Adapters unter devices
im mqtt unter dem topic
iobroker/tr-064/0/devices
veröffentlicht wurden.
-
@nobbiman sagte in MQTT-Client (ioB) keine Verbindung zum FHEM-MQTT-Server:
Das kann doch nicht heißen, dass dies für jeden zu übermittelnden Datenpunkt gilt,
doch!
das ist der große Vorteil im Vergleich zum MQTT-Adapter.hier kannst du für jeden Datenpunkt spezifische Einstellungen bei jedem state vornehmen.
-
@mickym sagte in MQTT-Client (ioB) keine Verbindung zum FHEM-MQTT-Server:
zum Beispiel einen Pfad mit Stern eingeben der alle Datenpunkte darunter enthält
was aber bei nicht sorgfältig gewählter Maske oft zu unnötig viel verarbeiteten States führt.