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 addresses, you may need to configure this via your router's DHCP options.
- Download the latest release from: https://github.com/mtgeekman/Home_Assistant_NeoSmartBlinds/releases
- Extract the file
- Copy the whole neosmartblinds folder from custom_components/ to your own config/custom_components/ directory
- Go to Config -> Server Controls -> Under "Server Management" click restart
- Go to configuration example for how to setup your config.
Alternatively, you can install through HACS by adding this repository.
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
rail: 1
percent_support: 1
motor_code: bf
start_position: 50
parent_group: 021.230-15
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 controll 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, 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 stop watch to measure)
rail (string)
Rail Number used to determine top or bottom rail on top down/bottom up blinds.
1 = Top Rail
2 = Bottom Rail
percent_support (int)
Determines how requests to position by percentage are handled. As the blinds do not report back their position, this integration can only estimate the position based on the close_time option
0 = No support (Default)
1 = Percentage positioning supported directly by blind, integration only reports position based on estimate
2 = Percentage positioning emulated completely by this integration.
Notes:
- If the blind is controlled outside of HA (e.g. in native app, using remote), this integration has no mechanism to discover the position from the hub so HA will get out of sync with the blind.
- For the same reason, the integration will initialise on startup according to start_position. This is a guess. Issuing an open or close command to the blind (through this integration) will allow the positions to sync. Depending on setup, an automation that listens for HA to start could be used to either open or close the blinds to get them into sync.
- If exposing the blind via HomeKit, either option 1 or 2 should be selected to keep the actual position and Home in sync.
motor_code (string)
Defines the motor code listed in the neo smart blinds app on your phone. Listed below the 'Blind Code' on the control page for the blind
This is required for some smart hubs to work (model C-BR300)
start_position (int)
Optional starting position for the blind when HA starts up. If not specified, the integration will restore the position saved from the last time HA was shutdown. This value is ignored if percent_support is zero.
parent_group (String)
See blind_code for instructions on how to find the room code. This parameter is optional.
If the same group is specified for multiple blinds, the integration will pause briefly (250ms) before issuing a command to see whether to
send to the individual blind or to the parent group. As the hub is limited in the number of requests it can handle, this can help in cases
where multiple blinds are controlled in home assistant or via Homekit / Alexa etc.
Entity Options in UI:
Entity Control allows for fine adjustment and extra controls:
Lovelace ui panel provides basic control
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
==50 will set your blind to its stored first favourite position
==51 will set your blind to its stored second favourite position
Setting position Use the position slider to select how, blind will move to that position
Setting favorite postion 1 Use the tilt slider to select a value less than 50
Setting favorite postion 2 Use the tilt slider to select a value greater than 50
Setting position Use the position slider to select how, integration will move blind to position and then send stop command
Setting favorite postion 1 Use the tilt slider to select a value less than 50
Setting favorite postion 2 Use the tilt slider to select a value greater than 50