Git Product home page Git Product logo

pyvesync's People

Contributors

alexanv1 avatar bdwyer2 avatar bhamiltoncx avatar blenk92 avatar gofaster avatar hamzaetth avatar hnx116 avatar hrast01 avatar hungnguyenm avatar jspayd avatar kevchu3 avatar kitprice avatar markperdue avatar mdonoughe avatar nickm-27 avatar obi11235 avatar onkelbeh avatar sdrapha avatar sjafferali avatar sth2258 avatar tkamenick avatar waterfoul avatar webdjoe avatar webdjoe-bot avatar zlalanne avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyvesync's Issues

LV-PUR131S Home Assistant Integration

Hey guys. Great library here and glad that you're integrating with Home Assistant. I too have the LV-PUR131S. Right now, it's not at all detected in Home Assistant. In fact, it looks like the module fails to load in HA and it looks like it's erroring on all the "fan" related functions.

Originally posted by @metril in #31 (comment)

Support for Levoit LV600S Humidifier?

Hi, wondering if anyone is working on support for 600S? Just got one. If not, I'm willing to take a crack at it (might try to see how much of 300S API works)

Add support for the Classic 300S humidifier

It would be great to have support for the Levoit Classic 300S humidifier. In fact, if one of you wants to reach out to me, I'll have Amazon ship you one at my expense! Let me know!

NameError: name 'DEFAULT_TZ' is not defined

When I try to run your example code from the Readme, I get:

$ python p.py
Traceback (most recent call last):
  File "p.py", line 3, in <module>
    manager = VeSync("EMAIL", "PASSWORD", time_zone=DEFAULT_TZ)
NameError: name 'DEFAULT_TZ' is not defined
 pip show pyvesync
Name: pyvesync
Version: 1.2.1
Summary: pyvesync is a library to manage Etekcity                 Devices and Levoit Air Purifier
Home-page: https://github.com/markperdue/pyvesync
Author: Mark Perdue
Author-email: [email protected]
License: MIT
Location: /Users/rmann/.pyenv/versions/3.8.2/lib/python3.8/site-packages
Requires: requests
Required-by: 

By the way, is server access required? Is it not possible to directly control the device?

example code

Im trying to run the example code in python 3.4 and it errors out with
Traceback (most recent call last):
File "C:\Users\sesnu\Desktop\z.py", line 1, in
from pyvesync import VeSync
File "C:\Python34\lib\site-packages\pyvesync_init_.py", line 1, in
from .vesync import VeSync
File "C:\Python34\lib\site-packages\pyvesync\vesync.py", line 5, in
from pyvesync.helpers import Helpers as helpers
File "C:\Python34\lib\site-packages\pyvesync\helpers.py", line 64
**cls.req_body_base(manager),
^
SyntaxError: invalid syntax

Packet Capturing Issues

Is anyone having issues capturing packets for VeSync? I believe they started to use certificate pinning and I've attempted to work around it with Frida but have not been successful. Anyone else having this issue?

Air quality doesn't return in percentage in Home Assistant

The air quality value for the air purifier returns as a string (eg "excellent") instead of a percentage in home assistant. A percentage would be much better here as the air quality can be integrated properly into the home app on ios.

Add support for Smart bulb ESL100MC

It would be great if you could add support for ESL100MC "multicolor" light bulb! Personally i don't care about the "multicolor" option, i just want to be able to switch it on/off

Fix device_status when turning on/off fans

Fans of class VeSyncAir200S, VeSyncAir300S400S, and VeSyncHumid200300S don't currently set self.device_status in the turn_off() and turn_on() methods (it was only implemented in VeSyncAir131).

This leads to inconsistencies when querying self.device_status to determine a fan's current state. In Home Assistant's core implementation of fan.py, this unexpectedly leads to the fan device seeming to be stuck in whatever state it was initialized in, even though the physical fan actually turns on and off.

Here's a sanity check. You can see that this humidifier starts in the 'on' state but device_status doesn't change state even after turn_off() is invoked:

$ python3
Python 3.10.2 (main, Jan 17 2022, 00:00:00) [GCC 11.2.1 20211203 (Red Hat 11.2.1-7)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyvesync import VeSync
>>> manager = VeSync("USERNAME", "PASSWORD", "US")
>>> manager.login()
True
>>> manager.update()
>>> humidifier = manager.fans[0]
>>> humidifier.device_status
'on'
>>> humidifier.turn_off()
True
>>> humidifier.device_status
'on'

Levoit Plasma Pro 400S

Hello,

After hours of trying to get this to work, I finally have the vesync_formatbce integration in my list. However, the integration is not finding my two devices, or any entities listed under the integration (neither did the built in vesync integration find any).

The only issue I can think of that may be causing the problem is that I have a Plasma Pro 400s, which is identical to the Core 400s, except that the Plasma Pro has an ionization feature. The manufacturer (Levoit) was contacted and stated this fact.

Is it possible that the name of the Plasma Pro is different from the Core when it reports the name to the API and is preventing the integration from finding the devices? I have two Plasma Pro’s on my account, and neither is showing in the integration.

If this is the case, can the name of the Plasma Pro be added to the integration? I’m not even sure how to find the name that is reported to the API.

Issue: Levoit Plasma Pro 400S

Thank you for all your help!!

latest firmware version?

Feature request: It would be great if the version number of the newest firmware was also available with current_firm_version for each outlet. It would be helpful to determine if a device has old firmware without opening the app.

I took a look at the vesync apk to try and find an api call. The closest I could find might be:

o.wifiOutletType()+"/v1/device/firmwarestatus.

Add support for Smart Scale

I really appreciate the work done here. I've been using this for a long time to pull data into influxdb/grafana. Recently, I've decided to move over to using Home Assistant.

I keep getting this log warning: Unknown device ESF00+
Logger: pyvesync.vesync
Source: /usr/local/lib/python3.8/site-packages/pyvesync/vesync.py:174

Any way to add in this device (it's a scale)?

I have packet captures of the app calling the "/cloud/v1/deviceManaged/fatScale/getWeighData" if needed.

Property "dimmable" does not exist in the feature_dict

I am using the Etekcity adapter for the Webthings Gateway, and yesterday(ish) it stopped functioning, with a bunch of errors that are similar to this:

2020-12-20 19:37:15.045 INFO : Loading add-on: etekcity-adapter
2020-12-20 19:37:21.633 ERROR : etekcity-adapter: Traceback (most recent call last):
2020-12-20 19:37:21.636 ERROR : etekcity-adapter: File "/home/pi/.webthings/addons/etekcity-adapter/main.py", line 31, in
2020-12-20 19:37:21.639 ERROR : etekcity-adapter: _ADAPTER = EtekcityAdapter(verbose=_DEBUG)
2020-12-20 19:37:21.642 ERROR : etekcity-adapter: File "/home/pi/.webthings/addons/etekcity-adapter/pkg/etekcity_adapter.py", line 41, in init
2020-12-20 19:37:21.645 ERROR : etekcity-adapter: self.start_pairing(_TIMEOUT)
2020-12-20 19:37:21.648 ERROR : etekcity-adapter: File "/home/pi/.webthings/addons/etekcity-adapter/pkg/etekcity_adapter.py", line 71, in start_pairing
2020-12-20 19:37:21.650 ERROR : etekcity-adapter: device = EtekcitySwitch(self, _id, dev)
2020-12-20 19:37:21.653 ERROR : etekcity-adapter: File "/home/pi/.webthings/addons/etekcity-adapter/pkg/etekcity_device.py", line 207, in init
2020-12-20 19:37:21.655 ERROR : etekcity-adapter: if vesync_dev.is_dimmable():
2020-12-20 19:37:21.658 ERROR : etekcity-adapter: File "/home/pi/.webthings/addons/etekcity-adapter/lib/pyvesync/vesyncswitch.py", line 29, in is_dimmable
2020-12-20 19:37:21.661 ERROR : etekcity-adapter: if 'dimmable' in feature_dict.get(self.device_type):
2020-12-20 19:37:21.664 ERROR : etekcity-adapter: TypeError: argument of type 'NoneType' is not iterable

I originally reported the error in the adapter's repository, but the maintainer there recommended I report it here because the error is coming from inside of the pyvesync module and the adapter had not updated. Is it possible that something has changed in the etekcity API?

Timeout errors too frequent

Hi, I'm getting the 5 seconds timeout "ERROR" entries too often and component seems to work fine on next attempt. I wonder if the API_TIMEOUT constant could be overridden as a property in config.

Thanks.

My home-assistant log:

2019-05-21 06:17:19 ERROR (Thread-5) [pyvesync_v2.vesync] HTTPSConnectionPool(host='smartapi.vesync.com', port=443): Read timed out. (read timeout=5)
2019-05-21 07:17:08 ERROR (Thread-15) [pyvesync_v2.vesync] HTTPSConnectionPool(host='smartapi.vesync.com', port=443): Read timed out. (read timeout=5)
2019-05-21 07:17:12 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.living_lamp is taking over 10 seconds
2019-05-21 07:17:13 ERROR (Thread-15) [pyvesync_v2.vesync] HTTPSConnectionPool(host='smartapi.vesync.com', port=443): Read timed out. (read timeout=5)
2019-05-21 07:17:37 ERROR (Thread-8) [pyvesync_v2.vesync] HTTPSConnectionPool(host='smartapi.vesync.com', port=443): Read timed out. (read timeout=5)
2019-05-21 07:17:41 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.living_lamp is taking over 10 seconds
2019-05-21 07:17:42 ERROR (Thread-8) [pyvesync_v2.vesync] HTTPSConnectionPool(host='smartapi.vesync.com', port=443): Read timed out. (read timeout=5)
2019-05-21 07:27:16 ERROR (Thread-2) [pyvesync_v2.vesync] HTTPSConnectionPool(host='smartapi.vesync.com', port=443): Read timed out. (read timeout=5)

Can you update pip with Version 1.2?

Current version in pip and Home Assistant is 1.1. Seems like dimmer support works only in 1.2. Can you update pip and home-assistant-core/requirements_all.txt to version 1.2?

Please update PyPi and bump version

@webdjoe Would it be possible to get the latest version of master into PyPi? It is using an older version from April and missing out on some of the new functionality that has been merged in since then. A version bump would be most welcome too!

Support for Dual 200S Humidifier

Happy to contribute this (I think I have it working), but wanted to file an issue first for tracking.

API response for /cloud/v1/deviceManaged/devices:

{'traceId': '1635714379', 'code': 0, 'msg': 'request success', 'result': {'total': 1, 'pageSize': 100, 'pageNo': 1, 'list': [{'deviceRegion': 'US', 'isOwner': True, 'authKey': None, 'deviceName': 'Nursery Humidifier', 'deviceImg': 'https://image.vesync.com/defaultImages/Dual_200S_Series/icon_dual200s_humidifier_160.png', 'cid': 'XXX', 'deviceStatus': 'on', 'connectionStatus': 'online', 'connectionType': 'WiFi+BTOnboarding+BTNotify', 'deviceType': 'Dual200S', 'type': 'wifi-air', 'uuid': 'XXX', 'configModule': 'WiFiBTOnboardingNotify_AirHumidifier_Dual200S_US', 'macID': 'XXX', 'mode': None, 'speed': None, 'extension': None, 'currentFirmVersion': None, 'subDeviceNo': None, 'subDeviceType': None, 'deviceFirstSetupTime': 'Oct 1, 2021 11:27:59 PM'}]}}

API response for /cloud/v2/deviceManaged/bypassV2:

{'traceId': '1635714380', 'code': 0, 'msg': 'request success', 'result': {'traceId': '1635714380', 'code': 0, 'result': {'enabled': True, 'mist_virtual_level': 1, 'mist_level': 1, 'mode': 'auto', 'water_lacks': False, 'water_tank_lifted': False, 'humidity': 54, 'humidity_high': False, 'display': False, 'automatic_stop_reach_target': True, 'configuration': {'auto_target_humidity': 58, 'display': False, 'automatic_stop': True}, 'extension': {'schedule_count': 0, 'timer_remain': 0}}}}

Looks identical to the Classic 300S except no night_light_brightness field.

Core300S > change_fan_speed > manual mode validation

In vesyncfan.py line 673 you are testing if current mode is manual while triggering fan speed change, which results in two requests to achieve that change. Is that necessary? If I want to change the speed, obviously I want to change the fan to manual mode too, so when I've commented this condition and added 'mode': 'manual', to line 713, the purifier starts behave as expected.

Specifying a Date Range to get_monthly_energy()

In the VeSync app, it displays a rolling 30 days, but the API endpoint /*/v1/device/energymonth returns the days of the current month only. For example, as of today February 5th I get five days in energy['month']['data']. I have been studying the code of pyvesync but I cannot see any way to specify a range like the app does.

I thought maybe the app is polling regularly and building its own database, but then I realized a date like April 30, 2022 would require polling seconds before midnight to not lose data. And in the app it doesn't look like the last day of any month is lower than the rest.

Does the API support a date range? I can improve the code, but I don't know what to pass to the API.

LV-PUR131S

I did quick check on LV-PUR131S API. Here are some comments:

  • in vesyncfan::get_details() there is typo in URL. Currently, it is /131airpurifier/v1/device/deviceDetail and it should be /131airPurifier/v1/device/deviceDetail (notice capitalized P).
  • when URL is fixed, the returned json is: {'code': 4001001, 'msg': '参数为空', 'deviceStatus': None, 'connectionStatus': None, 'activeTime': None, 'deviceImg': None, 'deviceName': None, 'filterLife': None, 'airQuality': None, 'screenStatus': None, 'mode': None, 'level': None, 'schedule': None, 'timer': None, 'scheduleCount': None} I think this is because device's uuid is missing in the post body

参数为空 apparently meaning "The parameter is empty"

ESWL03 Switch Not Supported Properly

We finally figured out the issue I was having in the Webthings Etekcity adapter- turns out the 3-way switches are a different device from the single switch and not supported properly by pyvesync! Here's the original issue, for context: WebThingsIO/etekcity-adapter#8.

I have 2 ESWL01 switches and then added 2 more ESWL03 switches, not realizing there was any meaningful difference between them. Apparently there is a missing spot in pyvesync for the ESWL03.

Add support for Levoit LV_600S Humidifier

I would like to request supporter the Levoit LV_600S Humidifier. I install a MITM proxy and captured the following dumps. Let me know if you any additional payloads.

{
"code": 0,
"msg": "request success",
"result": {
"cidFwInfoList": [
{
"code": 0,
"configModule": "WFON_AHM_LUH-A602S-WUS_US",
"connectionType": "WiFi+BTOnboarding+BTNotify",
"deviceCid": "vsaq7588f6f84290868639af8c171175",
"deviceImg": "https://image.vesync.com/defaultImages/LV_600S_Series/icon_lv600s_humidifier_160.png",
"deviceName": "Humidifier ",
"deviceRegion": "US",
"firmUpdateInfos": [
{
"currentVersion": "1.0.42",
"isMainFw": false,
"latestVersion": "1.0.00",
"latestVersionUrl": "http://firm-testonline.vesync.com:4005/firm/amazon/WFON_AHM_LUH-A602S-WUS_US/v1.0.00/",
"partFirmwareVersionUrl": "",
"pluginName": "mcuFw",
"priority": 0,
"releaseNotes": "First Version.",
"upgradeLevel": 0,
"upgradeTimeoutInSec": 120
},
{
"currentVersion": "1.0.07",
"isMainFw": true,
"latestVersion": null,
"latestVersionUrl": null,
"partFirmwareVersionUrl": null,
"pluginName": "mainFw",
"priority": 1,
"releaseNotes": null,
"upgradeLevel": 0,
"upgradeTimeoutInSec": 120
}
],
"macID": "24:d7:eb:01:af:02",
"msg": null,
"uuid": "cb5c8675-a00e-40a6-bc70-55b37b2ab7da"
}
],
"macIDFwInfoList": null
},
"traceId": "1639054148013"

{
"code": 0,
"msg": "request success",
"result": {
"code": 0,
"result": {
"automatic_stop_reach_target": true,
"configuration": {
"auto_target_humidity": 50,
"display": true
},
"display": true,
"enabled": true,
"extension": {
"schedule_count": 0,
"timer_remain": 0
},
"humidity": 52,
"humidity_high": false,
"mist_level": 3,
"mist_virtual_level": 9,
"mode": "humidity",
"warm_enabled": true,
"warm_level": 3,
"water_lacks": false,
"water_tank_lifted": false
},
"traceId": "1639054152557"
},
"traceId": "1639054152557"

Any idea on how to make ESL100CW work?

Hi,

This is not an issue with the library but I'd appreciate any input! I've been trying to figure out how to make the "Tunable" bulb to work with no luck. All the SmartBulb/ APIs work except for the /devicestatus. When I try to PUT the new status it hangs for a while then I get an error message that "the device is not responding" (according to Google translate). POST just causes an "internal module error"

I also tried to use all the other APIs for all other devices that I could find in this library and by inspecting the app, none of them worked. It seems I'm missing something stupidly simple.

This is the request that hangs: (omitting all headers):

PUT https://smartapi.vesync.com/SmartBulb/v1/device/devicestatus
{
  "timeZone":"America/New_York",
  "acceptLanguage":"en",
  "accountID":"XXXXXXX",
  "token":"XXXXXXXXXXXXX",
  "uuid":"XXXXXXXXXXXXX",
  "status":"on",
  "brightness":"100"
}

The response:

{
  "code": 4041005,
  "msg": "设备未响应",
  "traceId": "1565073187628",
  "result": null
}

For more information about the device, this is an excerpt of what I get when I POST https://smartapi.vesync.com/cloud/v1/deviceManaged/devices

 {
      "deviceRegion": "US",
      "deviceName": "Bedroom",
      "deviceImg": "https://smartapi.vesync.com/v1/app/imgs/icon_dimmable_bulb/icon_white_light_bulb.png",
      "cid": "XXXXXXXXXXXXXXXXXXXXX",
      "deviceStatus": "off",
      "connectionStatus": "online",
      "connectionType": "wifi",
      "deviceType": "ESL100CW",
      "type": "Wifi-light",
      "uuid": "XXXXXXXXXXXXXXXXXXXXXX",
      "configModule": "WiFi_Bulb_WhiteLightBulb_US",
      "macID": null,
      "mode": null,
      "speed": null,
      "extension": null,
      "currentFirmVersion": null,
      "subDeviceNo": null
    }]

Any ideas?

Thanks!

VeSyncHumid200300S.set_display has no effect on Classic 200S humidifier

I'm working on a Home Assistant PR to add support for the Classic 300S humidifiers (home-assistant/core#62907), and I'm adding the Classic 200S now that there's a new pyvesync release. Almost everything for the 200S works fine, but the display light toggle does not. Invoking set_display has no effect on the 200S humidifier, and details["display"] is always False for the Classic 200S. Everything for the 300S works just fine. Perhaps the 200S has a separate API for its display toggle since it just has a single light, whereas the 300S has a more detailed display?

Device update crash for

The following code causes crash on dev.update with pyvesync 1.0.11 installed via pip:

#!/usr/bin/env python

from pyvesync import VeSync
import time

dev = VeSync(ID, PASS)
dev.login()

while True:
  dev.update()
  for d in dev.fans:
    print(d.device_name, d.air_quality, d.fan_level)
  time.sleep(60)

with the following output:

Traceback (most recent call last):
  File "./pyvesync-test.py", line 10, in <module>
    dev.update()
  File "/usr/local/lib/python3.7/site-packages/pyvesync/vesync.py", line 245, in update
    outlets, switches, fans, bulbs = self.get_devices()
  File "/usr/local/lib/python3.7/site-packages/pyvesync/vesync.py", line 192, in get_devices
    device_list)
  File "/usr/local/lib/python3.7/site-packages/pyvesync/vesync.py", line 139, in process_devices
    logger.debug('Fans Updated - ' + dev)
TypeError: can only concatenate str (not "VeSyncAir131") to str

Q: Local API

Hey, do you know if it is possible to have a local API and not to use the Cloud one?

Support for Levoit Core 200S Air Purifier

Hello,

Would you be able to add support for Levoit Core 200S Smart True HEPA Air Purifier please? I just purchased the unit solely to use with HA. So please let me know anyway I could help.
Thanks.

Tag releases

Could you please tag the source on GitHub if you ship a release? Thanks

This would allow to run the tests during the build process for distribution packages. Of course, it would also work if the tests are part of the source that is published on PyPI.

API Return Error - Attribute Error 'NoneType' object has no attribute 'get'

Hello!
I'm working on VeSync integration for Home Assistant now. Extending it for usage of Classic300 humidifier.
I am able to create humidifier entity, works normal.
However, this humidifier contains also night light and another option of turning display on/off.
I tried to create different entities for these functions (dimmable light for night light, and switch for display). Overall, it works. However, integration config is inconsistent - i can't get all entities registered. Sometimes it succeeds, but 9 of 10 times it gives following error:
File "/usr/local/lib/python3.8/site-packages/pyvesync/vesyncfan.py", line 757, in update self.get_details() File "/usr/local/lib/python3.8/site-packages/pyvesync/vesyncfan.py", line 738, in get_details outer_result = r.get('result', {}) AttributeError: 'NoneType' object has no attribute 'get'

And as result, i'm getting only one or two of entities registered in Home Assistant.
My guess is, that VeSync API is rejecting simultaneous calls to same device.
I have also 2 of Levoit 131s purifiers - they're recognized each time correctly.

Core200S Has Multiple Device Models

I was working with someone on the HomeAssistant side to diagnose an issue of Core200S devices not being recognized by the integration.

home-assistant/core#61417

I discovered that Levoit produces more than one version of the Core 200s device and sells them in the same packaging. A sticker on the back of the device lists the model number as "LAP-C201S-AUSR". Both models are identical as far as I can tell with the exception of firmware numbers and the deviceType returned by the API.

In the thread above, I made some quick and dirty changes to pyvesync and the HA integration to recognize this model as a Core200S and HA then uses it no problem identical to its brother.

It may be worth while to add support for multiple device types for each device and translate to one known variant. For example, when the API returns the LAP-C201S-AUSR device, simply swap it's String for Core200S and thus the remainder of the library (and the HA integration) will simply treat the device as a Core200S as it should be.

HTTPSConnectionPool: Read timed out leads to AttributeError in get_details

I am using pyvesync in an home assisstant integration. I am regularly seeing following in my log file and assume that it's an bug in pyvesync.

2021-05-06 13:31:24 WARNING (SyncWorker_3) [pyvesync.helpers] HTTPSConnectionPool(host='smartapi.vesync.com', port=443): Read timed out. (read timeout=5)
2021-05-06 13:31:24 ERROR (MainThread) [homeassistant.helpers.entity] Update for humidifier.lufti fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 292, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 490, in async_device_update
    raise exc
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/vesync/common.py", line 89, in update
    self.device.update()
  File "/usr/local/lib/python3.8/site-packages/pyvesync/vesyncfan.py", line 364, in update
    self.get_details()
  File "/usr/local/lib/python3.8/site-packages/pyvesync/vesyncfan.py", line 345, in get_details
    outer_result = r.get('result', {})
AttributeError: 'NoneType' object has no attribute 'get'

Add Sleep mode to fan speeds or an action to call sleep mode

I can't seem to figure out how to call sleep mode for the device. Auto mode is a fan speed but sleep is not even though it seems to just be a really low speed. Is there some way to call it or is there any way it can just be a speed? This is for the air purifier.

Air Purifier Removed from Hass.io?

Was this removed from home assistant? Do I need to use the custom_component to use the air purifier? I just bought one and I am not sure what direction to take. I am on hass.io.

Support for ESW10-USA outlet.

Missing support for newer outlet version.

Version Installed:
pyvesync-1.2.1-py2.py3-none-any.whl

Output from logging into an account with the ESW10-USA plug active.
>>> manager.update()
2020-11-03 13:21:21,918 - WARNING - Unknown device ESW10-USA

pyvesync-1.{1,2}.0 tries to install a package called `tests` at top level

Hello Mark,

first, I hope you don't mind I included your component for Home Assistant Gentoo Overlay. I do not use this component myself, but during compile tests I saw that my test script threw an error, because setup.py tries to install a package called tests at top level.

Also it would be nice if you could add version tags here at Github.

I will send a PR for the top level violation in a few seconds.

For now, I added both versions with a patch: onkelbeh/HomeAssistantRepository@8098050

Thanks a lot.
\B.

COSORI Smart WiFi Air Fryer

I am new to home Assistant and was trying to track if there was an integration with pyvesync to the "COSORI Smart WiFi Air Fryer 5.8QT(100 Recipes), 1700-Watt Programmable Base for Air Frying, Roasting & Keep Warm 11 Cooking Preset,Preheat&Shake Remind". My wife uses it with VeSync all the time.

https://www.amazon.com/COSORI-1700-Watt-Programmable-Roasting-Touchscreen/dp/B07VLKMMJ5
I would love to help spec the function calls but do not know the best way to trace the app. It appears to preload cooking temperature, times, and a "shake reminder".
It seems like a fun thing to get going to me. Let me know if you are interested.

Support for Core 400s

Thank you so much for the hard work being done here. I’ve been using this for a while now with some other Levoit/Vesync products in Home Assistant and love it!

I just bought the Core 400s, but it doesn’t seem to be supported. From what I can tell, it has the same functionality as the Core 200s, just handles a larger space.

I noticed the Core 200s was recently added and was wondering if there is a way to add support for the Core 400s as well?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.