Hinzufügen eines neuen Node zum Adapter
jegow opened this issue · 3 comments
Ich würde gern in meiner eigenen Installation testweise einen neuen Node zum Adapter hinzufügen (Mix von ioBroker in und ioBroker get). Dazu habe ich ein Packet angelegt und in Node-Red hinzugefügt. Der neue Node wird auch angezeigt, aber bei der Verwendung erscheinen Fehler. Mir fehlt allerdings komplett der Einsteig beim Thema debuggen bzw. Integration. Deswegen erst einmal die grundsätzliche Frage: Ist es an sich möglich, in einem zusätzlichen Packet einen weiteren Node anzufügen, der die vorhande Infrastruktur nutzt? Ich habe den vorhanden allgemeinen Source-Code von iobroker.js übernommen
...
module.exports = function (RED) {
'use strict';
// patch event emitter
require('events').EventEmitter.prototype._maxListeners = 10000;
const utils = require('/opt/iobroker/node_modules/@iobroker/adapter-core');
const settings = require(process.env.NODE_RED_HOME + '/lib/red').settings;
...
und auf das vorhandene Adapter-Modul adaptor core
verwiesen und nur meine Anpassungen gemacht.
Ob es generell geht ... keine Ahnung weil hat noch keiner versucht :-) Also welche Fehler bekommst du denn?
Das kann ich noch gar nicht sagen. Ich habe den Versuch, das ganze im Life-System zu testen, abgebrochen, weil die vorhandene Steuerung seltsame effekte zeigte und ich nicht sicher sein konnte, dass ich mir nichts zerschieße. Eigentlich wollte ich das ganze in einer zweiten Node-Instanz ausprobieren. Aber nach dem anlegen der Instanz hat der Aufruf nicht funktioniert. Stattdessen hat der Link aus dem IO-Broker heraus mich wieder auf die Instanz 1 geleitet. Das war mir alles zu heikel. Es könnte ja sein, es werden temporäre Dateien von der Instanz geschrieben, die dann zweimal da wären, wenn ich das ganze nochmal starte.
Ich werde es noch mal in einer Docker-Umgebung ausprobieren, wo ich mir nichts zerschießen kann.
Ich möchte eine neuen Node erzeugen, der wie der in sich für Änderung anmeldet, aber wie der get von außen beschaltet werden kann, damit er weiß, was er holen soll. Ohne diesen Node lassen sich nicht sinnvoll komplexe Subflows erzeugen.