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
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
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!
also lösche ich den MQTT2_DEVICE
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?
ok werde erstmal weiter versuchen ::)
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/set
kommt. 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.
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?
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.
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...
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
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.
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
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.
.
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
Dir ist klar, was mit "Show MQTT Traffic" gemeint war?
Readings interessieren uns noch nicht.
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
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.
Mach einen Screenshot vom MQTT2_CLIENT mit geöffnetem "Show ....".
Der screenshot sollte in etwa so aussehen wie im Anhang.
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.
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?
@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
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.
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
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?
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
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!)