Custom Component: NeoSmartBlinds Cover

If I get around to it in the coming days, I’ll try to put a fork into github with the modified file, but in the meantime it’s easy to do yourself; my tweak on mtgeekman’s can be done with a very minor change to his const.py file. By doing so you’ll loose the ability to have tilt/micro controls in HA but gain control of rail 2 in a top down bottom up. Basically you just need to change the mu and md commands to be u2 and d2.

CMD_MICRO_UP = "u2" #rail 2 up control
CMD_MICRO_DOWN = "d2" #rail 2 down control
#CMD_MICRO_UP = "mu" #original micro up/tilt controls (commented out)
#CMD_MICRO_DOWN = "md" #original micro down/tilt controls (commented out)

If you want to get position control of the top rail I used scripts and the rf time integration to “make” a new cover that could be used to allow for estimated positioning based on time.

Then in lovelace I’ve just rebuilt the buttons with the integration multi-entity-row. I’ve pasted my sample entry below.

  - entities:
      - icon: 'mdi:arrow-up'
        tap_action:
          action: call-service
          service: cover.open_cover
          service_data:
            entity_id: cover.office_big_blind_time
      - icon: 'mdi:arrow-down'
        tap_action:
          action: call-service
          service: cover.close_cover
          service_data:
            entity_id: cover.office_big_blind_time
      - icon: 'mdi:stop'
        tap_action:
          action: call-service
          service: cover.stop_cover
          service_data:
            entity_id: cover.office_big_blind_time
      - icon: 'mdi:arrow-up'
        tap_action:
          action: call-service
          service: cover.open_cover_tilt
          service_data:
            entity_id: cover.office_big_blind
      - icon: 'mdi:arrow-down'
        tap_action:
          action: call-service
          service: cover.close_cover_tilt
          service_data:
            entity_id: cover.office_big_blind
    entity: cover.office_big_blind_time
    name: Big Blind Rail Control
    show_state: false
    type: 'custom:multiple-entity-row'

Awesome! I am VERY new (I got HA installed and started playing with it yesterday) so I’m a nearly complete noob. If you fork this to github (please do!), how would I go about installing it?

Anyone else having trouble with neosmartblinds today? My installation was working without a problem but today in the logs I see:

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
2022-03-03 12:54:25 ERROR (SyncWorker_0) [homeassistant.util.package] Unable to install package requests==2.24.0: ERROR: Cannot install requests==2.24.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
2022-03-03 12:54:25 ERROR (MainThread) [homeassistant.config] Platform error: cover - Requirements for neosmartblinds not found: ['requests==2.24.0'].

I’m running the HA docker image on Unraid which did an update yesterday evening - maybe that’s the culprit?

Version	core-2022.3.0
Installation Type	Home Assistant Container
Development	false
Supervisor	false
Docker	true
User	root
Virtual Environment	false
Python Version	3.9.9
Operating System Family	Linux
Operating System Version	5.10.28-Unraid
CPU Architecture	x86_64
Timezone	Europe/London

I’m a HA newbie so I have no idea where to go with this now. I redownloaded neosmartblinds and re-copied it to the custom_components but that made no difference

I’d appreciate any pointers

I had the same issue when I upgraded yesterday to core-2022.3.0. I rolled back the installation to core-2022.2.9 which works fine with the blinds. Will wait until someone far smarter than me comes up with a solution to fix this probllem before I upgrade to latest HA version.

@mtgeekman wondering if you can take a look at this? Suspect it’s tied to the pip version changes listed in the breaking changes for the 2020.3.1 release

yes, you are correct. I have pushed a new version as of this morning. please download it and it should be working after you update the files.

the change was in the manifest.json to bump the “requests” version to 2.27.1 (the current latest)

1 Like

Some weirdness for me this morning - this in the logs.

2022-04-13 06:44:51 ERROR (SyncWorker_1) [homeassistant.loader] The custom integration ‘neosmartblinds’ does not have a valid version key (2.1h) in the manifest file and was blocked from loading. See Custom integration changes | Home Assistant Developer Docs for more details

I re-downloaded / installed Neosmartblinds from here: GitHub - mtgeekman/Home_Assistant_NeoSmartBlinds: Adds NeoSmart Blinds support to Home-Assistant. but no joy. Any ideas please?

My setup

version core-2022.4.3
installation_type Home Assistant Container
dev false
hassio false
docker true
user root
virtualenv false
python_version 3.9.9
os_name Linux
os_version 5.10.28-Unraid
arch x86_64
timezone Europe/London

error message says version of 2.1h isn’t a valid version. Integration Manifest | Home Assistant Developer Docs has more information, and looking at the references for versioning, I don’t think 2.1h would pass. 2.1.8 should work though -or just 2.1 My manifest file from a fork I made still has 1.2.3 which has been working fine since the older breaking change that required a version in the first place.

Thanks - changing it to 1.2.3 did the trick :+1:
I don’t quite understand why the github repo has a wonky manifest.json - or did I screw something up in some other way? Either way - thanks for helping me get my blinds working again
Martin

I’m a long time user of this integration. I have noticed that my blinds are greyed out.

When I check the configuration, I get the following error:
Platform error cover.neosmartblinds - Requirements for neosmartblinds not found: [‘requests==2.27.1’].

Does anyone know how to clear this?

Try changing the version in the manifest file to 2.28.1 held under Neosmart directory in custom components.

that did the trick for me, thanks @dormani. I had to comment out my neosmartblinds entries (just an !include covers.yaml line) to be able to restart after changing the version. It wouldnt let me restart otherwise due to a bad config. of course i could have powered it off but im not quite that adventurous. Then I uncommented it and restarted again (no config reload for that?) and everything works. Interesting that this is an issue because the Integration Manifest specifies that custom integrations shouldnt include requirements from the core requirements? No idea, way above my paygrade. https://github.com/home-assistant/core/blob/ea6bb370a64953dbf29db6c9b4fce902e619e2da/requirements.txt

Yep. That fixed it for me as well.

Hi all, I’m in Australia. @Delbz I noticed you use the Neo Smart C-R200 controller.

I approached my blind supplier and he came back with this:

It could be a newer model of the C-R200?

I’m just wanting to confirm this new hub works as it’s $380… I’d hate for the hub not to work with my HA instance.

I’m afraid all I can do is show the “support” page of the app. It looks much like what you posted, but I do have the C-R200 and it still works with HA and this component.

@leetxjd @mtgeekman contacted one of the devs and it has been confirmed that the newer hub uses the same API. I’ll order one and report back in a couple of weeks.

Send an email off to [email protected]. They are the Australian distributor. Dealt with them in the past and found them excellent.

Ok, finally received my hub, I’ve managed to configure my awning in HA.

Is there a way I can reverse the buttons in HA? Up is close and Down is open. And the state is always the reverse of what it actually is.

Is it correct within neo? I suggest that it would be more appropriate to revers this within Neo (which has the option) and that will translate through to HA

That’s great advice, it worked! Thank you so much. I’ve exposed the awning to HomeKit and it works flawlessly.

Summer is approaching in Australia, time to create some automations based on the wind reading and UV index that my Ecowitt weather station measures.