Zum Hauptinhalt springen

VeSync (Levoit) Smart-Home-Integration, kostenlos und Open Source

VeSync (Levoit)-Integration für Gladys Assistant

Levoit-Luftreiniger und -Luftbefeuchter, Etekcity-Stecker über die VeSync-Cloud.

Diese Integration steuert die Geräte der VeSync-App aus Gladys: Levoit-Luftreiniger und -Luftbefeuchter sowie Etekcity-WLAN-Stecker. Die Integration läuft über die VeSync-Cloud, wie die App und wie die Home-Assistant-Integration.

Ohne die Hardware entwickelt und ohne VeSync-Konto: Der Code folgt genau der Bibliothek pyvesync (die Home Assistant nutzt) und ihren aufgezeichneten Antworten, wurde aber noch nicht an einem echten Gerät ausprobiert. Rückmeldungen sind auf GitHub willkommen.

Nicht mit VeSync, Levoit oder Etekcity verbunden: Die Marken gehören ihren Inhabern.

Überblick​

  • Jeder Luftreiniger, Luftbefeuchter oder Stecker deines VeSync-Kontos erscheint im Tab Entdecken; du fügst die gewünschten zu Gladys hinzu.
  • Die Zustände werden jede Minute aktualisiert (einstellbar); ein Befehl aus Gladys wirkt sofort.
  • Zwei Szenen-Auslöser: „Luftreinigerfilter wechseln“ und „Luftbefeuchtertank leer“.
  • Ein Widget für das Dashboard: Luftqualität und die wichtigsten Geräte.

Voraussetzungen​

  • Gladys 5.1.0 oder neuer.
  • Ein VeSync-Konto (E-Mail und Passwort), in dem deine Geräte bereits mit der VeSync-App eingerichtet sind. Ein mit Google oder Apple angelegtes Konto hat kein Passwort: Lege in der App eines an (Profil, Konto), bevor du die Integration konfigurierst.
  • Gladys muss das Internet erreichen: Die Integration spricht mit der VeSync-Cloud (smartapi.vesync.eu in Europa, smartapi.vesync.com in den USA), nie direkt mit den Geräten.

Installation​

  1. Öffne in Gladys Integrationen, dann Von GitHub installieren.
  2. Füge https://github.com/guim31/gladys-vesync ein und bestätige.
  3. Öffne die installierte Integration: Der Tab Konfiguration erscheint.

Konfiguration​

FeldZweck
VeSync-E-Maildie E-Mail deines VeSync-Kontos
VeSync-Passwortsein Passwort; es bleibt in der Konfiguration von Gladys, nie in den Protokollen
Region des KontosEuropa (Standard) oder USA; eine falsche Wahl wird beim Anmelden korrigiert und von „Verbindung testen“ gemeldet
Aktualisierungsintervall (s)Sekunden zwischen zwei Abfragen jedes hinzugefügten Geräts, mindestens 60 (Standard)
Warnschwelle des Filters (%)der Auslöser „Filter wechseln“ wird ausgelöst, wenn ein Filter auf diesen Wert fällt (standardmäßig 10 %)
Sprache der FunktionsnamenSprache der Namen, die die Funktionen eines Geräts beim Hinzufügen erhalten, und der Moduslisten (standardmäßig Französisch)

Speichere und klicke dann auf Verbindung testen: Die Meldung nennt die Zahl der Geräte im Konto, die unterstützten, die nicht unterstützten Modelle und die Region des Kontos, wenn sie von der gewählten abweicht. Bei einem Fehler wird der Grund rot angezeigt.

Öffne dann den Tab Entdecken und füge die gewünschten Geräte hinzu. Das Sitzungstoken von VeSync wird im Volume /data der Integration gespeichert: Ein Neustart meldet sich nicht neu an.

Geräte​

Die Namen sind die der VeSync-App. Die Funktionen hängen vom Modell ab.

Luftreiniger​

Modelle: Core 200S, Core 300S, Core 400S, Core 600S, Vital 100S, Vital 200S, EverestAir, Sprout Air.

FunktionTypDetail
Ein/AusSchalter
ModusListeAuto, Manuell, Schlaf; Haustier (Vital), Turbo (EverestAir); kein Auto beim Core 200S
LüfterstufeStufe 1 bis 3 oder 4eine Stufe zu wählen schaltet den Luftreiniger in den Modus Manuell
PM2,5Sensor, µg/m³außer Core 200S, der keinen Sensor hat
Filterlebensdauer%außer Sprout Air, die sie nicht meldet
KindersicherungSchalter
AnzeigeSchalterdie Einstellung der Anzeige (manche Modelle schalten sie im Dunkeln selbst aus)

Die Luftqualität (ausgezeichnet, gut, mäßig, schlecht) zeigt das Widget an.

Luftbefeuchter​

Modelle: Classic 200S, Classic 300S, Dual 200S, LV600S, OasisMist 450S, OasisMist 1000S, Superior 6000S, Sprout.

FunktionTypDetail
Ein/AusSchalter
LuftfeuchtigkeitSensor, %die vom Gerät gemessene Luftfeuchtigkeit
ZielfeuchtigkeitListe von 30 % bis 80 %die im Modus Auto angestrebte Luftfeuchtigkeit
ModusListeAuto, Manuell; Schlaf und Feuchtigkeit je nach Modell
NebelstufeStufe 1 bis 2 oder 9Dual 200S und Sprout: 2 Stufen, die anderen: 9
WassertankFüllstandszustand„Niedrig“, wenn der Tank leer ist, sonst „Normal“

Stecker​

ModellFunktionen
Etekcity 10 A (ESW01, ESW03, EU und US), 15 AEin/Aus, Leistung (W), Spannung (V), Energie heute (kWh)
Etekcity ESW10Ein/Aus

„Energie heute“ ist die von VeSync gemeldete Energie des Tages: Der Wert beginnt jeden Tag bei null.

Ist ein Gerät nicht mehr mit der VeSync-Cloud verbunden (ausgesteckt, WLAN verloren), wechselt sein Abzeichen auf „nicht erreichbar“; es kehrt zu „Cloud“ zurück, sobald es antwortet.

Widget​

Das Widget VeSync-Luftqualität kommt auf ein Dashboard (Dashboard bearbeiten, Widget hinzufügen). Es zeigt:

  • eine Kachel pro Luftreiniger (PM2,5) und pro Luftbefeuchter (Luftfeuchtigkeit), höchstens sechs, live aktualisiert;
  • eine Zeile pro Gerät (höchstens zehn): Luftqualität und Modus eines Luftreinigers, mit „Filter 8 %“, wenn der Filter die Schwelle erreicht; Luftfeuchtigkeit und Modus eines Luftbefeuchters oder „Tank leer“ in Rot; Zustand und Leistung eines Steckers; „Offline“ für ein nicht erreichbares Gerät.

Die Einstellung Nur dieses Gerät beschränkt das Widget auf ein Gerät (zum Beispiel ein Widget pro Raum). Das Widget erscheint in der Sprache des Benutzers.

Szenen-Auslöser​

AuslöserWannVariablen
Luftreinigerfilter wechselnein Luftreinigerfilter fällt auf die Warnschwelle der KonfigurationName des Luftreinigers, Filterlebensdauer (%)
Luftbefeuchtertank leerein Luftbefeuchter meldet seinen Tank leerName des Luftbefeuchters

Jeder Auslöser lässt sich auf ein Gerät beschränken oder für alle leer lassen. Er wird einmal pro Wechsel ausgelöst: einmal pro Filter (ein neuer Filter, wieder über der Schwelle, macht ihn wieder scharf), einmal pro leerem Tank (Auffüllen macht ihn wieder scharf). Die Integration vergleicht zwei aufeinanderfolgende Abfragen: Ein beim Start der Integration schon niedriger Filter oder schon leerer Tank löst nichts aus.

Konfigurationsaktion​

Verbindung testen (Tab Konfiguration) meldet sich mit den gespeicherten Zugangsdaten bei VeSync an und liest die Geräteliste neu. Die Meldung sagt, wie viele Geräte das Konto hat, wie viele unterstützt werden, welche Modelle nicht, und ob das Konto in der anderen Region liegt. Bei einem Fehler erscheint er rot: Zugangsdaten abgelehnt, VeSync nicht erreichbar, zu viele Anfragen.

Beispielszenen​

  • Bei abgenutztem Filter warnen: Auslöser „Luftreinigerfilter wechseln“, Aktion „Nachricht senden“: Filter von \{\{triggerEvent.data.device_name\}\} wechseln (\{\{triggerEvent.data.filter_life\}\} %).
  • Leerer Tank: Auslöser „Luftbefeuchtertank leer“, Aktion „Nachricht senden“: Der Tank von {{triggerEvent.data.device_name}} ist leer.
  • Schlechte Luft: Auslöser „Zustandsänderung eines Geräts“ auf der Funktion PM2,5 des Luftreinigers, über 35 µg/m³; Aktionen: Modus auf Auto stellen und den Luftreiniger einschalten.
  • Ruhige Nacht: um 22:30 Uhr den Modus des Luftreinigers im Schlafzimmer auf Schlaf stellen und seine Anzeige ausschalten.

Aktualisierung und Kontingente​

  • Die Integration liest die zu Gladys hinzugefügten Geräte mit ihrem eigenen Timer: Ein nur entdecktes Gerät wird nie gelesen. Die Planung des Gladys-Kerns („Poll“) ist nur eine Reserve und wird übersprungen, wenn das Gerät gerade gelesen wurde.
  • Eine Abfrage pro Gerät und Intervall (standardmäßig 60 s), die Geräte nacheinander, dazu die Geräteliste alle 30 Minuten. VeSync veröffentlicht kein Kontingent: Eine Abfrage pro Minute ist der Takt der Home-Assistant-Integration. Neu angemeldet wird nur, wenn das Token abläuft.
  • Nur die Werte, die sich ändern, gehen an Gladys, dazu jeder Wert einmal alle 12 Stunden, damit er „aktuell“ bleibt.
  • Ein abgelehntes Passwort stoppt alle Anfragen bis zu einer neuen Konfiguration: Jede Minute neu zu versuchen könnte das Konto sperren lassen.

Fehlerbehebung​

  • „VeSync hat die E-Mail oder das Passwort abgelehnt“: Prüfe sie in der VeSync-App (abmelden, anmelden). Ein mit Google oder Apple angelegtes Konto braucht zuerst ein Passwort.
  • „VeSync ist nicht erreichbar“: Gladys hat keinen Internetzugang oder die VeSync-Cloud ist gestört. Die Integration versucht es bei jedem Intervall von selbst erneut.
  • Ein Gerät fehlt in Entdecken: „Verbindung testen“ listet die nicht unterstützten Modelle auf. Ein aus der VeSync-App entferntes Gerät verschwindet aus Entdecken.
  • Ein Gerät bleibt „nicht erreichbar“: Es ist nicht mehr mit der VeSync-Cloud verbunden; prüfe es in der VeSync-App.
  • Das Konto liegt in der anderen Region: Wähle die Region, die „Verbindung testen“ angibt.
  • Protokolle: Normalerweise schreibt die Integration nur den Start, Verbindungsverluste und -rückkehr sowie eine Zeile pro Befehl. Um alles zu sehen, füge die Umgebungsvariable LOG_LEVEL=debug hinzu. Weder das Passwort noch das Token erscheinen dort jemals.

Grenzen​

  • Ohne die Hardware entwickelt: Die Modelle werden nach pyvesync und seinen aufgezeichneten Antworten unterstützt. Melde auf GitHub jedes Gerät, das sich falsch verhält.
  • Nicht unterstützt: Ventilatoren (Turm, Stand), Lampen, Wandschalter, Heißluftfritteusen, Thermostate, die Luftreiniger LV-PUR131S und LV-RH131S, 7-A-, Außen- und Partnermarken-Stecker. „Verbindung testen“ listet sie auf.
  • Keine Timer, Zeitpläne, Nachtlicht, warmer Nebel, Trocknung oder Filter-Zurücksetzung: Nutze dafür die VeSync-App.
  • Die Zielfeuchtigkeit ist eine Liste (30 % bis 80 %), da Gladys keinen Feuchtigkeits-Sollwert hat.
  • Alles läuft über die VeSync-Cloud: Ohne Internet weder Abfrage noch Befehl.
  • Funktionsnamen werden beim Hinzufügen des Geräts festgelegt: Eine spätere Sprachänderung benennt nur die Moduslisten um.

Danksagungen​

  • pyvesync (MIT, Mark Perdue und Mitwirkende): das Protokoll der VeSync-Cloud und die aufgezeichneten Antworten seiner Tests, nach JavaScript portiert.
  • Die Integration Home Assistant VeSync (Apache 2.0): das Referenzverhalten und Testantworten.

Konfigurationseinstellungen​

Diese Einstellungen fragt VeSync (Levoit) in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein VeSync-KontosectionNeinGib die E-Mail und das Passwort der VeSync-App ein, in der deine Levoit- und Etekcity-Geräte eingerichtet sind. Klicke dann auf Verbindung testen und füge die Geräte im Tab „Entdecken“ hinzu. Nicht mit VeSync, Levoit oder Etekcity verbunden.
VeSync-E-MailstringJa
VeSync-PasswortsecretJa
Region des KontosselectNeinEuropa für ein in Europa angelegtes Konto, USA für Amerika und Japan. Eine falsche Wahl wird beim Anmelden korrigiert und von Verbindung testen gemeldet.
Aktualisierungsintervall (s)numberNeinSekunden zwischen zwei Abfragen jedes hinzugefügten Geräts, mindestens eine Minute.
Warnschwelle des Filters (%)numberNeinDer Auslöser Filter wechseln wird ausgelöst, wenn ein Luftreinigerfilter auf diesen Wert fällt.
Sprache der FunktionsnamenselectNeinNamen der Funktionen eines Geräts beim Hinzufügen und Beschriftungen der Moduslisten.

So installierst du VeSync (Levoit) in Gladys​

  1. Öffne in Gladys Integrationen: VeSync (Levoit) erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-vesync:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-vesync.

VeSync (Levoit) benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

VeSync (Levoit) ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂