cmdswitch2 lässt homebridge abstürzen

  • Hallo liebe Community


    Ich habe hier zuhause einen Thermostaten der Firma EQ3 AG (eqiva) Bluetooth. Heute dachte ich mir vielleicht kann ich ihn ja auch in Homekit einbinden.

    Es gibt auch ein paar Plugins dafür

    https://www.npmjs.com/package/homebridge-platform-eq3btsmart

    https://github.com/maxnowack/homebridge-eq3ble


    doch leider sind diese mit Problemen und mangelnder Pflege belasstet. Wie auch hier im Forum zu lesen ist hier und hier

    Dann bin ich auf ein Shell Script gestoßen.

    https://github.com/Heckie75/eQ-3-radiator-thermostat


    Ich habe dann alles befolgt wie beschrieben

    $ sudo apt install expect usw...


    Nun kann ich also mit dem Befehl expect ./eq3/eq3.exp 00:1A:22:11:1D:21 status folgendes bekommen

    Code
    Temperature:            21.0°C
    Valve:                4%
    Mode:                auto dst
    Vacation mode:            off


    Nun möchte ich mit einem cmdswitch2 Schalter die boost funktion der Heizung aktivieren. Der Befehl wäre expect ./eq3/eq3.exp 00:1A:22:11:1D:21 boost

    Dazu habe ich mir in meiner Config einen Schalter angelegt

    Code
                    {
                        "name": "Thermostat-Boost",
                        "polling": true,
                        "on_cmd": "expect ./eq3/eq3.exp 00:1A:22:11:1D:21 boost",
                        "manufacturer": "EQ-3 AG",
                        "model": "CC-RT-BLE-EQ",
                        "serial": "XXXXXXXXXXXX"
                    }

    Nach dem neustart der Homebridge war dieser Schalter auch sichtbar. Wenn ich ihn nun betätige stürzt Homebridge mit folgender meldung im log ab.


    und nun bleibt die Homebridge in einem reboot loop hängen bis ich den Schalter wieder aus der Config entferne.

    Wie bekomme ich nun diesen schalter ans laufen?

  • Die Fehlermeldung lautet:

    couldn't read file "./eq3/eq3.exp": no such file or directory

    Was nichts anderes bedeutet, als dass der Pfad zu eq3.exp falsch ist. Wahrscheinlich hast du den Befehl auf der Shell als User pi aufgerufen, und da geht der natürlich. Wenn deine Homebridge unter einem anderen User läuft als pi (also als User homebridge oder als User root), dann geht's halt nicht mehr.


    Du musst den ganzen Pfad zu eq3/eq3.exp setzen. Also so etwas wie

    "on_cmd": "expect /home/pi/eq3/eq3.exp 00:1A:22:11:1D:21 boost",


    Falls du die Forenanleitung verwendet hast, um deine Homebridge aufzusetzen, dann würde ich so vorgehen:


    sudo cp -a eq3 /var/homebridge

    sudo chown -R homebridge:homebridge /var/homebridge


    und in config.json:

    "on_cmd": "expect /var/homebridge/eq3/eq3.exp 00:1A:22:11:1D:21 boost",


    Stefan

  • Danke für die hilfe. Wir kommen der Sache schon näher.

    Mit deinen Änderungen klappt es genau einmal das der Boost des Thermostaten aktiviert wird.

    Danach stürzt gleich wieder die Homebridge ab

    Verstehe jetzt nicht was hier doppelt sein soll? :/

    Error: Cannot add a bridged Accessory with the same UUID as another bridged Accessory: 56817a95-623a-496e-ace3-f8d4b4dd17d9

  • Es gibt min. Zwei Geraete in der config die den selben Namen haben, z.B. Thermostat. Auch wenn es zwei verschiedene Plugins waeren, duerfen sie nicht den selben Namen haben.

  • Ich finde keine zwei Geräte in meiner Config die den selben namen haben :/


    Habe den schalter nun mal zum testen auf "Heizen" umbenannt und nur das nötigste in die config gepackt

    Code
    {
                        "name": "Heizen",
                        "polling": true,
                        "on_cmd": "expect /var/homebridge/eq3/eq3.exp 00:1A:22:11:1D:21 boost"
     },

    Der heizvorgang wird auch gestartet. Doch gleich drauf wieder absturz


    dann kommt der reboot loop


    2 Mal editiert, zuletzt von FettesB ()

  • Gibt es denn zwei Thermostate von EQ-3 die außerhalb der Homebridge den selben Namen haben? Kann sein, dass sie von dort aus, schon die doppelten Namen durchgeschliffen kriegen?!


    Oder irgendwo liegt noch ne Dateileiche rum? Koennte man versuchen zu beheben indem du die cachedAccessorie Datei in homebridge/accessories/ loescht.


    Config selbst sieht auch fuer mich sauber aus... ?

  • hier ist nur ein Thermostat dieser Marke und funktion in Verwendung

    Code
    pi@raspberrypi:~ $ sudo systemctl stop homebridge
    pi@raspberrypi:~ $ sudo rm -rf /var/homebridge/accessories
    pi@raspberrypi:~ $ sudo systemctl restart homebridge

    Aber selbst danach kommt immer das gleiche Verhalten.

    Der Befehl wird ausgeführt und dann schmiert die HB ab.

  • Ich glaube ich habe den Fehler behoben.


    Zitat

    *Changing the switch name in config.json will create a new switch instead of renaming the existing one in HomeKit. It's strongly recommended that you rename the switch using a HomeKit app only.

    Also habe ich einen Switsch gebaut mit dem namen "Heizen" und folgenden werten

    Dann habe ich in Home den Schalter auf Boost umbenannt.

    Was soll ich sagen!?! :P Es funktioniert.



    Danke sschuste und @vgnsxe für eure Hilfe.

    wir lesen uns bei meinem nächsten Problem 8o

  • Danke sschusteund vgnsxefür eure Hilfe.

    wir lesen uns bei meinem nächsten Problem 8o

    So stell ich mir das vor. Man kommt nicht weiter, findet Hilfe und loest das Problem :)