Hallo
Ich wollte das Plugin bei mir auch in Betrieb nehmen doch ich finde meine Chat-ID, den Token habe ich doch wo findet man die Chat-Id?
Vielen Dank für die Hilfe
Gruss
Hallo
Ich wollte das Plugin bei mir auch in Betrieb nehmen doch ich finde meine Chat-ID, den Token habe ich doch wo findet man die Chat-Id?
Vielen Dank für die Hilfe
Gruss
Korrekt für mich wäre es auch logisch das man HDMI-CEC deaktiviert, ich habe bei mir einfach die Beobachtung gemacht das es bei mir (meinen Geräten) besser läuft, aber ich gebe Dir recht, deaktivieren wäre sicher korrekt.
Was kann dann der Grund sein das man bei skipedIfSameStateActivities den PowerOff drin haben sollte?
Ich in mir noch nicht so ganz sicher ob beim "skipedIfSameStateActivities" der PowerOff überhaupt rein kommt. ich habe es mal raus genommen und bei mir klappt es genau so. Oder es klappt eben weil bei mir der PowerOff vom TV nicht gleich dem PowerOn ist. Macht bei mir der TV PowerOff wird bei mir über HDMI-CEC auch die Dreambox in den Standby geschickt.
Ja beide Aktionen funktionieren so, PowerOff konnte ich noch nicht testen, da die bessere Hälfte gerade was schaut ![]()
Hallo, ich muss mich hier nun auch kurz einklinken, bei mir sieht die Config nun so aus mit der 0.0.8 Version.
{
"platform": "HarmonyHubWebSocket",
"name": "HarmonyHub",
"hubIP": "192.168.1.20",
"showTurnOffActivity": true,
"turnOffActivityName": "PowerOff",
"refreshTimer": 30
}
Muss ich nun das skipedIfSameStateActivities ebenfalls aufnehmen, ich habe aktuell nur 2 Aktionen (TV einschalten und AppleTV einschalten) plus natürlich die PowerOff. Also so?
und dafür die
raus?
Vielen Dank
Gruss
Genau so wie Typ1er geschrieben hat, Plugins werden global installiert, sprich nur einmal und dann hat jede Instanz seine config.json und da wird dann in der Plugin-Section definiert, welches Plugin mit der Instanz geladen wird.
Beispiel:
Und dann eben für das Web-Gui Plugin unterschiedliche Ports in der Config definieren und dann sollte es klappen.
Gruss
Genau gleich wie bei der ersten Instanz einfach einen anderen Port wählen und dann kannst du auch über das Web-Gui auf die zweite Instanz greifen.
Gruss
Korrekt doch ich musste mich zuerst schlau machen wie und wo ich diese finde weil ich nicht gerade der Linux-Profi bin. Auf jeden Fall nochmals danke.
So bei mir scheint die Sache so zu funktionieren wie ich das gerne möchte. Ich habe nun zwei Instanzen auf meinem Raspberry.
Instanz 1:
Plugin: homebridge-xiaomi-roborock-vacuum
Reinigung: ganze Wohnung
Instanz 2:
Plugin: homebridge-xiaomi-roborock-vacuum-zones
Reinigung: definierte Zonen
Definierte Zonen sind bei mir nicht einzelne Zimmer, sondern Bereich Katzenklo, Bereich Esstisch usw.
Auf der iOS-Home App habe ich nun ein Icon für "Reinigung ganze Wohnung", ein Icon "Reinigung Katzenklo" und ein Icon "Reinigung Esstisch". So kann ich nun bequem die Reinigung darüber steuern und ich muss dies nicht über die Mi Home App machen.
Und sollte irgendwann doch mal ein Plugin beides können, dann ist das auch kein Problem das ich meine Koordinaten ja schon habe.
Danke nochmals für die Hilfe und Ratschläge.
Gruss
Bingo Problem gelöst der von mir verwendete Port 51828 wird vom Plugin "homebridge-people" verwendet, sprich von der anderen Instanz!!!
Port auf 51838 geändert und die 2. instanz läuft, Mann Mann Mann habe ich mich jetzt genervt.
Ich habe mal noch überlegt ob vielleicht meine beiden Verzeichnisse/Dateien die falschen Rechte haben.
Original Instanz die unter dem User homebridge läuft
ls -al /var/lib/homebridge
drwxrwxrwx 3 root root 4096 Jan 4 12:02 .
drwxr-xr-x 31 root root 4096 Jan 4 12:00 ..
-rwxrwxrwx 1 root root 1198 Mai 15 2018 config.json
drwxrwxrwx 2 root root 4096 Mai 15 2018 persist
neue Instanz
ls -al /var/lib/homebridge-xiaomi/
drwxrwxrwx 4 root root 4096 Jan 4 17:29 .
drwxr-xr-x 31 root root 4096 Jan 4 12:00 ..
drwxrwxrwx 2 root root 4096 Jan 3 19:00 accessories
-rwxrwxrwx 1 root root 1079 Jan 4 17:29 config.json
drwxrwxrwx 2 root root 4096 Jan 3 17:22 persist
Ist da was falsch?
Habe nun mal noch versucht die 2. Instanz manuell zu starten.
homebridge -U /var/lib/homebridge-xiaomi/
Error: listen EADDRINUSE :::51828
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at Server._listen2 (net.js:1258:14)
at listen (net.js:1294:10)
at Server.listen (net.js:1390:5)
at EventedHTTPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/eventedhttp.js:60:19)
at HAPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:158:20)
at Bridge.Accessory.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:607:16)
at Server._publish (/usr/local/lib/node_modules/homebridge/lib/server.js:128:16)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:97:10)
Alles anzeigen
Ich bin nun etwas weiter doch die 2. Instanz läuft noch nicht.
Hier das Log
Jan 04 17:22:15 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
Jan 04 17:22:15 raspberrypi systemd[1]: Started Node.js HomeKit Server.
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] Loaded config.json with 0 accessories and 1 platforms.
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] ---
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] Loaded plugin: homebridge-config-ui-x
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] Registering platform 'homebridge-config-ui-x.config'
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] ---
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] Loading 1 platforms...
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] [Config] Initializing config platform...
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] [Config] Spawning homebridge-config-ui-x with PID 1612
Jan 04 17:22:21 raspberrypi homebridge[1592]: [2019-1-4 17:22:21] Loading 0 accessories...
Jan 04 17:22:21 raspberrypi systemd[1]: homebridge-xiaomi.service: Main process exited, code=exited, status=1/FAILURE
Jan 04 17:22:21 raspberrypi systemd[1]: homebridge-xiaomi.service: Unit entered failed state.
Jan 04 17:22:21 raspberrypi systemd[1]: homebridge-xiaomi.service: Failed with result 'exit-code'.
Jan 04 17:22:31 raspberrypi systemd[1]: homebridge-xiaomi.service: Service hold-off time over, scheduling restart.
Alles anzeigen
und hier die config.json der 2. Instanz
{
"bridge": {
"name": "Homebridge-Xiaomi",
"username": "CC:22:3D:E3:CE:32",
"port": 51828,
"pin": "031-45-156"
},
"plugins": [
"homebridge-config-ui-x"
],
"accessories": [
],
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8081,
"restart": "sudo systemctl restart homebridge-xiaomi -l",
"log": {
"method": "file",
"path": "/var/log/homebridge-xiaomi.log"
},
"sudo": true
}
]
}
Alles anzeigen
Ich habe nun mal noch
ausgeführt und nun sieht man im Log sogar den Home-Kit Code doch dann stoppt der Service wieder.
Jan 04 17:37:08 raspberrypi homebridge[2781]: ??????????????
Jan 04 17:37:08 raspberrypi homebridge[2781]: ? 031-45-156 ?
Jan 04 17:37:08 raspberrypi homebridge[2781]: ??????????????
Jan 04 17:37:08 raspberrypi homebridge[2781]:
Jan 04 17:37:08 raspberrypi systemd[1]: homebridge-xiaomi.service: Main process exited, code=exited, status=1/FAILURE
Jan 04 17:37:08 raspberrypi systemd[1]: homebridge-xiaomi.service: Unit entered failed state.
Jan 04 17:37:08 raspberrypi systemd[1]: homebridge-xiaomi.service: Failed with result 'exit-code'
Definitiv ein Plugin das auch Zonen unterstützt
Ich bin gerade daran eine zweite Instanz auf meinem Raspberry zu bauen, dann hätte ich das Original auf der Instanz 1 und das Zonen-Plugin auf Instanz 2. Doch aktuell läuft meine neue Instanz noch nicht, mache da wohl noch was falsch.
Bei meiner 2. Instanz kommt dieser Output.
Jan 04 10:25:05 raspberrypi systemd[1]: homebridge-xiaomi.service: Failed with result 'exit-code'.
Jan 04 10:25:15 raspberrypi systemd[1]: homebridge-xiaomi.service: Service hold-off time over, scheduling restart.
Jan 04 10:25:15 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
Jan 04 10:25:15 raspberrypi systemd[1]: Started Node.js HomeKit Server.
Jan 04 10:25:21 raspberrypi systemd[1]: homebridge-xiaomi.service: Main process exited, code=exited, status=1/FAILURE
Jan 04 10:25:21 raspberrypi systemd[1]: homebridge-xiaomi.service: Unit entered failed state.
Jan 04 10:25:21 raspberrypi systemd[1]: homebridge-xiaomi.service: Failed with result 'exit-code'.
Jan 04 10:25:31 raspberrypi systemd[1]: homebridge-xiaomi.service: Service hold-off time over, scheduling restart.
Jan 04 10:25:31 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
Jan 04 10:25:31 raspberrypi systemd[1]: Started Node.js HomeKit Server.
Jan 04 10:25:37 raspberrypi systemd[1]: homebridge-xiaomi.service: Main process exited, code=exited, status=1/FAILURE
Jan 04 10:25:37 raspberrypi systemd[1]: homebridge-xiaomi.service: Unit entered failed state.
Jan 04 10:25:37 raspberrypi systemd[1]: homebridge-xiaomi.service: Failed with result 'exit-code'.
Jan 04 10:25:47 raspberrypi systemd[1]: homebridge-xiaomi.service: Service hold-off time over, scheduling restart.
Jan 04 10:25:47 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
Jan 04 10:25:47 raspberrypi systemd[1]: Started Node.js HomeKit Server.
Jan 04 10:25:53 raspberrypi systemd[1]: homebridge-xiaomi.service: Main process exited, code=exited, status=1/FAILURE
Jan 04 10:25:53 raspberrypi systemd[1]: homebridge-xiaomi.service: Unit entered failed state.
Jan 04 10:25:53 raspberrypi systemd[1]: homebridge-xiaomi.service: Failed with result 'exit-code'.
Alles anzeigen
Die Original Instanz läuft.
Hier die config.json der Original-Instanz
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:31",
"port": 51827,
"pin": "031-45-155"
},
"plugins": [
"homebridge-config-ui-x"
],
"accessories": [
],
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8080,
"restart": "sudo /etc/init.d/homebridge restart",
"log": {
"method": "file",
"path": "/var/log/homebridge.log"
},
"sudo": true
}
]
}
Alles anzeigen
und dann hier noch die Files der neuen Instanz.
sudo nano /etc/systemd/system/homebridge-xiaomi.service
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge-xiaomi
ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Alles anzeigen
hier habe den "User=homebridge" gesetzt wie es auch in der original-Instanz ist.
sudo nano /etc/default/homebridge-xiaomi
Hier habe ist die Option -I gesetzt weil die Original-Instanz dies auch so hat (I=Insecure, muss man glaube ich bei Alexa-Plugin so machen)
sudo nano /var/homebridge-xiaomi/config.json
{
"bridge": {
"name": "Homebridge-Xiaomi",
"username": "CC:22:3D:E3:CE:32",
"port": 51828,
"pin": "031-45-155"
},
"plugins": [
"homebridge-config-ui-x"
],
"accessories": [
],
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8081,
"restart": "sudo systemctl restart homebridge-xiaomi -l",
"log": {
"method": "file",
"path": "/var/log/homebridge-xiaomi.log"
},
"sudo": true
}
]
}
Alles anzeigen
Also damit ich es richtig verstanden habe, meine config.json der Original Instanz liegt hier.
~/.homebridge/config.json
und somit müsste ich in der
/etc/default/homebridge
den Eintrag so anpassen?
HOMEBRIDGE_OPTS=-I ~/.homebridge
Ich würde eigentlich gerne das Log posten, doch ich finde bis jetzt nur das Log der Original-Instanz unter /var/log/homebridge.log
Zuerst mal danke für die Hilfe.
Das mit dem Pin dachte ich mir auch das die pro Instanz unterschiedlich sein kann.
Zitatund in der "/etc/default/homebridge" -> HOMEBRIDGE_OPTS=-I -U /var/homebridge
bzw. "etc/default/homebridge-xiaomi" -> HOMEBRIDGE_OPTS=-I -U /var/homebridge-xiaomi
Der erste Eintrag kommt ja von der Original homebridge und dachte da ändere ich lieber nichts. Sollte dies jedoch falsch sein, kann ich das schon mal gleich machen.
Mir ist zudem aufgefallen das die Original wohl unter dem User homebridge läuft und die neu erstellte unter root. Ist das korrekt?
Viele Grüsse
Ich habe bei mir noch das Problem das sobald ich die 2. Instanz über
aktiviert habe, meine original homebridge nicht mehr läuft, schalte ich "disable" die 2. Instanz läuft die Original wieder.
Sieht jemand vielleicht was ich falsch mache?
Original homebridge
/etc/systemd/system/homebridge.service
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
# Adapt this to your specific setup (could be /usr/bin/homebridge)
# See comments below for more information
ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Alles anzeigen
/etc/default/homebridge
~/.homebridge/config.json
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:31",
"port": 51827,
"pin": "031-45-155"
},
"accessories": [
{
"accessory": "XiaomiRoborockVacuum",
"name": "Staubsauger",
"ip": "IP",
"token": "TOKEN",
"pause": false,
"dock": true
}
],
"platforms": [
{
"platform": "Alexa",
"name": "Alexa",
"username": "USER",
"password": "PASS"
},
]
}
Alles anzeigen
Und nun die Files für die 2. Instanz
/etc/systemd/system/homebridge-xiaomi.service
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=root
EnvironmentFile=/etc/default/homebridge-xiaomi
ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Alles anzeigen
/etc/default/homebridge-xiaomi
/var/homebridge-xiaomi/config.json
{
"bridge": {
"name": "Homebridge-Xiaomi",
"username": "CC:22:3D:E3:CE:32",
"port": 51828,
"pin": "031-45-156"
},
"accessories": [
],
"platforms": [
]
}
Alles anzeigen
Am Schluss habe ich dann die 2. Instanz als Service wie folgt aktiviert.
Ich habe mich schon gefragt ob es vielleicht damit zu tun haben könnte, weil ich in der Original-Instanz noch keine "plugins" Section habe wo nur diese Plugins drin sind die mit der Original Instanz geladen werden sollen und so sowohl in der Original Instanz wie der neuen 2. Instanz alle Plugin geladen werden, sprich versucht wird.
Vielen Dank für die Hilfe
Gruss
Ich denke wenn man die Zonen-Reinigung will, dann sollte man wirklich nur auf das Zonen-Plugin setzen. Ich sehe jedoch zwei Punkte die ich leider nicht so toll finde am Zonen-Plugin.
1. Das Zonen-Plugin basiert auf das Original-Plugin was ja super läuft. Ändert der Entwickler des Original-Plugin daran was, besteht die Gefahr dass dies der Zonen-Plugin Entwickler nicht mitzieht und so könnte es in Zukunft auch Dinge geben die das eine Plugin kann und das andere eben nicht. Darum die Idee beide Plugin betreiben zu können.
2. Ist nur für meine persönlichen Bedürfnisse. Grundsätzlich will ich immer die ganze Wohnung reinigen, da wir jedoch Katzen haben und das Katzenklo in der Nähe des EIngangsbereich ist, wollte ich bei Bedarf die Möglichkeit haben, nur diesen Bereich reinigen zu können. Und dies würde ich gerne direkt über die iOS Home-App steuern können. Bei mir soll es also nur Reinigung der ganzen Wohnung oder Eingangsbereich geben.
Viele Grüsse