Einrichtung 2. Instanz Homebridge

Begonnen von Sky, 01 Mai 2019, 14:01:54

Vorheriges Thema - Nächstes Thema

amenomade

Mach bittesudo service homebridge stop
sudo service homebridge-test stop
sudo netstat -ltnp |grep 8282

Wenn immer noch etwas kommt, hast Du noch eine laufende Instanz von Homebridge. Vielleicht von deiner alte init.d Konfiguration?
Dann zur Sicherheit:
sudo /etc/init.d/homebridge stop
sudo netstat -ltnp |grep 8282

Wenn nichts mehr läuft, dann gucken ob persist Verzeichnisse existieren:
cd /home
sudo ls -laR |grep "\.homebridge/persist"

Wenn sowas, dann mit "rm -Rf" diese Verzeichnisse löschen
Auch im root home Verzeichniss kontrollieren:
cd /.homebridge/persistWenn es geht, dann noch ein Verzeichniss zu löschen.

Danach, der erste wieder starten:
sudo service homebridge start
Kontrollieren:
sudo netstat -lntp |grep homebridge
sudo systemctl status homebridge


Erst dann kann man evtl. mit dem 2. anfangen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Sky

Ich habe jetzt erst mal die "homebridge-test" Instanz gelöscht .

In folgenden Verzeichnissen kontrolliert :

/etc/systemd/system
/etc/default
/var/

Dort gibt es jetzt nur noch "homebridge" .
Sicherheitshalber auch das Verzeichniss " /home/pi" kontrolliert ,weil ich ja von init.d auf systemd umgestellt habe
Anschließend ein Neustart des Pi ...

Dann Deine Befehle abgearbeitet ...

pi@raspberrypi:~ $ sudo service homebridge stop
pi@raspberrypi:~ $ sudo netstat -ltnp |grep 8282
pi@raspberrypi:~ $ sudo /etc/init.d/homebridge stop
Homebridge is not running
pi@raspberrypi:~ $ sudo netstat -ltnp |grep 8282
pi@raspberrypi:~ $ cd /home
pi@raspberrypi:/home $ sudo ls -laR |grep "\.homebridge/persist"
pi@raspberrypi:/home $ cd /.homebridge/persist
-bash: cd: /.homebridge/persist: No such file or directory
pi@raspberrypi:/home $ sudo service homebridge start
pi@raspberrypi:/home $ cd
pi@raspberrypi:~ $ sudo netstat -lntp |grep homebridge
tcp6       0      0 :::45775                :::*                    LISTEN                                                                                                                                     1213/homebridge
tcp6       0      0 :::51826                :::*                    LISTEN                                                                                                                                     1213/homebridge
tcp6       0      0 :::8282                 :::*                    LISTEN                                                                                                                                     1213/homebridge
tcp6       0      0 :::46719                :::*                    LISTEN                                                                                                                                     1213/homebridge
tcp6       0      0 :::46561                :::*                    LISTEN                                                                                                                                     1213/homebridge
tcp6       0      0 :::41473                :::*                    LISTEN                                                                                                                                     1213/homebridge
tcp6       0      0 :::37351                :::*                    LISTEN                                                                                                                                     1213/homebridge
pi@raspberrypi:~ $ sudo systemctl status homebridge
● homebridge.service - Node.js HomeKit Server
   Loaded: loaded (/etc/systemd/system/homebridge.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-05-05 16:35:50 CEST; 27s ago
Main PID: 1213 (homebridge)
   CGroup: /system.slice/homebridge.service
           └─1213 homebridge

May 05 16:35:56 raspberrypi homebridge[1213]:
May 05 16:35:56 raspberrypi homebridge[1213]:
May 05 16:35:56 raspberrypi homebridge[1213]:
May 05 16:35:56 raspberrypi homebridge[1213]: Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
May 05 16:35:56 raspberrypi homebridge[1213]:
May 05 16:35:56 raspberrypi homebridge[1213]:     ┌────────────┐
May 05 16:35:56 raspberrypi homebridge[1213]:     │ 031-45-154 │
May 05 16:35:56 raspberrypi homebridge[1213]:     └────────────┘
May 05 16:35:56 raspberrypi homebridge[1213]:
May 05 16:35:56 raspberrypi homebridge[1213]: [5/5/2019, 4:35:56 PM] Homebridge is running on port 51826.


Ist das so korrekt ?

Wenn ja , ist denn die Vorgehensweise zur Installation einer weiteren Instanz ,von folgendem Link richtig ?
Im Forum und im WiKi habe ich darüber nichts finden können ?

Ein großes Dankeschön

Sky

#17
Ich werde noch verrückt  >:(

Ich habe nun die zweite Homebridge-Instanz wieder eingerichtet , prompt kommt der gleiche Fehler mit der doppelten Portbelegung

pi@raspberrypi:~ $ sudo systemctl status homebridge-test
● homebridge-test.service - Node.js HomeKit Server
   Loaded: loaded (/etc/systemd/system/homebridge-test.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-05-05 17:43:16 CEST; 2min 28s ago
Main PID: 338 (homebridge)
   CGroup: /system.slice/homebridge-test.service
           └─338 homebridge

May 05 17:43:32 raspberrypi homebridge[338]:
May 05 17:43:32 raspberrypi homebridge[338]: Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
May 05 17:43:32 raspberrypi homebridge[338]:
May 05 17:43:32 raspberrypi homebridge[338]:     ┌────────────┐
May 05 17:43:32 raspberrypi homebridge[338]:     │ 031-45-154 │
May 05 17:43:32 raspberrypi homebridge[338]:     └────────────┘
May 05 17:43:32 raspberrypi homebridge[338]:
May 05 17:43:32 raspberrypi homebridge[338]: Server error: Error: listen EADDRINUSE :::8282
May 05 17:43:32 raspberrypi homebridge[338]: [5/5/2019, 5:43:32 PM] Homebridge is running on port 51833.
May 05 17:43:32 raspberrypi homebridge[338]: Server listening on: http://<ip>:8283



pi@raspberrypi:~ $ sudo netstat -ltnp |grep 8282
tcp6       0      0 :::8282                 :::*                    LISTEN      335/homebridge


pi@raspberrypi:~ $ sudo netstat -lntp |grep homebridge
tcp6       0      0 :::35917                :::*                    LISTEN      335/homebridge
tcp6       0      0 :::51826                :::*                    LISTEN      335/homebridge
tcp6       0      0 :::35219                :::*                    LISTEN      335/homebridge
tcp6       0      0 :::34451                :::*                    LISTEN      335/homebridge
tcp6       0      0 :::42421                :::*                    LISTEN      338/homebridge
tcp6       0      0 :::51833                :::*                    LISTEN      338/homebridge
tcp6       0      0 :::8282                 :::*                    LISTEN      335/homebridge
tcp6       0      0 :::8283                 :::*                    LISTEN      338/homebridge
tcp6       0      0 :::45699                :::*                    LISTEN      335/homebridge
tcp6       0      0 :::46697                :::*                    LISTEN      335/homebridge
tcp6       0      0 :::40329                :::*                    LISTEN      338/homebridge

amenomade

Schon nach dem Start des erstes homebridg hattest Du schon wieder etwas, was auf port 8282 lief.

Ich kenne homebridge leider nicht so gut. Ich muss gucken, was er genau startet.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

#19
Ok gefunden.

Laut https://www.npmjs.com/package/homebridge-fhem :
Zitata debug browser is available at port 8282 (or 8283)

Der erste Homebridge startet dieses Debug browser auf port 8282
Dann, wenn Du den 2. startest, kommt er in folgendem Code:
var FHEMdebug_server = http.createServer( FHEMdebug_handleRequest );

FHEMdebug_server.on('error', function (e) {
  console.log('Server error: ' + e);

  if( FHEMdebug_PORT == 8282 ) {
    FHEMdebug_PORT = 8283;
    FHEMdebug_server.close();
    FHEMdebug_server.listen(FHEMdebug_PORT);
  }
});

Er kriegt einen Fehler mit port 8282 (EADDR in use). Dann ändert er den Port auf 8283.
Tatsächlich hast Du:
tcp6       0      0 :::8282                 :::*                    LISTEN      335/homebridge
tcp6       0      0 :::8283                 :::*                    LISTEN      338/homebridge

Die erste Instanz (pid 335) hat sein debug Browser auf Port 8282
Die zweite Instanz (pid 338) hat es auf Port 8283.

So weit ich verstehe, sollte es kein Problem sein (erst bei der 3. Instanz könnte es ein Problem werden).
Das heisst: das Problem liegt irgendwo anders.
Zurück zu deinem 1. Post: Du hattest ein Problem in deinem config.json =>
ZitatMay 01 13:30:59 raspberrypi homebridge[896]: [5/1/2019, 1:30:59 PM] There was a problem reading your config.json file.
Danach hast Du es korrigiert und... ES LIEF! Wir (ich auch) hatten gedacht, es war ein Fehler mit einer 2. Instanz am Laufen, weil es ein klassischer Fehler hier im Forum ist. Aber in dem Fall nicht!
ZitatMay 01 16:28:50 raspberrypi homebridge[329]: Server error: Error: listen EADDRINUSE :::8282
May 01 16:28:50 raspberrypi homebridge[329]: Server listening on: http://<ip>:8283

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Sky

Verstehe ich das richtig ,das wenn der Port 8282 besetzt ist , dieser auf 8283 springt ?

May 01 16:28:50 raspberrypi homebridge[329]: Server error: Error: listen EADDRINUSE :::8282
May 01 16:28:50 raspberrypi homebridge[329]: Server listening on: http://<ip>:8283


Das hieße ,die erste Homebridge nutzt diesen Debug Browser auf 8282 und wenn eine Zweite hinzukommt ,versucht diese auch zuerst ( standartmäßig) auf dem Port 8282 ,welcher aber schon belegt ist und wird dann aber auf 8283 "verschoben" ?

amenomade

Zitat von: Sky am 05 Mai 2019, 20:14:42
Verstehe ich das richtig ,das wenn der Port 8282 besetzt ist , dieser auf 8283 springt ?

May 01 16:28:50 raspberrypi homebridge[329]: Server error: Error: listen EADDRINUSE :::8282
May 01 16:28:50 raspberrypi homebridge[329]: Server listening on: http://<ip>:8283


Das hieße ,die erste Homebridge nutzt diesen Debug Browser auf 8282 und wenn eine Zweite hinzukommt ,versucht diese auch zuerst ( standartmäßig) auf dem Port 8282 ,welcher aber schon belegt ist und wird dann aber auf 8283 "verschoben" ?
Genau was ich vom Code interpretieren kann.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Sky


Pati_Alpha

Hey Sky,

hast du das Problem lösen können?
Ich hatte damals auch mal mit einer 2. HB-Instanz experimentiert und festgestellt, dass ich übelste Probleme bekommen hatte, weil der Name meiner 2. Instanz Teil des Namens der ersten Instanz war ("Homebridge" und "Homebridge2").
Mittlerweile habe ich den ganzen Kram sowieso neu aufgesetzt und dabei darauf geachtet, dass die Instanzen "Homebridge01" und "Homebridge02" heißen.
Allerdings habe ich aktuell auch miese Probleme mit Remote Access und bin mir auch noch nicht sicher, ob es an der Multi-Instanzierung liegt...:
https://forum.fhem.de/index.php/topic,100352.0.html

Patrick

Sky

Hallo Patrick ,

das Problem hat sich gelöst .Es war kein wirkliches Problem sondern quasi ein Anzeigefehler .
Allerdings betreibe ich mein Fhem auf einem Raspi und nicht wie Du auf einem NUC