NEWS
[gelöst] ioBroker als MQTT Client, wie?
-
@mickym Ich habe die Kopier-Experimente wieder rückgöngig gemacht.
Und nachdem ich in der z2m configuration.yaml den "output" auf "attribute_and_json" , hat der Service z2m auch gleich alles bei den Objekten aufgefüllt
BaseTopic ist "zigbee"
Muss mich noch ums Essen kümmern, das brutzelt gerade auf Herd
-
@chris-1 Das schaut aber nach zigbee2mqtt Adapter aus und nicht nach zigbee. Diese ganzen Datenpunkte gehören da nicht hin. Ich würde den ganzen Baum unter mqtt.0 löschen und warten bis die Datenpunkte reinkommen.
-
@mickym wie gesagt, die Objekte wurden aufgefüllt, nachdem ich den "output" auf "attribute_and_json" gesetzt hatte. Nach dem obligatorischen "systemctl restart zigbee2mqtt" zack waren die alle da
Und zum "Adapter":
Sobald ich mqtt etwas im Griff habe und dies bezieht sich speziell auf das "setzen" von Werten, fliegt der Adapter runter. Das gleich Spiel (hoffendlich dann mit mehr Verständnis schneller) wird mit dem Shelly Adapter passieren.
Beides soll ja nur unter mqtt sein. -
-
@chris-1 Ich kann nicht beurteilen, was OK ist oder nicht. Da der mqtt-Adapter keine ungültigen Punkte bereinigt. Würde ich alles löschen. Publishen die Geräte erneut, dann kommt das wieder rein.
Nun schaut es ja so aus, also ob Du 2 Punkte hast. Einmal unter zigbee und einmal unter zigbee2mqtt. Schaut ja nun so aus, als ob das Base Topic doch zigbee heißt.
Ich würde vorschlagen, dass Du wie gesagt den mqtt-Adapter stoppst, den ganzen Baum löschst unter mqtt.0 löschst und dann Deine Maschine neu startest.
-
@mickym Die Punkte werden beim ersten schalten der Birne (zB mittels mosquitto_pub) sofort wieder neu gesetzt. Lediglich der "set" Punkt ist von mir und der wird auch nicht aktuallisiert.
Wie gesagt, zigbee2mqtt.Adapter ist gestoppt, da wird auch nichts aktuallisiert
-
@chris-1 Na vielleicht ist da noch was mit retain von dem Adapter drin. In meinen Augen gehören diese Datenpunkte da nicht hin.
Normalerweise sollte diese ganzen Information in dem JSON sein. Ich habe keine Ahnung woher das dann kommt. Zumindest wäre mir das neu, dass der zigbee2mqtt service selbst in Datenpunkten veröffentlicht. Und Du scheinst ja ein Problem zu haben. Du hast inzwischen genügend Screenshots wie es bei mir aussieht.Wenn die Datenpunkte dann wieder dort auftauchen, dann wäre mir das neu, aber bei mir ist es halt nicht so. Für mich sieht das immer noch so aus, als ob der zigbee2mqtt Adapter seine Finger mit im Spiel hat und deshalb funktioniert in meinen Augen das set nicht.
Ich kann Dir also nicht helfen. Ausser Du bereinigst wie gesagt alles. Die mosquitto.db löschen, die ganze mqtt. instanz löschen. Die zigbee2mqtt Instanz würde ich halt auch löschen. Der Adapter ist dann ja immer noch vorhanden, so dass Du ggf. die Instanz wieder installieren kannst.
Die mosquitto.db findest Du unter /var/lib/mosquitto. Vorher den Service stoppen. Bei Neustart des Service wird dann wieder eine jungfräuliche DB angelegt.
-
@mickym wie sieht der Eintrag in Deiner zigbee2mqtt.yaml aus?
Vermutlich hast Du unter
advanced:
output:nichts (default JSON) oder json stehen
-
@chris-1 Stimmt. Bei mir steht json. Da bist Du mir dann voraus, wenn man die Ausgabe in einzelne topics macht. Wobei ich json praktisch finde. Was hast Du dort eingetragen?
OK sehe es gerade:
-
output: attribute_and_json
-
@mickym Ja ich seh
@chris-1 sagte in ioBroker als MQTT Client, wie?:
output: attribute_and_json
Ja ich sehe es gerade. Keine Ahnung - dann schau on Du über das state topic schalten kannst? Eigentlich sollte es ja nach Beschreibung beides gehen.
-
@chris-1 sagte in ioBroker als MQTT Client, wie?:
output: attribute_and_json
Wenn Du über mosquitto und set und {"state":"on"} schalten kannst, dann musst Du mal wie gesagt erstmal prüfen, warum das nicht tut, wenn Du direkt in den Datenpunkt des Adapters schreibst. Ich hoffe mal Du hast nicht wieder was angehakt?
Hast Du das gemacht?
-
@mickym Ja wenn ich da nur was finden würde....
Wäre glücklich, wenn das funktioniert.
Vermute irgendwo beim mqtt-Adapter einen dreher -
@chris-1 Oh NEIN - ich habe Dir doch gesagt - Du sollst ALLE Haken weglassen. Diese Haken sind alle Käse!!!!
-
@mickym Aber dann macht der ja garnix
-
@chris-1 Freilich macht er was. Warum soll er denn nichts machen?
-
@mickym Huch licht geht ausd
Gutes Zeichen!!! Das stand doch noch bei "set" drin
-
@mickym sagte in ioBroker als MQTT Client, wie?:
@chris-1 Freilich macht er was. Warum soll er denn nichts machen?
@chris-1 sagte in ioBroker als MQTT Client, wie?:
@mickym Huch licht geht ausd
Gutes Zeichen
Nochmal die Haken sind MIST - so wie am Anfang auch. Lass die bitte EIN für alle Mal aus. Du hast keine Zustände zu publishen. Du musst nichts beim Verbinden publishen. Dein Broker ist dein mosquitto!!!
Ich hab nur keine Ahnung, ob Du dann bei state - wenn du keine JSON sendest unten drunter noch ein set machen musst, wenn Du mir ON und OFF alleine schalten willst. Sonst gibt es ggf. Endlosschleifen.
-
@mickym said in ioBroker als MQTT Client, wie?:
Ich hab nur keine Ahnung, ob Du dann bei state - wenn du keine JSON sendest unten drunter noch ein set machen musst, wenn Du mir ON und OFF alleine schalten willst. Sonst gibt es ggf. Endlosschleifen.
Ich kann jetzt, wie bei mosquitto_pub, via { "state" : "on") schalten
Etwas irritierend ist, dass der mir nun nochmal Device und vollen Datensatz zusätzlich mit un-friendly-name angelegt hat, diese aber alle auf "null" sind. Vielleicht starte ich services mosquitto und zigbee2mqtt nochmal neu, bzw stoppe sie, lösche die Einträge im ioBroker und starte dann mosquitto und zigbee2mqtt neu
Irgendwo sind da Leichen im Umlauf
-
@chris-1 Na ja ich bin erstmal mit dem reinen JSON Ausgabe zufrieden. Ich würde mich erst mal an die Standards halten und dann erst schauen, wie sich die Dinge dann verhalten, wenn ich vom Standard abweiche. Du weißt in der Regel hat mach es schwerer, wenn man von der Norm abweicht.
Solche Dinge mache ich dann immer erst auf einem Testsystem, wenn ich weiß, wie es normalerweise funktioniert.