Einbinden von VeSync Devices

Begonnen von kronnyk, 09 Januar 2023, 21:06:20

Vorheriges Thema - Nächstes Thema

kronnyk

Hallo zusammen,
ich hoffe, dass mein Post richtig eingeordnet ist. Hierbei handelt es sich um mein erstes Posting im Forum.

Heute ist mein Luftbefeuchter eingetroffen. Es handelt sich dabei um einen Levoit Dual 200S.
https://levoit.com/products/dual-200s-smart-top-fill-humidifier

Die Einrichtung über die VeSync App und die Einbindung in Google Home hat bereits problemlos funktioniert.
Nun hätte ich das Gerät aber auch gern bei mir in FHEM mit eingebunden, um mir die vom Gerät gemessene Luftfeuchte direkt in meinem Diagramm mit anzuzeigen. Leider habe ich bisher noch keine Möglichkeit gefunden, das Gerät in FHEM zu integrieren.
Eine Integration im HomeAssistant ist laut Internet möglich. Im Quellcode stoße ich immer wieder auf die URL http://smartapi.vesync.com/. Leider habe ich zur API von VeSync keine Dokumentation im Internet gefunden.  :(

Hat von euch schon jemand am gleichen Problem geknabbert und hat bereits eine Lösung gefunden?

Vielen Dank

Szlachta

Hallo kronnyk,

weiß, dass der Post schon etwas alt ist. Dennoch folgende Möglichkeit die ich finden konnte:

Auf einem Linux/Debian-System nutze ich ein Python Skript, dass die Daten per MQTT verfügbar macht.

1. Installation python-vesync-to-mqtt nach den Infos hier: https://github.com/sychron/python-vesync-to-mqtt -- wobei ich nicht in virtueller Umgebung installiert habe, sondern das so gemacht habe:
apt update
apt install python3-paho-mqtt
und das Skript dann systemweit mit pip3 install pyvesync --break-system-packages installiert habe

2. Dann die vesync-to-mqtt.ini mit den eigenen Credentials für das Vesync-Konto und denen für den MQTT-Broker eingegeben:

[vesync]
username=xyz
password=xyz
timezone=Europe/Berlin

[mqtt]
brokerip=192.168.6.0
brokerport=1883
brokerauth=yes
username=muster
password=eigenespassworteingeben

3. Kann dann mit python3 vesync2mqtt.py gestartet werden - das Skript kann man dann noch als Systemdienst einbinden, sodass es automatisch startet

In FHEM kommen nun die Devices als MQTT2-Devices an und man kann sie einzeln definieren/einrichten. Die Levoits liefern nur Status on/off, Mode auto, pet ..., Level 0 - 255 und combined 0 - ?.

Habe das heute nur auf die Schnelle gemacht und noch keinen Weg gefunden die Werte über FHEM-MQTTBroker-Debian/Skript zurückzusenden, sodass ich die Werte aus FHEM heraus setzen kann. Aber sie nun immerhin mal in FHEM vorhanden und zeigen die aktuellen Werte.

Wenn jemand bereits einen Weg an das Device zu senden hat über setList oder so gerne posten.

Hinweis: Die Devices in der vesync App müssen eindeutig benannt werden, da Räume nicht berücksichtigt werden, hat man sonst mehrere Devices auf einem FHEM-Device (Z.B. "Luftreiniger im Raum Küche" und "Luftreiniger im Raum Wohnzimmer" aus der App kommen dann nur als ein Device "Luftreiniger" in FHEM an, daher Devices umbenennen in der App z.B. "Luftreiniger_Kueche" und "Luftreiniger_Wohnzimmer", dann hat man in dem einen angelegten FHEM Device verschiedene Werte und man kann das dann leicht in mehrere Devices aufteilen.

Grüße



sash.sc

Danke für deine Mühe.
Habe Probleme mit der Installation ab pip3 Install pyvesync ....
Da kommt das bei raus

$ pip3 install pyvesync --break-system-packages
Usage:
  pip3 install [options] <requirement specifier> [package-index-options] ...
  pip3 install [options] -r <requirements file> [package-index-options] ...
  pip3 install [options] [-e] <vcs project url> ...
  pip3 install [options] [-e] <local project path> ...
  pip3 install [options] <archive url/path> ...
no such option: --break-system-packages

Hast du eine Idee?

Gruß und danke
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Mitchelly

ZitatHello everyone,
I hope that my post is in the right place. This is my first post in the forum.

My humidifier arrived today. It is a Levoit Dual 200S .
https://levoit.com/products/dual-200s-smart-top-fill-humidifier

 Setting it up using the VeSync app and integrating it into Google Home worked without any problems.
Now I would also like to integrate the device into FHEM so that I can see the humidity measured by the device directly in my diagram. Unfortunately, I have not yet found a way to integrate the device into FHEM.
According to the Internet, integration in HomeAssistant is possible. In the source code, I keep coming across the URL http://smartapi.vesync.com/Snow Road
Unfortunately, I have not found any documentation on the VeSync API on the Internet.  :(

Has anyone of you had the same problem and already found a solution?

Many thanks
Hallo,
Verwenden Sie Home Assistant nicht und wenn ja, ist es Ihnen nicht gelungen, das Gerät zu integrieren?

skiffin

Hallo zusammen,
ich nenne einen Luftfilter Core300S mein eigen und wollte einige Daten in FHEM sehen.
Dazu habe ich mal quick and dirty einen virtuellen Debian12 erstellt.
Python installiert: apt-get install Python3
paho-mqtt installieren: apt-get -y install python3-paho-mqtt
VeSync installieren: pip3 install pyvesync --break-system-packages

#!/usr/bin/python3 -u

from pyvesync import VeSync
import paho.mqtt.client as mqtt
import time

DEBUG = False
CONTROL_TOPIC = "vesync"
debug = False
fans = []
fanbuffer=dict()   
run_loop = True

"""Initializes the vesync connection."""
def init_vesnc():
    manager = VeSync(user, "password, "CET", debug)
    manager.login()
    manager.update()
    global fans
    fans = manager.fans
    for fan in fans:
        fanbuffer[fan.device_name]={"air_quality_value":0,"filter_life":0,"fan_level":0}


def process_vesync():
    global fans
    global fanbuffer
   
    for fan in fans:
        fan.update()
        basetopic="vesync/"+fan.device_name+"/"
        client.publish(basetopic + "air_quality_value", fan.details["air_quality_value"], retain=True)
        client.publish(basetopic + "filter_life", fan.filter_life, retain=True)
        client.publish(basetopic + "fan_level", fan.fan_level, retain=True)
       

def mqtt_on_connect(client, userdata, flags, reason_code):
if reason_code == 0:
print("connected OK Returned code=", reason_code)
else:
print("Bad connection Returned code=", reason_code)
               
client = mqtt.Client()

client.on_connect = mqtt_on_connect
client.connect("server", 1883, 60)
client.loop_start()

init_vesnc()

while run_loop:
   
    process_vesync()
    time.sleep(60)


liefert zuverläßig air_quality_value, filter_life und fan_level.
fan.details liefert ein dictionary in dem weitere interessante Werte stecken.
Geschrieben und getestet wurde das Script in VCODE auf Windows, hier kann man im Debugger wunderbar alle Werte sehen die zurückgeliefert werden.

Grüße in die Runde
fhem auf SheevaPlug, RFXtrx, Z-Wave Aeon Labs