NEWS
(Eigenen) Adapter via iobroker.net erreichen
-
Ich kann meinen Adapter über den Cloud Adapter via iobroker.net erreichen.
Eine Subscribtion auf die States findet laut Log statt, nur leider werden keine Änderungen übermittelt.
socket.emit('subscribe', subscribeObjID); console.log('[Socket] subscribed to: ' + subscribeObjID.toString() + ' at ' + date);Ein setzen der Werte hingegen klappt.
socket.emit('setState', subscribeObjID[0], { val: JSON.stringify(configuration), ack: true }, function (error, res) { if (error) { console.log(error); reject(''); } else { resolve(configuration); } });Könnte mir jemand weiterhelfen, wieso die Änderungen zwar lokal, aber nicht via iobroker.net dargestellt werden?
Danke!
-
Ich kann meinen Adapter über den Cloud Adapter via iobroker.net erreichen.
Eine Subscribtion auf die States findet laut Log statt, nur leider werden keine Änderungen übermittelt.
socket.emit('subscribe', subscribeObjID); console.log('[Socket] subscribed to: ' + subscribeObjID.toString() + ' at ' + date);Ein setzen der Werte hingegen klappt.
socket.emit('setState', subscribeObjID[0], { val: JSON.stringify(configuration), ack: true }, function (error, res) { if (error) { console.log(error); reject(''); } else { resolve(configuration); } });Könnte mir jemand weiterhelfen, wieso die Änderungen zwar lokal, aber nicht via iobroker.net dargestellt werden?
Danke!
-
@arteck Habe einen Listener dafür:
let subscribeObjID = [appProperties.namespace + '.configuration', appProperties.namespace + '.data', 'system.adapter.' + appProperties.namespace + '.alive']; socket.on('stateChange', function (stateId, state) { setTimeout(function () { if (stateId == subscribeObjID[0]) { try { configuration = JSON.parse(state.val); setLoadedConfig(true); console.log("Applied new configuration at " + date); } catch (error) { console.log('Error while parsing Config in JSON-Object!'); } } //console.log('[Socket] State Change: ' + stateId); }, 0); });Jedoch klappt dies nur "lokal", also im eigenen Netz. Per iobroker.net erscheint bei Änderung nichtmal das
console. -
@arteck Habe einen Listener dafür:
let subscribeObjID = [appProperties.namespace + '.configuration', appProperties.namespace + '.data', 'system.adapter.' + appProperties.namespace + '.alive']; socket.on('stateChange', function (stateId, state) { setTimeout(function () { if (stateId == subscribeObjID[0]) { try { configuration = JSON.parse(state.val); setLoadedConfig(true); console.log("Applied new configuration at " + date); } catch (error) { console.log('Error while parsing Config in JSON-Object!'); } } //console.log('[Socket] State Change: ' + stateId); }, 0); });Jedoch klappt dies nur "lokal", also im eigenen Netz. Per iobroker.net erscheint bei Änderung nichtmal das
console.@skb ich vermute der socket wird das problem sein.. der geht nur lokal .. im Netz
und mit iobroker.net bist du auserhalb
-
@skb ich vermute der socket wird das problem sein.. der geht nur lokal .. im Netz
und mit iobroker.net bist du auserhalb
@arteck Also der Socket geht -> Ich bekomme die Seite angezeigt. Auch fehlerlos. Musste nur den Parameter auf polling einstellen, weil der Websocket wohl nicht durchging.
Nur wird eben nicht auf States reagiert, wenn sie sich ändern.
Schau:

-
@apollon77 Du hattest mir gestern prima bei den Web-Extensions via Github geholfen (muss ich noch schließen ;) )
Weisst Du hier vielleicht auch Rat? Wäre super :)
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