Thank you to 4n0nD3v3l0p3r for the original version they created. Located here: Custom Component: NeoSmartBlinds Cover
I have adjusted the code for easier maintainability. I also updated the documentation and improved the installation instructions.
Be sure to check the readme.md for the latest and best instructions.
Notable Changes
- The blind code should not have the dash “-” on the end anymore. This is now handled internally.
- Two protocol options, http, and tcp
– http port: 8838
– tcp port: 8839 - This release also takes care of the “This entity does not have a unique ID, therefore its settings cannot be managed from the UI.” message and allows for it to be managed from the UI.
Custom Component for NeoSmartBlinds Integration on Home Assistant
The NeoSmartBlinds platform allows you to control a NeoSmartBlind / group of NeoSmartBlinds via a NeoSmartBlinds controller.
There is currently support for the following device types within Home Assistant:
- Cover
Installation
To begin with, it is recommended you ensure your NeoSmartBlinds controller has a static IP address, you may need to configure this via your routers DHCP options.
- Download the latest release from the GitHub listed above
- Extract the file
- Copy the neosmartblinds folder to your config/custom_components/ directory
- Go to Config -> Server Controls -> Under “Server Management” click restart
- Go to configuration example for how to set up your config.
Cover Configuration
Example of basic configuration.yaml
cover:
- platform: neosmartblinds
name: Blind One
host: 192.168.0.13
hub_id: 000000000000000000000000
protocol: http
port: 8838
blind_code: 021.230-04
close_time: 30
Configuration variables
cover:
platform (String)(Required)
Must be set to neosmartblinds
host (String)(Required)
The IP of the NeoSmartBlinds controller, e.g., 192.168.0.10.
Getting the IP:
hub_id (String)(Required)
The 24 character device ID of the Smart Blinds Hub, found in the APP
protocol (String)(Required)
The protocol to use for sending commands. (http, tcp)
port (String)(Required)
Port use for the connection. for TCP use 8839, for HTTP use 8838
name (String)(Required)
The name you would like to give to the NeoSmartBlind.
blind_code (String)(Required)
The blind code. - This is available from the NeoSmartBlind app
Getting the codes:
- Room Code: will control all blinds in that room
- Blind Code: will control only that blind
“ID1.ID2-CHANNEL"
“ID1” : controller byte 1, from integer “000” to “255”
“.” : address separator
“ID2” : controller byte 2, from integer “000” to “255”
“-” : channel separator
“CHANNEL”: channel, the individual channel from integer “01” to “14”, use channel “15” for a group
close_time (String)(Required)
Time taken in seconds to close this blind (use a stopwatch to measure)
Entity Options in UI:
Entity Control allows for fine adjustment and extra controls:
Lovelace UI panel provides basic control
Supported features
Open
Up
Close
Down
Tilt-Up
Micro-Up
Tilt-Down
Micro-Down
Set-Position & Favourite Position - please note this is calculated using the close_time
Setting the position:
<= 49 will move the blind down, this means set position 25, moves the blind down and stops after 50% of your close_time
>=51 will move the blind up, this means set position 75, moves the blind up and stops after 50% of your close_time
==50 will set your blind to its stored favorite position