NEWS
Adapter Socket Probleme
-
Hallo liebe Community,
warscheinlich habe ich nur ein Brett vor dem Kopf, aber ich brauche die Hilfe von jemandem, der mir sagen kann, was ich bei der Entwicklung falsch mache… Ich versuche von der admin.html ein Event an meine Instanz zu senden, damit ich hier eine entsprechende Authorisierungs URL generieren kann. Leider kommt das Event von der admin.html leider nie bei der adapter.on("message" ...) an
Kann mir da jemand sagen, was ich falsch mache?
Das entsprechende Repo findet ihr hier: https://github.com/PArns/ioBroker.innogy-smarthome
Im Prinzip passiert da nix wildes ... in der admin:
socket.emit('sendTo', 'innogy-smarthome.' + instance, 'startAuth', null, function (err, result) { alert("CALLBACK"); try { var result = JSON.parse(result); alert(result); } catch (e) { alert("error parsing data"); } });
Wird auch ausgeführt, hab ich mit einer Messagebox getestet im Adapter dann:
adapter.on('message', function (obj) { adapter.log.warn("MESSAGE DATA"); adapter.log.warn(JSON.stringify(obj)); if (obj.callback) adapter.sendTo(obj.from, obj.command, JSON.stringify({}), obj.callback); return true; });
Der Code wird aber nie aufgerufen! Ich hab das ganze testweise auch mit der sendTo probiert, auch vom JS-Adapter aus, leider mit dem gleichen Ergebnis
Was mache ich falsch!?
Danke für eure Hilfe
-
Quatsch :roll:
-
Hallo liebe Community,
warscheinlich habe ich nur ein Brett vor dem Kopf, aber ich brauche die Hilfe von jemandem, der mir sagen kann, was ich bei der Entwicklung falsch mache… Ich versuche von der admin.html ein Event an meine Instanz zu senden, damit ich hier eine entsprechende Authorisierungs URL generieren kann. Leider kommt das Event von der admin.html leider nie bei der adapter.on("message" ...) an
Kann mir da jemand sagen, was ich falsch mache?
Das entsprechende Repo findet ihr hier: https://github.com/PArns/ioBroker.innogy-smarthome
Im Prinzip passiert da nix wildes ... in der admin:
socket.emit('sendTo', 'innogy-smarthome.' + instance, 'startAuth', null, function (err, result) { alert("CALLBACK"); try { var result = JSON.parse(result); alert(result); } catch (e) { alert("error parsing data"); } });
Wird auch ausgeführt, hab ich mit einer Messagebox getestet im Adapter dann:
adapter.on('message', function (obj) { adapter.log.warn("MESSAGE DATA"); adapter.log.warn(JSON.stringify(obj)); if (obj.callback) adapter.sendTo(obj.from, obj.command, JSON.stringify({}), obj.callback); return true; });
Der Code wird aber nie aufgerufen! Ich hab das ganze testweise auch mit der sendTo probiert, auch vom JS-Adapter aus, leider mit dem gleichen Ergebnis
Was mache ich falsch!?
Danke für eure Hilfe `
io-package.json => common.messagebox: true -
Versuch mal in der io-package.json noch
"messagebox": true, "subscribe": "messagebox",
einzufügen.
Hab das bei meinem Nut-Adapter so drin:
https://github.com/Apollon77/ioBroker.n … ckage.json
Dann iobroker upload <adaptername>und so nicht vergessen und wenn du pech hast nen iobroker-neustart ...
Du kannst das Message empfangen auch per Kommandozeile
iobroker message adapter.instance command message
testen</adaptername>
-
Ah, ok, das muss man natürlich wissen! Ihr seid die Besten!!!
Super, 1000 dank
Ich hab die Properties zwar gesehen, diese aber nicht mit den Socket-Konfigurationen zusammen gebracht!
Das die admin jedes mal neu hoch geladen werden muss, ist klar. Den Fehler hab ich nur beim 1. Adapter gemacht
@Bluefox wir sollten einmal an der Doku arbeiten, gerne helfe ich dir dabei
-
Ah, ok, das muss man natürlich wissen! Ihr seid die Besten!!!
Super, 1000 dank
Ich hab die Properties zwar gesehen, diese aber nicht mit den Socket-Konfigurationen zusammen gebracht!
Das die admin jedes mal neu hoch geladen werden muss, ist klar. Den Fehler hab ich nur beim 1. Adapter gemacht
@Bluefox wir sollten einmal an der Doku arbeiten, gerne helfe ich dir dabei
`
Meinst du github wiki? Ich habe angefangen die Funktionen zu beschreiben https://github.com/ioBroker/ioBroker.js … master/docAber natürlich gibt es noch VIEL zu tun.
-
Vielleicht macht sich ein Wiki besser
-
Vielleicht macht sich ein Wiki besser `
Natürlich WIKI ist besser, aber ich lasse die Doku momentan per JSDoc generieren.Man kann dann ins Wiki kopieren.