Beiträge von sschuste

    Mit bitte erklären wir ich an die benötigte log Datei komme.

    Du kannst das Homebridge-Log entweder in der Weboberfläche sehen oder im Terminal mit dem Befehl hb-service logs aufrufen.


    Ein Neustart der Homebridge sieht bei mir im Log so aus:


    [17/06/2021, 08:14:49] [CMD Switch] iMac Screensaver is off.

    [17/06/2021, 08:14:49] [CMD Switch] Hue Loop is off.

    [17/06/2021, 08:14:49] [ZP] Wohnzimmer Sonos: get Remaining Duration: return 0s

    [17/06/2021, 08:14:50] [Homebridge UI] Homebridge restart request received

    [17/06/2021, 08:14:50] [Homebridge UI] UI / Bridge settings have not changed; only restarting Homebridge process

    [17/06/2021, 08:14:50] [Homebridge UI] Sending SIGTERM to Homebridge

    [17/06/2021, 08:14:50] Got SIGTERM, shutting down Homebridge...

    [17/06/2021, 08:14:50] [AppleTvPlatform] Shutting down Apple TV clients...

    [17/06/2021, 08:14:50] [ZP] closed http://0.0.0.0:41337/notify

    [17/06/2021, 08:14:55] [Hue] goodbye

    [17/06/2021, 08:14:55] [ZP] goodbye

    [17/06/2021, 08:14:56] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null

    [17/06/2021, 08:15:01] [HB Supervisor] Restarting Homebridge...

    [17/06/2021, 08:15:01] [HB Supervisor] Starting Homebridge with extra flags: -I

    [17/06/2021, 08:15:01] [HB Supervisor] Started Homebridge v1.3.4 with PID: 14603

    [17/06/2021, 08:15:01] [HB Supervisor] Stopping services...

    [17/06/2021, 08:15:01] [HB Supervisor] Homebridge Process Ended. Code: null, Signal: SIGTERM

    [17/06/2021, 08:15:06] [HB Supervisor] Restarting Homebridge...

    [17/06/2021, 08:15:06] [HB Supervisor] Starting Homebridge with extra flags: -I

    [17/06/2021, 08:15:06] [HB Supervisor] Started Homebridge v1.3.4 with PID: 14617

    Initializing HAP-NodeJS v0.9.4...

    [17/06/2021, 08:15:35] [HB Supervisor] OS: Linux 5.10.17-v7l+ arm

    [17/06/2021, 08:15:35] [HB Supervisor] Node.js v14.17.0 /usr/local/bin/node

    [17/06/2021, 08:15:35] [HB Supervisor] Homebridge Path: /usr/local/lib/node_modules/homebridge/bin/homebridge

    [17/06/2021, 08:15:35] [HB Supervisor] UI Path: /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js

    [17/06/2021, 08:15:42] [Homebridge UI] Homebridge Config UI X v4.41.1 is listening on :: port 8088

    [17/06/2021, 08:15:42] [HB Supervisor] Starting Homebridge with extra flags: -I

    [17/06/2021, 08:15:42] [HB Supervisor] Started Homebridge v1.3.4 with PID: 14727

    Initializing HAP-NodeJS v0.9.4...

    [17/06/2021, 08:15:43] Loaded config.json with 24 accessories and 12 platforms.

    [17/06/2021, 08:15:44] Loaded 6 cached accessories from cachedAccessories.

    [17/06/2021, 08:15:44] ---

    [17/06/2021, 08:15:46] Loaded plugin: [email protected]

    [17/06/2021, 08:15:46] Registering platform 'homebridge-alexa.Alexa'

    [17/06/2021, 08:15:46] ---

    [17/06/2021, 08:15:47] Loaded plugin: [email protected]

    [17/06/2021, 08:15:47] Registering platform 'homebridge-apple-tv-remote.AppleTvPlatform'

    [17/06/2021, 08:15:47] ---

    [17/06/2021, 08:15:47] Loaded plugin: [email protected]

    [17/06/2021, 08:15:47] Registering platform 'homebridge-calendar.Calendar'

    [17/06/2021, 08:15:47] ---

    [17/06/2021, 08:15:47] Loaded plugin: [email protected]

    [17/06/2021, 08:15:47] Registering platform 'homebridge-cmdswitch2.cmdSwitch2'

    .

    .

    .


    Ganz oben sieht man in Hellgrau noch das alte Log.

    Ab [17/06/2021, 08:14:50] wird der Restart eingeläutet,

    ab [17/06/2021, 08:15:06] geht's dann richtig los (fette Schrift):


    [17/06/2021, 08:15:06] [HB Supervisor] Restarting Homebridge... Da fängt das Log an.


    Erst wird die Homebridge gestartet, dann werden die Plugin geladen. Bei mir geht das Laden der Plugins dann noch eine Weile weiter. Ich hab das jetzt hier mal abgeschnitten beim Laden von homebridge-cmdswitch2 und drei Pünktchen hingemacht. Wenn alle Plugins geladen sind, dann kommt die Initialisierung der Plugins - das ist die Phase, wo die Plugins angeworfen werden und anfangen, ihre Arbeit zu verrichten:


    .

    .

    .

    [17/06/2021, 08:16:01] Loaded plugin: [email protected]

    [17/06/2021, 08:16:01] Registering platform 'homebridge-zp.Lib'

    [17/06/2021, 08:16:01] Registering platform 'homebridge-zp.ZP'

    [17/06/2021, 08:16:01] Registering platform 'homebridge-zp.ZPS1'

    [17/06/2021, 08:16:01] ---

    [17/06/2021, 08:16:01] Loading 12 platforms...

    [17/06/2021, 08:16:01] [AppleTvPlatform] Initializing AppleTvPlatform platform...

    [17/06/2021, 08:16:01] [CMD Switch] Initializing cmdSwitch2 platform...

    [17/06/2021, 08:16:01] [Alexa] Initializing Alexa platform...

    [17/06/2021, 08:16:01] [Alexa] homebridge-alexa v0.5.39, node v14.17.0, homebridge v1.3.4

    [17/06/2021, 08:16:01] Initializing platform accessory 'Alexa'...

    [17/06/2021, 08:16:01] [Hue] Initializing Hue platform...

    [17/06/2021, 08:16:01] [Hue] homebridge-hue v0.13.13, node v14.17.0, homebridge v1.3.4

    [17/06/2021, 08:16:01] [ZP] Initializing ZP platform...

    [17/06/2021, 08:16:01] [ZP] homebridge-zp v1.3.0, node v14.17.0, homebridge v1.3.4, homebridge-lib v5.1.4

    [17/06/2021, 08:16:01] [People] Initializing People platform...

    [17/06/2021, 08:16:02] Initializing platform accessory 'Stefan'...

    [17/06/2021, 08:16:02] Initializing platform accessory 'Anna'...

    [17/06/2021, 08:16:02] Initializing platform accessory 'Anyone'...

    [17/06/2021, 08:16:02] Initializing platform accessory 'No One'...

    [17/06/2021, 08:16:02] [People] WebHook: Started server on port '51828'.

    [17/06/2021, 08:16:02] [Config] Initializing config platform...

    [17/06/2021, 08:16:02] [Config] Running in Service Mode

    [17/06/2021, 08:16:02] [Calendar] Initializing Calendar platform...

    [17/06/2021, 08:16:02] [Calendar] CalendarPlatform Plugin Loaded - version 0.4.0

    [17/06/2021, 08:16:02] [Calendar] Found calendar in config: "Eintracht"

    [17/06/2021, 08:16:02] [Calendar] Pushing calendar sensor 'Eintracht' state 0 - value 0

    [17/06/2021, 08:16:02] [Calendar] Polling calendar Eintracht has started.

    [17/06/2021, 08:16:02] [Calendar] Updating calendar Eintracht

    [17/06/2021, 08:16:02] Initializing platform accessory 'Eintracht'...

    [17/06/2021, 08:16:02] [Screeneo Videos] Initializing OmxPlayer platform...

    OmxPlayer plugin started!

    .

    .

    .


    Auch hier geht's eine Weile munter weiter, ich hab auch das jetzt mal abgeschnitten. Bei dir sieht das ja eh alles anders aus, weil du andere Plugins verwendest, aber grundsätzlich läuft es bei dir auch so ab. Aber hier können nun so einige Fehler auftauchen. Beispielsweise könnte an dieser Stelle über eine fehlerhafte Konfiguration gemeckert werden oder darüber, dass ein benötigter externer Service (wie ein Wetterserver) nicht erreicht werden kann oder über einen Programmierfehler in einem Plugin. Diese Stelle im Log interessiert Plugin-Programmierer am meisten. Die stehen beispielsweise auf so hässliche Sachen wie:


    [17/06/2021, 08:16:02] [Farn] Initializing mqttthing accessory...

    [17/06/2021, 08:16:02] [Farn] MQTT URL: http://homepi.lan:1883

    [17/06/2021, 08:16:02] [Farn] MQTT options: {"keepalive":10,"clientId":"mqttthing_Farn_e45f6560","protocolId":"MQTT","protocolVersion":4,"clean":true,"reconnectPeriod":1000,"connectTimeout":30000,"will":{"topic":"WillMsg","payload":"mqtt-thing [Farn] has stopped","qos":0,"retain":false},"rejectUnauthorized":false}

    [17/06/2021, 08:16:02] [Farn] Exception while creating services: TypeError: Cannot read property 'getCurrentRelativeHumidity' of undefined

    [17/06/2021, 08:16:02] [Farn] TypeError: Cannot read property 'getCurrentRelativeHumidity' of undefined

    at characteristic_CurrentRelativeHumidity (/usr/local/lib/node_modules/homebridge-mqttthing/index.js:1608:41)

    at configToServices (/usr/local/lib/node_modules/homebridge-mqttthing/index.js:2745:17)

    at createServices (/usr/local/lib/node_modules/homebridge-mqttthing/index.js:3279:24)

    at new makeThing (/usr/local/lib/node_modules/homebridge-mqttthing/index.js:3311:23)

    at /usr/local/lib/node_modules/homebridge/src/server.ts:350:50

    at Array.forEach (<anonymous>)

    at Server.loadAccessories (/usr/local/lib/node_modules/homebridge/src/server.ts:270:29)

    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:12)

    [17/06/2021, 08:16:02] [Farn] Accessory mqttthing returned empty set of services; not adding it to the bridge.


    Grusel. Wenn aber alles superduper ist, dann endet der Startvorgang ungefähr so:


    .

    .

    .

    [17/06/2021, 08:16:04] [Hue] Philips hue: 2 services

    [17/06/2021, 08:16:04] Initializing platform accessory 'Deckenlampe'...

    [17/06/2021, 08:16:04] Initializing platform accessory 'Flurlampe'...

    Preparing Advertiser for 'Homebridge CAD8' using ciao backend!

    Setup Payload:

    X-HM://0023ISYW8I8M6

    Enter this code with your HomeKit app on your iOS device to pair with Homebridge:


    ┌────────────┐

    │ 123-45-678 │

    └────────────┘


    Starting to advertise 'Homebridge CAD8' using ciao backend!

    [17/06/2021, 08:16:04] Homebridge v1.3.4 (Homebridge) is running on port 51826.


    Das ist das Startlog. Wenn du also einem Plugin-Entwickler etwas zukommen lassen willst, dann ist das der ganze Krempel zwischen

    [17/06/2021, 08:15:06] [HB Supervisor] Restarting Homebridge...


    und

    [17/06/2021, 08:16:04] Homebridge v1.3.4 (Homebridge) is running on port 51826.


    Danach folgt dann das Live-Log, das in den meisten Fällen nicht so interessant ist, aber möglicherweise kann man auch dort Interessantes finden. Beispielsweise könnte man dort sehen, dass ein bestimmtes Gerät ein- und ausgeschaltet wird, während sich in der Home-App nichts rührt. Auch das wüsste der Entwickler gern.


    Was oben gezeigt wird, ist das Standard-Log. Dann gibt es noch das Debug-Log. Das zeigt den gleichen Vorgang wie das Standard-Log, aber viel, viel, viel, viel detaillierter und ist für unsere kleinen User-Äuglein die Mutter aller Unübersichtlichkeit, während Entwickler behaupten, dass sie das so lesen wie die Zeitung beim Morgenkaffee. Da lach ich doch mal ein bisschen, aber tatsächlich enthält das Debug-Log manchmal wichtige Informationen, die man sonst nicht sieht. Gleichzeitig werden damit soviel Informationen erzeugt, dass man es nicht stundenlang aktiviert lassen sollte - die Größe der SD-Card deines Raspi ist nämlich endlich.

    dass wusste ich nicht dass es auch so geht.

    Das ist eigentlich die normale Vorgehensweise. Auf diese Art und Weise wird Software auf Linux-Rechner installiert, in diesem Fall: Software für Node aus dem NPM-Repository. Deshalb findet man diesen Befehl auch in allen Plugin-Anleitungen. Meistens leider so, dass es nicht funktioniert :D


    sudo npm install -g --unsafe-perm homebridge-xiaomi-roborock-vacuum

    Toll, und was bedeutet das jetzt?


    • sudo: Alles, was danach folgt, soll mit Admin-Rechten ausgeführt werden. Lässt man das sudo weg, wird der nachfolgende Befehl mit hoher Wahrscheinlichkeit fehlschlagen, da die Installation eine Plugins auf der SD-Card an Orte geschrieben wird, für die man erweiterte Schreibrechte benötigt. Immer, wenn du ein Plugin auf diese Art und Weise installierst, muss der sudo-Befehl verwendet werden, ganz wurscht, was die Plugin-Anleitung auch immer angibt.
    • npm: Das ist ein Programm zum Installieren von Node-Programmen. Node-Programme sind Programme, die die Node-Umgebung voraussetzen. Alle Plugins und auch die Homebridge sind solche Programme und npm ist der Installer. Npm wird mit bestimmten Parametern gesteuert, in diesem Fall mit
      • install: sagt dem Programm npm, dass etwas installiert werden soll. Unter anderen möglichen Parametern gibt es da auch uninstall, wenn man ein Plugin entfernen will.
      • -g: sagt dem Programm npm, dass die Installation global erfolgen soll. Das bedeutet, die alle Bestandteile der Installation an einen Ort installiert werden sollen, auf den jeder Nutzer auf dem Raspi Zugriff hat. Dieser Parameter ist ein Muss, außer man weiß zufälligerweise, was man da tut. Für die, die es nicht wissen: immer verwenden, auch wenn die Plugin-Anleitung davon abweicht.
      • --unsafe-perm: sagt dem Programm npm, dass es sein eigenes Rechtesystem außer Kraft setzen soll. Ich habe nie so genau begriffen, wann man das tun sollte und wann nicht, aber es kommt vor, dass sich Plugins ohne diese Angabe nicht installieren lassen. Geschadet hat er jedenfalls nie. Dieser Parameter ist kein Muss, aber gelegentlich hilfreich, also schreib's einfach hin.
      • homebridge-xiaomi-roborock-vacuum: sagt dem Programm npm, was installiert werden soll.

    Die Web-Oberfläche macht nichts anderes als das. Du klickst herum und sie übersetzt es dann in den Befehl da oben. Daher kannst du beide Vorgehensweisen einsetzen, ohne dass das Probleme erzeugt. Ich verwende meist die Web-Oberfläche, weil es ja viel bequemer ist, aber machmal muss man auf die Konsole, und dein Fall war wohl sowas. Warum auch immer: ich hatte kein Problem, das Plugin über die Web-Oberfläche zu installieren - ich hab's extra ausprobiert. Vielleicht ist das bei dir was Grundsätzliches. Wir werden sehen.

    Anders geht das doch nicht, oder?

    Doch, du kannst dich auf dem Raspi per ssh einloggen oder in der Weboberfläche oben rechts auf die drei Punkte klicken, danach auf Konsole, und das Plugin "per Hand" installieren:


    sudo npm install -g --unsafe-perm homebridge-xiaomi-roborock-vacuum

    Aber hast du an deinem Setup in NodeRed irgendwas geändert? Oder einfach alles so gelassen und dann hatte es sich irgendwann "von allein" erledigt?

    Ich hab's mir eingebildet, dass alles wieder ok ist. Tatsächlich habe ich das eben noch mal gecheckt: der Effekt ist immer noch da und kann reproduziert werden. Merkwürdig.

    Wenn die Lampe mit 1% eingestellt ist und sie leuchtet, dann ist sie auch einschaltet. Eine mit 1% eingestellte Lampe ist nur dann aus, wenn sie ausgeschaltet ist. Hört sich krank an, ist aber so :D.


    Schaltet der Bewegungsmelder die Lampe an oder stellt er sie auf 100%?


    An- oder ausgeschaltet Leuchtstärke in % Lampe leuchtet
    ON 1 - 100 ja
    ON 0 nein
    OFF 1 - 100 nein
    OFF 0 nein

    Ich hoffe ich konnte mein Problem ausreichend schildern.

    Konntest du. Genau das Verhalten habe ich neulich auch gehabt, aber es ist inzwischen wieder verschwunden. Ich habe es für eine der Merkwürdigkeiten gehalten, die aufgrund meines Setups auftreten - bei mir waren es Geräte, die über Node Red gesteuert werden. Da du auch so ein Problem hast, werde ich wieder mal genauer hinschauen.

    Gibt es eine Chance, die erwähnten "OBI-Geräte" zu erkennen und zu meiden?

    Es ist schwierig. Auf der Verpackung steht schon mal nicht "inklusive Trackingsoftware".


    Hersteller von HomeKit-Geräten (also jenen, die das HomeKit-Logo auf der Packung tragen) dürfen keine Funktionen einbauen, die das Betreiben des Geräts von einer Hersteller-Cloud abhängig machen. HomeKit-Geräte kann man daher auch völlig ohne Internetverbindung benutzen. Das heißt nicht, dass solche Hersteller nicht auch eigene Clouds anbieten dürfen, aber Apple schreibt vor, dass diese nicht notwendig sein dürfen, um ein Gerät zu verwenden.


    Ein perfektes Beispiel dafür ist Philips Hue. Philips bietet auch eine eigene Cloud an, an die man sich aber nicht anmelden muss, wenn man das Hue-System unter Apple HomeKit betreiben will. Man kann sich dort anmelden, aber man muss es nicht. Ganz im Gegensatz zu Alexa: dort muss man das Hue-System über die Philips-Cloud betreiben.


    Neulich kam SeydX mit einem Plugin um die Ecke, mit dem man einen Star-Projektor steuern kann (hier im Forum: homebridge-star-projector). Er schreibt schon im ersten Beitrag: "Der Projektor läuft über die „Smart Life“ App, also war es mir möglich über die Tuya API das Gerät anzusprechen bzw. zu steuern." Allein die Begriffe "Smart Life-App" als auch "Tuya" haben gereicht, Würgereize bei mir auszulösen: der Projektor ist ohne Anmeldung an irgendwelche ominösen Clouds nicht steuerbar. Was mich am Ende nicht davon abgehalten hat, das Teil zu kaufen, das Plugin homebridge-star-projector zu installieren und mich bei Tuya anzumelden. Der Projektor ist bei aller Billigkeit einfach klasse, die Anmeldung bei Tuya dagegen nicht so dolle.


    Das ist ein gutes Beispiel für ein Plugin, das einen Cloud-Zugang benötigt, um zu funktionieren. Dabei hat SeydX als Plugin-Programmierer keine Möglichkeiten, an meine Daten zu kommen. Dafür aber Tuya als der Cloud-Betreiber. Trotzdem: danke SeydX :thumbup:


    Tuya hat diesen Star-Projektor mit Sicherheit nicht hergestellt. Aber die Steuerung dafür. Du kannst bei denen (und auch anderen chinesischen Herstellern) aber allerlei Geräte kaufen, auf denen der Name "Tuya" nicht zu finden ist. Dafür produzieren sie dir Lampen, auf denen dein Name steht. Samt Verpackung. Und das ganze für wenig Geld. Mit Cloudfunktionalität, und wenn du willst, sogar mit eigener App. Und solche Lampen findest du dann beim Obi oder bei Tschibo. Vielleicht steht auf der Packung der Begriff "Smart Life"-App - das ist dann ein untrügliches Zeichen für ein Tuya-Gerät und gleichzeitig ein klarer Hinweis auf die Notwendigkeit der Anmeldung an eine chinesische Cloud. Aber wahrscheinlich steht nur "Superdupersmarte Beleuchtung mit grandiosen Farben und Extra-Funktionen, von denen Sie nicht zu träumen wagten. Brought to you by FranzZink" auf der Verpackung.


    Dass ein Gerät kein HomeKit-Logo trägt, bedeutet aber nicht automatisch, dass es dann auch eine Cloud benötigt. Wie zum Beispiel das Homematic-Zeugs. Das ist schlichtweg nicht HomeKit-kompatibel, aber es braucht auch keine Cloud.


    Tja, alles nicht einfach. Im Zweifel hilft nur eins: fragen.