Comments (60)
I'm also very excited about this, particularly the local control option. I haven't tried to install it yet, but I have an HP04 Pure Hot+Cool, which I don't think is supported yet (just adding it to the support queue 😁).
from ha-dyson.
@curt7000 @jason0x43 @damiano75 Version 0.3.0 is released. HP devices (Pure Hot+Cool and Pure Hot+Cool link) are now supported.
from ha-dyson.
Yes. Then I'll just keep using off
.
from ha-dyson.
@googanhiem @msvinth I've released version 0.2.0 which supports Dyson Pure Cool, Dyson Pure Cool Desk, and Dyson Pure Cool Humidity. Remember to update both dyson_local
and dyson_cloud
to avoid upstream library version conflict if you have both installed. Since I don't have those devices so it may not work.
Also, notice that there is a unique ID change for switches so you may see duplicated switches for existed devices. Feel free to remove the unavailable one or you can remove and re-add.
from ha-dyson.
Great work with this library/integration! i have an HP04 and had to include DEVICE_TYPE_PURE_HOT_COOL in https://github.com/shenxn/libdyson/blob/9fd6521affb8b08cc7fea5fb787cae9b93665422/libdyson/const.py#L13. Then it worked perfectly! 👍
from ha-dyson.
A new release of up-to-date upstream library (libdyson) is needed. I'll do that later today after solving the login problem and then I'll provide some instructions on how to set up this custom integration for testing.
from ha-dyson.
That would be awesome! Would love to test! I'm running 5 fans (we have allergies) with a lot of automations, so hopefully I can stress test it for you.
from ha-dyson.
@damiano75 @curt7000 Good news. I've released version 0.1.0 so that you can install in HACS to test. Note that there are actually two integrations dyson_local
and dyson_cloud
to communicate with local device and cloud service, respectively. Due to the limitation of HACS, you'll have to install https://github.com/shenxn/ha-dyson-cloud as well.
Currently only 360 Eye vacuum and Pure Cool Link fan are supported since those are the only devices I have. If you have any of other devices, I'll work on those supports first.
There are a lot of breaking changes compare to the official integration so you may need to fix your automation and scripts. I recommend backing up your current settings before doing anything.
To set up, go to Configuration -> Integrations and set up Dyson Cloud first. Then all devices under your account should be shown as discovered in the integrations page. Then you can configure them using host. You can also leave host blank to use discovery.
from ha-dyson.
If you don't want to use cloud service, you can also set up Dyson Local directly using serial and credential. Then you don't even need the Dyson Cloud integration. To retrieve credentials, check get_devices.py
in https://github.com/shenxn/libdyson.
from ha-dyson.
@shenxn that is awesome, thank you so much, I've had so much issues with the official integration and its need to log into Dyson account!
from ha-dyson.
@DarKOrange75 To install, you can use HACS by adding https://github.com/shenxn/ha-dyson and https://github.com/shenxn/ha-dyson as custom repositories and install both Dyson Local and Dyson Cloud. Also, you can do this manually by download or clone the repositories and copy the folders custom_integrations/dyson_local
and custom_integrations/dyson_cloud
to under YOUR_CONFIGURATION_FOLDER/custom_integrations/
.
from ha-dyson.
Done and it works like a charm, I wanted to get rid of this connection with Dyson cloud so I configured it to run locally, that is an awesome job @shenxn, thank you so much! Just a little glitch, temperature and humidity show as 'off'...
from ha-dyson.
@DarKOrange75 The devices only start reporting humidity and temperature a little while after turned on if you don't have continuous monitoring. Ping me if it does not update after a long time and you can see those values in Dyson mobile app.
from ha-dyson.
BTW, do you think it is better to report them as --
instead of off
to make it the same as the mobile app do?
from ha-dyson.
IMO I think that 'off' is more intuitive since they are reported only when the fan in 'on', no?
from ha-dyson.
@shenxn, I was trying to update my automations in Node Red but for some reasons fan.pure_cool_link_tower does not show up in the 'call service' block (neither in the service tab of the dev tools in HA)
from ha-dyson.
@shenxn, I was trying to update my automations in Node Red but for some reasons fan.pure_cool_link_tower does not show up in the 'call service' block (neither in the service tab of the dev tools in HA)
What service are you trying to call?
from ha-dyson.
This is some really impressive work! Thanks for this great start.
I can't get it working. It appears in my discovery, but when I try to add a host or leave it blank it errors.
Log says there's an issue with config_flow.py
AttributeError: 'NoneType' object has no attribute 'serial'
from ha-dyson.
This is some really impressive work! Thanks for this great start.
I can't get it working. It appears in my discovery, but when I try to add a host or leave it blank it errors.
Log says there's an issue with config_flow.py
AttributeError: 'NoneType' object has no attribute 'serial'
It seems your device is not supported yet. What is your device model? I'll try to work on that first.
from ha-dyson.
Mine are the Pure Cool Desk and Pure Cool Tower (the newest models). I just realised they're different than the Pure Cool Link series you mentioned above.
from ha-dyson.
I'm running the Pure Cool Tower TP02 and the Hot/Cold HP02 fans.
from ha-dyson.
@shenxn, I was trying to update my automations in Node Red but for some reasons fan.pure_cool_link_tower does not show up in the 'call service' block (neither in the service tab of the dev tools in HA)
What service are you trying to call?
@shenxn With the previous integration I had a service called fan.dyson (see screenshot below) that I could call to turn on/off the fan. With this one there is no service available or it is in a different domain than "fan"?
from ha-dyson.
OK, that was an issue with Node Red.
Now how do you set speed (from 1 to 10)? Doesn't seem to work like the official integration.
from ha-dyson.
Use dyson.set_speed
. Currently there are some changes going on in the official fan speed service to make it work better with, e.g. Alexa and HomeKit. See home-assistant/core#45331 and home-assistant/core#45407. dyson.set_speed
is only a temporary solution and I'll switch to percentage when that is release in core.
from ha-dyson.
Use
dyson.set_speed
. Currently there are some changes going on in the official fan speed service to make it work better with, e.g. Alexa and HomeKit. See home-assistant/core#45331 and home-assistant/core#45407.dyson.set_speed
is only a temporary solution and I'll switch to percentage when that is release in core.
Great, thank you for your fast answer.
from ha-dyson.
I think domain should be set to dyson_local
and service should be set_speed
.
from ha-dyson.
@shenxn I figured it out after I posted, sorry for my dumb question!
I am all set, everything is now working like previously with the official integration except that now it doesn't rely on Dyson's Cloud availability and changes! Thank you so much!
from ha-dyson.
Hi @shenxn
Great work here. Really looking forward to have a local only integration.
For now I also get
AttributeError: 'NoneType' object has no attribute 'serial'
error as mentioned above.
I have the Dyson Pure Cool Tower TP04.
from ha-dyson.
@shenxn I installed via the Cloud option and its working great for my TP02 Tower. Awesome work! Will patiently wait for support for the HP02.
from ha-dyson.
@googanhiem @msvinth I've released version 0.2.0 which supports Dyson Pure Cool, Dyson Pure Cool Desk, and Dyson Pure Cool Humidity. Remember to update both
dyson_local
anddyson_cloud
to avoid upstream library version conflict if you have both installed. Since I don't have those devices so it may not work.
That was quick @shenxn. Can now confirm that Dyson Pure Cool Tower TP04 works!
Thanks a lot.
from ha-dyson.
It’s working great for desk and tower! Thanks @shenxn
Really feels like the future of this integration.
from ha-dyson.
Hi, my Dyson is an HP02, the integration discovered it but when I put the local IP in Host field I have this message:
is it because it is not supported yet?
from ha-dyson.
Hi, my Dyson is an HP02, the integration discovered it but when I put the local IP in Host field I have this message:
is it because it is not supported yet?
Yes, it is not supported yet and caused that error.
from ha-dyson.
Hey,
Just used this with the get_devices.py script to set it up without the cloud integration, works like a charm !
Might be good to put that in the readme, since this integration is the only one working right now I expect a lot of people will be coming here in the next few weeks looking for a way to set this up.
Thanks for your work !
from ha-dyson.
Ok, it really works great, do you think you will add support to set auto mode and speed (1-10), like the dyson.set_speed and dyson.set_auto_mode services? Please, continue to develop this integration: with the official one every time I unplug the HP02 HA loses the connection and I need to restart HA.
Many many thanks
from ha-dyson.
@damiano75 Those are actually already supported. Use dyson_local.set_speed
and dyson_local.set_auto_mode
.
from ha-dyson.
@shenxn I finally migrated all my scripts to dyson local: great work! I hope your integration will be the official one.
Thank you again for your work
from ha-dyson.
@DarKOrange75 To install, you can use HACS by adding https://github.com/shenxn/ha-dyson and https://github.com/shenxn/ha-dyson as custom repositories and install both Dyson Local and Dyson Cloud. Also, you can do this manually by download or clone the repositories and copy the folders
custom_integrations/dyson_local
andcustom_integrations/dyson_cloud
to underYOUR_CONFIGURATION_FOLDER/custom_integrations/
.
Did this but nothings appears no config options or discovery for me. Apologize before hand, i'm basic on HA
from ha-dyson.
@DarKOrange75 To install, you can use HACS by adding https://github.com/shenxn/ha-dyson and https://github.com/shenxn/ha-dyson as custom repositories and install both Dyson Local and Dyson Cloud. Also, you can do this manually by download or clone the repositories and copy the folders
custom_integrations/dyson_local
andcustom_integrations/dyson_cloud
to underYOUR_CONFIGURATION_FOLDER/custom_integrations/
.Did this but nothings appears no config options or discovery for me. Apologize before hand, i'm basic on HA
I'm also not seeing anything in Configuration - Integrations after installing both Dyson Local and Dyson Cloud via HACS and rebooting. Am on Home Assistant 2021.3.0, rpi4-64 if that helps.
from ha-dyson.
Great work with this library/integration! i have an HP04 and had to include DEVICE_TYPE_PURE_HOT_COOL in https://github.com/shenxn/libdyson/blob/9fd6521affb8b08cc7fea5fb787cae9b93665422/libdyson/const.py#L13. Then it worked perfectly! 👍
I install shenxn/ha-dyson using HACS and then, when trying to set-up the Dyson_Local integration, in the dropdown list "Device Type", I can see "360 eyes ...", "Pure Cool Link", "Pure Humidity + Cool", etc. but no "Pure Hot + Cool".
Do you know how to make this last choice appear or how to enter it ?
from ha-dyson.
@DarKOrange75 To install, you can use HACS by adding https://github.com/shenxn/ha-dyson and https://github.com/shenxn/ha-dyson as custom repositories and install both Dyson Local and Dyson Cloud. Also, you can do this manually by download or clone the repositories and copy the folders
custom_integrations/dyson_local
andcustom_integrations/dyson_cloud
to underYOUR_CONFIGURATION_FOLDER/custom_integrations/
.Did this but nothings appears no config options or discovery for me. Apologize before hand, i'm basic on HA
I'm also not seeing anything in Configuration - Integrations after installing both Dyson Local and Dyson Cloud via HACS and rebooting. Am on Home Assistant 2021.3.0, rpi4-64 if that helps.
You need to click on <+ Add Integration>
from ha-dyson.
@DarKOrange75 To install, you can use HACS by adding https://github.com/shenxn/ha-dyson and https://github.com/shenxn/ha-dyson as custom repositories and install both Dyson Local and Dyson Cloud. Also, you can do this manually by download or clone the repositories and copy the folders
custom_integrations/dyson_local
andcustom_integrations/dyson_cloud
to underYOUR_CONFIGURATION_FOLDER/custom_integrations/
.Did this but nothings appears no config options or discovery for me. Apologize before hand, i'm basic on HA
I'm also not seeing anything in Configuration - Integrations after installing both Dyson Local and Dyson Cloud via HACS and rebooting. Am on Home Assistant 2021.3.0, rpi4-64 if that helps.
You need to click on <+ Add Integration>
I'm familiar with how HA integrations work so I did press the Add button but there was no Dyson Cloud or Dyson Local integrations available initially until I did the following...
Once both Dyson Cloud and Dyson Local Integrations are installed via HACS. Make sure the Dyson Link app on your phone is the latest version then log out of the Dyson Link app and log back in using the 2FA code that is emailed to you. As soon as you're logged into the Dyson Link app, restart HA. Once HA has restarted, Dyson Cloud and Dyson Local integrations should appear when you press the Add button in Configuration > Integrations. I then used the Dyson Cloud integration to get the initial connection using my Dyson Link app credentials, then used the Dyson Local integration to add my fan to HA.
The above worked for me the make Dyson Local and Dyson Cloud appear when adding Integrations so I could then set them up. Not sure if it was due to the Dyson Link app needing an update so 2FA was required to log in but it's all working now. Thanks very much to all the devs spending time on this!
from ha-dyson.
@DarKOrange75 To install, you can use HACS by adding https://github.com/shenxn/ha-dyson and https://github.com/shenxn/ha-dyson as custom repositories and install both Dyson Local and Dyson Cloud. Also, you can do this manually by download or clone the repositories and copy the folders
custom_integrations/dyson_local
andcustom_integrations/dyson_cloud
to underYOUR_CONFIGURATION_FOLDER/custom_integrations/
.Did this but nothings appears no config options or discovery for me. Apologize before hand, i'm basic on HA
I'm also not seeing anything in Configuration - Integrations after installing both Dyson Local and Dyson Cloud via HACS and rebooting. Am on Home Assistant 2021.3.0, rpi4-64 if that helps.
You need to click on <+ Add Integration>
I'm familiar with how HA integrations work so I did press the Add button but there was no Dyson Cloud or Dyson Local integrations available initially until I did the following...
Once both Dyson Cloud and Dyson Local Integrations are installed via HACS. Make sure the Dyson Link app on your phone is the latest version then log out of the Dyson Link app and log back in using the 2FA code that is emailed to you. As soon as you're logged into the Dyson Link app, restart HA. Once HA has restarted, Dyson Cloud and Dyson Local integrations should appear when you press the Add button in Configuration > Integrations. I then used the Dyson Cloud integration to get the initial connection using my Dyson Link app credentials, then used the Dyson Local integration to add my fan to HA.
The above worked for me the make Dyson Local and Dyson Cloud appear when adding Integrations so I could then set them up. Not sure if it was due to the Dyson Link app needing an update so 2FA was required to log in but it's all working now. Thanks very much to all the devs spending time on this!
The actions performed at the end worked for me
from ha-dyson.
@DarKOrange75 To install, you can use HACS by adding https://github.com/shenxn/ha-dyson and https://github.com/shenxn/ha-dyson as custom repositories and install both Dyson Local and Dyson Cloud. Also, you can do this manually by download or clone the repositories and copy the folders
custom_integrations/dyson_local
andcustom_integrations/dyson_cloud
to underYOUR_CONFIGURATION_FOLDER/custom_integrations/
.Did this but nothings appears no config options or discovery for me. Apologize before hand, i'm basic on HA
I'm also not seeing anything in Configuration - Integrations after installing both Dyson Local and Dyson Cloud via HACS and rebooting. Am on Home Assistant 2021.3.0, rpi4-64 if that helps.
You need to click on <+ Add Integration>
I'm familiar with how HA integrations work so I did press the Add button but there was no Dyson Cloud or Dyson Local integrations available initially until I did the following...
Once both Dyson Cloud and Dyson Local Integrations are installed via HACS. Make sure the Dyson Link app on your phone is the latest version then log out of the Dyson Link app and log back in using the 2FA code that is emailed to you. As soon as you're logged into the Dyson Link app, restart HA. Once HA has restarted, Dyson Cloud and Dyson Local integrations should appear when you press the Add button in Configuration > Integrations. I then used the Dyson Cloud integration to get the initial connection using my Dyson Link app credentials, then used the Dyson Local integration to add my fan to HA.
The above worked for me the make Dyson Local and Dyson Cloud appear when adding Integrations so I could then set them up. Not sure if it was due to the Dyson Link app needing an update so 2FA was required to log in but it's all working now. Thanks very much to all the devs spending time on this!The actions performed at the end worked for me
This does not work if the Dyson Link app does not access internet from the same IP address as HA.
from ha-dyson.
This does not work if the Dyson Link app does not access internet from the same IP address as HA.
This was exactly my problem with the workaround.
My HA is on the same server as Plex, which I have going out a different Internet provider so that my kids don't kill my bandwidth when they stream. Thanks for the reminder!
Native isn't working, but Dyson Cloud works, and I was able to get credentials so I can use Dyson Local.
from ha-dyson.
2FA is now supported. Now you should be able to login through Dyson Cloud.
from ha-dyson.
2FA is now supported. Now you should be able to login through Dyson Cloud.
It does work perfectly. Thanks a lot, @shenxn
Only thing is that, for me, after setting up Dyson_Cloud, Dyson_Local still ask for Serial, Credential and Device Types.
(it's not an issue for me, I've been able to set up Dyson_Local, just want to let you know).
from ha-dyson.
2FA is now supported. Now you should be able to login through Dyson Cloud.
It does work perfectly. Thanks a lot, @shenxn
Only thing is that, for me, after setting up Dyson_Cloud, Dyson_Local still ask for Serial, Credential and Device Types.
(it's not an issue for me, I've been able to set up Dyson_Local, just want to let you know).
After setting up Dyson Cloud, you should be able to see discovered entries and you can set up Dyson Local directly through those entries. If you choose to set up manually (from the + menu) then yes you still need to type in all the information.
from ha-dyson.
After setting up Dyson Cloud, you should be able to see discovered entries and you can set up Dyson Local directly through those entries. If you choose to set up manually (from the + menu) then yes you still need to type in all the information.
Then, sorry for newbies question, but where should I see those discovered entries ?
Indeed I setup Dyson Cloud but can not find anything so I had to setup Dyson Local from the + menu.
Below is what I have, in the Dyson Cloud box, it shows only my email ID
from ha-dyson.
@lolongan You should see something like this. Note that if your device is already set up, the discovered entity will not be shown. If you have some time, you can try remove your Dyson Local entry, reload Dyson Cloud or restart your HA, then see if there is any discovered entity. If not, see if there is anything related in your log.
from ha-dyson.
@lolongan You should see something like this. Note that if your device is already set up, the discovered entity will not be shown. If you have some time, you can try remove your Dyson Local entry, reload Dyson Cloud or restart your HA, then see if there is any discovered entity. If not, see if there is anything related in your log.
@shenxn Thanks for pointing this out. I have never seen these entries, since the very first time I tried to install Dyson_Cloud a few weeks ago (and succeeded).
One more question: if I had 2 or more Dyson devices, is it possible (and how) to install them only with Dyson_Local ? Or should I go through Dyson_Cloud for it to discover the additional devices ?
from ha-dyson.
@lolongan If there is no discovered entries, there is something gone wrong. It has nothing to do with the built in discovery
integration.
To set up multiple devices, the easiest way is through Dyson Cloud and discovered entries. You can also set up Dyson Local manually. See https://github.com/shenxn/ha-dyson#setup for more information.
from ha-dyson.
@lolongan If there is no discovered entries, there is something gone wrong. It has nothing to do with the built in
discovery
integration.To set up multiple devices, the easiest way is through Dyson Cloud and discovered entries. You can also set up Dyson Local manually. See https://github.com/shenxn/ha-dyson#setup for more information.
Yes, indeed there is an error in Dyson_Cloud:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 248, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/config/custom_components/dyson_cloud/__init__.py", line 43, in async_setup_entry
devices = await hass.async_add_executor_job(account.devices)
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 173, in devices
devices.append(DysonDeviceInfo.from_raw(raw))
File "/usr/local/lib/python3.8/site-packages/libdyson/cloud/device_info.py", line 31, in from_raw
decrypt_password(raw["LocalCredentials"]),
File "/usr/local/lib/python3.8/site-packages/libdyson/cloud/utils.py", line 29, in decrypt_password
encrypted = base64.b64decode(encrypted_password)
File "/usr/local/lib/python3.8/base64.py", line 80, in b64decode
s = _bytes_from_decode_data(s)
File "/usr/local/lib/python3.8/base64.py", line 45, in _bytes_from_decode_data
raise TypeError("argument should be a bytes-like object or ASCII "
TypeError: argument should be a bytes-like object or ASCII string, not 'NoneType'
from ha-dyson.
I have tried the steps outlined above - update app, login to app with 2FA code, install 2 HACS integrations and reboot.
But unfortunately, when i go to configuration/integrations there is no dyson cloud or dyson local to add when i hit +.
not sure if im missing something.
I would post some logs but am not sure where to look.
This integration does look really promising though.
Thanks.
from ha-dyson.
I have tried the steps outlined above - update app, login to app with 2FA code, install 2 HACS integrations and reboot.
But unfortunately, when i go to configuration/integrations there is no dyson cloud or dyson local to add when i hit +.
not sure if im missing something.
I would post some logs but am not sure where to look.
This integration does look really promising though.
Thanks.
Do you see these integrations shown in the HACS/Integrations screen ?
If yes, then you should find these integrations when hitting + in the Configuration/Integrations screen, as shown below.
If not, then look at Configuration/Logs to see if there is any issue/error.
from ha-dyson.
Hi, thanks for the reply - to clarify -
This is all that appears in the log .
You are using 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
You are using 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.
but despite that nothing in integrations (i have updated the Dyson app, logged out and in and restarted Home assistant 2021.3.2):-
from ha-dyson.
@gfawkes66 Have you tried clearing your browser cache or using incognito/private?
from ha-dyson.
@gfawkes66 Have you tried clearing your browser cache or using incognito/private?
Thanks very much. icognito / private overcame the issue. Hopefully this will help someone else.
I have successfully setup Dyson Local.
from ha-dyson.
@lolongan This seems to be a problem in the upstream library libdyson
. I've created a new issue (shenxn/libdyson#2) there to track this problem.
from ha-dyson.
This issue is growing very long and hard to track. I'm closing this since the original problem has been solved. If anyone has any other problem, feel free to create a new issue.
from ha-dyson.
Related Issues (20)
- HP09 Not connecting HOT 1
- Dyson Purifier Humidify Cool Formaldehyde (358K) not supported HOT 10
- Dyson Cloud never worked, using Dyson Local only now HOT 7
- Type 438K Fails to Connect HOT 3
- Stopped working? HOT 20
- Core 2022.2.0: Sensor has device class temperature, state class measurement and unit °C with non-numeric value: off
- Support Request - Add Device - Dyson HP07 Purifier Hot and Cool - Device Type 527k HOT 12
- No Formaldehyde Value HOT 2
- New device type Dyson purifier cool formaldehyde HOT 4
- New actively maintained integration! Collaborators welcome! Details inside. HOT 8
- Wifi-less "Dyson Pure Humidity+Cool" is not supported
- state class measurement and unit °C thus indicating it has a numeric value; however, it has the non-numeric value: off HOT 4
- Failed to find the device using discovery
- Not working on Home Assistant v2023.6 HOT 1
- ha-dyson failing with "cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson'" HOT 3
- Oscillation/angle setting
- Deactivate preset mode, or preset mode none
- Planned deprecation of direction, oscillate, preset_mode and set_speed HOT 1
- Local integration stopped working in HA 2024.1 HOT 4
- Depreciation warning in logs HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ha-dyson.