NEWS
[gelöst] ioBroker als MQTT Client, wie?
-
@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.
-
@mickym Es "scheint" so, dass der stop der Services, dann löschen der Leichen, dann Neustart der Services geholfen hat. Jetzt wurde nichts doppelt in die Objekte geschrieben und es lässt sich schalten.
Dann werde ich nun als nächstes ganz optimistisch den "ioBroker.zigbee2mqtt" Adapter löschen, der war ja eh schon angehalten.
Wunderbar, dann kann ich als nächstes prüfen, ob es bei Shellies auch klappt und danach ggf auch dort den Adapter löschen
-
@chris-1 Bei den Shellies musst Du wie gesagt unter relay.0 einen command Datenpunkt anlegen.
-
@mickym Das hab ich mir schon gemerkt, entspricht dem set bei meiner Birne.
Aber jetzt pausier ich mal kurz,
bin ja happy -
Shelly klappt übrigens nun über command sofort