Custom Component: Neo Smart Blinds Cover - modified and updated

Thanks so much. I just hadn’t fully rebooted the machine so it was still reading the old manifest. After changing the manifest, I was only using the Check Configuration button to verify it was correct. Full reboot after changing to 2.28.1 worked. :slight_smile:

Just while I’m on the Neo Blinds… Does anyone know how to make the up and down buttons always available like they are when you first startup and the position isn’t known? I want this because we also use phone app and remotes for the blinds so the status won’t be correct. Any info is much appreciated.

My blinds don’t require anything additional as I suspect they don’t send position but sounds like yours does.

I think you should be able to add the below though to your cover in your config, reboot, and try that.

optimistic: false
position_template: “false”
2 Likes

@mtgeekman Great work! I’m looking into integrating two of my awnings into my HA instance.

I’m in Australia and my awning supplier has come back to me with the following Neo hub:

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

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

After chatting with one of their devs, it should work fine. They use the same API.

Many thanks @mtgeekman. I’ll order the updated Neo hub and report back in a couple of weeks.

very nice!
can you please share the yaml code?
thanks

I have about 10 blinds installed with HA_NeoSmartBlinds V2.2.1 on HA 2022.8.5. We also use the local remote to control the blinds sometimes. I have set percent_support to 0 in the config. In the lovelace frontend, I use an Entities card, listing all the blinds. When I press the up button, it gets greyed out, which means I can’t press it again until I press stop or down first.

image

Does anyone know a workaround ? I.e is there a way to allow both up and down buttons to remain “available”, regardless of prior action ? Is there another card I should be using ? Thanks.

Sure see here. PM me if you have any questions.

Expand for YAML
entities:
  - entity: cover.office_small_blind
    name: Small Blind
  - entities:
      - icon: mdi:battery-outline
        styles:
          '--paper-item-icon-color': white
        tap_action:
          action: call-service
          service: script.office_big_blind_open_proper
      - icon: mdi:battery-30
        styles:
          '--paper-item-icon-color': white
        tap_action:
          action: call-service
          service: script.office_big_blind_some_privacy
      - icon: mdi:battery-50
        styles:
          '--paper-item-icon-color': white
        tap_action:
          action: call-service
          service: script.office_big_blind_standing_privacy
      - icon: mdi:battery
        styles:
          '--paper-item-icon-color': white
        tap_action:
          action: call-service
          service: script.office_big_blind_close_proper
    entity: cover.office_big_blind_time
    name: Big Blind
    show_state: false
    type: custom:multiple-entity-row
  - entities:
      - icon: mdi:arrow-up
        styles:
          '--paper-item-icon-color': white
        tap_action:
          action: call-service
          service: cover.open_cover
          service_data:
            entity_id: cover.office_big_blind_time
      - icon: mdi:arrow-down
        styles:
          '--paper-item-icon-color': white
        tap_action:
          action: call-service
          service: cover.close_cover
          service_data:
            entity_id: cover.office_big_blind_time
      - icon: mdi:stop
        styles:
          '--paper-item-icon-color': white
        tap_action:
          action: call-service
          service: cover.stop_cover
          service_data:
            entity_id: cover.office_big_blind_time
      - icon: mdi:arrow-up
        styles:
          '--paper-item-icon-color': white
        tap_action:
          action: call-service
          service: cover.open_cover_tilt
          service_data:
            entity_id: cover.office_big_blind
      - icon: mdi:arrow-down
        styles:
          '--paper-item-icon-color': white
        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

Hi @pr1nce, do you mind sharing your supplier for the alpha-neo? Even if via PM. $380AUD sounds better pricing. I’ve been priced around $450AUD, for the unit and cannot find anywhere cheaper.
Thanks
A

Thanks for your reply. I will try it as soon as I can. Peter

Hi, my integration was working fine until last week.

I checked that the Neo hub IP had not changed. Nor the ID of the hub has changed.

I’ve restarted my HA instance as well as power cycled the hub.

My HA says opening/closed when I toggle the button but my awning does not move.

When I use the NeoSmartBlinds app the awning works.

Any suggestions?

Thanks

Prince

HI All mine has stopped working again but cant seem to find anything in the logs to say why, im thinking its due to upgrading to latest version of HA as before, i have also added more blinds in and whilst everything is showing on the lovelace card nothing functions any suggestions on where to look as to why ?

Update after a reboot i now see this is in the log file
This error originated from a custom integration.

Logger: custom_components.neosmartblinds.neo_smart_blind
Source: custom_components/neosmartblinds/neo_smart_blind.py:315
Integration: neosmartblinds (documentation, issues)
First occurred: 14:39:10 (7 occurrences)

Last logged: 14:39:12
Parameters: {'id': '21003f000b47393032323330', 'command': '016.091-01-up!k2', 'hash': '0339737'}
URL: http://192.168.1.224:8838/neo/v1/transmit
Server disconnected
016.091-01, disconnected from hub: ServerDisconnectedError('Server disconnected')
Parameters: {'id': '21003f000b47393032323330', 'command': '016.091-01-up!k2', 'hash': '0108208'}

My integration has stopped numerous times. I have unplugged and plugged the cable into the Neo hub and it works again.

Same thing happens to me. Every now and again, the commands will stop working and my logs will be littered with the error

disconnected from hub: ConnectionResetError(104, 'Connection reset by peer')

which suggest the hub is actively rejecting the connection.

I found the API documentation online and believe the issue may by sending too many commands to the unit at once. Take note of the last point about adding a delay. I think when too many commands are sent, it will blacklist the client so future commands fail until you reboot the hub.

I’ve had a look at the python script for this component and it looks like it is correctly delaying commands by 500ms in the async_backoff() method however I have decided to increase the DEFAULT_COMMAND_BACKOFF value to 0.7 in the const.py file to see if it alleviates the issues…

@keyman did this resolve the issue for you ? I’m getting a similar issue

(ConnectionRefusedError(111, "Connect call failed)

a reboot of the hub looks to be the only way to fix it.

Yes so far so good, I haven’t had any hub hangs/rejections since adding an extra 200ms delay.

It’s hard to say if it fixed the issue 100% though because it happens very intermittently and I had a couple of blackouts recently that would have restarted the hub.

Hi
I have this issue also. I can not locate where the field named DEFAULT_COMMAND_BACKOFF is held. I have been through the files held under custom_components\neosmartblinds folder and could not locate. I am obviously missing something here. Any assistance would be appreciated.
Thanks

Is it still resolved? I’ve applied the same just now and waiting to see if it’s fixed now.

No. I can still not see where to make the change. I have been through all the files under custom_component, neosmart folder and can not find any refernce to DEFAULT_COMMAND_BACKOFF