MCO Home Shutter Control

Hi all,

As of recently I have an MCO home shutter control panel with Z-wave (MH-C421). It was not yet in the Z-wave database so I took action and provided the necessary information to get it in. After some missing parameter and channel adjustments in the entry I was successful in identifying the “Thing” in OpenHAB. However, I only have a ‘Switch’ to control it with. It is just a binary On/Off switch and pressing it makes it travel down or up, depending on which position it is in. There is also a “Multilevel_Switch” channel, which in my view should be the Up/Stop/Down switch. When trying to configure this channel as an item, I indeed can set the class to “Rollershutter” which gives me such a < [] > switch. Sadly, nothing happens when pressing one of the buttons. I don’t really get what I’m trying to accomplish at this point, I have the feeling I have come quite far but my knowledge stops here. Who can provide me with some insight?
Best,
Tristan

Don’t have much knowledge of shutters, but I looked at a couple other roller shutter devices in the DB for comparison. I think you need blinds_control, not blinds_shutter. Looking at the XML file generated by Blinds_control is this

      <channel id="blinds_control" typeId="blinds_control">
        <label>Blinds control</label>
        <properties>
          <property name="binding:*:PercentType">COMMAND_CLASS_SWITCH_MULTILEVEL</property>
          <property name="binding:Command:StopMoveType">COMMAND_CLASS_SWITCH_MULTILEVEL</property>
          <property name="binding:Command:UpDownType">COMMAND_CLASS_SWITCH_MULTILEVEL</property>
        </properties>

But blinds_shutter is this (no binding properties)

     <channel id="blinds_shutter" typeId="blinds_shutter">
        <label>Shutter Control</label>
        <properties>
        </properties>
      </channel>

Just a guess.

Bob

Hi Bob,

That would make sense, I’ve edited the entry. Now we’ll have to wait for the library update in the next snapshot to see if it works I guess.
Thanks

Hi Bob,

This morning I saw that the blinds_control modification I made was integrated in the new snapshot build. I updated my docker container to that new build, and now the binding isn’t recognized anymore by OpenHab. It just shows it as a Z-Wave node and doesn’t initialize properly. Am I missing something here?

Best

I do see it has been approved, but do not see it being in a new snapshot. The last snapshot is still showing 6 days ago. Maybe the developer will merge the DB changes later today.

Bob

I understand what you’re telling me but how can I check this exactly? I can only find build information on the Jenkins page for example, and there it shows snapshot timestamps from almost every day. How can I check which modifications have been put into the snapshot?
Also, if my edit to the C421 entry wasn’t yet taken into the database in the snapshot I installed, how would that explain the fact that OH won’t initialize the device at all anymore? It worked fine before. Maybe I’m missing something?

I’m not an expert on the process, but the Zwave binding code resides on Github here openhab/org.openhab.binding.zwave: openHAB binding for Z-Wave (github.com).
After a PR is merged (I think the time varies on a schedule based on euro time?) a zwave .jar appears here. openHAB-ZWave [Jenkins].
Then again on some schedule the builds are compiled into a distribution snapshot Integration Builds [Jenkins] (openhab.org). I think that is to what you are referring.

My general advice in situations like this is to just update the zwave binding, not update all of OH to a new snapshot. That introduces more variables of unknown effect. To just update the zwave binding

  1. uninstall zwave from the UI, ideally from the 3.3 release version or testing milestone
  2. go into the openhab-cli and after the passwords type feature:install openhab-transport-serial. This is a dependency that is installed automatically when adding Zwave from the UI, but not when adding manually.
  3. From the jenkins zwave site copy the jar into the openhab/addons folder (same location as the distribution kar file with all the bindings.
  4. Delete the Thing (do not exclude) and go to inbox/scan/zwave to pick it up again with the new properties

I don’t know. I have a local copy of the Zwave binding and it is still in there (with blinds_shutter, not blinds_control). Did you delete the thing and rescan. That may help.

Lastly, I picked up from another post that the zwave developer is very busy with his real job (traveling) explaining the delay in getting your changes into the binding. There is a way to update/add an XML file that you might consider. You can read about it here (OH2 procedure) and here (more recent). You can download the updated XML from the DB using the blue gear box in the upper right or you can wait.

Bob

Thanks for your elaborate answer. I see now why you referred to the database build being already quite some time ago.

I’ll try to revert back to the 3.3 stable release and then install the updated Z-wave binding.

I wish I’d known sooner about the possibility to insert your own device in the binding, that would have sped up the process tremendously. Thankfully you’re telling me now because there are a couple of other things I’d like to fix but with these turnaround times it would be undoable.

All the best.

Did see that the zwave DB was updated last night and includes your changes.

I see it too now. I’ve successfully reverted back to the 3.3.0:Stable build and added the z-wave binding manually. However, the device still will not initialize properly. I’ve checked the xml it generates automatically for the unidentified node and it shows 0x7fffffff for mfd, dev ID and type. Shouldn’t that be filled in already, as the binding should have some way of recognizing the device and matching it to a database entry?

If this is not the case, is there another way to check where things are going wrong? I’ve already removed and re-included the device from the Z-Wave network but to no avail.

This is odd. Usually all that is needed is a delete and rescan after a DB change.

By removing do you mean “exclude” from the controller UI page (and get a new node number) or just “delete thing” from the device UI page and scan to get the same node number?

As to options you could try to exclude from the controller and do a factory reset. The try to include while the zwave is in Debug mode (instructions at the bottom of the Zwave documentation ‘When things do not go as planned’

It works. I did a reset by excluding the device, cutting the power by removing the panel from the socket, connecting it back up and including it again. I was checking the logs in the debug mode but couldn’t find anything odd, I even saw it identified the MCO Home brand and ID. When I cheked in OH I saw it correctly initialized, and I can now use the shutter control properly.

It must be said that I did exclude and include before like you said with a new node ID, but that didn’t work.

There are also still other things that need to be fixed, like properly sending the Demo command for example (it has to work like a switch or something and not just a paramater value of 0 or 1, that does nothing). But that is for another time. At least I can automate the shutter now.

Thanks so much for your help.

Tristan

1 Like