NEWS
Einstieg in Adapterentwicklung
-
Hallo,
ich beschäftige mich interessehalber gerade mit der Entwicklung von Adaptern. Dazu wollte ich ein Skript nutzen, mittels dem ich derzeit meine Smartphones anpinge. Die ersten Schritte habe ich auch schon mal hinbekommen und verfüge nun grundsätzlich über einen Adapter, den ich installieren und instanziieren kann. Danach wird es leider schwierig. :roll:
In der io-package.js habe ich unter native zwei Geräte defniert:
"devices": [ {"devId":"note4","name":"Galaxy Note 4","ip":"192.168.2.22","status":false}, {"devId":"xperia","name":"Sony Xperia","ip":"192.168.2.24","status":false} ],In meiner main.js spreche ich sie dann an über:
var devices = adapter.config.devices || []; devices.forEach(function(device) { adapter.log.info('device: ' + device['devId']); adapter.setObject('devices.' + device['devId'], { type: 'state', common: { name: 'present', type: 'boolean', role: 'value', value: false }, native: {} }); });Danach tauchen sie auch im Reiter Objekte auf.
Für mein Verständnis müsste ich sie allerdings nicht als State, sondern besser als Device oder Channel anlegen. Und genau das bekomme ich derzeit nicht hin. Kann mich vielleicht jemand in die richtige Richtung schubsen?
Danke und Gruß
-
Eigentlich ganz einfach:
var devices = adapter.config.devices || []; devices.forEach(function(device) { adapter.log.info('device: ' + device['devId']); adapter.setObject('devices.' + device['devId'], { type: 'device', common: { name: 'present', type: 'boolean', role: 'value', value: false }, native: {} }); });Der Type definiert ob es ein "device2, ein "state" oder "channel" ist.
-
Danke sehr. Das hatte ich schon versucht, aber leider keine Einträge unter "Objekte" erhalten. Nach deinem Hinweis hab ich das nun erneut probiert. Dabei ist mir aufgefallen, dass es wohl ein anderes Problem gibt.
Tatsächlich wird kurz nach dem Neustart der Instanz ein Pfad "devices" unter "Objekte" mit den gewünschten Channels angelegt. Der verschwindet allerdings nach einigen Sekunden wieder komplett!? Woran kann das denn liegen?
-
Ok, das erklärt das. Allerdings mir nicht so ganz … :lol:
Wie genau mach ich das denn? Kannst du mir das evtl. anhand des obigen Codes zeigen? Muss ich den value in den Knoten native schreiben? Irgendwie steh ich da auf dem Schlauch. Egal, wie ich es versuche, kommt nach dem Upload kein Eintrag unter Objekte zustande. :oops:
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