HomeAssitant custom integration for dyson

Related tags

Deep Learningha-dyson
Overview

HomeAssistant Custom Integration for Dyson

This custom integration is still under development.

This is a HA custom integration for dyson. There are several main differences between this custom integration and the official dyson integration:

  • It does not rely on dyson account. Which means once configured, the integration will no longer login to the Dyson cloud service so fast and more reliable start up process.

  • Config flow and discovery is supported, so easier configuration.

  • Based on a new library that is better structured so the code in the integration itself is simplified.

My goal is to make this integration official. However, at the current stage, I don't want to do the changes in core since there could be a lot of breaking changes. Therefore, I'll do be merge when everything seems stable.

Installation

You can install using HACS. Adding https://github.com/shenxn/ha-dyson as custom repository and then install Dyson Local. If you want cloud functionalities as well, add https://github.com/shenxn/ha-dyson-cloud and install Dyson Cloud.

You can also install manually

Local and Cloud

There are two integrations, Dyson Local and Dyson Cloud. Due to the limitation of HACS, they are split into two repositories. This repository hosts Dyson Local, and https://github.com/shenxn/ha-dyson-cloud hosts Dyson Cloud.

Dyson Local

Dyson Local uses MQTT-based protocol to communicate with local Dyson devices using credentials. Currently it supports

  • Dyson 360 Eye robot vacuum
  • Dyson Pure Cool
  • Dyson Pure Cool Desk
  • Dyson Pure Cool Link
  • Dyson Pure Cool Link Desk
  • Dyson Pure Hot+Cool
  • Dyson Pure Hot+Cool Link
  • Dyson Pure Humidity+Cool

Humidifier support under HA platform humidifier is not supported yet.

Dyson Cloud

Dyson Cloud uses HTTP-based API to communicate with cloud service. Currently it supports getting device credentials and show all devices as discovered entities under the Integrations page. It also supports getting cleaning maps as camera entities for 360 Eye robot vacuum.

Setup

It is recommended to set up Dyson Cloud first so that you don't need to manually get device credentials. To do so, go to Configuration -> Integrations and click the + button. Then find Dyson Cloud. After successful setup, all devices under the account will be shown as discovered entities and you can then set up Dyson Local with single click. Leave host blank to using zeroconf discovery. After that, you can even remove Dyson Cloud entity if you don't need cleaning maps. All local devices that are already set up will remain untouched.

If you want to manually set up Dyson Local, you need to get credentials first. Clone or download https://github.com/shenxn/libdyson, then use python3 get_devices.py to do that. You may need to install some dependencies using pip3 install -r requirements.txt.

Comments
  • Support for TP07?

    Support for TP07?

    I have recently just brought the TP07 (Dyson Purifier Cool Tower).

    Any possibility of supporting this model?

    Id be happy to test any test releases etc :)

    more info requested stale 
    opened by wranglatang 48
  • Unknown error just after typing email address in.

    Unknown error just after typing email address in.

    I'm new to HA and trying to get it to use your plugin for my dyson devices. I ahve added both repo's to the HACS, and trying to install teh dyson-cloud integration. Get through teh Country - GB, and then it asks for my email - type in my email, and click submit, and all i get then is an error:- Unknown error occurred

    stack trace from error in log is as follows;-

    This error originated from a custom integration.

    Logger: aiohttp.server Source: custom_components/dyson_cloud/config_flow.py:71 Integration: dyson_cloud (documentation, issues) First occurred: 15:39:07 (1 occurrences) Last logged: 15:39:07

    Error handling request Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py", line 422, in _handle_request resp = await self._request_handler(request) File "/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py", line 499, in _handle resp = await handler(request) File "/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py", line 119, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 76, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 24, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 78, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 144, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 135, in handle result = await result File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 155, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 63, in wrapper result = await method(view, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 109, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 202, in async_configure result = await self._async_handle_step(flow, cur_step["step_id"], user_input) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 260, in _async_handle_step result: FlowResult = await getattr(flow, method)(user_input) File "/config/custom_components/dyson_cloud/config_flow.py", line 71, in async_step_email self._verify = await self.hass.async_add_executor_job( File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.8/site-packages/libdyson/cloud/account.py", line 127, in login_email_otp response = self.request( File "/usr/local/lib/python3.8/site-packages/libdyson/cloud/account.py", line 119, in request raise DysonInvalidAuth libdyson.exceptions.DysonInvalidAuth

    todo 
    opened by jlockham 39
  • Get credentials

    Get credentials

    Update:

    @shenxn: https://github.com/shenxn/ha-dyson/issues/5#issuecomment-791887983

    I've added 2FA support to libdyson (https://github.com/shenxn/libdyson). Download or clone the repo, then run python3 get_devices.py to get credentials. You may also need to install some dependencies using pip3 install -r requirements.txt.

    Old

    Not an actual issue, but wanted to make this available for other people

    I've managed to get credentials in two ways:

    1. Using libpurecool

    Use this fork of libpurecool (fix_auth branch): https://github.com/bfayers/libpurecool/tree/fix_auth python3 -m pip install https://github.com/bfayers/libpurecool/archive/fix_auth.zip

    1. Create a new file called whatever.py
    2. Paste this in:
        #!/usr/bin/python3
        from libpurecool.dyson import DysonAccount
        
        dyson_account = DysonAccount("email","password","lang")
        logged = dyson_account.login()
        
        if not logged:
            print('Unable to login to Dyson account')
            exit(1)
        devices = dyson_account.devices()
        for device in devices:
            print(device.serial);
            print(device.name);
            print(device.credentials);
            print(" ");
    
    1. Open your DysonLink app and stare at the welcome screen :)
    2. python3 whatever.py
    3. Cross your fingers 🤞 and hope it works.

    ⚠️ Don't try to loging in too fast/spam the script or you'll get IP blocked by Dyson I've also noticed that I'm getting immediately denied login if I'm going through a VPN

    2. Using an Android phone

    You can probably do this with an iOS device, but I haven't tested (https://stackoverflow.com/a/8512455)

    1. Download the Packet Capture app from Google Playstore (https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture&hl=en&gl=US)
    2. Open Dyson Link and leave it running in the background
    3. Run the Packet Capture app, allow it to create a VPN if you're prompted
    4. Hit the play button with the 1 and choose the Dyson Link app
    5. Switch to the Dyson Link app, it will probably do a quick refresh of the welcome page
    6. Switch back to Packet Capture and stop capturing
    7. Look through the captured packets for something like this: Screenshot_20210305-024635
    opened by proatwork 39
  • Just upgraded Dyson HA to 0.16.3 on 2022.4 and now won't load

    Just upgraded Dyson HA to 0.16.3 on 2022.4 and now won't load

    Logger: homeassistant.setup Source: setup.py:162 First occurred: 20:33:37 (1 occurrences) Last logged: 20:33:37

    Setup failed for custom integration dyson_local: Unable to import component: cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson' (/usr/local/lib/python3.9/site-packages/libdyson/init.py)

    opened by atmezferix 36
  • Dyson Local

    Dyson Local "failed to connect"

    Core version: 2021.8.7 Supervisor version: 2021.06.8 Running in oracle Virtual Box ubuntu VM.

    Integration stopped working, I dont remember the error sadly. I removed the integration, to redo it, thinking something may have messed up. I went through the steps, got my credentials using get_devices.py, but the integration it self keeps giving me Failed to connect error.

    opened by phrostt 31
  • Broken after update to HA 2022.4.0

    Broken after update to HA 2022.4.0

    After the latest update to HA 2022.4.0, continuous monitoring, night mode and air quality target all stopped working.

    Edit: and temperature also not working anymore

    opened by Ultra9k 28
  • Invalid fan entity state and its parameters

    Invalid fan entity state and its parameters

    Some of the parameters shown under the fan entity are invalid. So far, I've found these two:

    • oscillating: false (Dyson is set to oscillate and is currently oscillating)
    • percentage: null (I don't think null is correct value)
    opened by JakubMacoun 28
  • Auto Mode no longer working in script - HP04

    Auto Mode no longer working in script - HP04

    I'm a bit of a new user for Home Assistant but I had managed to coble together some easy scripts to control my Dyson HP04

    Up until recently and for most of the last year this very simple script was working :

    Config : https://i.imgur.com/yoNpIJk.png Visual Editor : https://i.imgur.com/ZXHFtQZ.png

    For some reason it will no longer apply the auto setting once triggered, this is happening for all my scripts.

    I then tried applying the switch directly (as I had seen closed issues from middle of 2021 about a move to switches from profiles

    Config : https://i.imgur.com/cfAj7wv.png Visual Editor : https://i.imgur.com/qCAHl9K.png

    To me even though taking a different route through the visual editor the config is identical for both and both are using the recommendation ( switch.pure_hot_cool_auto_mode ) from this closed ticket : https://github.com/shenxn/ha-dyson/issues/49

    Am I doing something wrong? Not sure what I broke in my script, it was working for most of the year.

    Any help would be appreciated

    bug 
    opened by xvlw 23
  • Can't login to dyson_cloud

    Can't login to dyson_cloud

    When I try to install dyson_cloud, I always get "Failed to connect". When I try manually with libdyson, I get:

    Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 343, in ssl_wrap_socket context.load_verify_locations(ca_certs, ca_cert_dir, ca_cert_data) ssl.SSLError: [X509] PEM lib (_ssl.c:4062)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 677, in urlopen chunked=chunked, File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 381, in _make_request self._validate_conn(conn) File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 976, in validate_conn conn.connect() File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 370, in connect ssl_context=context, File "/usr/local/lib/python3.7/site-packages/urllib3/util/ssl.py", line 345, in ssl_wrap_socket raise SSLError(e) urllib3.exceptions.SSLError: [X509] PEM lib (_ssl.c:4062)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send timeout=timeout File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 725, in urlopen method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2] File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 439, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='appapi.cp.dyson.com', port=443): Max retries exceeded with url: /v3/userregistration/email/userstatus?country=GB (Caused by SSLError(SSLError(9, '[X509] PEM lib (_ssl.c:4062)')))

    bug 
    opened by jorgenbosman 23
  • Can No Longer Turn Off Fan in Auto Mode

    Can No Longer Turn Off Fan in Auto Mode

    As a byproduct of Issue https://github.com/shenxn/ha-dyson/issues/12 (v0.5.1) when the Fan is in the Auto Mode preset it can no longer be shutoff. I agree with the logic that Auto Mode should still report the device as On, however even at that state you can not shut the fan off completely and will remain in auto mode as "On" unless the fan percentage is changed to another value to remove the "Auto" preset. I think a preset mode of "None" or "Off" that is a valid option might resolve it slightly being able to remove it from "Auto" without setting a fan percentage. Or if a fan.turn_off is issued shut the fan down and remove it from auto mode.

    Example fan.turn_off on an entity in Auto Mode continues to stay on and in Auto mode Log Error:

    2021-03-09 12:55:24 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
    Traceback (most recent call last):
      File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 282, in async_update_ha_state
        self._async_write_ha_state()
      File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 321, in _async_write_ha_state
        attr.update(self.state_attributes or {})
      File "/usr/src/homeassistant/homeassistant/components/fan/__init__.py", line 602, in state_attributes
        data[ATTR_SPEED] = self.speed
      File "/usr/src/homeassistant/homeassistant/components/fan/__init__.py", line 452, in speed
        percentage = self.percentage
      File "/config/custom_components/dyson_local/fan.py", line 119, in percentage
        return ranged_value_to_percentage(SPEED_RANGE, int(self._device.speed))
    TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
    
    opened by geekofweek 21
  • Fan connection disconnect cause integration to become unresponsive

    Fan connection disconnect cause integration to become unresponsive

    Thanks @shenxn for this great work on this integration. Since the 2FA changes I been running this exclusively to run my fans, and it’s very good.

    One issue I’m experiencing is if the Dyson fan loses connection even temporarily, the integration becomes unresponsive, the sensors cease updating and requires a system restart to work again. It provides no errors or warnings in the log.

    Reloading the integration doesn’t resolve the issue and results in the error “fan entity does not exist”.

    As there’s no log trail this is a tricky one to troubleshoot. Do you think you could add a warning for disconnections or timeouts?

    opened by googanhiem 19
  • Adding support for 527K - Dyson Pure Hot+Cool Formaldehyde

    Adding support for 527K - Dyson Pure Hot+Cool Formaldehyde

    This adds support for the Dyson Pure Hot+Cool Formaldehyde (527K).

    This depends on https://github.com/shenxn/libdyson/pull/36. This solves https://github.com/shenxn/ha-dyson/issues/167

    opened by Ulrar 9
  • {

    {"message":"Invalid handler specified"}

    Please help me, when i launch Dyson cloud i receive this message Italian language :

    Impossibile caricare il flusso di configurazione: {"message":"Invalid handler specified"}

    opened by giushd 11
  • Hp00 support?

    Hp00 support?

    Hi, Does the integration supports hp00 as it's not compatible with Dyson app. I'm wondering if there is wifi onboard and If integration manages it. In France, we also have hp07, hp7a and hp09 much expensive. Are these precise versions compatible please? Maybe products versions exact codes missing on README file.

    opened by herbalizer404 2
  • Cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson'

    Cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson'

    As mentioned in a former post, my dyson integration sometimes appears as "not loaded" and then the dyson fan cannot be controlled anymore in HA. image

    These logs for dyson_cloud are showing these error messages:

    2022-12-01 11:19:54.439 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration dyson_cloud which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
    2022-12-01 11:20:09.905 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'ibeacon', 'onboarding', 'repairs', 'energy', 'ipp', 'diagnostics', 'application_credentials', 'remote', 'nuki_ng', 'dyson_cloud', 'fully_kiosk', 'speedtestdotnet', 'accuweather', 'radio_browser', 'rpi_power', 'search', 'mqtt', 'tradfri', 'mjpeg', 'xiaomi_miio', 'system_health', 'upnp', 'person', 'auth', 'group', 'esphome', 'philips_js', 'fritzbox_callmonitor', 'homeassistant_alerts', 'config', 'stihl_imow', 'switch_as_x', 'input_datetime', 'analytics', 'default_config', 'influxdb', 'heos', 'my', 'shell_command', 'mobile_app', 'octoprint', 'hacs', 'automation', 'hue', 'met', 'input_button', 'sensor', 'map', 'history', 'intent_script', 'device_tracker', 'skodaconnect', 'bosch_shc', 'zwave_js', 'denonavr', 'hardware', 'deconz', 'input_select', 'media_source', 'input_text', 'logbook', 'camera', 'dyson_local', 'counter', 'input_number', 'synology_dsm', 'input_boolean', 'schedule', 'script', 'raspberry_pi', 'discovery', 'elgato', 'image', 'timer', 'switch', 'binary_sensor', 'utility_meter', 'fritz', 'lovelace', 'scene', 'sonos', 'device_automation', 'fritzbox', 'cast', 'harmony', 'tag', 'tts', 'file_upload', 'intent', 'python_script', 'dlna_dmr', 'zone', 'blueprint', 'persistent_notification', 'home_connect', 'sun', 'trace'}
    2022-12-01 11:20:38.442 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration dyson_cloud: Unable to import component: cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson' (/usr/local/lib/python3.10/site-packages/libdyson/__init__.py)
    

    The same appears sfor dyson_local:

    2022-12-01 11:19:54.444 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration dyson_local which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
    2022-12-01 11:20:09.905 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'ibeacon', 'onboarding', 'repairs', 'energy', 'ipp', 'diagnostics', 'application_credentials', 'remote', 'nuki_ng', 'dyson_cloud', 'fully_kiosk', 'speedtestdotnet', 'accuweather', 'radio_browser', 'rpi_power', 'search', 'mqtt', 'tradfri', 'mjpeg', 'xiaomi_miio', 'system_health', 'upnp', 'person', 'auth', 'group', 'esphome', 'philips_js', 'fritzbox_callmonitor', 'homeassistant_alerts', 'config', 'stihl_imow', 'switch_as_x', 'input_datetime', 'analytics', 'default_config', 'influxdb', 'heos', 'my', 'shell_command', 'mobile_app', 'octoprint', 'hacs', 'automation', 'hue', 'met', 'input_button', 'sensor', 'map', 'history', 'intent_script', 'device_tracker', 'skodaconnect', 'bosch_shc', 'zwave_js', 'denonavr', 'hardware', 'deconz', 'input_select', 'media_source', 'input_text', 'logbook', 'camera', 'dyson_local', 'counter', 'input_number', 'synology_dsm', 'input_boolean', 'schedule', 'script', 'raspberry_pi', 'discovery', 'elgato', 'image', 'timer', 'switch', 'binary_sensor', 'utility_meter', 'fritz', 'lovelace', 'scene', 'sonos', 'device_automation', 'fritzbox', 'cast', 'harmony', 'tag', 'tts', 'file_upload', 'intent', 'python_script', 'dlna_dmr', 'zone', 'blueprint', 'persistent_notification', 'home_connect', 'sun', 'trace'}
    2022-12-01 11:22:32.721 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration dyson_local: Unable to import component: cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson' (/usr/local/lib/python3.10/site-packages/libdyson/__init__.py)
    
    

    How to get rid of this problem?

    opened by erd82 7
  • Unable to connect HP2 and HP4 via Wifi and Manual

    Unable to connect HP2 and HP4 via Wifi and Manual

    Hi there I use the proper credentials, password, and model type but still get a "failed to find device using discovery"

    I've tried as many different combinations as possible but unable to add either machines information.

    opened by TonyMontuna 3
Releases(v0.16.4-4)
  • v0.16.4-4(Apr 8, 2022)

    What's new ?

    • Bumped libdyson to v0.8.11, should fix any problems related to connecting to the cloud
    • Added initial support of HCHO (untested)

    Full Changelog: https://github.com/shenxn/ha-dyson/compare/v0.16.4-2...v0.16.4-3

    Source code(tar.gz)
    Source code(zip)
  • v0.16.4(Apr 8, 2022)

    What's Changed

    • Fixed libdyson not updating
    • Set the native unit of measure, for 2022.4. by @Flameeyes in https://github.com/shenxn/ha-dyson/pull/117

    Full Changelog: https://github.com/shenxn/ha-dyson/compare/v0.16.3...v0.16.4

    Source code(tar.gz)
    Source code(zip)
  • v0.16.4-3(Apr 8, 2022)

    What's new ?

    • Bumped libdyson to v0.8.11, should fix any problems related to connecting to the cloud
    • Added initial support of HCHO (untested)

    Full Changelog: https://github.com/shenxn/ha-dyson/compare/v0.16.4-2...v0.16.4-3

    Source code(tar.gz)
    Source code(zip)
  • v0.16.4-2(Apr 8, 2022)

    What's changed

    • Added initial support of HCHO sensor for Formaldehyde devices

    Full Changelog: https://github.com/shenxn/ha-dyson/compare/v0.16.4...v0.16.4-2

    Source code(tar.gz)
    Source code(zip)
  • v0.16.3(Apr 6, 2022)

    What's Changed

    • Updates to 2021.12.0 best practices. by @Flameeyes in https://github.com/shenxn/ha-dyson/pull/82
    • Fix error when disabling fan timer by @lrb2 in https://github.com/shenxn/ha-dyson/pull/88
    • Add support for DysonPurifierHumidifyCoolFormaldehyde by @austinbeam in https://github.com/shenxn/ha-dyson/pull/90
    • Fan improvements by @Flameeyes in https://github.com/shenxn/ha-dyson/pull/109
    • Use native unit of measurement for Dyson temp sensor by @jasperslits in https://github.com/shenxn/ha-dyson/pull/113

    New Contributors

    • @lrb2 made their first contribution in https://github.com/shenxn/ha-dyson/pull/88
    • @austinbeam made their first contribution in https://github.com/shenxn/ha-dyson/pull/90
    • @jasperslits made their first contribution in https://github.com/shenxn/ha-dyson/pull/113

    Full Changelog: https://github.com/shenxn/ha-dyson/compare/v0.16.2...v0.16.3

    Source code(tar.gz)
    Source code(zip)
  • v0.16.2(Dec 15, 2021)

    What's Changed

    • Add entities for DysonAirQualitySelect by @crowbarz in https://github.com/shenxn/ha-dyson/pull/77
    • fan, vacuum: replace device_state_attributes usage. by @Flameeyes in https://github.com/shenxn/ha-dyson/pull/79
    • Do not convert the target temperature to integer by @vickyg3 in https://github.com/shenxn/ha-dyson/pull/81

    This release fixes temperature settings in Fahrenheit for all supported devices. To get more details about each change made, please check the PRs

    New Contributors

    • @crowbarz made their first contribution in https://github.com/shenxn/ha-dyson/pull/77
    • @vickyg3 made their first contribution in https://github.com/shenxn/ha-dyson/pull/81

    Full Changelog: https://github.com/shenxn/ha-dyson/compare/v0.16.1...v0.16.2

    Source code(tar.gz)
    Source code(zip)
  • v0.16.2-b1(Nov 29, 2021)

    What's Changed

    • Add entities for DysonAirQualitySelect by @crowbarz in https://github.com/shenxn/ha-dyson/pull/77

    New Contributors

    • @crowbarz made their first contribution in https://github.com/shenxn/ha-dyson/pull/77

    Full Changelog: https://github.com/shenxn/ha-dyson/compare/v0.16.1...v0.16.2-b1

    Source code(tar.gz)
    Source code(zip)
  • v0.16.1(Nov 23, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • bumped libdyson to account for changes in the Dyson api certs
    Source code(tar.gz)
    Source code(zip)
  • v0.16.0(Nov 16, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Updated the integration to comply to HAOS new specifications & best practices (#69)
    • Added support for the particulates sensor for TP04 (#69)
    Source code(tar.gz)
    Source code(zip)
  • v0.15.0(Jun 30, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Don't set up coordinator for Heurist (#51 @pfrybar)
    • Fix host discovery for devices with dynamic IP address (#52 @pfrybar). Please remove and re-setup if your device does not have static IP address.
    • Try to fix 455A support (related to #41)
    Source code(tar.gz)
    Source code(zip)
  • v0.14.0(May 18, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Support 527E devices (shenxn/libdyson#9 @crgreenwood )
    Source code(tar.gz)
    Source code(zip)
  • v0.13.0(May 15, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Support 455A devices (fixes #41)
    • Support ON/OFF as oson value for Pure Cool devices (fixes #22)
    Source code(tar.gz)
    Source code(zip)
  • v0.12.0(Apr 29, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Bump libdyson to 0.8.4
    Source code(tar.gz)
    Source code(zip)
  • v0.11.0(Apr 17, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Fix socket leak (#34)
    • Add device type Dyson Pure Cool 2021 (438E) (fixes #38)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.0(Apr 8, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Turn off humidification auto mode when set target humidity (fixes #29)
    • Add CUST to HumidifyOscillationMode (fixes #31)
    Source code(tar.gz)
    Source code(zip)
  • v0.9.1(Apr 8, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Disconnect before raising ConfigEntryNotReady (fixes #34)
    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Apr 8, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Fix re-connection problem (#22, #24)
    • Add OFF state to air quality target (#14)
    Source code(tar.gz)
    Source code(zip)
  • v0.8.1(Mar 16, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Fix TypeError when turning off Link devices directly from auto mode (#18)
    Source code(tar.gz)
    Source code(zip)
  • v0.8.0(Mar 15, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Change max humidity target from 100 to 70
    • Add Dyson 360 Heurist vacuum robot support (Experimental)
    Source code(tar.gz)
    Source code(zip)
  • v0.7.1(Mar 15, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Fix the problem that Pure Humidify+Cool devices missing front airflow switches
    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Mar 14, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Add humidifier platform
    • Fix oscillation for Pure Humidity+Cool fan
    • Add a new custom service dyson_local.set_oscillation_mode to set oscillation mode for Pure Humidity+Cool fan
    Source code(tar.gz)
    Source code(zip)
  • v0.6.2(Mar 14, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Turn off the sleep timer when calling set_timer with time equals 0
    Source code(tar.gz)
    Source code(zip)
  • v0.6.1(Mar 14, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Add a new method to set up the integration by filling device WiFi information
    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Mar 14, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Add angle_low and angle_high attributes to Pure Cool fan entities.

    Breaking change

    To make it easier to turn off auto mode, A new switch entity is added, and the preset mode of the fan entity is removed.

    Source code(tar.gz)
    Source code(zip)
  • v0.5.3(Mar 10, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Add custom service set_timer to Pure Cool Link fans
    Source code(tar.gz)
    Source code(zip)
  • v0.5.2(Mar 9, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Add missing custom services set_timer and set_angle for Pure Cool fan.
    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Mar 7, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Now when the fan is in auto mode and idle (fan not running), the fan entity state will be on instead of off.
    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Mar 7, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Add speed percentage support

    BREAKING CHANGE

    Speed percentage (https://www.home-assistant.io/blog/2021/03/03/release-20213/#fan-speeds-100) is now supported. Therefore, this version only supports HA versions of 2021.3.0 and above. dyson_local.set_speed and dyson_local.set_auto_mode are removed. Use fan.set_percentage and fan.set_preset_mode instead.

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Mar 7, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Fix vacuum resume
    • Bump libdyson to 0.6.0
    Source code(tar.gz)
    Source code(zip)
  • v0.3.2(Feb 18, 2021)

    NOTE: This integration is still under development. There is going to be a lot of breaking changes on each release and they won't be well documented. Use this for testing purpose only.

    • Bump libdyson to 0.5.1
    • Fix config flow from cloud discovery not using host input value
    Source code(tar.gz)
    Source code(zip)
Owner
Xiaonan Shen
M.S. in Computer Science at @UCSD
Xiaonan Shen
Blender Add-On for slicing meshes with planes

MeshSlicer Blender Add-On for slicing meshes with multiple overlapping planes at once. This is a simple Blender addon to slice a silmple mesh with mul

52 Dec 12, 2022
Offline Multi-Agent Reinforcement Learning Implementations: Solving Overcooked Game with Data-Driven Method

Overcooked-AI We suppose to apply traditional offline reinforcement learning technique to multi-agent algorithm. In this repository, we implemented be

Baek In-Chang 14 Sep 16, 2022
PyTorch implementation of the paper Deep Networks from the Principle of Rate Reduction

Deep Networks from the Principle of Rate Reduction This repository is the official PyTorch implementation of the paper Deep Networks from the Principl

459 Dec 27, 2022
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

CatBoost 6.9k Jan 04, 2023
CVPR 2021 - Official code repository for the paper: On Self-Contact and Human Pose.

SMPLify-XMC This repo is part of our project: On Self-Contact and Human Pose. [Project Page] [Paper] [MPI Project Page] License Software Copyright Lic

Lea MĂĽller 83 Dec 14, 2022
A curated list of awesome projects and resources related fastai

A curated list of awesome projects and resources related fastai

Tanishq Abraham 138 Dec 22, 2022
The source code of CVPR 2019 paper "Deep Exemplar-based Video Colorization".

Deep Exemplar-based Video Colorization (Pytorch Implementation) Paper | Pretrained Model | Youtube video 🔥 | Colab demo Deep Exemplar-based Video Col

Bo Zhang 253 Dec 27, 2022
[CVPR 2020] Local Class-Specific and Global Image-Level Generative Adversarial Networks for Semantic-Guided Scene Generation

Contents Local and Global GAN Cross-View Image Translation Semantic Image Synthesis Acknowledgments Related Projects Citation Contributions Collaborat

Hao Tang 131 Dec 07, 2022
ERISHA is a mulitilingual multispeaker expressive speech synthesis framework. It can transfer the expressivity to the speaker's voice for which no expressive speech corpus is available.

ERISHA: Multilingual Multispeaker Expressive Text-to-Speech Library ERISHA is a multilingual multispeaker expressive speech synthesis framework. It ca

Ajinkya Kulkarni 43 Nov 27, 2022
Code for Towards Streaming Perception (ECCV 2020) :car:

sAP — Code for Towards Streaming Perception ECCV Best Paper Honorable Mention Award Feb 2021: Announcing the Streaming Perception Challenge (CVPR 2021

Martin Li 85 Dec 22, 2022
PyTorch implementation of Constrained Policy Optimization

PyTorch implementation of Constrained Policy Optimization (CPO) This repository has a simple to understand and use implementation of CPO in PyTorch. A

Sapana Chaudhary 25 Dec 08, 2022
PyExplainer: A Local Rule-Based Model-Agnostic Technique (Explainable AI)

PyExplainer PyExplainer is a local rule-based model-agnostic technique for generating explanations (i.e., why a commit is predicted as defective) of J

AI Wizards for Software Management (AWSM) Research Group 14 Nov 13, 2022
MoCoGAN: Decomposing Motion and Content for Video Generation

MoCoGAN: Decomposing Motion and Content for Video Generation This repository contains an implementation and further details of MoCoGAN: Decomposing Mo

Sergey Tulyakov 514 Dec 18, 2022
Reference code for the paper CAMS: Color-Aware Multi-Style Transfer.

CAMS: Color-Aware Multi-Style Transfer Mahmoud Afifi1, Abdullah Abuolaim*1, Mostafa Hussien*2, Marcus A. Brubaker1, Michael S. Brown1 1York University

Mahmoud Afifi 36 Dec 04, 2022
Flexible Option Learning - NeurIPS 2021

Flexible Option Learning This repository contains code for the paper Flexible Option Learning presented as a Spotlight at NeurIPS 2021. The implementa

Martin Klissarov 7 Nov 09, 2022
Official PyTorch implementation of Synergies Between Affordance and Geometry: 6-DoF Grasp Detection via Implicit Representations

Synergies Between Affordance and Geometry: 6-DoF Grasp Detection via Implicit Representations Zhenyu Jiang, Yifeng Zhu, Maxwell Svetlik, Kuan Fang, Yu

UT-Austin Robot Perception and Learning Lab 63 Jan 03, 2023
CSD: Consistency-based Semi-supervised learning for object Detection

CSD: Consistency-based Semi-supervised learning for object Detection (NeurIPS 2019) By Jisoo Jeong, Seungeui Lee, Jee-soo Kim, Nojun Kwak Installation

80 Dec 15, 2022
Python Fanduel API (2021) - Lineup Automation

Southpaw is a python package that provides access to the Fanduel API. Optimize your DFS experience by programmatically updating your lineups, analyzin

Brandin Canfield 13 Jan 04, 2023
FFCV: Fast Forward Computer Vision (and other ML workloads!)

Fast Forward Computer Vision: train models at a fraction of the cost with accele

FFCV 2.3k Jan 03, 2023
We present a framework for training multi-modal deep learning models on unlabelled video data by forcing the network to learn invariances to transformations applied to both the audio and video streams.

Multi-Modal Self-Supervision using GDT and StiCa This is an official pytorch implementation of papers: Multi-modal Self-Supervision from Generalized D

Facebook Research 42 Dec 09, 2022