/iobroker-nodemihome

Steuerung von bisher nicht unterstützten Xiaomi Geräten in Iobroker via node-mihome

Primary LanguageJavaScriptMIT LicenseMIT

iobroker-nodemihome Skript (kein Adapter!) BETA

Skript zur Steuerung von bisher nicht unterstützten Xiaomi Geräten in Iobroker via node-mihome

Features:

  • Auslesen von Token und anderen Devicedaten via CloudLogin
  • Steuerung und Information von Xiaomi Geräten

Aktuell vom Skript unterstütze Geräte - Name - Model - (lesen/schreiben):

Fans

  • Roussou Fan - leshow.fan.ss4 - (voll/voll)
  • Fan - zhimi.fan.za4 - (ready to test)

Humidifiers

  • Smartmi Evaporative Humidifier - zhimi.humidifier.cb1 - (voll/voll)
  • Smartmi Evaporative Humidifier - deerma.humidifier.jsq - (ready to test)
  • Smartmi Evaporative Humidifier - zhimi.humidifier.ca4 - (ready to test)

Purifiers

  • Xiaomi Air Purifier 3H - zhimi.airpurifier.mb3 - (voll/voll)
  • Xiaomi Air Purifier 2H - zhimi.airpurifier.mc2 - (voll/voll)
  • Mi Air Purifier Pro H - zhimi.airpurifier.vb2 - (voll/voll)
  • Mi Air Purifier 3C - zhimi.airpurifier.mb4 - (voll/voll - waiting for pr)
  • Mi Air Purifier Pro - zhimi.airpurifier.v7 - (voll/voll)

Lights

  • YeeLight Strip Plus - yeelink.light.strip2 - (voll/teilw.)
  • Yeelight LED Bulb (Color) - yeelink.light.color2 - (voll/teilw.)
  • Yeelight LED Bulb (Tunable) - yeelink.light.ct2 - (voll/voll - waiting for pr)
  • Yeelight Crystal Pedestal Light - yeelink.light.ceiling1 - (in progress)
  • Yeelight LED Ceiling Light - yeelink.light.ceiling3 - (ready to test)
  • Mi LED Desk Lamp 1S - yeelink.light.lamp4 - (voll/voll - waiting for pr)

Installation:

Vorraussetzungen:

  1. Installierter "JavaScript Adapter" aka "Script Engine" ab Version 4.8.0
    iobnmhtut2.jpg

  2. Im Javascript Adapter als Zusatzmodul eingetragene "node-mihome" und setObject zugelassen.
    iobnmhtut1.jpg

    Aufgepasst!

    Da der node-mihome Entwickler aktuell inaktiv ist und keine PRs merged, hab ich das ganze mal geforked. Ihr könnt also jetzt statt dem original, die Fork angeben. Dies hat den Vorteil, dass individuell geänderte Dateien nicht mehr nach jedem JS update neu einkopiert werden müssen.

    iobnmhtut2a.png

  3. Du kennst Deine Logindaten der Xiaomi Cloud (egal ob EU oder Chinaserver) und hast diese in den Skripteinstellungen eingetragen.

  4. Du weist auf welchem Server (Mainland China oder De) Dein Gerät registriert ist und hast dies in den Skripteinstellung, bei "options" eingetragen.

  5. Du legst ein neues JS Projekt an und kopierst das Skript dort hinein

  6. Du trägst im Skript Usernamen und Passwort Deines Xiaomi Cloudzugangs ein

Nach dem Start solltest Du nun unter "javaskript.0.MiHomeAll" etliche Channels (abhängig von der Anzahl der Geräte welche Du besitzt) finden, mit den jeweiligen Basisdaten wie Ip Adresse, Token usw. In einem dieser Channels findest Du nun auch die Daten des gesuchten Gerätes mit weiteren Datenpunkten.

Anleitung für Testintegration - NUR nach Aufforderung!

  1. Die Device Definitionsdatei welche von mir genannt wurde von hier: https://github.com/Pittini/node-mihome/tree/master/lib/devices nach: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/ kopieren.
  2. Mindestens den Javaskript Adapter neustarten, idealerweise das gesamte System.
  3. Die aktuellste Skriptversion installieren und starten.

Known Issues

Alle Farblampen

  • Farbe kann nicht gesetzt werden
  • Definitionsdateien welche manuell ins Verzeichnis /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/ kopiert wurden, gehen nach update des JS Adapters bzw. der node-mihome verloren und müssen erneut einkopiert werden. Dieses Verhalten bleibt solange bestehen bis der node-mihome Entwickler die entsprechenden PullRequests merged und liegt nicht in meiner Kontrolle. Alternativ kann, wie unter .2 der Installation angeführt, statt node-mihome auch meine Fork angegeben werden (siehe Bilder). Das kklappt meist, aber offenbar nicht immer. Wenns nicht klappt, bleibt nur die klassische Methode des wartens auf den node-mihome Entwickler.

Changelog

11.03.21 (0.2.11)

  • Fix: Problem mit "led" beim Purifier Pro behoben
  • Add: Purifier Pro (ohne H) integriert

11.03.21 (0.2.10)

  • Add: Mi LED Desk Lamp 1S aka yeelink.light.lamp4

01.02.21 (0.2.9)

  • Fix: Falschen Datentyp für alarm.alarm beim Airpurifier 3H korrigiert. Pittini#14

01.02.21 (0.2.8)

  • Add: Purifier 2H integriert und getestet (Pittini#6)
  • Change: Interne Codeänderungen und Ergänzungen.

25.01.21 (0.2.7)

  • Change: Statt wie bisher bei Datenänderung das gesamte Device zu aktualisieren werden nun nur noch geänderte Werte aktualisiert.

19.01.21 (0.2.5)

  • Add: Purifier 3C zum testen hinzugefügt.

16.01.21 (0.2.4)

  • Fix: Purifier, alle Modelle, Filterproperties korrigiert.
  • Fix: Fehler bei leeren Datenpaketen behoben.

16.01.21 (0.2.3)

  • Add: Modelle hinzugefügt

05.01.21 (0.2.0)

  • Change: Nahezu vollständiger rewrite. Es können nun (theoretisch) eine unbegrenzte Zahl von Xiaomi Geräten simultan verarbeitet werden. Skript kann relativ leicht durch hinzufügen neuer Definitionen um weitere Geräte erweitert werden.
  • Change: Die Datenpunktstruktur und Bezeichnungen für den Air Purifier 3H haben sich im Vergleich zum Vorgängerskript komplett verändert, bitte nötigenfalls Vis anpassen.

16.12.20 (V0.1.6)

  • Fix: Problem mit unterschiedlichen dids behoben

3.12.20 (V0.1.4)

  • Add: Init

.
If you like it, please consider a donation:

paypal