NEWS
Folder anlegen unter mqtt.1.
-
@mickym Mh ... der NAME der Topics enthält den kompletten Pfad, so wie du es auch schreibst.
Aber die ID im Baum enthält NICHT "DTU/". -
@sven-schumacher Mach halt mal einen Screenshot von Deinen mqtt.1. Objekten Du kannst ja die Seriennr. schwärzen
-
@mickym sagte in Folder anlegen unter mqtt.1.:
@sven-schumacher Mach halt mal einen Screenshot von Deinen mqtt.1. Objekten Du kannst ja die Seriennr. schwärzen.
Wie gesagt ich habe das Gefühl dass Du und das Gerät aneinander vorbei redet.
-
@mickym
So kommt das Limit von der DTU zum IOBroker:{ "_id": "mqtt.1.yyy.status.limit_absolute", "common": { "name": "DTU/yyy/status/limit_absolute", "write": false, "read": true, "role": "variable", "desc": "mqtt server variable", "type": "number", "unit": "W" }, "native": { "topic": "DTU/yyy/status/limit_absolute" }, "type": "state", "acl": { "object": 1638, "state": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": xxx }
und so versuche ich zu schicken:
{ "common": { "name": "DTU/yyy/cmd/limit_persistent_absolute", "desc": "Manuell erzeugt", "role": "variable", "type": "number", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "_id": "mqtt.1.yyy.cmd.limit_persistent_absolute", "acl": { "object": 1638, "state": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": xxx }
-
@sven-schumacher sagte in Folder anlegen unter mqtt.1.:
"_id": "mqtt.1.yyy.status.limit_absolute",
Passt nicht.
das muss als _id enthalten
mqtt.1.DTU yyy.status.limit_absolute
Schmeiss alles weg - lass nochmal Publishen - aber Deine topics da fehlt das DTU
-
Wie gesagt ... genau SO kommen ja alle Daten an.
In der ID steht nichts von "DTU/" , aber beim Namen schon.Und deshalb sollte meines Erachtens auch so abgerufen werden.
Aber im Logfile wird "subscribes on "DTU/+/cmd/limit_persistent_absolute" with regex /mqtt.1.[^.]*.cmd.limit_persistent_absolute/" bestellt. Da steht DTU und keine Seriennummer vor dem cmd/
-
@sven-schumacher Ja wie ich dachte alles verkehrt. Diese ganze Struktur muss unter DTU oder Du löscht in der DTU das Base-Topic raus.
Du hast doch unter
ein dtu topic - hast du schon mal geschaut, wie da die Struktur aussieht?
-
@mickym Ich habe zuerst das Base-Topic eingetragen und dann erst die Verbindung zum IOBROKER.
Und dann hat der das genau SO angelegt.Also verstehe ich jetzt nicht wirklich, was da falsch ist. Der Name enthält das Basetopic, aber die ID eben nicht. Das habe ich mir nicht ausgedacht, sondern die openDTU
das kleine "dtu" ist nicht von mir.
-
@mickym Ja aber der Name muss mit der Hierarchie der ID übereinstimmen.
Wie gesagt das passt nicht. Keine Ahnung woher die Inkonsitenz herkommt, vielleicht hast du ein Subscribe Pattern definiert. Dann kommt das auch durcheinander. Was hast Du als Subscribe Pattern?
sollte bei einem Broker immer # sein.
Lösche die ganze Struktur nochmal mit einem Base-Topic DTU müssen die Datenpunkte alle unter
mqtt.1.DTU angelegt werden, sonst passt das nicht. Der Name ist in meinen Augen lediglich beschreibend.Wenn Dein Client
"DTU/+/cmd/limit_nonpersistent_absolute" subscribed und da ist nichts (wie gesagt der Name ist im iobroker ist Schall und Rauch), dann wird der Datenpunkt unter
mqtt.1.DTU.seriennr.cmd.limit_nonpersistent_absolute gesucht.Solange also die vom Gerät gepublishten Werte bei einem Base Topic DTU nicht unter einem Ordner DTU auftauchen, ist Deine Konfiguration schief.
-
@Sven-Schumacher
Nur mal ins Blaue. Was passiert denn, wenn Du als Limit 50 statt 550 angibst? Wird das auch ignoriert?Edit:
Es ist übrigens Mumpitz Seriennummern zu Schwärzen (die niemanden weiterbringen), wenn Du direkt darüber im manuellen Datenpunkt nicht schwärzt. -
@mickym okay ... ich muss zusehen wie ich das gelöst bekomme.
Nur will ich natürlich meine Statistiken nicht zerstören. Also geht das erst später, wenn der Wechselrichter eh nichts mehr tut.
SQL-Backup, Alle Topics löschen und neu anlegen (lassen) ... ich würde dann auch ein base-Topic verzichten. Die MQTT-Instanz ist so oder so nur für die DTUDanke schon Mal bis hier hin. Ich melde mich, wenn ich das versucht habe.
-
@samson71 ja, wird ignoriert.
50 oder 500 oder 550 .. egal
-
@sven-schumacher sagte in Folder anlegen unter mqtt.1.:
@mickym okay ... ich muss zusehen wie ich das gelöst bekomme.
Nur will ich natürlich meine Statistiken nicht zerstören. Also geht das erst später, wenn der Wechselrichter eh nichts mehr tut.
SQL-Backup, Alle Topics löschen und neu anlegen (lassen) ... ich würde dann auch ein base-Topic verzichten. Die MQTT-Instanz ist so oder so nur für die DTUDanke schon Mal bis hier hin. Ich melde mich, wenn ich das versucht habe.
Ich habe gerade mal geschaut - auf einer Testmaschine habe ich einen Broker:
Falls DU einen Prefix eingetragen hast, dann ist das genau das Problem. Das MUSS leer bleiben.
-
@mickym nein, dort habe ich keinen prefix angegeben. Das habe ich nur unter der openDTU gemacht. Das Ziel war, dass alles von der DTU dann in diesem Ordner landet. Das hat aber nicht das gewünschte bewirkt.
-
@sven-schumacher sagte in Folder anlegen unter mqtt.1.:
@mickym nein, dort habe ich keinen prefix angegeben. Das habe ich nur unter der openDTU gemacht. Das Ziel war, dass alles von der DTU dann in diesem Ordner landet. Das hat aber nicht das gewünschte bewirkt.
Das passt grundsätzlich alles - so habe ich es ja mit meinen Shellies und Tasmota auch gemacht, die über mqtt kommunizieren. Das ist nicht verkehrt.
Allerdings - sollten die Datenpunkte dann auch unter DTU auftauchen - wenn sie das nicht tun - dann stimmt vielleicht auch auf der Senderseite was nicht. Vielleicht wird das Base Nur für den Empfang verwendet - keine Ahnung.
Ansonsten habe ich genauso eine Struktur wie Du und kann das auch nur empfehlen.
Sprich als erstes muss man schauen, warum dein Gerät die Datenpunkte nicht unter DTU anlegt und ggf. nochmal auf der Senderseite was einstellen.
-
@sven-schumacher sagte in Folder anlegen unter mqtt.1.:
das kleine "dtu" ist nicht von mir.
Nur ein Bauchgefühl, aber das könnte der Fehler sein. Zumindest bei AhoyDTU ist es so, dass der Ordner mit der Gerätebezeichnung/Seriennummer als Unterordner unter der DTU hängt.
-
Bei Dir siehst es so aus, als ob das Base Topic in der GUI nicht gefressen wird.
Deshalb werden auch die dtu topics bei Dir unter root (also auch direkt unter mqtt.1) angelegt.
-
@samson71 dtu ist einer der Folder, die von der DTU angelegt werden.
Aber das von mir gewünschte Base-Topic wirkt sich nur im NAMEN aus, nicht in der Struktur.
Und das kenne ich von anderen Geräten eben anders. Dort wird das Base-Topic tatsächlich dann die Wurzel aller Topics von einem Sender. -
@mickym Ja, das sieht auch für mich so aus.
Also ich mache das heute Abend mal neu. Ohne das BaseTopic. Und dann mal sehen was passiert.
-
@sven-schumacher sagte in Folder anlegen unter mqtt.1.:
@mickym Ja, das sieht auch für mich so aus.
Also ich mache das heute Abend mal neu. Ohne das BaseTopic. Und dann mal sehen was passiert.
Oder probiere mal einen anderen Namen nicht - dass es mit dtu und DTU durcheinander kommt. Jedenfalls würde ich im Moment auf der Senderseite probieren.