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 -
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.
-
@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.
-
@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).
-
@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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden