NEWS
MQTT client: sendto erzeugt keine neuen Objekte
-
-
Hallo, bitte um Hilfe:
Habe MQTT client mit TTN Server verbunden und möchte Objekte automatisch über sendto erzeugen. Das funktioiniert aber nicht. Auch werden keine Daten in bestehende Objekte eingetragen. Retain Flag ist gesetzt.
Im Debug wird aber das Senden protokolliert.Wie muss der client konfiguriert sein und wie muss sendto aussehen, damit das funktioniert?
@kraftcom sagte in MQTT client: sendto erzeugt keine neuen Objekte:
Habe MQTT client mit TTN Server verbunden und möchte Objekte automatisch über sendto erzeugen
Was ist mit TTN Server gemeint?
-
@kraftcom sagte in MQTT client: sendto erzeugt keine neuen Objekte:
Habe MQTT client mit TTN Server verbunden und möchte Objekte automatisch über sendto erzeugen
Was ist mit TTN Server gemeint?
@marc-berg TheThings Network Server für LoraWAN IOT Geräte
-
@marc-berg TheThings Network Server für LoraWAN IOT Geräte
@kraftcom sagte in MQTT client: sendto erzeugt keine neuen Objekte:
TheThings Network Server für LoraWAN IOT Geräte
Ist dir schon klar, wie die Topics und Payloads aussehen müssen?
-
@kraftcom sagte in MQTT client: sendto erzeugt keine neuen Objekte:
TheThings Network Server für LoraWAN IOT Geräte
Ist dir schon klar, wie die Topics und Payloads aussehen müssen?
@marc-berg
Ich wollte nur grundsätzlich tstetn und habe sendto wie folgt gesendet:
sendTo('mqtt.1', 'sendMessage2Client', { topic: 'newtest/1', message: 'your message', retain: true });
Damit sollte doch unter MQTT.1 ein Objekt newtest/1 mit Inhalt "your message" erscheinen, oder sehe ich daas falsch? -
@marc-berg
Ich wollte nur grundsätzlich tstetn und habe sendto wie folgt gesendet:
sendTo('mqtt.1', 'sendMessage2Client', { topic: 'newtest/1', message: 'your message', retain: true });
Damit sollte doch unter MQTT.1 ein Objekt newtest/1 mit Inhalt "your message" erscheinen, oder sehe ich daas falsch?hier stand quark :)
hab das hier nochmal getestet und die States werden erstellt:
sendTo('mqtt.0', 'sendMessage2Client', {topic: 'test/test', message: '{"id":3, "src":"", "method":"Shelly.GetStatus", "params":{"id":0}}'}); -
@marc-berg
Ich wollte nur grundsätzlich tstetn und habe sendto wie folgt gesendet:
sendTo('mqtt.1', 'sendMessage2Client', { topic: 'newtest/1', message: 'your message', retain: true });
Damit sollte doch unter MQTT.1 ein Objekt newtest/1 mit Inhalt "your message" erscheinen, oder sehe ich daas falsch?gelöscht, nicht notwendig.
-
hier stand quark :)
hab das hier nochmal getestet und die States werden erstellt:
sendTo('mqtt.0', 'sendMessage2Client', {topic: 'test/test', message: '{"id":3, "src":"", "method":"Shelly.GetStatus", "params":{"id":0}}'}); -
Installiere mal den mqtt explorer und schaue damit rein, wenn du was sendest. Sicher das du verbunden bist?
-
@marc-berg
Ja, das funktioniert manuell schon.
Allerdings möchte ich mit sehr vielen IOT-Geräten arbeiten und muss das per Programm realisieren.
Da über Javascript und Blockly nicht in die MQTT-Struktur geschrieben werden kann, bleibt nur der Weg übe sendto - und genau das klappt bei mir nicht -
@marc-berg
Ja, das funktioniert manuell schon.
Allerdings möchte ich mit sehr vielen IOT-Geräten arbeiten und muss das per Programm realisieren.
Da über Javascript und Blockly nicht in die MQTT-Struktur geschrieben werden kann, bleibt nur der Weg übe sendto - und genau das klappt bei mir nichtDu kannst überall hin schreiben, nur sind dann alle sicherheitsfunktionen weg und bei einem Fehler zerschiesst du dir die Datenstrukur :) bzw. der Admin kann den Müll dann nicht mehr anzeigen.
-
Installiere mal den mqtt explorer und schaue damit rein, wenn du was sendest. Sicher das du verbunden bist?
-
Du kannst überall hin schreiben, nur sind dann alle sicherheitsfunktionen weg und bei einem Fehler zerschiesst du dir die Datenstrukur :) bzw. der Admin kann den Müll dann nicht mehr anzeigen.
-
@ticaki
wie geht das?
Habe gerade mit createState probiert in die Datenstruktur von MQTT zu schreiben - passiert aber nichts.setObjectmuss in der Konfig vom Javascript-Adapter erlaubt werden.Verwendung auf eigene Gefahr. Die beiden
typesorgfältig anpassen und da nix ausprobieren.const dp = 'mqtt.1.test.test' const obj: any = { _id: '', type: 'state', common: { name: 'Payload', type: 'string', role: 'text', read: true, write: true, }, native:{} } extendObject(dp, obj);für javascript das
:anyentfernenEDIT: so jetzt fertig, war noch ein flüchtigkeitsfehler drin.
-
setObjectmuss in der Konfig vom Javascript-Adapter erlaubt werden.Verwendung auf eigene Gefahr. Die beiden
typesorgfältig anpassen und da nix ausprobieren.const dp = 'mqtt.1.test.test' const obj: any = { _id: '', type: 'state', common: { name: 'Payload', type: 'string', role: 'text', read: true, write: true, }, native:{} } extendObject(dp, obj);für javascript das
:anyentfernenEDIT: so jetzt fertig, war noch ein flüchtigkeitsfehler drin.
-
Weiterführende Information zu dem
objhttps://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#objects
-
Weiterführende Information zu dem
objhttps://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#objects
Man kann nicht fremde Adapterinstanzen ohne ein Präfix publizieren. Das habe ich alles schon x-mal geschrieben: https://forum.iobroker.net/post/847655 - ohne das jetzt alles wieder zu wiederholen.
-
Weiterführende Information zu dem
objhttps://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#objects
