FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Sepp am 20 Februar 2025, 10:56:04

Titel: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 10:56:04
Hallo versuche verzweifelt immer noch meinen Rolladen mit HA zu verninden
er findet aber kein richtiges State ich kann ihn in Fehm bedinen jedoch taucht er in HA nicht auf
vieleicht kann mir jemand helfen?

Internals:
   FUUID      67b6242a-f33f-3e5d-1102-e56fa7ee5acd56b2
   IODev      mqtt_io
   NAME       RolloBueroMichael_MQTT
   NR         145
   STATE      position
   TYPE       MQTT2_DEVICE
   READINGS:
     2025-02-20 10:19:34   IODev           mqtt_io
     2025-02-20 10:45:23   state           position
Attributes:
   event-on-change-reading position
   readingList mqtt_io/RolloBueroMichael/position position
   setList    position:slider,0,1,100 mqtt_io/RolloBueroMichael/set $EVTPART1
   verbose    5

Internals:
   BUF       
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        192.168.178.130:1883
   DeviceName 192.168.178.130:1883
   FD         43
   FUUID      67b6213b-f33f-3e5d-fd21-6f76f238ded322f4
   NAME       mqtt_io
   NR         144
   PARTIAL   
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   fhem
   eventCount 1
   lastMsgTime 1740045097.88155
   nextOpenDelay 10
   nrConnects 1
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2025-02-20 10:19:37   state           opened
Attributes:
   clientId   fhem
   username   Michael
   verbose    5

und das steht im log von HA
2025-02-20 10:44:23: Client <unknown> closed its connection.
2025-02-20 10:44:39: Client 4gIOejnbwlHJMODsCXryCe closed its connection.
2025-02-20 10:44:50: New connection from 172.30.32.1:55387 on port 1883.
2025-02-20 10:44:50: New client connected from 172.30.32.1:55387 as 6HwB3RM5GQeJ40VOPgDq0S (p2, c1, k60, u'mqtt-user').
2025-02-20 10:46:23: New connection from 172.30.32.2:60394 on port 1883.
2025-02-20 10:46:23: Client <unknown> closed its connection.
2025-02-20 10:48:23: New connection from 172.30.32.2:41854 on port 1883.

wäre super wenn jemand sich das mal anschauen könnte
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 11:19:40
sorry und das steht im Fhem Log
2025.02.20 11:18:07 4: mqtt_io received PINGRESP
2025.02.20 11:18:07 5: mqtt_io: received PINGRESP
2025.02.20 11:18:28 3: MQTT2_DEVICE set RolloBueroMichael_MQTT position 50
2025.02.20 11:18:28 5: mqtt_io: sending PUBLISH 0!(0)(29)mqtt_io/RolloBueroMichael/set50
2025.02.20 11:18:28 4: mqtt_io received PUBLISH
2025.02.20 11:18:28 5: mqtt_io: received PUBLISH (0)(29)mqtt_io/RolloBueroMichael/set50
2025.02.20 11:18:28 5: mqtt_io: dispatch autocreate=no\000fhem\000mqtt_io/RolloBueroMichael/set\00050
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 11:22:55
Also: Ich gehe mal davon aus, das bezieht sich auf https://forum.fhem.de/index.php?topic=140811.msg1334214#msg1334214 und du willst eigentlich einen Siro-Type Rollladen, der als FHEM-Device bereits existiert via MQTT ansteuern?

Dann ändere als erstes die clientOrder bei deinem MQTT2_CLIENT, damit MQTT_GENERIC_BRIDGE überhaupt die Infos bekommt, was via MQTT eingegangen ist. Irgendein MQTT2_DEVICE braucht man dazu NICHT!

Das steht aber bereits in dem Wiki-Artikel, auf den ich dich verwiesen hatte!
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 11:45:28
also lösche ich den MQTT2_DEVICE
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 11:49:27
Zitat von: Sepp am 20 Februar 2025, 11:45:28also lösche ich den MQTT2_DEVICE
Mir egal, was du damit machst, mit "du brauchst es nicht", ist doch alles gesagt, oder?
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 12:09:44
ok werde erstmal weiter versuchen ::)
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 12:12:31
Vorschlag: Wir gehen die notwendigen Schritte (die eigentlich via attrTemplate automatisiert in einem Rutsch zu erledigen gingen) in kleinen Häppchen miteinander durch?

Dann bitte:
Zitat von: Beta-User am 20 Februar 2025, 11:22:55ändere als erstes die clientOrder bei deinem MQTT2_CLIENT
Und zusätzlich: Passe dort die "subscriptions" so an, dass nur abonniert wird, was unterhalb der Topic-Struktur
mqtt_io/setkommt. Der Device-Name kommt also erst hinten.
Das ist bewußt anders herum als bei deinen bisherigen Versuchen => auf der HA-Seite auch umdrehen.

Wenn du das hast, zeige ein list vom MQTT2_CLIENT.
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 13:26:10
also hoffe es passt
Internals:
   BUF       
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        192.168.178.130:1883
   DeviceName 192.168.178.130:1883
   FD         43
   FUUID      67b70b1e-f33f-3e5d-e056-e6cd391ef086bec9
   NAME       mqtt_io
   NR         144
   PARTIAL   
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   mqtt_io
   eventCount 4
   lastMsgTime 1740054313.23524
   nextOpenDelay 10
   nrConnects 3
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2025-02-20 13:11:13   state           opened
Attributes:
   alias      MQTT Broker
   devStateIcon .*active:none:disconnect .*disconnected:none:connect
   group      MQTT
   icon       mqtt
   room       IO_Devices
   subscriptions mqtt_io/set
   username   Michael

Frage ist das ok das ich in der yaml liste alles auf werkseinstellung gelöscht habe?
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 13:33:39
Zitat von: Sepp am 20 Februar 2025, 13:26:10also hoffe es passt
Nein.
a) "subscriptions" ist zwar vorhanden, aber das "wording" in dem Attribut ist "space separated list of subscriptions default is #".
Das "#" zeigt, dass das "MQTT-Syntax" ist. Wenn du alles unterhalb "mqtt_io/set" haben willst, muss es so lauten:
mqtt_io/set/#b) clientOrder wurde weiter ignoriert. Letztmalig (!) ohne eigenen Versuch eine Hilfestellung (weil das im "Hauptthread" neulich auch bei einem anderen User schief ging):
Zitat von: rudolfkoenig am 11 Januar 2025, 19:45:35So wird das nicht funktionieren: clientOrder benoetigt Modulnamen, wie in der Doku: https://fhem.de/commandref_modular.html#MQTT2_CLIENT-attr-clientOrder (https://fhem.de/commandref_modular.html#MQTT2_CLIENT-attr-clientOrder)
d.h.
Code Auswählen Erweitern
attr ha_MQTT2 clientOrder MQTT_GENERIC_BRIDGE MQTT2_DEVICE
Du mußt halt den Namen auf "mqtt_io" anpassen und den Rest 1:1 übernehmen.

Dann bitte wieder ein list.
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 13:40:41
Zitat von: Sepp am 20 Februar 2025, 13:26:10Frage ist das ok das ich in der yaml liste alles auf werkseinstellung gelöscht habe?
Ich habe von dieser yaml-Geschichte keine Ahnung und kann und werde dazu nur theoretische Hinweise geben. Ich hatte nicht "löschen" geschrieben, sondern "ändern".

Klar ist: Wenn du für irgendeine "entity" auf der HA-Seite die MQTT-Schnittstelle aktivieren willst, mußt du das auch passend konfigurieren, und dazu wäre eben eine "Änderung" (gegenüber deiner noch nicht hier gezeigten Ausgangsbasis) notwendig gewesen.

Wir haben hier nur zur Vereinfachung bzw. Verdeutlichung der "subscriptions"-Geschichte "vereinfachenden Klartext" verwendet, weil anscheinend das "eigentlich" für "nur MQTT_GENERIC_BRIDGE-Mode" passende "setByTheProgram" nur nachvollziehen kann, wer weiß, wie der Mechanismus funktioniert...
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 14:04:32
Internals:
   BUF       
   Clients    :MQTT_GENERIC_BRIDGE:MQTT2_DEVICE:
   ClientsKeepOrder 1
   DEF        192.168.178.130:1883
   DeviceName 192.168.178.130:1883
   FD         43
   FUUID      67b70b1e-f33f-3e5d-e056-e6cd391ef086bec9
   NAME       mqtt_io
   NR         144
   PARTIAL   
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   mqtt_io
   eventCount 1
   lastMsgTime 1740056564.13686
   nextOpenDelay 10
   nrConnects 1
   MatchList:
     1:MQTT_GENERIC_BRIDGE ^.
     2:MQTT2_DEVICE ^.
   READINGS:
     2025-02-20 13:54:13   state           opened
Attributes:
   alias      MQTT Broker
   clientOrder MQTT_GENERIC_BRIDGE MQTT2_DEVICE
   devStateIcon .*active:none:disconnect .*disconnected:none:connect
   group      MQTT
   icon       mqtt
   room       IO_Devices
   subscriptions mqtt_io/set/#
   username   Michael
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 14:10:22
OK.

Jetzt aktivierst du im MQTT2_CLIENT "show MQTT traffic" und sendest was von extern an FHEM.

Also z.B. auf den "topic" "mqtt_io/set/RolloBueroMichael/pct" die "payload" 50.

Wie du das machst, ist mir egal, entweder MQTTExplorer oder was ähnliches, mosquitto_pub oder eben HA (mit passender yaml an deiner entity).

Genau diese Message sollte dann im "traffic-Monitor" sichtbar sein.
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 15:40:47
Also z.B. auf den "topic" "mqtt_io/set/RolloBueroMichael/pct" die "payload" 50.

Ich hab versucht das rauszubekommen wie man das macht komm aber nicht weiter kannst du mir helfen

Tut mir leid wenn ich nerve
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 15:50:00
Zitat von: Sepp am 20 Februar 2025, 15:40:47Ich hab versucht das rauszubekommen wie man das macht komm aber nicht weiter kannst du mir helfen
Eigentlich wollte ich vor allem rausfinden, auf welchem Weg du "in der Regel" ggf. testweise irgenwelche MQTT-Messages versendest und überhaupt dem MQTT-Verkehr folgst. Offenbar auf keinem ;D ...

Das solltest du dir "draufschaffen", sonst versteht man m.E. das Gesamtsystem nicht und hat kaum eine Chance, das zu debuggen.

Um direkt erst mal weiterzukommen: Der im Moment einfachste Weg wäre, den "publish"-Befehl am MQTT2_CLIENT zu verwenden ;) .

Dazu aber bitte ein 2. Browserfenster mit der Detailansicht des MQTT2_CLIENT aufzumachen (so dass im anderen "show traffic" aktiviert bleibt).

Dort dann den "publish"-setter auswählen, dort "topic payload" (s.u.) eigeben und enter.
Also das hier:
mqtt_io/set/RolloBueroMichael/pct 50
Im "traffic" sollten dann 2 Zeilen auftauchen, nämlich einmal für's Versenden und dann wieder die Antwort vom MQTT-Server aufgrund unserer subscriptions.
.
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 16:00:01
ja die zwei zeilen

in Readings
lastPublish
mqtt_io/set/RolloBueroMichael/pct:50
2025-02-20 15:57:31
state
opened
2025-02-20 13:54:13
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 16:02:05
Dir ist klar, was mit "Show MQTT Traffic" gemeint war?

Readings interessieren uns noch nicht.
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 16:12:08
aber ich sehe nur im zweiten Browser Fenster da sich an den 
Readings
lastPublish mqtt_io/set/RolloBueroMichael/pct:50 2025-02-20 16:09:52
state opened 2025-02-20 13:54:13
was ändert
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 16:16:37
meinst du das
2025-02-20 13:54:13: New connection from 192.168.178.53:52752 on port 1883.
2025-02-20 13:54:13: New client connected from 192.168.178.53:52752 as mqtt_io (p1, c1, k30, u'Michael').
2025-02-20 13:54:24: New connection from 172.30.32.2:40182 on port 1883.
2025-02-20 13:54:24: Client <unknown> closed its connection.
2025-02-20 13:56:24: New connection from 172.30.32.2:60446 on port 1883.
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 16:18:00
Mach einen Screenshot vom MQTT2_CLIENT mit geöffnetem "Show ....".
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 17:24:17
Der screenshot sollte in etwa so aussehen wie im Anhang.


Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 20 Februar 2025, 17:46:33
ok Danke weiß nicht wie ich den Screenshot einfüge aber jetzt weiß ich um was was geht werde suchen und mich melden
publish hab ich aber das andere nicht

ich glaub ich gebe auf mein wissen ist viel zu klein
es ist schön das du mir hilfst aber seit 2 Tagen versuche ich schon und lese und lese und versteh nichts mehr
aber Danke bist echt ein super Typ vielleicht versuch ich später nochmal.
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 20 Februar 2025, 17:56:09
Danke für die nette Rückmeldung!

Schade, dass du gerade jetzt aufgeben willst, denn in dem Moment, wo Einsteiger mal "Show MQTT traffic" (oder was vergleichbares wie mosquitto_sub) gesehen haben, fängt - nach meiner bisherigen Erfahrung - das Verständnis dafür an, wie da überhaupt Daten zwischen den verschiedenen Systemen ausgetauscht werden.

Und: Du brauchst eigentlich nicht allzuviel lesen, sondern einfach nur das tun, was ich jeweils schreibe, und eben nicht irgendwas anderes. Das wiederum frustriert mich dann immer etwas.

Zitat von: Sepp am 20 Februar 2025, 17:46:33publish hab ich aber das andere nicht
Ist mit "publish" die Zeile mit "SEND" gemeint?
Wenn ja, passen schlicht "subscriptions" und der Topic nicht zusammen, unter der das SEND erfolgt war. Vermutung: vertippt beim Senden?
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 21 Februar 2025, 09:28:42
 
@Beta-User Das wiederum frustriert mich dann immer etwas.
Das möchte ich auf keinen Fall aber ich dachte nicht das du soviel Gedult und Zeit für mich aufbringst
Ok dann versuche ich es weiterhin


publish ist doch bei fhem unter "set mqtt_io"
aber den topic payload find ich nicht 
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 21 Februar 2025, 09:44:40
Zitat von: Sepp am 21 Februar 2025, 09:28:42Das möchte ich auf keinen Fall aber ich dachte nicht das du soviel Gedult und Zeit für mich aufbringst
Nimm's nicht persönlich: es geht zwar auch um dich, aber eben nicht nur - diese Stolperer haben viele Einsteiger, v.a. solche, die nicht mit FHEM vertraut sind und FHEM "nur mal eben" dazu nutzen wollen, "spezielle Hardware" an andere Systeme (wie eben HA) anzubinden.

Daher ist es mir wichtig, einen "Thread" zu haben, anhand dem andere einigermaßen stringent nachvollziehen können, wie es geht :) . Die wiederholte Bitte, genau zu lesen, was ich geschrieben habe, und nur das zu machen (und nicht irgendwo anders rumzudoktern) beruht vor allem auf der Überlegung, dass andere das ggf. ohne große Umwege nachvollziehen  wollen ;) .

Zitat von: Sepp am 21 Februar 2025, 09:28:42publish ist doch bei fhem unter "set mqtt_io"
aber den topic payload find ich nicht 
Genauer: "publish" ist ein "set"-Befehl von MQTT2_CLIENT (und MQTT oder MQTT2_SERVER). Danach kommt ein "Freitextfeld".

In dieses "Freitextfeld" trägst du einfach ein, was "topic" und "payload" rausgehen soll. Beide Werte sind einfach durch ein Leerzeichen getrennt, also ist das erste "Wort" der topic, und alles weitere dann die payload.

Man kann das ganze auch durch die FHEM-Kommandozeile (oben neben dem "Plus"-Symbol) eingeben.

Aber das hast du ja eigentlich schon mal erfolgreich gemacht, das zeigt das "lastPublish"-Reading.

Du mußt es nur nochmal machen, damit "Show ..." was anzeigt, das hat keine "historischen Daten" ;) .

Jetzt geht es "nur" darum festzustellen, ob die MQTT-Kommunikation von und zu deinem MQTT-Server sauber steht und "subscriptions" den Teil ausfiltert*, den wir brauchen: nämlich nur die "set"-Anweisungen, nicht "alles andere".
Du kannst testweise auch "subscriptions" nochmal löschen und dann "Show MQTT traffic" ansehen. Vorausgesetzt, der Server hat andere Clients, rauschen da mehr oder weniger viele "RCVD"-Einträge durch ;) .

Bitte am Ende der Tests dann aber wieder nur subscriben, was wir brauchen.

Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 21 Februar 2025, 15:27:58
so habe jetzt set mqtt-io publish mqtt_io/set/RolloBueroMichael/pct 50 gemacht aber es machen keine 2 Seiten auf im traffic ?
es verändert nur im Reading das Datum mehr passiert auf de 2 Seite die ich geöffnet habe ´nichts

lastPublish mqtt_io/set/RolloBueroMichael/pct:50 2025-02-21 15:19:35
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 21 Februar 2025, 21:02:46
Sag mal, nutzt du im Hintergrund ein Übersetzungsprogramm oder so?

Zitat von: Sepp am 21 Februar 2025, 15:27:58so habe jetzt set mqtt-io publish mqtt_io/set/RolloBueroMichael/pct 50 gemacht aber es machen keine 2 Seiten auf im traffic ?
Das klingt irgendwie nicht so recht nach muttersprachlichem Deutsch... Es wäre auch kein Problem für mich, das z.B. auf englisch zu schreiben.

Nochmal:
Du brauchst zwei Browserfenster, beide mit der Detailansicht vom MQTT2_CLIENT (mqtt_io). In einem von den beiden aktivierst du "Show MQTT traffic". Da passiert erst mal nicht viel, außer dass eine größere leere Fläche angezeigt wird und sich das zu "Hide ..." ändert, und setzt am anderen das "set publish" ab.

Dann sollten in dem Browser mit aktiviertem "Show ..." zwei Zeilen erscheinen (nicht "Seiten")

Klar? Oder in welcher Sprache würdest du es besser verstehen? 
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Sepp am 22 Februar 2025, 07:07:55
Guten Morgen,aber solche Sätze kannst du nicht bringen

#@Das klingt irgendwie nicht so recht nach muttersprachlichem Deutsch... #(bin echt Deutsch mein Opa auch)

Weil so wichtig ist mir das nicht
Wichtig sind für mich andere Sachen Beispiel:Meine 4Enkel, Gesundheit usw.

#Es wäre auch kein Problem für mich, das z.B. auf englisch zu schreiben.# (kann ich nicht so gut)

Nochmals Danke für deine Hilfe aber unter solchen Umständen möchte ich nicht (bin nicht Deutsch usw.) weitermachen.

kannst das alles schließen
Titel: Aw: Mqtt mit HA verbinden
Beitrag von: Beta-User am 22 Februar 2025, 07:27:14
Guten Morgen.

Deine Entscheidung, kein Problem damit.

Zur Klarstellung: Mir ist deine oder deines Opas Nationalität völlig gleichgültig.
Mir ging es ausschließlich darum zu klären, warum (zumindest aus meiner Wahrnehmung) deine Antworten nicht so recht auf meine Fragen und Hinweise passen. Eine der Möglichkeiten haben wir jetzt geklärt, damit ist der Teil erledigt.

Wie man Threads als "fertig" kennzeichnet, sauber zitiert oder Code-Tags verwendet, steht in einem der angepinnten Beiträge im Anfängerbereich.
Ich jedenfalls habe nicht die Möglichkeit, den Thread hier zu "schließen".

Viel Spaß mit den Enkeln und weiterhin gute Gesundheit. (Das ist ehrlich gemeint!)