Neo Smart Controller for blinds

It should be. Mine are on order so I have no idea what works/what doesnā€™t. Please send me your feedback.

1 Like

Yep appears to be working fine... will do some further tests but so far, so good!

I couldnā€™t get the blind to work up/down via the dashboard... will investigate further.

[FIXED]

@brianwilson see above. Also, I set up RM to trigger the blinds to open at a set value - didnā€™t work. This working for you/anyone else?

I donā€™t have blinds yet. Youā€™ll need to get the API docs and see if the raw commands work, if so, should be easy fixes assuming the commands are supported. Iā€™m unsure if we can figure out how to do percentages based on the api commands available. There is no way to get location or status. Only set commands.

I made a few edits based on a few days of using these. This driver requires you to time how long it takes your blinds to close in order to determine how much to open based (for the % based setLevel commands). That means if you are controlling a "room" that has mixed lengths blinds, you might want to create different virtual drivers for the differing blinds. This also assumes that the blinds travel at the same speed. Most should, but as batteries get low YMMV.

Another assumption is that you can only use the Hubitat driver to open/close your blinds. If you use the Neo App or remote control, then Hubitat won't know where your blinds are since you can't query the blinds and ask them "are you up or down". The fix is to call open/close/favorite (I'd say favorite because chances are this is in the middle), wait however long it takes to get to favorite, THEN call your specific level/position.

Inputs to setLevel or setPosition are in percentage based (i.e. 50 means go close to the middle - if blind takes 22 secs to completely close, then it'll take 50% of 22 and travel for 11 seconds). To use with Alexa it should work like: "turn on the living room blinds to 50%". Of course Alexa will come back and say that the device isn't responding because it doesn't immediately return an answer (EDIT: I think I fixed alexa complaining).

I'm curious if this works for others and how others will use this and if it works for others. I really wish Alexa had a "blinds" device so we could say "open" vs. "on".

Also, if anyone knows how we could start a timer when an open/close action starts so that we have a better idea of where someone has "stopped" the blind, let me know.

I made a few additional updates to perform more accurate level requests. If some folks can test this version I'll submit a pull request: hubitat/NeoSmart at master Ā· bdwilson/hubitat Ā· GitHub

1 Like

Great work, Brian. I'll test it out and come back with my observations.

Iā€™m working on a few more changes if you want to hold off a week or so. Goal is to keep track of where the blind is if you open then stop, or close then stop.

Yep, happy to hold off. Let me know when you're ready.

I've moved this to my own repo with, Bigrizz's permission, to help keep ImportURL's under control and so I can better version-control changes.

Please try this version if you're running an older version: https://raw.githubusercontent.com/bdwilson/hubitat/master/NeoSmart/NeoSmart.groovy

This adds the ability to know where the blind is if you're controlling by level (go to 50%) or if you're opening/closing (say with a button controller). Everything is still time-based, so if your 50% doesn't look like 50%, you'll need to adjust your time settings. I'm currently using a minimote with 4 buttons - two buttons on right side are open/close for one set of blinds, to left buttons are open/close for another set. I also have enabled the option to issue a "stop" command if you press the open or close button again (so one press to open blinds, another press of open to stop opening).

Let me know if this works for others.

Brian

Is this still the most stable integration for the Neo controller?

Works for me just fine!

1 Like

Thanks. I've installed this driver, and am just a bit lost on setting it up. (I've only had my HE for 2 days, so apologies for the noob question - I just can't see any instructions)
If anyone can help me please, I'm just not sure on how to get HE speaking to the Neo.

After the driver is installed, do I need to add one device for each blind motor/group, or is the controller (as a device), enough to talk to my physical controller?

I've entered my IP address, Blind code, Controller ID and IP address. I've timed an open-to-close operation and entered that, but open/close operations don't seem to do anything.

How do I use the 'set position' settings etc.?
TIA

Hi,

Yes you need to create a device per blind. So each device needs to have a type of ā€œNeo Smart Controllerā€.

Once device created, you need to set the blind or room code (as identified on the Neo app), ditto the controller ID. You also need to set the IP of the controller. Click save.

Once this is done, test with simple blind open/close buttons on the device itself. The blind should then open/close.

Check that works first.

I donā€™t use the set position ability but rather send a specific http command to the blind controller to tell it to open a blind at its ā€œfavouriteā€ position. Works well.

1 Like

Thanks for that. I did try these exact steps for one device and got nothing.
Does it matter whether the blind or room code is used?
Open/close did nothing.

We have a planned power outage today, but will re-install the driver and try again tonight.

Yes itā€™s important that you use the blind code - else the controller wonā€™t know what blind to open/close. The room code is used for group actions.
The fields in blue as per screenshot:

That should be enough to control a blind.

It might be worth checking you can control blind via the remote control ok.

If this doesnā€™t work, you may have an incompatible controller for the driver in question.

Sorry I phrased that wrong. I meant to ask if there is a difference between the room and blind codes, but you answered that in your response anyway.
I appreciate the extra help there, although I found the culprit in I had typed an "i" instead of a "1" in my controller ID - fixed and all is working well.

The percentage sliders on the dashboard tiles don't seem to respond reliably though, but this doesn't phase me, as 99% of the time I am just automating open/close with sunset/sunrise.

Thanks for your help. I'm stoked I can use these blinds with local control now :slight_smile:

1 Like

Glad you got it working.

Now, if your using the ā€œfavouriteā€ setting of the blind, e.g. if you press the heart icon within their app, they will open to a set position, then you can use the room code to control a number of blinds in the same room.

I use RM to do this for me after sunrise - Iā€™ve got them separated into two commands per room but I guess having reviewed it just now, the one http command would of done the trick! The blue blob representing the room code. The green blob the controller ID.

1 Like

Does anybody know why my automations are misfiring at inconsistent times?
I have full control of the blinds through HE, and sometimes the automation works, sometimes not.
These are controlled as dimmers through tĢ¶hĢ¶eĢ¶ Ģ¶bĢ¶uĢ¶iĢ¶lĢ¶tĢ¶-Ģ¶iĢ¶nĢ¶ Ģ¶mĢ¶oĢ¶tĢ¶iĢ¶oĢ¶nĢ¶ Ģ¶lĢ¶iĢ¶gĢ¶hĢ¶tĢ¶iĢ¶nĢ¶gĢ¶ Ģ¶aĢ¶pĢ¶pĢ¶ scenes, mostly with great success.

The Neo controller sits about 1m unobstructed from my wifi router/AP.

The log says "possible solutions: setLevel" - Not sure what that would mean, as I set the dimmer levels in the app (0-100).