NEWS
Anlaufschwierigkeiten bei neuem Adapter ioBroker.homehub
-
Hallo,
mittlerweile habe ich es geschafft, dass die Instanz konfigurierbar ist. Außerdem habe ich gefunden, wie ich in der main.js in eine Datei schreiben kann. Dummerweise ist mir nicht ganz klar, wie ich am besten den Pfad zur config.js in der Instanz angebe.
Es wäre wirklich toll, wenn mir einer der ioBroker Cracks helfen könnte.
Viele Grüße,
Markus -
Ich finde zwar keine main.js in deinem Repo, aber in NodeJS würde das grundsätzlich so gehen (vorausgesetzt, main.js liegt im Hauptordner und config.js im www-Ordner):
// in main.js const path = require("path"); const configJsPath = path.join(__dirname, "www/config.js");
-
Hallo @AlCalzone,
im Repo gibt es die main,js noch nicht, weil sie ja nicht annährend funktioniert.
So sieht die main,js jetzt aus. Damit wird die Datei /opt/iobroker/node_modules/iobroker.homehub/www/config.js aktualisiert. Soweit, so gut, aber damit wird ja nicht die config.js aktualisiert, die dann in meiner Visu benutzt wird. Müsste das nicht eher die /opt/iobroker/iobroker-data/files/homehub/config.js Datei sein?
/* jshint -W097 */ /* jshint strict:false */ /* jslint node: true */ 'use strict'; var adapterName = require(__dirname + '/package.json').name.split('.').pop(); var utils = require('@iobroker/adapter-core'); // Get common adapter utils var adapter = new utils.Adapter(adapterName); var fs = require('fs'); var path = require('path'); var configJsPath = path.join(__dirname, "www/config.js"); adapter.on('ready', function () { main(); }); function main() { var data = "var config = {'test': 'test'}"; fs.writeFileSync(configJsPath, data); adapter.log.info('Hier: ' + configJsPath); }
-
@braindead sagte in Anlaufschwierigkeiten bei neuem Adapter ioBroker.homehub:
Müsste das nicht eher die /opt/iobroker/iobroker-data/files/homehub/config.js Datei sein?
Wenn das so ist, dann musst du stattdessen die
adapter.writeFile
Methode verwenden: https://github.com/ioBroker/ioBroker.js-controller/blob/master/lib/adapter.js#L3337
Also in deinem Fall etwa so (ungetestet):adapter.writeFile(null, "config.js", data, (err, data) => { // ... Nach dem Schreiben gehts hier weiter });`
-
Danke für Deine Hilfe. Ich habe den Adapter jetzt so umgeschrieben, dass es nicht mehr nötig ist die config.js zu aktualisieren. Stattdessen wird die Konfiguration jetzt beim Aufruf der Visualisierung im Browser via getState() abgerufen.
-
@braindead Wie sieht es auch mit dem Homehub für ioBroker? Kann ich es schon testen?
-
@ldittmar sagte in Anlaufschwierigkeiten bei neuem Adapter ioBroker.homehub:
Wie sieht es auch mit dem Homehub für ioBroker?
Hallo, ich würde mich auch anbieten zum testen oder ist das Thema eingestellt?
-
@leika241265 Ich habe das Thema ehrlich gesagt nicht weiter verfolgt.
-
Ok, schade fand ich eine gute Idee.
-
@leika241265 Kennst Du HomeHub von der CCU? Das hatte ich ursprünglich auch entwickelt.
-
@braindead
Ich habe ein HomeHub test system auf einer Synology betrieben aber ich war von der Performance nicht so recht begeistert.
Welche OS würdest du bevorzugen? Ist die SW konform mit einem Linux (Debian )?
Dann wurde ich eine virtuelle Linux vm ausetzten und es dort mal testen. Hat das schon jemand probiert ?Hast du den vor noch weiter an der Software Entwicklung was zu machen oder eher nicht.
Danke
-
@leika241265 Das ursprüngliche HomeHub ist in PHP geschrieben und ist damit mehr oder weniger OS unabhängig. Bei mir lief Debian. Der Nachfolger an dem ich gearbeitet habe, lief komplett im Browser wie z.B. ioBroker VIS.
Mittlerweile gibt es so viele wirklich gute Visualisierungen für den ioBroker, dass sich der Aufwand wohl eher nicht lohnt. Neben der eigentlichen Visualisierung muss man Stand heute nämlich auch eine Konfigurationsmöglichkeit für Geräte bauen, damit die Visualisierung überhaupt etwas damit anfangen kann. Leider ist der Devices (Alias) Adapter noch nicht so weit, dass man einmalig Geräte definiert und diese dann überall nutzen kann.