Beiträge von sschuste

    Bei mir funktioniert alles wie es soll. Damit will ich zum Ausdruck bringen, dass die npmjs-Server funktionieren und es grundsätzlich geht.


    Deine Fehlermeldung lautet: Miscellaneous Warning ENODATA: Cache input stream was empty


    ENODATA steht wahrscheinlich für Error No Data, und das dahinter scheint zu bedeuten, dass irgendein Cache nix Schönes ausliefert. Versuch doch mal ein


    npm cache clean -force und danach eine neue Installation des Plugins.


    Stefan

    Macht es eigentlich Sinn "noch" den 3er Raspi zu benutzen oder lieber den 4er? Hab gesehen der 4er muss aktiv gekühlt werden ist das wirklich so?

    Der 3er tut's ganz hervorragend für Homebridge. Ich hab den 4er nur gekauft, um darauf zu testen, ob die Forenanleitung damit funktioniert.


    Der 4er wird sehr heiß. Ich habe den in einem Schränkchen stehen zusammen mit meinem anderen Netzwerkgeraffel, da ist der in seinem Plastikgehäuse gern mit 80º unterwegs gewesen - inzwischen habe ich ein Gehäuse, dass ihn passiv kühlt und die Temperatur ist um 25º gesunken.


    In der Anleitung wird beschrieben man soll 2 Dateien anlegen auf dem Installationsimage. Da geht es ja darum dass sich der RPi ins WLAN einlaoggt. Was ist in dem Fall wo er am Netzwerkkabel hängt? Braucht man diese zweite Datei dann nicht?

    Du brauchst dann nur die leere Datei ssh. Sobald die einmal existiert, wird der SSH-Server auf dem Raspi "freigeschaltet", den du zwingend zum Login braucht.


    Stefan

    Ich habe de RPi nach der Anleitung gemacht wie es in der App stand.

    Deine Mutter hat dich nicht unter Schmerzen geboren, damit du dir das Leben mit der App schwer machst. Die manuelle Installation ist einfach, funktioniert und wird hier im Forum gut unterstützt.


    Der Raspi kann ohne weitere Hardware keine Bridge ersetzen. Auf 100% Last sollte er auch nicht laufen. Da müsste man sich dann mal drauf einloggen und eine Ursachenforschung betreiben. Bei mir sehen die Werte so aus:


    Raspi 3 mit Homebridge: 0,9% Auslastung, Temperatur 48º

    Raspi 4 mit Homebridge, MQTT Broker Mosquitto und Node Red: 10,2% Auslastung, Temperatur 55º


    Gruß

    Seltsam ist nur, muss der user zwingen hinzugefügt werden?

    Das Plugin muss sich auf der Hue-Bridge einloggen können, um dort Aktionen ausführen zu können. Das muss auch die Hue-App, und das muss jedes andere Stück Software, das sich mit der Bridge verbinden will. Du musst immer den Knopf drücken, wenn du irgendwas mit der Bridge verbinden willst, und die Bridge sendet dann eine Userkennung heraus. Das geht gar nicht anders.


    Den Knopf drückt man also nicht, nur weil die Gehäuse-Designer von Philips zufälligerweise einen Knopf übrig hatten und die Handbuch-Autoren beschlossen, ach, da lassen wir den Anwender mal wieder hintern Schrank kriechen, und alle haben gelacht und sich die Schenkel wundgeklopft. Nein, der Knopf ist dazu da, damit nicht der 15-jährige nebenan deine Bridge steuert, wie es ihm in seinem pubertierenden Hirn gerade so einfällt. Es sei denn, du hast den Knopf gedrückt, als er dich danach fragte.


    Stefan

    Code
           {
                "platform": "Hue",
                "host": "192.168.1.23",
                "lights": true,
                "hueMotionTemperatureHistory": true,
                "users": {
                    "001788FFFE081511": "woNMc1QYLQ1mlKJji123fKCpN78-89rUK0mluzTx"
                }
            },

    Anscheinend ist der Homematic teil ein Plugin?

    Ja. Der folgende Abschnitt beschreibt dir erstmal, was die Homebridge kann:


    Homebridge

    Kann: nix (außer Plugins laden und mit HomeKit reden)


    Ich lasse die 8297 Seiten, die beschreiben, was die Plugins können, aus Zeitgründen mal weg. Man kann eine Homebridge auch ohne Plugins betreiben, aber das machen eigentlich nur diejenigen, dir auch ihr Auto ohne Motor betreiben. Die Plugins sind die Verbindung zu den Geräten.


    Auf https://github.com/thkl/homebridge-homematic beschreibt der Entwickler des Plugins, wie es verwendet wird. Es gibt Entwickler, die schreiben sehr gute Anleitungen. Andere schreiben gar keine. Die meisten schreiben irgendein Zeugs, das gerade so ausreichend ist. Dein Wissen über Homematic und die Anleitung des Entwicklers sollten aber zum Ziel führen. Wenn nicht, kann das Forum helfen, hier sind ja noch andere Homematic-Anwender.


    Installieren kann man die Plugins entweder, indem man sich auf seinen Raspi einloggt und das per Hand tut:

    sudo npm install -g --unsafe-perm homebridge-homematic oder man macht das mit dem Webinterface, was ich wirklich empfehle, denn das macht das immer richtig. Das Webinterface macht genau dasselbe wie die manuelle Installation, aber man muss sich weniger Kopp drum machen. Den braucht man nämlich in jedem Fall bei der Konfiguration der config.json.


    Stefan

    Die Fakebulb dient nur zur Erklärung, wie man Plugins installiert. Wer die Fakebulb nicht benötigt, kann dann auch gleich lernen, wie man sie wieder deinstalliert :D


    Zu Homematic weiß ich nix zu berichten - ich verwende diese Geräte nicht und hab daher keinen Plan davon. Der Unterschied zwischen der Homebridge aus der von dir genannten Anleitung und der Homebridge aus der Forenanleitung liegt im Wesentlichen darin, dass sich die config.json an einer anderen Stelle befindet. Statt eines sudo nano .homebridge/config.json lautet der Befehl jetzt


    sudo nano /var/homebridge/config.json


    oder du nimmst den Editor im Webinterface (so mache ich es meistens).

    Zitat von mghussi

    Die nächste Frage wäre, ob man keine Variablen mehr setzen muss?

    Diese Frage verstehe ich nicht.


    Stefan

    Fakt ist, dass es passiert. Ich habe vor etwa zwei Wochen die Statistiken zurückgesetzt und seitdem keine Apps deinstalliert. Von den insgesamt verbrauchten 250 MB fallen nun 21 MB bei "Deinstallierte Apps" an. Das hört nicht nach viel an, sind aber immerhin fast 10% des Gesamttraffics.


    Ob das mit meinen vier EVE Energy zusammenhängt, kann ich nicht sagen. Allerdings hat es in den letzten zwei Wochen eine Menge App-Updates gegeben, und prinzipiell wird ja bei einem Update die Vorgängerversion deinstalliert. Auch finde ich sonst im Internet keine weiteren Hinweise auf dieses Verhalten außer hier: https://www.ifun.de/homekit-ev…em-datenverbrauch-143976/


    Stefan

    Wenn ich es programmieren würde, würde ich annehmen, das der Wert 10,7 eine Zahl und kein String ist und das Ergebnis flugs in Anführungszeichen setzen und dahinter noch "Grad Celsius" schreiben. Wie man das in Shortcuts macht: keine Ahnung. Wie man überhaupt was in Shortcuts macht, wird mir wahrscheinlich für immer ein Rätsel bleiben. Aber möglicherweise helfen die Anführungszeichen.

    Für jemanden wie mich, dessen Werkzeugsammlung aus einer Kombizange, einer Haushaltsschere, einem Schraubenzieher mit Stromprüfer und zwei linken Händen besteht, ist sowas natürlich der Hammer :D. Ach, letzteren könnte ich eigentlich auch mal kaufen.

    Wenn du es bei jsonlint.com einfügst, vor das erste platforms ganz oben eine öffnende geschweifte Klammer ( { )einsetzt und dann auf Validate JSON klickst, dann bekommst du eine Fehlermeldung. Wenn du deinen Code ansiehst, wirst du feststellen, dass irgendwann dein Code nicht mehr schön aussieht: während weiter oben noch die Plattformen schön untereinander stehen, hört das auf einmal auf:


    "platform": "HarmonyHubWebSocket",

    "platform": "Calendar",

    "platform": "Fritz!Box",


    und auf einmal steht da mittendrin schon wieder platforms:, was aber nur ein einziges Mal im Code auftauchen sollte (die Foren-Anleitung lässt sich übrigens dazu ein wenig aus).


    Diese Klammer-Orgie sieht zwar wirr aus, aber sie fasst immer etwas zusammen. Alle Plattformen {platform}, {platform}, {platform} ..... {platform} stehen zusammengefasst unter dem Oberbegriff platforms, der als Oberbegriff nur einmal auftaucht:


    platforms: [ {platform}, {platform}, {platform} ..... {platform} ]. Sie sind zusammengefasst durch eckige Klammern [ ] und werden durch Kommas getrennt.


    Jede {platform} enthält unterschiedlich viele Parameter. Beispielsweise würde eine {platform}, die eine Lampe nur ein- und ausschalten kann, bestimmt nur zwei Parameter enthalten, nämlich einen für einschalten und einen für ausschalten. Dagegen würde eine eine {platform}, die einen Ventilator steuert, mehr als zwei Parameter brauchen: ein, aus, Rotorgeschwindigkeit, Drehung. Etwa so:

    Code
    {"platform": "SimpleLamp", "name": "Deckenlampe", "on_value": "1", "off_value": "0"}

    Dieses Konstrukt nennt man ein Objekt. Dieses Objekt beinhaltet alle Parametern, die zusammengehören und alles wird in geschweifte Klammern eingeschlossen. Die einzelnen Parameter sind durch Kommas getrennt. Da man es so nur schwer lesen kann, formatiert man es besser um:

    Code
    {
    "platform": "SimpleLamp", 
    "name": "Deckenlampe", 
    "on_value": "1", 
    "off_value": "0"
    }

    Das alles gehört zusammen. Wie beim Ventilator:

    Code
    {
    "platform": "SimpleFan", 
    "name": "Ventilator", 
    "on_value": "1", 
    "off_value": "0",
    "speed": "100",
    "direction": "auto"
    }

    Und das Ganze durch Kommas getrennt zwischen die eckigen Klammern von platforms[ ]:

    Ein Tipp: Im Config-Editor von homebridge-config-ui-x sind neben der Zeilennummerierung kleine Pfeile zu sehen, mit denen man man die einzelnen Abschnitte auf- und zuklappen kann:



    Dein Code sollte so funktionieren:

    Gruß