Custom Component: Neo Smart Blinds Cover - modified and updated

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 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


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.

  1. Download the latest release from the GitHub listed above
  2. Extract the file
  3. Copy the neosmartblinds folder to your config/custom_components/ directory
  4. Go to Config -> Server Controls -> Under “Server Management” click restart
  5. Go to configuration example for how to set up your config.

Cover Configuration

Example of basic configuration.yaml

  - platform: neosmartblinds
    name: Blind One
    hub_id: 000000000000000000000000
    protocol: http
    port: 8838
    blind_code: 021.230-04
    close_time: 30

Configuration variables


platform (String)(Required)

Must be set to neosmartblinds

host (String)(Required)

The IP of the NeoSmartBlinds controller, e.g.,

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” : 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 Options

Entity Control allows for fine adjustment and extra controls:

Lovelace UI panel provides basic control

Supported features





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


Just wondering if this warning is taken care of in this version, before I upgrade?

Log Details (WARNING)

Logger: homeassistant.components.cover
Source: components/cover/
Integration: Cover (documentation, issues)
First occurred: July 31, 2020, 9:51:43 AM (1 occurrences)
Last logged: July 31, 2020, 9:51:43 AM

CoverDevice is deprecated, modify NeoSmartBlindsCover to extend CoverEntity



Yes, I switched it over to using CoverEntity instead of CoverDevice to fix this error.

Thanks, I’ll give it a try.

FYI, I see this error now: Invalid config for [cover.neosmartblinds]: [hub_id] is an invalid option for [cover.neosmartblinds]. Check: cover.neosmartblinds->hub_id. (See ?, line ?).
Home Assistant has started!

I just pushed a new release that brings it up to date with the code in the repository. Should clean this up.

Thanks, looks to be working, I missed where the new update was, but then I’v found it.

Awesome! good to hear.

Let me know if you have any other issues with it.