From 7ea145f3504e2933458e1c03d5859d5c4106739e Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Tue, 24 Nov 2020 09:18:22 +0100 Subject: [PATCH] Add Motion Blinds Integration (#15616) Co-authored-by: Franck Nijhof --- source/_integrations/motion_blinds.markdown | 32 ++++++++++++++++++ .../motion_blinds/Motion_App__get_key_1.jpg | Bin 0 -> 13103 bytes .../motion_blinds/Motion_App__get_key_2.jpg | Bin 0 -> 10616 bytes 3 files changed, 32 insertions(+) create mode 100644 source/_integrations/motion_blinds.markdown create mode 100644 source/images/integrations/motion_blinds/Motion_App__get_key_1.jpg create mode 100644 source/images/integrations/motion_blinds/Motion_App__get_key_2.jpg diff --git a/source/_integrations/motion_blinds.markdown b/source/_integrations/motion_blinds.markdown new file mode 100644 index 00000000000..c9268cc80a0 --- /dev/null +++ b/source/_integrations/motion_blinds.markdown @@ -0,0 +1,32 @@ +--- +title: Motion Blinds +description: Instructions on how to integrate Motion Blinds from Coulisse B.V. into Home Assistant. +ha_category: + - Cover +ha_iot_class: Local Polling +ha_release: 0.119.0 +ha_domain: motion_blinds +ha_codeowners: + - '@starkillerOG' +ha_config_flow: true +--- + +The integration allows you to control [Motion Blinds](https://motion-blinds.com) from [Coulisse B.V.](https://coulisse.com/products/motion). + +To add a Motion Bridge to your installation, click Configuration in the sidebar, then click Integrations. Click the + icon in the lower right. Then search for "Motion Blinds" and enter the setup. + +You will be asked for the IP address of the Motion Bridge, e.g., 192.168.1.100. Note that a static IP address is required in order for this integration to keep working properly. + +## Retrieving the API Key + + +The Motion Blinds API uses a 16 character key that can be retrieved from the official "Motion Blinds" app for [IOS](https://apps.apple.com/us/app/motion-blinds/id1437234324) or [Android](https://play.google.com/store/apps/details?id=com.coulisse.motion). + +Open the app, click the 3 dots in the top right corner, go to "settings", go to "Motion APP About", Please quickly tap this "Motion APP About" page 5 times, a popup will appear that gives you the key. + +Please note that "-" characters need to be included in the key when providing it to Home Assistant. The key needs to be similar to `12ab345c-d67e-8f` + +

+ + +

diff --git a/source/images/integrations/motion_blinds/Motion_App__get_key_1.jpg b/source/images/integrations/motion_blinds/Motion_App__get_key_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3ede21efd7d5ca89d3c9c28247a3bc5e7d16a7e GIT binary patch literal 13103 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 Mo0l9p=-2fB0`z^&!vFvP literal 0 HcmV?d00001 diff --git a/source/images/integrations/motion_blinds/Motion_App__get_key_2.jpg b/source/images/integrations/motion_blinds/Motion_App__get_key_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35528c52bdc1fcfa30482ee597c69b7ac9149c2b GIT binary patch literal 10616 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 YEdTuRh{OP9e8hTF+P~|8mN4-D0H2WGssI20 literal 0 HcmV?d00001