diff --git a/CODEOWNERS b/CODEOWNERS index ba5f9a8e3755..5c2a3e61a2bc 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1078,6 +1078,7 @@ source/_integrations/yeelight.markdown @zewelor @shenxn @starkillerOG @alexyao20 source/_integrations/yeelightsunflower.markdown @lindsaymarkward source/_integrations/yi.markdown @bachya source/_integrations/yolink.markdown @matrixd2 +source/_integrations/yolink_local.markdown @matrixd2 source/_integrations/youless.markdown @gjong source/_integrations/youtube.markdown @joostlek source/_integrations/zabbix.markdown @kruton diff --git a/Gemfile.lock b/Gemfile.lock index 9c93fbc9cc2c..171fb8e7b260 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -27,9 +27,13 @@ GEM eventmachine (>= 0.12.9) http_parser.rb (~> 0) eventmachine (1.2.7) + ffi (1.17.2-aarch64-linux-gnu) ffi (1.17.2-arm64-darwin) ffi (1.17.2-x86_64-linux-gnu) forwardable-extended (2.6.0) + google-protobuf (4.33.2-aarch64-linux-gnu) + bigdecimal + rake (>= 13) google-protobuf (4.33.2-arm64-darwin) bigdecimal rake (>= 13) @@ -86,6 +90,8 @@ GEM multi_json (1.19.1) mustermann (3.0.4) ruby2_keywords (~> 0.0.1) + nokogiri (1.18.10-aarch64-linux-gnu) + racc (~> 1.4) nokogiri (1.18.10-arm64-darwin) racc (~> 1.4) nokogiri (1.18.10-x86_64-linux-gnu) @@ -97,7 +103,7 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) prism (1.7.0) - public_suffix (7.0.0) + public_suffix (6.0.2) racc (1.8.1) rack (3.2.4) rack-protection (4.2.1) @@ -141,10 +147,9 @@ GEM ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) - sass-embedded (1.97.1-arm64-darwin) - google-protobuf (~> 4.31) - sass-embedded (1.97.1-x86_64-linux-gnu) + sass-embedded (1.97.1) google-protobuf (~> 4.31) + rake (>= 13) sass-globbing (1.1.5) sass (>= 3.1) sassc (2.1.0) @@ -170,6 +175,7 @@ GEM webrick (1.9.2) PLATFORMS + aarch64-linux arm64-darwin-23 x86_64-linux diff --git a/source/_integrations/yolink_local.markdown b/source/_integrations/yolink_local.markdown new file mode 100644 index 000000000000..00fa0052674b --- /dev/null +++ b/source/_integrations/yolink_local.markdown @@ -0,0 +1,58 @@ +--- +title: YoLink Local +description: Instructions on how to integrate YoLink Devices into Home Assistant (Local). +ha_category: + - Binary sensor +ha_release: 2026.2 +ha_category: Hub +ha_iot_class: Local Push +ha_quality_scale: bronze +ha_config_flow: true +ha_codeowners: + - '@matrixd2' +ha_domain: yolink_local +ha_platforms: + - binary_sensor +ha_integration_type: hub +--- + +The **YoLink** {% term integration %} integrates [YoLink](https://www.yosmart.com/) devices into Home Assistant locally. + +## Prerequisites + +- YoSmart Local Hub (YS1606) +- The YoLink app installed +- YoLink account +- Client ID and client secret of the YoLink local API + +### Setting up the hub and finding the client credentials + +1. Install the YoLink app: + - [Android](https://play.google.com/store/apps/details?id=com.yosmart.yolink) + - [IOS](https://apps.apple.com/us/app/yolink/id1457639983) +2. Add the Local Hub via the YoLink app. +3. On the Local Hub's main page, select the **Local Network** button. +4. To create the local network, select the **Create Subnet** button. +5. The **Net Id** from the **General** tab of the Local Network page is required when adding the integration. +6. On the Local Network page, navigate to the **Integrations** tab and enable the Local API, making sure that both the HTTP and MQTT protocols are enabled. +7. The **Client Id** and **Client Secret** from the **Local API** are required when adding the integration. + +{% include integrations/config_flow.md %} + +## Supported device list + +The integration is tested and verified for the following devices from YoLink: + +- YS7804-UC (Motion Sensor) +- YS7805-UC (Outdoor Motion Sensor) +- YS7903-UC (Water Leak Sensor) +- YS7904-UC (Water Leak Sensor 2) +- YS7906-UC (Water Leak Sensor 4) +- YS7916-UC (Water Leak Sensor 4 MoveAlert) +- YS7914-UC (Leak Sensor) + +## Removing the integration + +This integration follows standard integration removal. + +{% include integrations/remove_device_service.md %}