NEWS
Mqtt verschiedene Topics für Get/Publish
-
Hi,
ich bin gerade dabei von Openhab auf den IOBroker umzustellen, bisher habe ich etliches an Vorteilen entdeckt, Leider kämpfe ich jedoch gegen den MQTT Connector.
Ich habe ein Gerät, dass sendet seine Status auf tele/Raum/Licht und erhält seine Commandos auf cmnd/Raum/lLicht.
Somit also ein Topic für Subscribe und ein Topic für Publisher. Leider habe ich in dem MQTT Client keine Stelle gefunden, wo man dies für eine MQTT Client konfigurieren kann. Man kann zwar getrennt Topics einstellen, aber diese sind offensichtlich nicht frei zu konfigurieren.
Hat jemand dazu eine Idee? -
@hschief Nutze den anderen mqtt-Adapter und erstelle die von Dir benötigten Datenpunkte unter dem cmnd Ast selbst.
-
Hallo Mickym,
du meinst den Client Adapter - ja, dass würde gehen. Kannst du mir einen Tipp geben wie ich die dann in der Visualisierung zusammen bringen?
Ich hätte ja dann 2 Datenpunkte die auf ein Icon zeigen?Danke Dir
-
@hschief Nein ich meinte nicht den Client Adapter sondern schon den mit Client/Broker zusammen.
Für die Visualisierung benötigst Du aber Deine Logikmaschine - ich nutze NodeRed - die meisten hier Blockly und dann kann man mit den ACK Flags arbeiten, in dem Du einen eigenen Datenpunkt unter 0_userdata.0 erstellst.
Wenn Du über vis schaltest (sendet immer unbestätigte Werte), dann änderst Du den Datenpunkt ohne ACK-Flag, sodass Du das als Indikator nimmst um zu schalten und damit unter dem cmnd Ast den Datenpunkt änderst.
Überwachen tust Du in dem Du den Datenpunkt unter stat triggern lässt und dann unter userdata den Punkt mit ACK Flag als Rückmeldung setzt. Mit NodeRed könnte ich Dir weiter unter die Arme greifen, Blockly hilft Dir sicher gerne jemand anders.
Zusammenfassend:
Triggert der Punkt unter userdata_0.0.meinLicht (gefiltert nach ACK=false) dann steuerst Du cmnd/Raum/lLicht
Triggert der Punkt unter tele/Raum/Licht oder stat/Raum/Licht (glaube eher letzteres) - dann aktualisierst Du userdata_0.0.meinLicht (damit setzt Du das ACK-Flag - also nicht steuere, sondern akutalisiere)
userdata_0.0.meinLicht ist der von Dir erstellt Datenpunkt.
Wie gesagt ich mache das mit NodeRed, aber für Blockly Fans habe ich Dir das theoretisch mal eben gepostet. Wenn Du es mit NodeRed umsetzen willst, dann können wir ja den Flow zusammen machen, wenn Du mir die exakten Datenpunkte lieferst.
-
@hschief Ach und wahrscheinlich wirst Du früher oder später den Tipp bekommen doch den Sonoff Adapter zu nutzen. Dieser simuliert einen mqtt-Broker und fasst die verschiedenen Datenpunkte in einem zusammen. Der Adapter macht quasi das, was ich in dem vorhergehenden Posting beschrieben habe. Ich bin aber eher ein Anhänger normales MQTT zu nutzen und dafür alle Geräte die mqtt sprechen unter einem Adapter zu betreiben und nicht darauf angewisen zu sein, dass der Adapter das Gerät kennt oder nicht.
-
@mickym, ich habe mir den Sonoff Adapter schon angesehen. Ich kann den für meine Zwecke nictht brauchen, da ich über Tasmota (MQTT) unter anderem auch Teile einer Solaranlage steuere und die Telegramm passen dann nicht so ganz. Deine Idee war schon gut und hilfreich. Icj muss nur die Logik noch ein wenig anpassen, geht aber ganz gut.
Ich werde nachher noch mal eine Frage zu den Vis posten, dies mache ich aber in einem eigenen Post.
Danke Dir