RE: Configuration Home Assistant and iblinds – No more hacks – Home Assistant – Community Forum

RE: Configuration H...
 
Notifications
Clear all

[Sticky] RE: Configuration Home Assistant and iblinds - No more hacks  

  RSS
c
(@chance)
Member Admin

iblinds V2 and V3 are officially apart of the Open ZWave repository. 

Make sure to update your OpenZWave repo and you should see iblinds show up as a separate entity.

 

Included in the update is the solution to the "Get After Set" issue. With a built in function from Home Assistant called NoRefreshAfterSet, found by one of our very own beta testers @mike240se

 

We are currently looking into making a prettier card for the Lovelace UI in Home Assistant, suggestions welcome.

Quote
Posted : 13/10/2020 11:30 pm
Topic Tags
m
(@mike240se)
New Member

Thanks Chance.

In order to get version 1 (and I believe version 2) working as you would expect in Home Assistant there are a few work arounds required.   V3 just works, this is only for users with Version 1 or 2.

 

First of all, this is for the new OpenZwave beta integration in Home Assistant.  Openzwave is the future for Home Assistant and the devs have done a great job to get it nearly fully implemented so I recommend switching if you are still using the old integration which still works but is no longer being developed.

 

After you get your iblinds v1/v2 included into openzwave you are going to need to stop the openzwave daemon (stop the add-on or container if you are running docker).   then you will need to edit your openzwave ozwcache_xxxxxx.xml file.   You will find this file in the root/top level directory of your openzwave config.

You will need to edit this file and find the device ID for your iblinds, it should look like this:

<Node id="33" name="" location="" basic="4" generic="17" specific="0" roletype="7" devicetype="6400" nodetype="0" type="Multilevel Switch" listening="false" frequentListening="true" beaming="true" routing="true" max_baud_rate="100000" version="4" configrevision="1" query_stage="Complete">
<Neighbors>25,106,120,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</Neighbors>
<Manufacturer id="287" name="HAB Home Intelligence LLC">
<Product type="3" id="d" name="iblinds V2">

 

Note that specific="0" which is a dimmer.  However you want Home Assistant to detect the iblinds as a Cover.   So you need to edit specific="0" and change it to specific="7".  This will tell home assistant the iblinds are motorized blinds instead of a dimmer and give you the controls for blinds and a much better end user experience.

 

After making this change for all your iblinds v1/v2 you can restart your openzwave daemon (restart the add-on or docker container for ozw).  Now HA will show the iblinds as a cover and work as expected.....

 

EXCEPT... one more thing to get perfect operation.....

 

The device type XML for v1/v2 has get after set disabled to work around an isssue seen in v1/v2 where if the blinds are polled with a get (to get their position) right after  a set, it causes issues.   This means that your blinds position wont be acurately tracked in HA.   There are work arounds like using template wrappers but this relies on HA trying to track the position on its own and is not ideal imo.

Instead I am using an automation and script to handle getting the acurate position from the iblinds v1/v2 10 seconds after the set.

THis is a little complicated but once you get it working it works perfect and i highly recommend this.

First you need an automation that tracks when the blinds are commanded to move.  I do this by monitoring MQTT, specifically I am monitoring:

OpenZWave/1/command/setvalue/

you should use something like MQTT explorer and watch that topic and then command the blinds to move in HA.    This will allow you to get the SetValueID which you can then use to track individual blinds.   You should do this for all your blinds and write down the setvalueid for each.   Once you have the list you can create your automation like this:

 

id'1597346381042'
aliasUpdate Blinds Position After State Change
description''
trigger:
  - platformmqtt
topicOpenZWave/1/command/setvalue/
condition:
  - conditiontemplate
value_template'{{ trigger.payload_json.ValueIDKey in [441024529,474578961,491356177,508133393,524910609,541687825,558465041]
      }}'
action:
  - delay00:00:10
  - data:
valueKey'{{ trigger.payload_json.ValueIDKey }}'
servicescript.refresh_blinds_state
modequeued
max10
 
add all of your valueidkeys in the [] block where it says trigger.payload_json.ValueIDKey in [441024529,474578961,491356177,508133393,524910609,541687825,558465041] replace mine with your keys.  This will allow the script to trigger whenevfer any of the blinds are moved.   They then call a script and passes the value ID key that was detected.   
 
NOTE: you must set execution mode to queued so that if you move many blinds at once they will all get updated, otherwise you will get mixed results and miss movements on some blinds.
 
The script then can be something like this (basically you want to emulate a switch statement, if you have a better way to do this, go for it, this is just one way to skin this cat)
 
refresh_blinds_state:
  aliasRefresh Blinds State
  iconmdi:blinds
  modesingle
  sequence:
  - choose:
    - conditions:
      - conditiontemplate
        value_template'{{ valueKey == ''441024529''}}'
      sequence:
      - servicemqtt.publish
        data:
          payload'{"node": 26}'
          topicOpenZWave/1/command/requestnodestate/
    - conditions:
      - conditiontemplate
        value_template'{{ valueKey == ''474578961''}}'
      sequence:
      - servicemqtt.publish
        data:
          payload'{"node": 28}'
          topicOpenZWave/1/command/requestnodestate/
    - conditions:
      - conditiontemplate
        value_template'{{ valueKey == ''491356177''}}'
      sequence:
      - servicemqtt.publish
        data:
          payload'{"node": 29}'
          topicOpenZWave/1/command/requestnodestate/
    - conditions:
      - conditiontemplate
        value_template'{{ valueKey == ''508133393''}}'
      sequence:
      - servicemqtt.publish
        data:
          payload'{"node": 30}'
          topicOpenZWave/1/command/requestnodestate/
    - conditions:
      - conditiontemplate
        value_template'{{ valueKey == ''524910609''}}'
      sequence:
      - servicemqtt.publish
        data:
          payload'{"node": 31}'
          topicOpenZWave/1/command/requestnodestate/
    - conditions:
      - conditiontemplate
        value_template'{{ valueKey == ''541687825''}}'
      sequence:
      - servicemqtt.publish
        data:
          payload'{"node": 32}'
          topicOpenZWave/1/command/requestnodestate/
    - conditions:
      - conditiontemplate
        value_template'{{ valueKey == ''558465041''}}'
      sequence:
      - servicemqtt.publish
        data:
          payload'{"node": 33}'
          topicOpenZWave/1/command/requestnodestate/
    default: []
 
here you want to use the list you made earlier of the set value ID keys and the zwave device IDs.  You want to replace my device id and valueidkey with your list.    Basically you want to say if the valueidkey passed is for blinds X then call requestnodestate for blinds X from openzwave.  Openzwave will then request from the blinds the current position and then will report that back to Home Assistant and now HA will have the acurate position of the blinds directly from the blinds themselves.  This means it wont get out of syncc like other workarounds as you are reading the actual position value.
 
I know this is kind of a pita but it gives nearly perfect results in my usage so far.   The blinds work fully as intended with this method.  I will try to monitor this thread if anyone has questions or issues implementing this.
 
If you dont want to deal with all this, I recommend getting iblinds v3.  
 
 
This post was modified 4 years ago by mike240se
ReplyQuote
Posted : 14/10/2020 7:14 pm
Chance liked
a
(@marper8521)
Active Member

@mike240se

 

Has there been any update on iBlinds and HA Zwave JS?  Seems that OpenZwave is not the direction for HA and the majority of HA users have moved to ZwaveJS.

The reason I'm asking is that I'm seeing strange behavior with the blinds and zwavejs as follows:

a.  Blind listed as switch - included in automation - but does not open

b.  Blind goes dead, sleep or other status infrequently

c.  Blinds are not opening to the zwaveJS option to set position on open - I have 60% set, but the blinds open to about 25%

d.  Blinds battery level reporting is inconsistent - 1 blind reports 0% all the time, but blind functions

Anyone have ideas on this

ReplyQuote
Posted : 07/10/2021 11:25 pm
a
(@marper8521)
Active Member

I don't get and understand why this company apply no attention to Home Assistant which seems to be one of the largest community of home Automation enthusiasts out there but yet there is nothing from this company that addresses or provides guidance for configuration or trouble.

Don't get me wrong, I like this product, even though for my blinds had to be cut and customize to have them fit and function, but the fact that there is no guidance from the Myiblinds folk just floors me.

Even after finally understanding how to actually open and close the blinds using ZWaveJS based on tilt position, these blinds do not operate or function as documented or outlined by their official video intro on their website support documentation.

No matter what I've done to adjust the blinds either in the configuration, recalibrating or setting a direct percentage to open to, these blinds are inconsistent at best or just do respond as designed.

If you look at my last post, nothing has changed, I'm still having the problem where these motors do not open past 25% regardless of what is done.

Help!

ReplyQuote
Posted : 08/03/2022 7:27 pm
c
(@redman_no1)
Active Member

@marper8521  I've never gotten a response from the company here on the forums. I will try their official contact form next but I doubt their responsive ness will be better. I can't even get my motors to stay alive on home assistant (Z Wave JS) long enough to use them. I will not recommend these motors to anyone. I have 4 of them now but they are all basically paper weights and worse yet, we can't open our blinds until I take these all apart and remove them. 

ReplyQuote
Posted : 09/08/2022 8:36 pm
a
(@marper8521)
Active Member

@redman_no1 I totally missed this post, sorry.  I'm sad that you have not been able to use yours.  I've got a few and they are all functional.  I have to report that lately, I've had a very good experience with their support and I'm not sure how much they monitor the forum but I don't think I've ever got any feedback from their support on here.

Even more concerning as I pointed out earlier, their support for HA is almost NON-EXISTENT.  I'm not quite sure why, but I notice the same thing from other product manufacturers out there.  They usually have a really deep support capability for Habitat, smarthings and others but HA just does not make their list.  Which is remarkable, seeing that it's the NO #1 opensource IoT software out there.

BTW - what sort of problems are you experiencing ?  If its staying alive as you point out above, try offsetting execution of the blinds.  These things are known for dropping messages or colissions and so I've had to stagger how they trigger even by 5 seconds.  Also, if you are running a 500 series and blinds that are not V3.XX - you will have problems.  I've got 1 blind that says its firmware 2.x and it constantly goes unavailable, so that's definitely a problem.

Additionally, I moved to Zwavejs2MQTT - what a difference that made overall with the ability to view individual device status, communication and other stuff.  Has made troubleshooting much easier and It also offers a Network Map for the Zwave stuff.  This is a must move.

Next and last on my list - Move to a 700 series stick (get the zooz stick) major improvement is network, communication, distance and stability of all my zwave nodes. 

Ping me here if you need more advice

ReplyQuote
Posted : 28/09/2022 12:51 am
c
(@redman_no1)
Active Member

@marper8521

I don't know what the problem is with them. About 3 weeks ago I moved one 2 of the blinds I still had installed over to hubitat. I thought that was working better but in the last couple days one of the two is missing commands. When you say stagger how they trigger, you mean don't try to send on open command to multiple blinds at the same time? so instead of having all my blinds open at 9:00 am and close at sunset like I've been trying to do (3 blinds right now), I should send multiple open and close commands staggered by 5 seconds? Is that easy to do in HA or node red?

Also, I've always been using zwavejs2MQTT and was still having problems. I am pretty sure I don't have any blinds that are 2.x blinds. Hubitat reports that the blinds are hardware version 2, firmware:3.11. And I'm using an aeotec gen5+ stick. should I consider switching to a zooz z stick?  lately I've been having problems adding any new nodes to my HA zwave network. I've had to go back to adding them to hubitat and then sharing them from hubitat to HA. I'd love to move everything to HA if it was reliable enough.

ReplyQuote
Posted : 29/09/2022 1:31 am
a
(@marper8521)
Active Member

@redman_no1 I totally feel your pain.  I've been right there.

 

I've never used hubitat and so I can't really comment on how well it works.  However, HA has been getting better for my zwave environment.  This summer I purchased a 700 stick and there is a noticeable difference in range, includes and excludes and just overall function.  I also deployed a few repeaters in the home, however I'm now thinking that I did not need them as looking at the topology, everything is hitting my USB stick directly. 

I deployed my USB stick with a USB 2.0 45 ft extension cable, mounted it in the center of the home in the ceiling.  That's worked out really well.  I had to get off of the Gen 5 stick as it was just buggy with regards to range.

Have you looked in the logs for zwavejs2mqtt to see if their are erroring out or something like that ?

When I say stagger, here is what I mean:  I have 10 blinds, grouped by location (Livingroom, kitchen, diningroom, bedroom4) they all are set in the automation to open at sunrise and close at sunset.  The good folks at myiblinds sugessted that I stagger or provide an offset time for each group.  So in the HA automation, there is a sunrise/sunset offset that you can set for each automation.  I have mine cycle about 3 minutes apart and never worry about them.   This stagger is simple in HA.

Let me know how else I can help and I'll see how I can assist.

ReplyQuote
Posted : 29/09/2022 6:11 am
Share: