NEWS
Eigene Datenpunkte für MQTT
-
Hallo zusammen,
ich hatte letzte Woche in einem anderen Post meine Schwierigkeiten mit der Verbindung von den RevPi Modulen von Kunbus und dem iobroker berichtet und mir wurde auch gut weiter geholfen.
Nun weiß ich dass ich über MQTT das ganze realisieren kann, da gibt es nur eine kleine Hürde:
Die Datenpunkte für die Ein-undAusgänge liegen nur unter dem Topic "io" oder "event" vor
Um diese auf dem ioBroker heraus schalten zu können, müssen sie aber das Topic "set" haben.
Jetzt hab ich gestern einfach den Code von einem Datenpunkt kopiert und das "io" durch "set" ersetzt und so einen neuen Datenpunkt erzeugt. Damit kann ich den Ausgang auch schalten. Nun klingel es bei mir aber düster, dass man keine eigenen Datenpunkte innerhalb eines Adapters setzen erzeugen sollte, sondern nur unter "0_userdata.0".
Jetzt weiß ich leider nicht, wie ich den Datenpunkt dort erzeuge, er aber trotzdem über MQTT den Ausgang setzt.
Der von mir erzeugte Datenpunkt sieht wie folgt aus:{ "common": { "name": "revpi45047/set/Steckdose_Empore", "role": "variable", "desc": "mqtt client variable", "type": "boolean", "write": true, "read": true }, "native": { "topic": "revpi45047/set/Steckdose_Empore" }, "type": "state", "from": "system.adapter.mqtt.0", "user": "system.user.admin", "ts": 1605956823499, "_id": "mqtt.0.revpi45047.set.Steckdose_Empore", "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 } }
Danke schonmal
MfG
Arne -
@Arne-B sagte in Eigene Datenpunkte für MQTT:
Nun klingel es bei mir aber düster, dass man keine eigenen Datenpunkte innerhalb eines Adapters setzen erzeugen sollte, sondern nur unter "0_userdata.0".
Das ist absolut richtig - ausser bei MQTT :-).
Dieser Adapter lebt davon, dass man Datenpunkte erstellen kann, denn nur so weiss er, dass er auf diese Datenpunkte reagieren soll.
Wenn du "set" und "get" zusammen nehmen willst (zB für Vis), empfehle ich "alias"zu verwenden.
-
@UncleSam
Ah, super. Danke.Okay, könntest du mir das mit dem "alias" kurz erklären?
-
@Arne-B sagte in Eigene Datenpunkte für MQTT:
Okay, könntest du mir das mit dem "alias" kurz erklären?
Ich überlasse das anderen
https://www.iobroker.net/#de/documentation/dev/aliases.mdDie Idee ist: einem alias kannst du einen setter und einen getter zuordnen. So hast du einen Datenpunkt, den du lesen und schreiben kannst - und nicht zwei verschiedene, was in gewissen Fällen zu Problemen führen kann (zB Vis Widgets).
-
@UncleSam
Danke für den Link.Mit meinen Ausgängen klappt alles wunderbar, nur irgendwie kann ich keine Ausgänge im ioBroker auslesen (über MQTT).
Ich sehe zwar im topic "io" alle Eingänge und 3 Stück auch unter "event". Hier ändert sich der Wert aber nicht, wenn der Eingang sich ändert.
In dem Programm zum einstellen des mqtt Brokers, das ich auf dem PC habe, sehe ich die Änderung.