Einrichtung 2. Instanz Homebridge

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

Vorheriges Thema - Nächstes Thema

Sky

Hallo ,

könnte mir jemand unter die Arme greifen ?
Ich möchte eine weitere Instanz für die Homebridge anlegen.

Hatte als erstes von init.d auf systemd umgestellt , welches auch funktioniert .
Jetzt scheitere ich am Versuch eine weitere Instanz anzulegen .
Weder im Wiki noch im Forum habe ich darüber schlüssige Informationen gefunden .

Habe mich letztendlich von folgender Webseite inspirieren lassen :
https://forum.smartapfel.de/forum/thread/910-homebridge-instanzen-anlegen/?pageNo=1

Die zweite Instanz habe ich "homebridge-test" benannt
leider sieht der Log dann folgendermaßen aus :

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: activating (auto-restart) (Result: exit-code) since Wed 2019-05-01 13:36:13 CEST; 2s ago
  Process: 1565 ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS (code=exited, status=1/FAILURE)
Main PID: 1565 (code=exited, status=1/FAILURE)

May 01 13:36:13 raspberrypi systemd[1]: homebridge-test.service: Main process exited, code=exited, status=1/FAILURE
May 01 13:36:13 raspberrypi systemd[1]: homebridge-test.service: Unit entered failed state.
May 01 13:36:13 raspberrypi systemd[1]: homebridge-test.service: Failed with result 'exit-code'.


homebridge-test.service sieht so aus :

[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge-test
ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target


Die config.json sieht so aus :

{
"bridge": {
"name": "Homebridge-Test",
"username": "CC:22:3D:E3:CE:32",
"port": 51827,
"pin": "031-45-154",
},

"accessories": [
],

"platforms": [
]
}



amenomade

Was sagt
sudo journalctl -u homebridge-test?
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

Die sieht so aus :

pi@raspberrypi:~ $ sudo journalctl -u homebridge-test
-- Logs begin at Thu 2016-11-03 18:16:43 CET, end at Wed 2019-05-01 16:24:30 CEST. --
May 01 13:29:55 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 01 13:30:01 raspberrypi homebridge[342]: [5/1/2019, 1:30:01 PM] There was a problem reading your config.json file.
May 01 13:30:01 raspberrypi homebridge[342]: [5/1/2019, 1:30:01 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
May 01 13:30:01 raspberrypi homebridge[342]: [5/1/2019, 1:30:01 PM]
May 01 13:30:01 raspberrypi homebridge[342]: /usr/local/lib/node_modules/homebridge/lib/server.js:218
May 01 13:30:01 raspberrypi systemd[1]: homebridge-test.service: Main process exited, code=exited, status=1/FAILURE
May 01 13:30:01 raspberrypi systemd[1]: homebridge-test.service: Unit entered failed state.
May 01 13:30:01 raspberrypi systemd[1]: homebridge-test.service: Failed with result 'exit-code'.
May 01 13:30:12 raspberrypi systemd[1]: homebridge-test.service: Service hold-off time over, scheduling restart.
May 01 13:30:12 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
May 01 13:30:12 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 01 13:30:14 raspberrypi homebridge[719]: [5/1/2019, 1:30:14 PM] There was a problem reading your config.json file.
May 01 13:30:14 raspberrypi homebridge[719]: [5/1/2019, 1:30:14 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
May 01 13:30:14 raspberrypi homebridge[719]: [5/1/2019, 1:30:14 PM]
May 01 13:30:14 raspberrypi homebridge[719]: /usr/local/lib/node_modules/homebridge/lib/server.js:218
May 01 13:30:14 raspberrypi homebridge[719]:     throw err;
May 01 13:30:14 raspberrypi homebridge[719]:     ^
May 01 13:30:14 raspberrypi homebridge[719]: SyntaxError: Unexpected token } in JSON at position 116
May 01 13:30:14 raspberrypi homebridge[719]:     at JSON.parse (<anonymous>)
May 01 13:30:14 raspberrypi systemd[1]: homebridge-test.service: Main process exited, code=exited, status=1/FAILURE
May 01 13:30:14 raspberrypi systemd[1]: homebridge-test.service: Unit entered failed state.
May 01 13:30:14 raspberrypi systemd[1]: homebridge-test.service: Failed with result 'exit-code'.
May 01 13:30:24 raspberrypi systemd[1]: homebridge-test.service: Service hold-off time over, scheduling restart.
May 01 13:30:24 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
May 01 13:30:24 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 01 13:30:34 raspberrypi homebridge[854]: [5/1/2019, 1:30:33 PM] There was a problem reading your config.json file.
May 01 13:30:34 raspberrypi homebridge[854]: [5/1/2019, 1:30:34 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
May 01 13:30:34 raspberrypi homebridge[854]: [5/1/2019, 1:30:34 PM]
May 01 13:30:34 raspberrypi homebridge[854]: /usr/local/lib/node_modules/homebridge/lib/server.js:218
May 01 13:30:34 raspberrypi systemd[1]: homebridge-test.service: Main process exited, code=exited, status=1/FAILURE
May 01 13:30:34 raspberrypi systemd[1]: homebridge-test.service: Unit entered failed state.
May 01 13:30:34 raspberrypi systemd[1]: homebridge-test.service: Failed with result 'exit-code'.
May 01 13:30:44 raspberrypi systemd[1]: homebridge-test.service: Service hold-off time over, scheduling restart.
May 01 13:30:44 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
May 01 13:30:44 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 01 13:30:46 raspberrypi homebridge[877]: [5/1/2019, 1:30:46 PM] There was a problem reading your config.json file.
May 01 13:30:46 raspberrypi homebridge[877]: [5/1/2019, 1:30:46 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
May 01 13:30:46 raspberrypi homebridge[877]: [5/1/2019, 1:30:46 PM]
May 01 13:30:46 raspberrypi homebridge[877]: /usr/local/lib/node_modules/homebridge/lib/server.js:218
May 01 13:30:46 raspberrypi systemd[1]: homebridge-test.service: Main process exited, code=exited, status=1/FAILURE
May 01 13:30:46 raspberrypi systemd[1]: homebridge-test.service: Unit entered failed state.
May 01 13:30:46 raspberrypi systemd[1]: homebridge-test.service: Failed with result 'exit-code'.
May 01 13:30:56 raspberrypi systemd[1]: homebridge-test.service: Service hold-off time over, scheduling restart.
May 01 13:30:56 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
May 01 13:30:56 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 01 13:30:59 raspberrypi homebridge[896]: [5/1/2019, 1:30:59 PM] There was a problem reading your config.json file.
May 01 13:30:59 raspberrypi homebridge[896]: [5/1/2019, 1:30:59 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
May 01 13:30:59 raspberrypi homebridge[896]: [5/1/2019, 1:30:59 PM]
May 01 13:30:59 raspberrypi homebridge[896]: /usr/local/lib/node_modules/homebridge/lib/server.js:218
May 01 13:30:59 raspberrypi homebridge[896]:     throw err;
May 01 13:30:59 raspberrypi homebridge[896]:     ^
May 01 13:30:59 raspberrypi homebridge[896]: SyntaxError: Unexpected token } in JSON at position 116
May 01 13:30:59 raspberrypi homebridge[896]:     at JSON.parse (<anonymous>)
May 01 13:30:59 raspberrypi homebridge[896]:     at Server._loadConfig (/usr/local/lib/node_modules/homebridge/lib/server.js:212:19)
May 01 13:30:59 raspberrypi homebridge[896]:     at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:56:38)
May 01 13:30:59 raspberrypi homebridge[896]:     at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:32:16)
May 01 13:30:59 raspberrypi homebridge[896]:     at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)


und jetzt wird's peinlich ......
Hatte in der config.json doch glatt einen Fehler mit einem Komma

Aktuelle Ausgabe sieht so aus :

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 Wed 2019-05-01 16:28:39 CEST; 3min 22s ago
Main PID: 329 (homebridge)
   CGroup: /system.slice/homebridge-test.service
           └─329 homebridge

May 01 16:28:50 raspberrypi homebridge[329]:
May 01 16:28:50 raspberrypi homebridge[329]: Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
May 01 16:28:50 raspberrypi homebridge[329]:
May 01 16:28:50 raspberrypi homebridge[329]:     ┌────────────┐
May 01 16:28:50 raspberrypi homebridge[329]:     │ 031-45-154 │
May 01 16:28:50 raspberrypi homebridge[329]:     └────────────┘
May 01 16:28:50 raspberrypi homebridge[329]:
May 01 16:28:50 raspberrypi homebridge[329]: Server error: Error: listen EADDRINUSE :::8282
May 01 16:28:50 raspberrypi homebridge[329]: [5/1/2019, 4:28:50 PM] Homebridge is running on port 52561.
May 01 16:28:50 raspberrypi homebridge[329]: Server listening on: http://<ip>:8283


Was besagt " Server error: Error: listen EADDRINUSE :::8282 "  ?????

binford6000

ZitatWas besagt " Server error: Error: listen EADDRINUSE :::8282 "  ?????
Port 8282 wird schon benutzt.
VG Sebastian

Sky

Danke für Deine Antwort .

Aber ich habe doch gar keinen Port manuell vergeben ??

amenomade

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 verstehe im Moment nicht ganz wie der Port 8282 schon belegt ist ,
dies habe ich doch gar nicht gemacht .

Steht dies den im Zusammenhang ?
Damit meine ich "port":51826 ??

"bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:31",
        "port": 51826,
        "pin": "031-45-154"
    },

amenomade

ZitatEADDRINUSE :::8282
Port 8282 ist "in use"
Um zu wissen wovon, siehe Kommando oben.
Deine config Datei hat aber einen anderen Port => das ist dann nicht das Problem.
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

Woher kommt denn dann diese Portbelegung ?
Würde es gerne verstehen um dies in Zukunft zu vermeiden .

Danke für Deine Hilfe..

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

amenomade

Du hast eine homebridge (nicht homebridge_test) Instanz, die auf Port 8282 zuhört. Wahrscheinlich aus einem init.d oder systemd
Eine neue Instanz auf dem gleichen Port kannst Du nicht dazu starten.

Anscheinend nutzt dein homebridge_test service die gleiche config Datei wie das homebridge

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

wobei

May 01 16:28:50 raspberrypi homebridge[329]: [5/1/2019, 4:28:50 PM] Homebridge is running on port 52561.
May 01 16:28:50 raspberrypi homebridge[329]: Server listening on: http://<ip>:8283

Komisch...
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

Wird denn der Port automatisch bei der Einrichtung einer Instanz automatisch vergeben , bzw. wie oder wo kann ich dies ändern ?

Sky

Hallo ,

ich möchte nochmal nachfragen.
Habe mein System aus einem Backup wiederhergestellt .
Die Homebridge von init.d auf systemd umgestellt und eine 2. Instanz ( 2. Homebridge ) angelegt .

Diese wird mir auch in Homekit angezeigt ,allerdings im Terminal mit folgender Fehlermeldung :



May 04 15:22:32 raspberrypi homebridge[352]: Server error: Error: listen EADDRINUSE :::8282
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Homebridge is running on port 51843.
May 04 15:22:32 raspberrypi homebridge[352]: Server listening on: http://<ip>:8283



pi@raspberrypi:~ $ sudo journalctl -u homebridge-test
-- Logs begin at Thu 2016-11-03 18:16:42 CET, end at Sat 2019-05-04 16:09:24 CES
May 04 15:22:20 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 04 15:22:27 raspberrypi homebridge[352]: [5/4/2019, 3:22:27 PM] Loaded confi
May 04 15:22:27 raspberrypi homebridge[352]: [5/4/2019, 3:22:27 PM] ---
May 04 15:22:27 raspberrypi homebridge[352]: [5/4/2019, 3:22:27 PM] Loaded plugi
May 04 15:22:27 raspberrypi homebridge[352]: homebridge API version: 2.4
May 04 15:22:27 raspberrypi homebridge[352]: this is homebridge-fhem 0.5.4
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] Registering
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] ---
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] Loaded plugi
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] Registering
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] ---
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Loaded plugi
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Registering
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] ---
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Loading 0 pl
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Loading 0 ac
May 04 15:22:32 raspberrypi homebridge[352]: Load homebridge-camera-ffmpeg.Camer
May 04 15:22:32 raspberrypi homebridge[352]: Setup Payload:
May 04 15:22:32 raspberrypi homebridge[352]: X-HM://0023ISYWY20GJ
May 04 15:22:32 raspberrypi homebridge[352]: Scan this code with your HomeKit ap
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
lines 1-23...skipping...
-- Logs begin at Thu 2016-11-03 18:16:42 CET, end at Sat 2019-05-04 16:09:24 CEST. --
May 04 15:22:20 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 04 15:22:27 raspberrypi homebridge[352]: [5/4/2019, 3:22:27 PM] Loaded config.json with 0 accessories and 0 platforms.
May 04 15:22:27 raspberrypi homebridge[352]: [5/4/2019, 3:22:27 PM] ---
May 04 15:22:27 raspberrypi homebridge[352]: [5/4/2019, 3:22:27 PM] Loaded plugin: homebridge-fhem
May 04 15:22:27 raspberrypi homebridge[352]: homebridge API version: 2.4
May 04 15:22:27 raspberrypi homebridge[352]: this is homebridge-fhem 0.5.4
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] Registering platform 'homebridge-fhem.FHEM'
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] ---
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] Loaded plugin: homebridge-pi
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] Registering accessory 'homebridge-pi.PiTemperature'
May 04 15:22:30 raspberrypi homebridge[352]: [5/4/2019, 3:22:30 PM] ---
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Loaded plugin: homebridge-camera-ffmpeg
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] ---
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Loading 0 platforms...
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Loading 0 accessories...
May 04 15:22:32 raspberrypi homebridge[352]: Load homebridge-camera-ffmpeg.Camera-ffmpeg
May 04 15:22:32 raspberrypi homebridge[352]: Setup Payload:
May 04 15:22:32 raspberrypi homebridge[352]: X-HM://0023ISYWY20GJ
May 04 15:22:32 raspberrypi homebridge[352]: Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]: Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]:     ┌────────────┐
May 04 15:22:32 raspberrypi homebridge[352]:     │ 031-45-154 │
May 04 15:22:32 raspberrypi homebridge[352]:     └────────────┘
May 04 15:22:32 raspberrypi homebridge[352]:
May 04 15:22:32 raspberrypi homebridge[352]: Server error: Error: listen EADDRINUSE :::8282
May 04 15:22:32 raspberrypi homebridge[352]: [5/4/2019, 3:22:32 PM] Homebridge is running on port 51843.
May 04 15:22:32 raspberrypi homebridge[352]: Server listening on: http://<ip>:8283



So sieht die config.json der 1. Homebridge aus :

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:32",
        "port": 51826,
        "pin": "031-45-154"
    },

    "platforms": [{
       
            "platform": "FHEM",
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
"auth": {"user": "xxxx", "pass": "xxxx"},
            "filter": "room=Homekit"
        },
       {   
             
          "platform": "Camera-ffmpeg",
           "cameras":[ {
                 "name": "Outside Front",
                   "videoConfig": {
                      "source": "-rtsp_transport tcp -i rtsp://192.168.xx.xxx/user=xxxx_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream--rtp-caching=100",
                      "stillImageSource":"rtsp://192.168.178.xx:xxx/user=xxxx_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream--rtp-caching=100",
                     "maxStreams": 2,
                      "maxWidth": 1280,
                      "maxHeight": 720,
                      "maxFPS": 50
                   }
                 
           }

      ]
     }

   ],
     
    "accessories": [
   {
     "accessory": "PiTemperature",
     "name": "Raspberry PI Temperature"
   }


   
}



So sieht die config.json der 2. Homebridge aus :

{
"bridge": {
"name": "Homebridge-test",
"username": "CC:22:3D:E3:CE:33",
"port": 51843,
"pin": "031-45-154"
  },

"accessories": [
],

"platforms": [
]
}


Die Ausgabe mit sudo netstat -ltnp |grep 8282  ergibt folgendes :

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



Wie kann ich das mit der doppelten Portbelegung ändern ?

Vielen Dank

amenomade

Wo liegen deine 2 config.json?
Versuche, statt $HOMEBRIDGE_OPTS in jeweiligen Dienst, direkt den Path zum richtigen config.json zu schreiben:
ExecStart=/usr/local/bin/homebridge -U /hier/den/Path

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

Erst mal Danke für die Hilfe !!

Die erste liegt unter     /var/homebridge ,
die zweite unter         /var/homebridge-test

Habe dann auf Deinen Rat hin folgendes geändet :
/etc/systemd/system/homebridge-test.service

[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge-test
ExecStart=/usr/local/bin/homebridge -U /var/homebridge-test
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target


Unverändert ist folgendes :
/etc/default/homebridge-test

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing $
#HOMEBRIDGE_OPTS=-U /var/homebridge >> /var/log/homebridge.log 2>> //var/log/homebridge.err
HOMEBRIDGE_OPTS=-U /var/homebridge-test

# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*



Leider hat sich nichts verändert ....


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 13:29:01 CEST; 2min 19s ago
Main PID: 336 (homebridge)
   CGroup: /system.slice/homebridge-test.service
           └─336 homebridge

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

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