homebridge-xiaomi-alarmswitch

  • Sooo, ich habe das Plugin nun weitestgehend fertiggestellt und vereinfacht! Damit ist es auch offiziell zum Download verfügbar!


    Changelogs v2.1.0:

    - Morse Code wurde überarbeitet (siehe github)

    - Reihenfolge der Klicks ist nun entscheidend

    - Switch IDs werden auch im persist ordner gespeichert

    - Bugfixes



    Changelogs v2.0.0:

    - Es kann in config.json eingestellt werden als was für ein Accessory der Schalter in HomeKit angezeigt werden soll (Typ 1 = Alarm , Typ 2 = Virtueller Schalter, Typ 3 = Programmierbarer Schalter)

    - "First run" Funktion hinzugefügt, d.h. man brauch vorher nicht mehr ip, token oder switch id raussuchen. Einfach die "basic config" zeile (siehe Github) in config.json hinzufügen und das Plugin erstellt eine fertige Vorlage für euren config.json. Einfach copy/paste, restart und fertig.

    - Es ist auch jetzt möglich direkt den Alarm vom Gateway zu kontrollieren (nur Typ 1 und 2!)

    - Error handling

    - Bugfixes


    Changelogs v1.1.1:

    - Dynamisches Plugin (API 2.2)

    - Unterstützt die neue miio Version

    - Eingabe von IP und Token ist nicht mehr zwingend erforderlich (siehe Github)

    - Eingabe von mehreren Switches möglich

    - Anlern Funktion (in Arbeit)


    Was kann das Plugin?

    Das Plugin wurde auf Basis von Ideen für neue Plugins??? erstellt und soll den Xiaomi Schalter der ersten und zweiten Generation neue Funktionen geben. Genauer gesagt unterstützen diese mit dem Plugin "Morsezeichen"

    Grundidee dabei war: Den Alarm zu Hause via Schalter sicher deaktivieren zu können anstatt mit einfachen Klicks oder Doppelklicks. Mit diesem Plugin ist eine Reihenfolge vordefinierter Klicks notwendig (einstellbar in config.json) um den Schalter deaktivieren zu können. Gekoppelt mit dem Alarm zu Hause via Automation in Apple Home, ist es die beste Möglichkeit den Alarm zu Hause zu deaktivieren/aktivieren.


    Funktionsweise/Beispiel

    - Im config.json wird eine Switch erstellt. Diesen vergibt man nehmen Werten für resetTimer etc auch ein "morseCode". Dieser kann z.B. wie folgt aussehen morseCode = [2,1,2] - (2 = Doppelklick, 1 = Einzelklick)

    - Um jetzt die Switch/Alarm deaktivieren zu können müssen die Morsezeichen die in config.json eingegeben wurde in richtiger Reihenfolge eingegeben werden und anschließend mit einem "Langen Klick" bestätigt werden. Denn erst dann geht der Schalter/Alarm aus


    Das Plugin wurde auf Basis der v2.2 API von Homebridge erstellt und unterstützt auch die neuste "miio" Version.


    Kann wie folgt installiert werden:


    Code
    sudo npm i -g homebridge-xiaomi-alarmswitch@latest


    Eine wichtige Info noch für diejenigen die evtl v1.0 installiert haben und es updaten wollen. Ihr müsst vorher eure Instanz stoppen und die Datei "cachedAccessories" im "accessories" ordner löschen, config.json überarbeiten und anschließen homebridge wieder neustarten!


    Alle weiteren Infos zum Plugin findet man auf Github: https://github.com/SeydX/homebridge-xiaomi-alarmswitch

    6 Mal editiert, zuletzt von SeydX () aus folgendem Grund: v2.1.0

  • Nur kurze Info token geht auch ohne miio (sorry ist in englisch)


    Code
    First you'll need to enable local access in the Xiaomi Mi Home app. Here's how that works on iOS:
    
    Select your gateway
    Go to about
    Tap a few times quickly below the last item. This should cause some extra menu options to show up.
    Select the second new option and toggle the switch. Hit 'save' at the bottom, then go back
    Select the third option and write down the ip address and token
  • SeydX


    Kurze Verständnisfrage zum Morse-Code:


    Kann man auch mehrere zeilen für einem code verwenden oder funktioniert es „nur“ mit 2 Zeilen?


    Z.B. würde ich folgenden Code erstellen wollen:


    single click: 1;
    double click: 1;
    single click: 1


    Würde das auch funktionieren? Also einmal Klick, dann einmal Doppelklick und zum Schluss nochmal Einmalklick?



    Sent from my iPhone using Community

  • Das Plugin funktioniert zur Zeit OHNE auf die Reihenfolge zu achten


    Das heißt man gibt im config nur die Werte für Anzahl der dazugehörigen Klicks an (Reihebfolge spielt dabei keine Rolle)


    zB

    singleClick: 1

    doubleClick: 2


    Dann braucht die Switch 'insgesamt' gesehen 2x Doppelklicks und 1x Einzelklick EGAL in welcher Reihenfolge

  • Das kann ich aber als Verbesserungsvorschlag mit auf die Liste aufnehmen


    Damit stehen dann auf der Todo Liste:

    - Anlern Funktion

    - Reihenfolge der Klicks

    - Anstatt virtuellen Switch einen programmierbaren Schalter zu HomeKit hinzufügen

    - Automatisches Erkennen von verfügbaren Schaltern ohne Eingabe in config.json

    - Dynamisches hinzufügen/entfernen von HomeKit

  • Super, bin leider noch nicht dazu gekommen, mich an meinen raspi zu setzen - und das schon seit Wochen ???



    Sent from my iPhone using Community

  • Kurze Frage würde es nicht sinn machen dies in dieses Aqara Security Plugin zu integrieren?


    Dann noch ein Hinweis, der token ist viel leichter über die Xiaomi Mi Home APP zu finden, dann braucht man miio auch nicht installieren:

    Zitat

    First you'll need to enable local access in the Xiaomi Mi Home app. Here's how that works on iOS:

    • Select your gateway
    • Go to about
    • Tap a few times quickly below the last item. This should cause some extra menu options to show up.
    • Select the second new option and toggle the switch. Hit 'save' at the bottom, then go back
    • Select the third option and write down the ip address and token
  • theo69


    Das miio Modul muss vorerst dennoch manuell noch installiert werden um die device ID raus zubekommen vom switch um diesen zu steuern


    Für token habe ich bereits eine Funktion implementiert welches den token finden und speichert


    Das ist eine gute Idee es mit dem security Plugin zu verbinden, evtl kommt das auch auf meine Todo Liste ^^

  • ah okay, die hatte ich mir vom Aqara Plugin geholt.

  • So v2.0 ist online mit großen Veränderungen!


    - Es kann in config.json eingestellt werden als was für ein Accessory der Schalter in HomeKit angezeigt werden soll (Typ 1 = Alarm , Typ 2 = Virtueller Schalter, Typ 3 = Programmierbarer Schalter)

    - "First run" Funktion hinzugefügt, d.h. man brauch vorher nicht mehr ip, token oder switch id raussuchen. Einfach die "basic config" zeile (siehe Github) in config.json hinzufügen und das Plugin erstellt eine fertige Vorlage für euren config.json. Einfach copy/paste, restart und fertig.

    - Es ist auch jetzt möglich direkt den Alarm vom Gateway zu kontrollieren (nur Type 1 und 2!)

    - Error handling

    - Bugfixes


    https://github.com/SeydX/homebridge-xiaomi-alarmswitch

  • Super SeydX, habe ich das richtig verstanden, dass der alarm-button auf die alarm-funktion des gateways zugreift und direkt die alarmanlage entschärft bzw. scharf schaltet?
    Genial, dann würde da das security-plugin nicht mehr notwendig sein....


    Wenn es jetzt noch möglich wäre, den alarmton ebenfalls mit deinem plugin auszulösen könnte man die komplette automation für eine Alarmanlage über HomeKit darstellen und sogar noch Bewegungsmelder von anderen Anbietern als Auslöser mit reinnehmen, sodass auch die Sirene angeht.




    Sent from my iPhone using Community

  • Kurze Frage in die Runde, wozu eigentlich der ganze Aufwand mit der Klickvariante ^^

    Unabhängig das ich keine Xiaomi Schalter oder Sensoren „mehr habe“ Respekt an SeydX für die Programmierleistung.


    Aber würde nicht eigentlich zum aktivieren bzw. deaktivieren ein Einfach Klick reichen mit der Bedingung jemand ist zu Hause.


    Bin jetzt nicht so der Profi was HomeKit angeht. Würde aber vermuten das die Alarmanlage dann auch nur aktiviert bzw. deaktiviert wird wenn jemand zu Hause ist und nicht wenn eingebrochen wurde. :/