NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Wie Carsten geschrieben hat, Homebridge benutze ich nicht sondern den HomeKit-Adapter im ioBroker.
Gruß
Alex
-
Da der HK-Adapter ja früher funktionierte habe ich mal bei Synology nachgefragt, um herauszufinden was die geändert haben.
Das ist die Antwort:
! ` > Sehr geehrter Kunde,
vielen Dank für Ihre Anfrage.
Mit dem letzten Update haben wir lediglich einen Fehler mit bestimmten Containern behoben: https://www.synology.com/en-us/releaseNote/Docker
Wenn der Container gestartet werden kann, aber nicht mit Ihrem Apple Home Kit kommuniziert, dann müssten Sie sich zwecks support bitte an den Maintainer des jeweiligen Containers zu wenden (http://forum.iobroker.net/), da wir leider mit der Konfiguration der Container nicht behilflich sein dürfen und können. `
Mit mehr habe ich auch nicht wirklich gerechnet.
-
Da der HK-Adapter ja früher funktionierte habe ich mal bei Synology nachgefragt, um herauszufinden was die geändert haben.
Das ist die Antwort:
! ` > Sehr geehrter Kunde,
vielen Dank für Ihre Anfrage.
Mit dem letzten Update haben wir lediglich einen Fehler mit bestimmten Containern behoben: https://www.synology.com/en-us/releaseNote/Docker
Wenn der Container gestartet werden kann, aber nicht mit Ihrem Apple Home Kit kommuniziert, dann müssten Sie sich zwecks support bitte an den Maintainer des jeweiligen Containers zu wenden (http://forum.iobroker.net/), da wir leider mit der Konfiguration der Container nicht behilflich sein dürfen und können. `
Mit mehr habe ich auch nicht wirklich gerechnet. `
Hast du mal eine Version früher geschaut… am 15.11. gab es ja ein größeres Update des Docker Pakets (Update Docker Daemnon usw...). Das hat mir z.B. die Problematik mit dem Hostname eingebracht...
Wie auch immer... ich würde gerne was zum Homekit-Problem tun, weiß aber nicht was... Wie bereits geschrieben kann ich installieren und er wird grün. Die Funktion kann ich nicht prüfen, weil mein altes iPad keine iOS Updates mehr bekommt und ich somit kein Device besitze welches mit dem Adapter kommunizieren könnte... Falls es eine andere Möglichkeit gibt, lasst es mich wissen.
MfG,
André
-
Ach verdammt,
irgendwie läuft das noch immer nicht richtig.
Der Homekit-Adapter läuft zwar aber vom iOS aus finde ich keine HomeKit Bridge.
… `
Hallo Carsten,
ist das immer noch der Stand? Also dass die Bridge nicht gefunden wird? Beim recherchieren zu yahka habe ich hier noch was gefunden:
http://forum.iobroker.net/viewtopic.php … hka#p39425
Falls die Bridge nicht mehr erkannt wird, hilft es oftmals den "Username" zu ändern. Dieser muss immer in Form einer MAC-Adresse eingegeben werden. `
Vielleicht ist es ja nur noch eine Kelinigkeit? Nachdem ja Avahi und dbus laufen…
Außerdem habe ich gesehen, dass in der Konfiguration des yahka ein Port hinterlegt ist. Standard ist 0 (automatisch). Wenn ich recht erinnere, dann hast du ioBroker ja mit Portforwarding laufen... Hast du dort mal probiert einen festen Port zu verwenden?
MfG,
André
-
So, seit drei Tagen hab ich meinen ioBroker nun auch auf der DS718+ laufen.
Diese hat zwar zur Zeit nur die 2GB RAM aber so wie es aussieht läuft alles Rund, zumindestens bis jetzt.
Hab nur zwei kleinere Probleme:
Problem 1
Dieses Skript funktionert nicht mehr.
var debug = true; // zum debuggen) /** Täglich um 4 Uhr früh den Kalendereintrag auslesen **/ schedule("* 4 * * *", function() { if( getState("ical.0.events.TD").val === true) { if(debug) log("Tagdienst: JA"); setState ("hm-rega.0.12176", true); } else { if(debug) log("Tagdienst: NEIN"); setState ("hm-rega.0.12176", false); } });
Anscheinend startet der shedul das Script nicht mehr.
Hab nur keine Idee warum nicht.
Problem 2
Das mit der automatschen Datensicherung hab ich auch noch nicht hinbekommen.
-
Hallo Carsten,
ist das immer noch der Stand? Also dass die Bridge nicht gefunden wird? Beim recherchieren zu yahka habe ich hier noch was gefunden:
http://forum.iobroker.net/viewtopic.php … hka#p39425
Falls die Bridge nicht mehr erkannt wird, hilft es oftmals den "Username" zu ändern. Dieser muss immer in Form einer MAC-Adresse eingegeben werden. `
Vielleicht ist es ja nur noch eine Kelinigkeit? Nachdem ja Avahi und dbus laufen… `
Ich hatte versucht eine neue ID einzutragen aber Apple findet nichts im Netzwerk.Außerdem habe ich gesehen, dass in der Konfiguration des yahka ein Port hinterlegt ist. Standard ist 0 (automatisch). Wenn ich recht erinnere, dann hast du ioBroker ja mit Portforwarding laufen… Hast du dort mal probiert einen festen Port zu verwenden?
MfG,
André `
Ja, das hatte ich versucht.
Sobald ich etwas mehr Zeit habe werde ich mir mal nen RPI als Multihost-Zwischenlösung aufsetzen.
Bis dahin hoffe ich noch auf einen Geistesblitz
-
So, habe nun, als absoluter Anfänger, auch den iobroker auf meiner DS1515+ am Laufen.
Vielen Dank für das ausführliche und wirklich gut gemachte Tutorial
Bei mir habe ich nur das Problem, dass auf der admin Seite, obwohl ich 8GB Arbeitsspeicher in der Synology verbaut habe, folgendes angezeigt wird:
Insgesamt RAM verbraucht: 311 MB / Frei: 183 MB (2%) [Host: ioBroker - 7 Prozesse]
Woran liegt das?
Grüße
nova
4947_bildschirmfoto_2018-01-17_um_14.04.25.png
4947_bildschirmfoto_2018-01-17_um_14.06.40.png -
@ask:Wie Carsten geschrieben hat, Homebridge benutze ich nicht sondern den HomeKit-Adapter im ioBroker. `
Ah sorry, das habe ich dann etwas falsch interpretiert. Ich nutze den yahka-Adapter nicht, weil er mir zu aufwändig in der Konfiguration ist. Da ziehe ich die Homebridge eindeutig vor.
Aber es scheint da ein grundsätzliches Problem mit dem Zugriff der Home App unter iOS auf den Docker-Container zu geben. Ich habe es nämlich ebenfalls bisher nicht geschafft, auf meine Homebridge zuzugreifen, wenn sie im Docker läuft. Richte ich sie dagegen mit dem exakt gleichen config-json-File und denselben Plugins auf einem Raspi 3 ein, wird sie sofort problemlos erkannt. Ich bin deshalb wieder zurück zum Raspi 3.
Das hilft euch jetzt nicht viel; ich weiß. Aber vielleicht grenzt es die Fehlersuche etwas ein.
-
So, seit drei Tagen hab ich meinen ioBroker nun auch auf der DS718+ laufen.
Diese hat zwar zur Zeit nur die 2GB RAM aber so wie es aussieht läuft alles Rund, zumindestens bis jetzt.
Hab nur zwei kleinere Probleme:
Problem 1
Dieses Skript funktionert nicht mehr.
var debug = true; // zum debuggen) /** Täglich um 4 Uhr früh den Kalendereintrag auslesen **/ schedule("* 4 * * *", function() { if( getState("ical.0.events.TD").val === true) { if(debug) log("Tagdienst: JA"); setState ("hm-rega.0.12176", true); } else { if(debug) log("Tagdienst: NEIN"); setState ("hm-rega.0.12176", false); } });
Anscheinend startet der shedul das Script nicht mehr.
Hab nur keine Idee warum nicht.
Problem 2
Das mit der automatschen Datensicherung hab ich auch noch nicht hinbekommen. `
ich habe die gleiche Station.. bei mir lüppt der schedule…
die Datensicherung kannst du über die Aufgabensteuerung anlegen..
-
Hallo Andre,
ich wollte den iobroker admin aktualisieren…
Das ging leider nicht, weil der aktuelle js-controller nicht vorhanden war.
Via Terminal folgendes eingeben:
npm install iobroker.js-controller --production
Mit folender Ausgabe:
! npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
! npm WARN prefer global node-gyp@3.6.2 should be installed with -g
! iobroker.js-controller@1.2.3 install /opt/iobroker/node_modules/iobroker.js-co
! ntroller
! node iobroker.js setup first
! iobroker@1.0.0 /opt/iobroker
! └─┬ iobroker.js-controller@1.2.3
! ├── iobroker.admin@3.1.6
! ├─┬ npm@2.15.12
! │ ├── ansi@0.3.1
! │ ├── ansicolors@0.3.2
! │ ├── ansistyles@0.1.3
! │ ├── archy@1.0.0
! │ ├── async-some@1.0.2
! │ ├── char-spinner@1.0.1
! │ ├── chmodr@1.0.2
! │ ├── cmd-shim@2.0.2
! │ ├─┬ columnify@1.5.4
! │ │ └─┬ wcwidth@1.0.1
! │ │ └─┬ defaults@1.0.3
! │ │ └── clone@1.0.3
! │ ├─┬ config-chain@1.1.11
! │ │ └── proto-list@1.2.4
! │ ├─┬ dezalgo@1.0.3
! │ │ └── asap@2.0.6
! │ ├── editor@1.0.0
! │ ├── fs-vacuum@1.2.10
! │ ├─┬ fs-write-stream-atomic@1.0.10
! │ │ └── iferr@0.1.5
! │ ├── fstream-npm@1.1.1
! │ ├── github-url-from-git@1.4.0
! │ ├── github-url-from-username-repo@1.0.2
! │ ├── imurmurhash@0.1.4
! │ ├─┬ init-package-json@1.9.6
! │ │ ├── promzard@0.3.0
! │ │ └─┬ validate-npm-package-name@3.0.0
! │ │ └── builtins@1.0.3
! │ ├── lockfile@1.0.3
! │ ├─┬ lru-cache@4.0.2
! │ │ ├── pseudomap@1.0.2
! │ │ └── yallist@2.1.2
! │ ├─┬ node-gyp@3.6.2
! │ │ ├── nopt@3[39m
! │ │ └── builtins@0.0.7
! │ ├── which@1.2.14
! │ └── write-file-atomic@1.1.4
! ├─┬ socket.io@1.7.4
! │ └─┬ engine.io@1.8.5
! │ └── ws@1.1.5
! ├─┬ socket.io-client@1.7.4
! │ └── engine.io-client@1.8.5
! ├─┬ tar@4.3.0
! │ ├─┬ minipass@2.2.1
! │ │ └── yallist@3.0.2
! │ └── yallist@3.0.2
! └── UNMET PEER DEPENDENCY winston@2.4.0
! .0.6
! │ │ └── semver@5.3.0
! │ ├── normalize-git-url@3.0.2
! │ ├── normalize-package-data@2.3.8
! │ ├── npm-cache-filename@1.0.2
! │ ├─┬ npm-install-checks@1.0.7
! │ │ └─┬ npmlog@2.0.4
! │ │ └── gauge@1.2.7
! │ ├── npm-package-arg@4.1.1
! │ ├─┬ npm-registry-client@7.2.1
! │ │ ├─┬ concat-stream@1.6.0
! │ │ │ ├─┬ readable-stream@2.3.3
! │ │ │ │ ├── isarray@1.0.0
! │ │ │ │ └── string_decoder@1.0.3
! │ │ │ └── typedarray@0.0.6
! │ │ └─┬ npmlog@3.1.2
! │ │ └─┬ gauge@2.6.0
! │ │ └── has-color@0.1.7
! │ ├── npm-user-validate@0.1.5
! │ ├─┬ npmlog@2.0.4
! │ │ └─┬ gauge@1.2.7
! │ │ ├── lodash.pad@4.5.1
! │ │ ├── lodash.padend@4.6.1
! │ │ └── lodash.padstart@4.6.1
! │ ├── opener@1.4.3
! │ ├── path-is-inside@1.0.2
! │ ├─┬ read-installed@4.0.3
! │ │ ├── debuglog@1.0.1
! │ │ ├── readdir-scoped-modules@1.0.2
! │ │ └── util-extend@1.0.3
! │ ├─┬ read-package-json@2.0.12
! │ │ ├── json-parse-better-errors@1.0.1
! │ │ └── slash@1.0.0
! │ ├─┬ readable-stream@2.1.5
! │ │ ├── buffer-shims@1.0.0
! │ │ └── isarray@1.0.0
! │ ├── realize-package-specifier@3.0.3
! │ ├─┬ request@2.74.0
! │ │ ├─┬ bl@1.1.2
! │ │ │ └─┬ readable-stream@2.0.6
! │ │ │ └── isarray@1.0.0
! │ │ ├── caseless@0.11.0
! │ │ ├─┬ form-data@1.0.1
! │ │ │ └── async@2.6.0
! │ │ ├─┬ har-validator@2.0.6
! │ │ │ ├─┬ chalk@1.1.3
! │ │ │ │ ├── ansi-styles@2.2.1
! │ │ │ │ ├── escape-string-regexp@1.0.5
! │ │ │ │ ├── has-ansi@2.0.0
! │ │ │ │ └── supports-color@2.0.0
! │ │ │ └─┬ is-my-json-valid@2.17.1
! │ │ │ ├── generate-function@2.0.0
! │ │ │ ├─┬ generate-object-property@1.2.0
! │ │ │ │ └── is-property@1.0.2
! │ │ │ └── jsonpointer@4.0.1
! │ │ ├── node-uuid@1.4.8
! │ │ ├── qs@6.2.3
! │ │ └── tunnel-agent@0.4.3
! │ ├── retry@0.10.1
! │ ├── semver@5.1.1
! │ ├─┬ sha@2.0.1
! │ │ └─┬ readable-stream@2.3.3
! │ │ ├── isarray@1.0.0
! │ │ └── string_decoder@1.0.3
! │ ├── slide@1.1.6
! │ ├── sorted-object@2.0.1
! │ ├── text-table@0.2.0
! │ ├── umask@1.1.0
! │ ├─┬ validate-npm-package-name@2.2.2[37;40mnpm WARN enoent ENOENT: no such fi
! le or directory, open '/opt/iobroker/node_modules/engine.io/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/greenlock/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/engine.io-client/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/jszip/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/winston/package.json'
! npm WARN winston-daily-rotate-file@1.7.2 requires a peer of winston@2.x but none
! was installed.Seit dem startet iobroker nicht mehr mit folgender Ausgabe…
! root@buanet-iobroker1:/opt/iobroker# iobroker start
! Starting iobroker controller daemon…
! /opt/iobroker/node_modules/daemonize2/lib/daemonize.js:136
! throw new Error(msg.error);
! ^
! Error: Error: Cannot find module 'winston/lib/winston/common'
! at Function.Module._resolveFilename (module.js:469:15)
! at Function.Module._load (module.js:417:25)
! at Module.require (module.js:497:17)
! at require (internal/module.js:20:19)
! at Object. <anonymous>(/opt/iobroker/node_modules/winston-daily-rotate-file/
! index.js:6:14)
! at Module._compile (module.js:570:32)
! at Object.Module._extensions..js (module.js:579:10)
! at Module.load (module.js:487:32)
! at tryModuleLoad (module.js:446:12)
! at Function.Module._load (module.js:438:3)
! at ChildProcess. <anonymous>(/opt/iobroker/node_modules/daemonize2/lib/daemo
! nize.js:136:19)
! at emitTwo (events.js:106:13)
! at ChildProcess.emit (events.js:191:7)
! at process.nextTick (internal/child_process.js:787:12)
! at _combinedTickCallback (internal/process/next_tick.js:73:7)
! at process._tickCallback (internal/process/next_tick.js:104:9)</anonymous></anonymous>
Ich bin am verzweifeln, google konnte mir auch nicht weiter helfen.Vielen Dank
Gruß Dirk
-
Hallo zusammen,
irgendwie habe ich mit der Installation des Ganzen ein wenig ein Problem.
Vielleicht übersehe ich auch etwas…
Laut Anleitung packe ich meine ursprüngliche Installation mittels tar in ein Archiv.
soweit so gut..
bei den nachfolgenden Schritten komme ich jedoch irgendwie nicht weiter...
` > Anschließend das tar-Archiv in das Transfer-Verzeichnis kopieren und das Terminal des Containers über die Docker-Oberfläche öffnen. Die folgenden Befehle stoppen ioBroker im Container und entpacken das Archiv.
cd /opt/iobroker
pkill io
cd /opt/transfer
tar -xf iobroker_verzeichnis.tar
Schritt 3: ioBroker für den Start auf neuem System vorbereiten und starten
An dieser Stelle ist ioBroker noch nicht lauffähig, da sich mit dem Umzug auf die DS in der Regel auch der Hostname geändert hat. Um ioBroker den neuen Hostname mit zu teilen reicht ein einfacher Befehl, ausgeführt im ioBroker-Verzeichnis über das Terminal des Docker-Containers:
cd /opt/iobroker
iobroker host this
Anschließend sollte sich ioBroker wieder starten lassen: `
Wenn ich das Archiv in das Docker-Transfer-Verzeichnis kopiere, welches auf /opt/transfer gemounted ist und es dort wie angegeben entpacke, entsteht in /opt/transfer ein Unterverzeichnis /opt welches mein iobroker-Verzeichnis und die Daten enthält.
folge ich dann weiter der Anleitung, würde ja nie meine Installation gestartet, sondern weiterhin die im Container vorinstallierte.
Lösche ich den Inhalt von docker_iobroker/mount und kopiere dann die Dateien per WinSCP rüber startet nur der js-controller aber sonst nichts weiter.
Was mache ich denn hier an der Stelle falsch?
Gruss
Silvio
-
Hallo Andre,
ich wollte den iobroker admin aktualisieren…
Das ging leider nicht, weil der aktuelle js-controller nicht vorhanden war.
Via Terminal folgendes eingeben:
npm install iobroker.js-controller --production
Mit folender Ausgabe:
! npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
! npm WARN prefer global node-gyp@3.6.2 should be installed with -g
! iobroker.js-controller@1.2.3 install /opt/iobroker/node_modules/iobroker.js-co
! ntroller
! node iobroker.js setup first
! iobroker@1.0.0 /opt/iobroker
! └─┬ iobroker.js-controller@1.2.3
! ├── iobroker.admin@3.1.6
! ├─┬ npm@2.15.12
! │ ├── ansi@0.3.1
! │ ├── ansicolors@0.3.2
! │ ├── ansistyles@0.1.3
! │ ├── archy@1.0.0
! │ ├── async-some@1.0.2
! │ ├── char-spinner@1.0.1
! │ ├── chmodr@1.0.2
! │ ├── cmd-shim@2.0.2
! │ ├─┬ columnify@1.5.4
! │ │ └─┬ wcwidth@1.0.1
! │ │ └─┬ defaults@1.0.3
! │ │ └── clone@1.0.3
! │ ├─┬ config-chain@1.1.11
! │ │ └── proto-list@1.2.4
! │ ├─┬ dezalgo@1.0.3
! │ │ └── asap@2.0.6
! │ ├── editor@1.0.0
! │ ├── fs-vacuum@1.2.10
! │ ├─┬ fs-write-stream-atomic@1.0.10
! │ │ └── iferr@0.1.5
! │ ├── fstream-npm@1.1.1
! │ ├── github-url-from-git@1.4.0
! │ ├── github-url-from-username-repo@1.0.2
! │ ├── imurmurhash@0.1.4
! │ ├─┬ init-package-json@1.9.6
! │ │ ├── promzard@0.3.0
! │ │ └─┬ validate-npm-package-name@3.0.0
! │ │ └── builtins@1.0.3
! │ ├── lockfile@1.0.3
! │ ├─┬ lru-cache@4.0.2
! │ │ ├── pseudomap@1.0.2
! │ │ └── yallist@2.1.2
! │ ├─┬ node-gyp@3.6.2
! │ │ ├── nopt@3[39m
! │ │ └── builtins@0.0.7
! │ ├── which@1.2.14
! │ └── write-file-atomic@1.1.4
! ├─┬ socket.io@1.7.4
! │ └─┬ engine.io@1.8.5
! │ └── ws@1.1.5
! ├─┬ socket.io-client@1.7.4
! │ └── engine.io-client@1.8.5
! ├─┬ tar@4.3.0
! │ ├─┬ minipass@2.2.1
! │ │ └── yallist@3.0.2
! │ └── yallist@3.0.2
! └── UNMET PEER DEPENDENCY winston@2.4.0
! .0.6
! │ │ └── semver@5.3.0
! │ ├── normalize-git-url@3.0.2
! │ ├── normalize-package-data@2.3.8
! │ ├── npm-cache-filename@1.0.2
! │ ├─┬ npm-install-checks@1.0.7
! │ │ └─┬ npmlog@2.0.4
! │ │ └── gauge@1.2.7
! │ ├── npm-package-arg@4.1.1
! │ ├─┬ npm-registry-client@7.2.1
! │ │ ├─┬ concat-stream@1.6.0
! │ │ │ ├─┬ readable-stream@2.3.3
! │ │ │ │ ├── isarray@1.0.0
! │ │ │ │ └── string_decoder@1.0.3
! │ │ │ └── typedarray@0.0.6
! │ │ └─┬ npmlog@3.1.2
! │ │ └─┬ gauge@2.6.0
! │ │ └── has-color@0.1.7
! │ ├── npm-user-validate@0.1.5
! │ ├─┬ npmlog@2.0.4
! │ │ └─┬ gauge@1.2.7
! │ │ ├── lodash.pad@4.5.1
! │ │ ├── lodash.padend@4.6.1
! │ │ └── lodash.padstart@4.6.1
! │ ├── opener@1.4.3
! │ ├── path-is-inside@1.0.2
! │ ├─┬ read-installed@4.0.3
! │ │ ├── debuglog@1.0.1
! │ │ ├── readdir-scoped-modules@1.0.2
! │ │ └── util-extend@1.0.3
! │ ├─┬ read-package-json@2.0.12
! │ │ ├── json-parse-better-errors@1.0.1
! │ │ └── slash@1.0.0
! │ ├─┬ readable-stream@2.1.5
! │ │ ├── buffer-shims@1.0.0
! │ │ └── isarray@1.0.0
! │ ├── realize-package-specifier@3.0.3
! │ ├─┬ request@2.74.0
! │ │ ├─┬ bl@1.1.2
! │ │ │ └─┬ readable-stream@2.0.6
! │ │ │ └── isarray@1.0.0
! │ │ ├── caseless@0.11.0
! │ │ ├─┬ form-data@1.0.1
! │ │ │ └── async@2.6.0
! │ │ ├─┬ har-validator@2.0.6
! │ │ │ ├─┬ chalk@1.1.3
! │ │ │ │ ├── ansi-styles@2.2.1
! │ │ │ │ ├── escape-string-regexp@1.0.5
! │ │ │ │ ├── has-ansi@2.0.0
! │ │ │ │ └── supports-color@2.0.0
! │ │ │ └─┬ is-my-json-valid@2.17.1
! │ │ │ ├── generate-function@2.0.0
! │ │ │ ├─┬ generate-object-property@1.2.0
! │ │ │ │ └── is-property@1.0.2
! │ │ │ └── jsonpointer@4.0.1
! │ │ ├── node-uuid@1.4.8
! │ │ ├── qs@6.2.3
! │ │ └── tunnel-agent@0.4.3
! │ ├── retry@0.10.1
! │ ├── semver@5.1.1
! │ ├─┬ sha@2.0.1
! │ │ └─┬ readable-stream@2.3.3
! │ │ ├── isarray@1.0.0
! │ │ └── string_decoder@1.0.3
! │ ├── slide@1.1.6
! │ ├── sorted-object@2.0.1
! │ ├── text-table@0.2.0
! │ ├── umask@1.1.0
! │ ├─┬ validate-npm-package-name@2.2.2[37;40mnpm WARN enoent ENOENT: no such fi
! le or directory, open '/opt/iobroker/node_modules/engine.io/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/greenlock/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/engine.io-client/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/jszip/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/winston/package.json'
! npm WARN winston-daily-rotate-file@1.7.2 requires a peer of winston@2.x but none
! was installed.Seit dem startet iobroker nicht mehr mit folgender Ausgabe…
! root@buanet-iobroker1:/opt/iobroker# iobroker start
! Starting iobroker controller daemon…
! /opt/iobroker/node_modules/daemonize2/lib/daemonize.js:136
! throw new Error(msg.error);
! ^
! Error: Error: Cannot find module 'winston/lib/winston/common'
! at Function.Module._resolveFilename (module.js:469:15)
! at Function.Module._load (module.js:417:25)
! at Module.require (module.js:497:17)
! at require (internal/module.js:20:19)
! at Object. <anonymous>(/opt/iobroker/node_modules/winston-daily-rotate-file/
! index.js:6:14)
! at Module._compile (module.js:570:32)
! at Object.Module._extensions..js (module.js:579:10)
! at Module.load (module.js:487:32)
! at tryModuleLoad (module.js:446:12)
! at Function.Module._load (module.js:438:3)
! at ChildProcess. <anonymous>(/opt/iobroker/node_modules/daemonize2/lib/daemo
! nize.js:136:19)
! at emitTwo (events.js:106:13)
! at ChildProcess.emit (events.js:191:7)
! at process.nextTick (internal/child_process.js:787:12)
! at _combinedTickCallback (internal/process/next_tick.js:73:7)
! at process._tickCallback (internal/process/next_tick.js:104:9)</anonymous></anonymous>
Ich bin am verzweifeln, google konnte mir auch nicht weiter helfen.Vielen Dank
Gruß Dirk `
Hallo Dirk,
hast du mal versucht alle npm-Pakete, die das Logfile mit "no such file or directory" anmeckert manuell zu installieren?
Dazu musst du nur in den iobroker ordner und dann per npm installieren, in etwa so:
cd /opt/iobroker npm install engine.io npm install greenlock ...
Am Ende vielleicht nochmal den js-controller drüber installieren…
Angaben ohne Gewähr, aber so würde ich dran gehen...
MfG,
André
-
Hallo zusammen,
irgendwie habe ich mit der Installation des Ganzen ein wenig ein Problem.
Vielleicht übersehe ich auch etwas…
Laut Anleitung packe ich meine ursprüngliche Installation mittels tar in ein Archiv.
soweit so gut..
bei den nachfolgenden Schritten komme ich jedoch irgendwie nicht weiter...
` > Anschließend das tar-Archiv in das Transfer-Verzeichnis kopieren und das Terminal des Containers über die Docker-Oberfläche öffnen. Die folgenden Befehle stoppen ioBroker im Container und entpacken das Archiv.
cd /opt/iobroker
pkill io
cd /opt/transfer
tar -xf iobroker_verzeichnis.tar
Schritt 3: ioBroker für den Start auf neuem System vorbereiten und starten
An dieser Stelle ist ioBroker noch nicht lauffähig, da sich mit dem Umzug auf die DS in der Regel auch der Hostname geändert hat. Um ioBroker den neuen Hostname mit zu teilen reicht ein einfacher Befehl, ausgeführt im ioBroker-Verzeichnis über das Terminal des Docker-Containers:
cd /opt/iobroker
iobroker host this
Anschließend sollte sich ioBroker wieder starten lassen: `
Wenn ich das Archiv in das Docker-Transfer-Verzeichnis kopiere, welches auf /opt/transfer gemounted ist und es dort wie angegeben entpacke, entsteht in /opt/transfer ein Unterverzeichnis /opt welches mein iobroker-Verzeichnis und die Daten enthält.
folge ich dann weiter der Anleitung, würde ja nie meine Installation gestartet, sondern weiterhin die im Container vorinstallierte.
Lösche ich den Inhalt von docker_iobroker/mount und kopiere dann die Dateien per WinSCP rüber startet nur der js-controller aber sonst nichts weiter.
Was mache ich denn hier an der Stelle falsch?
Gruss
Silvio `
Hallo Silvio,
hast du dich mal mit dem tar-befehl beschäftigt? darüber kann man unter anderem auch steuern wo die Dateien beim Entpacken wiederhergestellt werden. Dabei unbedingt das Achtung aus meinem Tutorial beachten:
` > Gehen wir also mal davon aus wir haben einen Raspberry Pi als Quellsystem mit dem Verzeichnis /opt/iobroker als ioBroker-Verzeichnis. IoBroker selbst ist natürlich gestoppt.
Zum (ver-)packen deines ioBroker-Verzeichnisses braucht es nur einen Befehl:
tar -cPf /opt/iobroker_verzeichnis.tar /opt/iobroker
Achtung! Den Parameter „P“ nur verwenden, wenn auf dem Quellsystem (Raspberry Pi) und Zielsystem (Docker-Container) das ioBroker-Verzeichnis den selben Pfad (/opt/iobroker) besitzt. Für mehr Infos bitte selbst zum Thema „tar“ recherchieren. `
Außerdem beim Umziehen auch diesen Teil beachten:
` > Schritt 3: ioBroker für den Start auf neuem System vorbereiten und starten
An dieser Stelle ist ioBroker noch nicht lauffähig, da sich mit dem Umzug auf die DS in der Regel auch der Hostname geändert hat. Um ioBroker den neuen Hostname mit zu teilen reicht ein einfacher Befehl, ausgeführt im ioBroker-Verzeichnis über das Terminal des Docker-Containers:
cd /opt/iobroker
iobroker host this
Anschließend sollte sich ioBroker wieder starten lassen:
node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 & `
Wenn das nicht hilft brauche ich die Einzelnen Schritte und genutzten Befehle, dann kann ich versuchen das nachzuvollziehen.
MfG,
André
-
Hello!
new container and problem
i dont stop iobroker
!
![](</s><URL url=)<link_text text="https://image.prntscr.com/image/1DOPTWl ... yCc6Yg.png">https://image.prntscr.com/image/1DOPTWluTqiEHBjgyCc6Yg.png</link_text>" /> -
Hello!
new container and problem
i dont stop iobroker
!
![](</s><URL url=)<link_text text="https://image.prntscr.com/image/1DOPTWl ... yCc6Yg.png">https://image.prntscr.com/image/1DOPTWluTqiEHBjgyCc6Yg.png</link_text>" />` ~~usepkill io
and the start command is different also
node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 & ````~~
-
Hallo André,
ich habe deinen Container auf meine QNAP TS 251+ installiert und nach kleinen Startschwierigkeiten zum Laufen gebracht. Diesen Fred habe ich von vorn bis hinten mit großem Interesse gelesen. Vielen Dank für Dein großes Engagement!
Ich möchte diesen Fred keinesfalls kapern, von daher kann ich auch gerne ein neues Thema aufmachen, da ich eine QNAP spezifische Frage habe und es hier hauptsächlich um Synology geht.
Ich sehe auf dem QNAP in der Container Station keine Möglichkeit das iobroker Verzeichnis auf das NAS auszulagern, so wie es in der erweiterten Konfiguration beschrieben ist.
Geht das auch über Terminalbefehle? Falls dem so ist, welche sind das? Ich bin absoluter Linux-Laie und habe mich bei meiner derzeitigen Installation auf dem Raspi von Tutorial zu Tutorial gehangelt. :shock:
Dann gleich noch eine zweite Frage. Macht es Sinn, um die Platten im NAS nicht immer zu wecken, den Container und die iobroker Daten auf eine externe SSD am NAS auszulagern? Sollte der Container mit auf die SSD oder reichen die iobroker Daten?
Danke für Deine/Eure Mühe
Grüße Andreas
-
Hallo André,
ich habe deinen Container auf meine QNAP TS 251+ installiert und nach kleinen Startschwierigkeiten zum Laufen gebracht. Diesen Fred habe ich von vorn bis hinten mit großem Interesse gelesen. Vielen Dank für Dein großes Engagement!
Ich möchte diesen Fred keinesfalls kapern, von daher kann ich auch gerne ein neues Thema aufmachen, da ich eine QNAP spezifische Frage habe und es hier hauptsächlich um Synology geht.
Ich sehe auf dem QNAP in der Container Station keine Möglichkeit das iobroker Verzeichnis auf das NAS auszulagern, so wie es in der erweiterten Konfiguration beschrieben ist.
Geht das auch über Terminalbefehle? Falls dem so ist, welche sind das? Ich bin absoluter Linux-Laie und habe mich bei meiner derzeitigen Installation auf dem Raspi von Tutorial zu Tutorial gehangelt. :shock:
Dann gleich noch eine zweite Frage. Macht es Sinn, um die Platten im NAS nicht immer zu wecken, den Container und die iobroker Daten auf eine externe SSD am NAS auszulagern? Sollte der Container mit auf die SSD oder reichen die iobroker Daten?
Danke für Deine/Eure Mühe
Grüße Andreas `
Hallo Andreas,
sorry, was QNAP angeht, habe ich absolut keine Vorstellung wie das dort gehandhabt wird, geschweige den wie die "Container Station ausschaut. Generell sollte es aber einen Weg geben, wie man auch dort Verzeichnisse vom QNAP in den Container mountet. Das ist eine Grundfunktion und wichtige Säule der Docker-Philosophie (Stichwort "Austauschbarkeit des Containers ohne Datenverlust"). Schau mal hier: https://docs.docker.com/storage/volumes/
Was das Auslagern auf die SSD angeht, da kann ich nicht einmal bei der DiskStation was zu sagen. Ich habe eine 24/7 Umgebung. Mit Plex Media Server, Web-Server und TV-Server kommt meine DS sowieso nie zur Ruhe, sodass ich mir ehrlich gesagt darüber noch nie Gedanken gemacht habe.
Wenn du aber vor hast, deine Platten entsprechend zu schonen, dann müsste theoretisch schon alles dorthin umziehen. Andernfalls würden die Platten sicher immer wieder geweckt werden (vermute ich)…
Sorry, dass ich dir da wenig helfen kann. Trotzdem viel Erfolg!
MfG,
André
-
Hallo André,
zuerst einmal danke dür das Docker File.
Bis jetzt lief alles super nur bin ich gestern auf ein Problem gesoßen in Verbindung mit dem
MQTT Broker/Client Adapter in der Version 1.4.2
Die Portweiterleitungen habe ich Kknfiguriert Port: 1883
Ich erhalte keinen grünen Punkt bei Instanten für den mqtt
Im Log stehen diese Fehlermeldungen, mit dennen ich nicht zurecht komme.
Hast du vieleicht eine Idee?
host.iobroker-beta 2018-02-22 13:04:44.952 info Restart adapter system.adapter.mqtt.0 because enabled
host.iobroker-beta 2018-02-22 13:04:44.952 error instance system.adapter.mqtt.0 terminated with code 0 (OK)
Caught 2018-02-22 13:04:44.952 error by controller[0]: port: 1883 }
Caught 2018-02-22 13:04:44.952 error by controller[0]: address: '0.0.0.0',
Caught 2018-02-22 13:04:44.952 error by controller[0]: syscall: 'listen',
Caught 2018-02-22 13:04:44.951 error by controller[0]: errno: 'EADDRINUSE',
Caught 2018-02-22 13:04:44.951 error by controller[0]: code: 'EADDRINUSE',
Caught 2018-02-22 13:04:44.951 error by controller[0]: at process._tickCallback (internal/process/next_tick.js:104:9)
Caught 2018-02-22 13:04:44.951 error by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:83:11)
Caught 2018-02-22 13:04:44.951 error by controller[0]: at net.js:1408:9
Caught 2018-02-22 13:04:44.951 error by controller[0]: at listen (net.js:1298:10)
Caught 2018-02-22 13:04:44.951 error by controller[0]: at Server._listen2 (net.js:1262:14)
Caught 2018-02-22 13:04:44.951 error by controller[0]: at exports._exceptionWithHostPort (util.js:1043:20)
Caught 2018-02-22 13:04:44.950 error by controller[0]: at Object.exports._errnoException (util.js:1020:11)
Caught 2018-02-22 13:04:44.950 error by controller[0]: { Error: listen EADDRINUSE 0.0.0.0:1883
mqtt.0 2018-02-22 13:04:44.942 info terminating
mqtt.0 2018-02-22 13:04:44.435 error at process._tickCallback (internal/process/next_tick.js:104:9)
mqtt.0 2018-02-22 13:04:44.435 error at _combinedTickCallback (internal/process/next_tick.js:83:11)
mqtt.0 2018-02-22 13:04:44.435 error at net.js:1408:9
mqtt.0 2018-02-22 13:04:44.435 error at listen (net.js:1298:10)
mqtt.0 2018-02-22 13:04:44.435 error at Server._listen2 (net.js:1262:14)
mqtt.0 2018-02-22 13:04:44.435 error at exports._exceptionWithHostPort (util.js:1043:20)
mqtt.0 2018-02-22 13:04:44.435 error at Object.exports._errnoException (util.js:1020:11)
mqtt.0 2018-02-22 13:04:44.435 error Error: listen EADDRINUSE 0.0.0.0:1883
mqtt.0 2018-02-22 13:04:44.434 error uncaught exception: listen EADDRINUSE 0.0.0.0:1883
mqtt.0 2018-02-22 13:04:44.181 info starting. Version 1.4.2 in /opt/iobroker/node_modules/iobroker.mqtt, node: v6.12.3
host.iobroker-beta 2018-02-22 13:04:43.698 info instance system.adapter.mqtt.0 started with pid 2841
Kann es daran liegen das es die IO Broker Beta version ist?
Ich habe auch den Adapter 1.4.1 probiert das gleiche Bild.
Hat vielleicht jemand eine Idee?
Ich behelfe mir gerade damit, dass ich einen mosquito auf einem Pi1 am Start habe, aber das kann nicht die Lösung sein.
Über eine Rückmeldung würde ich mich freuen.
Gruß
Micha
-
was ist das für ein Docker File ???
-
habe eine Notlösung für mich gefunden, bis mqtt als Broker in ioBroker-beta läuft
ich habe mir im docker hub: ncarlier/mqtt als Dockerfile gezogen und port ext: 1883 auf port Docker:1883 aktiviert
In deinem Dockerfile: bunanet/iobroker-Beta das Port ext: 1884 auf port Docker:1883 geroutet.
den mqqt Adapter vers 1.4.2 auf port 1883 konfiguriert
das geht nun erstmal auch wenn es nicht so schön ist.
Gruß
Micha