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
Constraint-based geometry sketcher for blender

Constraint-based sketcher addon for Blender that allows to create precise 2d shapes by defining a set of geometric constraints like tangent, distance,

1.7k Dec 31, 2022
This repository contains part of the code used to make the images visible in the article "How does an AI Imagine the Universe?" published on Towards Data Science.

Generative Adversarial Network - Generating Universe This repository contains part of the code used to make the images visible in the article "How doe

Davide Coccomini 9 Dec 18, 2022
Neural Factorization of Shape and Reflectance Under An Unknown Illumination

NeRFactor [Paper] [Video] [Project] This is the authors' code release for: NeRFactor: Neural Factorization of Shape and Reflectance Under an Unknown I

Google 283 Jan 04, 2023
This program will stylize your photos with fast neural style transfer.

Neural Style Transfer (NST) Using TensorFlow Demo TensorFlow TensorFlow is an end-to-end open source platform for machine learning. It has a comprehen

Ismail Boularbah 1 Aug 08, 2022
The official PyTorch implementation for the paper "sMGC: A Complex-Valued Graph Convolutional Network via Magnetic Laplacian for Directed Graphs".

Magnetic Graph Convolutional Networks About The official PyTorch implementation for the paper sMGC: A Complex-Valued Graph Convolutional Network via M

3 Feb 25, 2022
Pytorch implementation of SenFormer: Efficient Self-Ensemble Framework for Semantic Segmentation

SenFormer: Efficient Self-Ensemble Framework for Semantic Segmentation Efficient Self-Ensemble Framework for Semantic Segmentation by Walid Bousselham

61 Dec 26, 2022
This repository implements variational graph auto encoder by Thomas Kipf.

Variational Graph Auto-encoder in Pytorch This repository implements variational graph auto-encoder by Thomas Kipf. For details of the model, refer to

DaehanKim 215 Jan 02, 2023
Implementing DropPath/StochasticDepth in PyTorch

%load_ext memory_profiler Implementing Stochastic Depth/Drop Path In PyTorch DropPath is available on glasses my computer vision library! Introduction

Francesco Saverio Zuppichini 13 Jan 05, 2023
Reinfore learning tool box, contains trpo, a3c algorithm for continous action space

RL_toolbox all the algorithm is running on pycharm IDE, or the package loss error may exist. implemented algorithm: trpo a3c a3c:for continous action

yupei.wu 44 Oct 10, 2022
A cross-document event and entity coreference resolution system, trained and evaluated on the ECB+ corpus.

A Comprehensive Comparison of Word Embeddings in Event & Entity Coreference Resolution. Introduction This repo contains experimental code derived from

2 May 09, 2022
A rough implementation of the paper "A Steering Algorithm for Redirected Walking Using Reinforcement Learning"

A rough implementation of the paper "A Steering Algorithm for Redirected Walking Using Reinforcement Learning"

Somnus `Chen 2 Jun 09, 2022
Official Pytorch Implementation of 3DV2021 paper: SAFA: Structure Aware Face Animation.

SAFA: Structure Aware Face Animation (3DV2021) Official Pytorch Implementation of 3DV2021 paper: SAFA: Structure Aware Face Animation. Getting Started

QiulinW 122 Dec 23, 2022
Out-of-Distribution Generalization of Chest X-ray Using Risk Extrapolation

OoD_Gen-Chest_Xray Out-of-Distribution Generalization of Chest X-ray Using Risk Extrapolation Requirements (Installations) Install the following libra

Enoch Tetteh 2 Oct 01, 2022
PyTorch implementation for Stochastic Fine-grained Labeling of Multi-state Sign Glosses for Continuous Sign Language Recognition.

Stochastic CSLR This is the PyTorch implementation for the ECCV 2020 paper: Stochastic Fine-grained Labeling of Multi-state Sign Glosses for Continuou

Zhe Niu 28 Dec 19, 2022
Model Zoo for AI Model Efficiency Toolkit

We provide a collection of popular neural network models and compare their floating point and quantized performance.

Qualcomm Innovation Center 137 Jan 03, 2023
Internship Assessment Task for BaggageAI.

BaggageAI Internship Task Problem Statement: You are given two sets of images:- background and threat objects. Background images are the background x-

Arya Shah 10 Nov 14, 2022
A minimalist implementation of score-based diffusion model

sdeflow-light This is a minimalist codebase for training score-based diffusion models (supporting MNIST and CIFAR-10) used in the following paper "A V

Chin-Wei Huang 89 Dec 20, 2022
Unified Pre-training for Self-Supervised Learning and Supervised Learning for ASR

UniSpeech The family of UniSpeech: UniSpeech (ICML 2021): Unified Pre-training for Self-Supervised Learning and Supervised Learning for ASR UniSpeech-

Microsoft 282 Jan 09, 2023
🍀 Pytorch implementation of various Attention Mechanisms, MLP, Re-parameter, Convolution, which is helpful to further understand papers.⭐⭐⭐

🍀 Pytorch implementation of various Attention Mechanisms, MLP, Re-parameter, Convolution, which is helpful to further understand papers.⭐⭐⭐

xmu-xiaoma66 7.7k Jan 05, 2023
An efficient implementation of GPNN

Efficient-GPNN An efficient implementation of GPNN as depicted in "Drop the GAN: In Defense of Patches Nearest Neighbors as Single Image Generative Mo

7 Apr 16, 2022