NEWS
Multihost Installation
-
@Mapio90
versuch maliobroker start admin.0
da müssten dann zumindest irgend welche Fehlermeldungen kommen. Oder im günstigsten Fall kommst du dann auch wieder auf die Weboberfläche.
-
/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInRedis.js:990
if (regUser.test(id) || regGroup.test(id)) {
^ReferenceError: id is not defined
at checkObjectRights (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInRedis.js:990:26)
at ObjectsInRedis.getObject (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInRedis.js:1184:13)
at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:229:41
at Object.connected (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:3145:70)
at RedisClient.StateRedis.client.on.error (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:629:68)
at emitNone (events.js:106:13)
at RedisClient.emit (events.js:208:7)
at RedisClient.on_connect (/opt/iobroker/node_modules/redis/index.js:422:10)
at Socket.<anonymous> (/opt/iobroker/node_modules/redis/index.js:268:14)
at Object.onceWrapper (events.js:313:30) -
ja - logisch, Redis läuft nicht. Aber wie du das reparieren kannst musst du mal auf jemanden hoffen der mehr Ahnung hat als ich. Nur mal so ganz spekulativ:
Ob hier:
Type of objects DB [(f)ile, (c)ouch, (r)edis], default [file]: r Host / Unix Socket of objects DB(redis), default[127.0.0.1]: 0.0.0.0 Port of objects DB(redis), default[6379]: Type of states DB [(f)file, (r)edis], default [redis]: r Host / Unix Socket of states DB (redis), default[0.0.0.0]: Port of states DB (redis), default[6379]: Host name of this machine [Master]: Master
jeweils die 0.0.0.0 korrekt ist erscheint mir irgendwie zweifelhaft. Ich würde es mal mit der 127.0.0.1 oder sogar mit der IP des Masters versuchen. Aber das ist nur mal so ins Blaue geschossen...
-
da ging es noch. ich hab nochmal versucht alles richtig ein zu tippen und bin auf die weboberfläche und hab geschaut ob jetzt neben dem master der second device mit auf dem host ist. vergeblich.
daraufhin habe ichMultihost mit redis
Soll eine Multihost-Umgebung installiert werden, bei der die States in redis gespeichert werden, muss noch einiges beachtet werden.
Die Datei redis.conf auf dem Host, auf dem die States gespeichert werden muss wie folgt geändert werden.
nano /etc/redis/redis.confDie darin enthaltene Zeile
bind 127.0.0.1muss mit der IP des Netzwerkadapters ergänzt werden, damit der Redis-Server connects von extern zulässt. Also zB
bind 127.0.0.1 192.168.1.10unter der Annahme, dass 192.168.1.10 die lokale IP des ioBroker Masters ist.
Diese Anpassung ist auch nur am Master nötig.Alternativ geht auch
bind 0.0.0.0
Zum Schluss den Redis-Server oder Rechner neu starten. zB:
sudo service redis-server restartausgeführt. Nach dem sudo service redis-server restart habe ich noch ein iobroker reboot ausgeführt und dann ging nichts mehr............... langsam verzweifel ich echt. hab auch echt kein Lust mehr wieder das ganze system neu aufzusetzen. hoffe mir kann so jemand helfen
-
@Mapio90
jetzt bin ich verwirrt - ich denke die redis.conf gibt's gar nicht auf deinem Master??? Falls jetzt doch - was genau steht denn jetzt drin in der Zeile mit "bind " ? -
diese seite treffe ich an nach der eingabe von: sudo nano /etc/redis/redis.conf
aber dass man da weiter runter scrollen kann, wusste ich nicht.
Habe es dann zu folgendem geändert...
hinter dem bind 127.0.0.1 war ein ::1
das habe ich geändert wie beschrieben auf mein IP des masters -
OMG - sag's doch gleich
jetzt kommen wir der Sache näher. Die Zeile die du geändert sind nur die Examples - erkennbar an der Raute am Zeilenanfang damit wird die Zeile auskommentiert. Du musst noch ein Stückchen weiter runterscrollen, dann kommt eine Zeile "bind 127.0.0.1" ohne Raute vornedran - die musst du ändern!!!
-
@Thisoft so hab ich es jetzt mal geändert, darauf das sudo service redis-server restart hinterher, aber die weboberfläche ist immer noch nicht erreichbar
-
@Mapio90
dann versuch da mal noch die 0.0.0.0Was schlecht ist - ich muss jetzt los und bin wahrscheinlich erst am Montag wieder online...
-
aber nur für mich zur Verständniss, geht es hierbei nicht nur um die states die auf dem master gelesen werden? Ich bin ja noch nicht mal soweit, dass mir der second device im host master angezeigt wird. habe es auch mit der 0.0.0.0 versucht. ich komm einfach nicht mehr auf die weboberfläche... das wäre für mich jetzt erst mal wieder premise.. gut dann werde ich mal bis montag abwarten.. sollte bis dahin keiner hilfe anbieten.
-
@Mapio90
So, bin mal wieder da. Kann dir aber im Moment auch nicht so den wirklich guten Tip geben. Dein Problem ist jetzt offensichtlich dass dein Redis überhaupt nicht mehr startet und da ist jetzt mein Problem dass ich da auch nur Vermutungen anstellen kann weil ich das eben nicht im Einsatz habe...
Zum Thema Weboberfläche, läuft dein iobroker überhaupt bzw. was sagt der Versuch des Startens? -
@Thisoft ich habe ihn wieder frisch aufgesetzt. Dieses mal aber das letzte mal im Bezug auf multihost Versuch
-
@Mapio90
OK. Hast Du's diesmal ohne Redis versucht oder brauchst du das aus einem bestimmten Grund unbedingt? -
Bitte beachten: States geht auf redis. objects geht NICHT auf redis aktuell. Das wird mit js-Controller 2.0.0 neuer cooler besser gehen.
Also einfach Objekts immer auf file konfigurieren und alles tut
-
@apollon77 danke dir für den Hinweis..Ich komme leider gar nicht so weit, dass mir sowas auffallen könnte. Hast du eine Idee was der Fehler in meinem System sein könnte bzw was ich falsch gemacht habe, dass der multihost bei mir nicht läuft und auch nicht unter dem Master angezeigt wird?
-
@Mapio90
Naja, apollon77 hat doch geschrieben was der Fehler war:@apollon77 sagte in Multihost Installation:
Also einfach Objekts immer auf file konfigurieren und alles tut
Also:
Type of objects DB [file, couch, redis], default [file]: file !!!!!! Host of objects DB(file), default[127.0.0.1]: 0.0.0.0 Port of objects DB(file), default[9001]: ENTER Type of states DB [file, redis], default [file]: redis Host of states DB (file), default[0.0.0.0]: ENTER Port of states DB (file), default[9000]: ENTER Host name of this machine [hostname]: Master
-
@Thisoft das ist mir soweit bewusst, nur.... ist dass das Problem, wieso ich nicht mal den slave auf dem Master hosts sehe?.
-
@Mapio90 Ja, weil ein Slave für den Master erst mal nur ein Objekt ist.
-
Wenn der Slave korrekt verbunden ist dann wird er angezeigt im Admin. Der Master sucht nicht nach dem Slave, sondern der Slave sagt dem Master "huhu, ich bin hier"
-
@Thisoft AM besten fasse nochmal den Stand zusammen, blicke bei den Infos oben nicht 100% durch was jetzt aktuell ist.
Soll wäre:
- Auf dem Master läuft ein Redis der nicht nur lokal sondern auch vom Slave aus erreichbar ist
- Der Master connected für states zu dem (gern 127.0.0.1 weil ja lokal)
- Der Slave bekommt die IP vpm Master bei der States konfig weil der ja auff die States DB vom Master connected
- Der Slave bekommt bei Objekten auch die IP von Master nur halt nicht redis sondern File
- Der Master muss zugriff auf die FileDB von aussen erlauben