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
A framework to train language models to learn invariant representations.

Invariant Language Modeling Implementation of the training for invariant language models. Motivation Modern pretrained language models are critical co

6 Nov 16, 2022
This is the repository for The Machine Learning Workshops, published by AI DOJO

This is the repository for The Machine Learning Workshops, published by AI DOJO. It contains all the workshop's code with supporting project files necessary to work through the code.

AI Dojo 12 May 06, 2022
PyTorch implementation of the paper: "Preference-Adaptive Meta-Learning for Cold-Start Recommendation", IJCAI, 2021.

PAML PyTorch implementation of the paper: "Preference-Adaptive Meta-Learning for Cold-Start Recommendation", IJCAI, 2021. (Continuously updating ) Int

15 Nov 18, 2022
Real time Human Detection Counting

In this python project, we are going to build the Human Detection and Counting System through Webcam or you can give your own video or images. This is a deep learning project on computer vision, whic

Mir Nawaz Ahmad 2 Jun 17, 2022
Course about deep learning for computer vision and graphics co-developed by YSDA and Skoltech.

Deep Vision and Graphics This repo supplements course "Deep Vision and Graphics" taught at YSDA @fall'21. The course is the successor of "Deep Learnin

Yandex School of Data Analysis 160 Jan 02, 2023
[ICLR 2021] Is Attention Better Than Matrix Decomposition?

Enjoy-Hamburger 🍔 Official implementation of Hamburger, Is Attention Better Than Matrix Decomposition? (ICLR 2021) Under construction. Introduction T

Gsunshine 271 Dec 29, 2022
[CVPR 2021] VirTex: Learning Visual Representations from Textual Annotations

VirTex: Learning Visual Representations from Textual Annotations Karan Desai and Justin Johnson University of Michigan CVPR 2021 arxiv.org/abs/2006.06

Karan Desai 533 Dec 24, 2022
Final project for Intro to CS class.

Financial Analysis Web App https://share.streamlit.io/mayurk1/fin-web-app-final-project/webApp.py 1. Project Description This project is a technical a

Mayur Khanna 1 Dec 10, 2021
UT-Sarulab MOS prediction system using SSL models

UTMOS: UTokyo-SaruLab MOS Prediction System Official implementation of "UTMOS: UTokyo-SaruLab System for VoiceMOS Challenge 2022" submitted to INTERSP

sarulab-speech 58 Nov 22, 2022
PyTorch implementation for "Sharpness-aware Quantization for Deep Neural Networks".

Sharpness-aware Quantization for Deep Neural Networks This is the official repository for our paper: Sharpness-aware Quantization for Deep Neural Netw

Zhuang AI Group 30 Dec 19, 2022
Film review classification

Film review classification Решение задачи классификации отзывов на фильмы на положительные и отрицательные с помощью рекуррентных нейронных сетей 1. З

Nikita Dukin 3 Jan 21, 2022
Arbitrary Distribution Modeling with Censorship in Real Time 59 2 60 3 Bidding Advertising for KDD'21

Arbitrary_Distribution_Modeling This repo implements the Neighborhood Likelihood Loss (NLL) and Arbitrary Distribution Modeling (ADM, with Interacting

7 Jan 03, 2023
Implementation for paper MLP-Mixer: An all-MLP Architecture for Vision

MLP Mixer Implementation for paper MLP-Mixer: An all-MLP Architecture for Vision. Give us a star if you like this repo. Author: Github: bangoc123 Emai

Ngoc Nguyen Ba 86 Dec 10, 2022
Official Repository of NeurIPS2021 paper: PTR

PTR: A Benchmark for Part-based Conceptual, Relational, and Physical Reasoning Figure 1. Dataset Overview. Introduction A critical aspect of human vis

Yining Hong 32 Jun 02, 2022
Trainable PyTorch reproduction of AlphaFold 2

OpenFold A faithful PyTorch reproduction of DeepMind's AlphaFold 2. Features OpenFold carefully reproduces (almost) all of the features of the origina

AQ Laboratory 1.7k Dec 29, 2022
Reducing Information Bottleneck for Weakly Supervised Semantic Segmentation (NeurIPS 2021)

Reducing Information Bottleneck for Weakly Supervised Semantic Segmentation (NeurIPS 2021) The implementation of Reducing Infromation Bottleneck for W

Jungbeom Lee 81 Dec 16, 2022
Python framework for Stochastic Differential Equations modeling

SDElearn: a Python package for SDE modeling This package implements functionalities for working with Stochastic Differential Equations models (SDEs fo

4 May 10, 2022
Official and maintained implementation of the paper "OSS-Net: Memory Efficient High Resolution Semantic Segmentation of 3D Medical Data" [BMVC 2021].

OSS-Net: Memory Efficient High Resolution Semantic Segmentation of 3D Medical Data Christoph Reich, Tim Prangemeier, Özdemir Cetin & Heinz Koeppl | Pr

Christoph Reich 23 Sep 21, 2022
Doing the asl sign language classification on static images using graph neural networks.

SignLangGNN When GNNs 💜 MediaPipe. This is a starter project where I tried to implement some traditional image classification problem i.e. the ASL si

10 Nov 09, 2022
Code and model benchmarks for "SEVIR : A Storm Event Imagery Dataset for Deep Learning Applications in Radar and Satellite Meteorology"

NeurIPS 2020 SEVIR Code for paper: SEVIR : A Storm Event Imagery Dataset for Deep Learning Applications in Radar and Satellite Meteorology Requirement

USAF - MIT Artificial Intelligence Accelerator 46 Dec 15, 2022