Support to Scene modes using Remotec ZRC-90

Thank you anyway!

Hi, Im trying to use your code but it randomly craches for me…

This is the error i get:

Traceback (most recent call last):
  File "zwave-events.py", line 81, in <module>
    line = line.strip().decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 113: invalid start byte

Here is a link to the exact code i’m using: https://hastebin.com/icidufeyij.py

Does anyone know whats wrong?

any updates regarding this device? I would lite to get it working, running hass.io 0.57.2 :slight_smile:

Maybe this can be applied to HA too?

https://www.domoticz.com/forum/viewtopic.php?f=31&t=12539&start=20

In all honesty didn’t read all latest links/topics - just want to provide my two fortunate cents :slight_smile:

Working great over here (only changed zwcfg file on stopped HASS, basic python3-virtualenv linux install, 0.59.1)

  • stopping (note … stopping!) hass,
  • adjusting the zwcfg_…xml file (make a backup!)
  • starting hass (and wait for it as per usual)

The actual XML varies (having a wallmote, keyfob and today the remotec over here), but they do work perfectly

For the Remotec and Keyfob commandclass 91 and the wallmote same with 43 works just fine.

                        <CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="5" innif="true" scenecount="0">
                                <Instance index="1" />
                                <Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="1" label="Scene 1" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="2" label="Scene 2" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
...snip... repeat up to 8 on remotec, 8 on keyfob, 4 on wallmote ...snip...
                        </CommandClass>

Automation snip for button number 3

  - id: something
    alias: Doit
    trigger:
      - platform: event
        event_type: zwave.scene_activated
        event_data:
          entity_id: zwave.scenecontroller_1
          scene_id: 3
          scene_data: 0

Where the scenedata 0 is single-press, 2 is continued press, 1 is released from press and 3 is double-pressed (within a second).

For people having trouble, check OZW_log output what is returned … the 91 comes from where the >>> <<< are below, hex-to-dec for your number.

2017-12-06 18:20:28.383 Detail, Node032,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x20, 0x05, >>>0x5b<<<, 0x03, 0x23, 0x00, 0x01, 0xaf

Also check the message below this which resembles the OP’s post

2016-09-28 17:52:52.805 Warning, Node004, No ValueID created for Scene 8

So you should change the XML file to have ‘whatever string is behind the word for’, in this case “Scene 8”. For the wallmote I’d have to look it up (not on-premise here at home)

1 Like

worked like a charm for my ZRC-90
Thanks
Rolf

Thanks for this post, CoMPaTech! I got my wallmote working based on it

How dose your full xml look for the ZRC-90?

Do you change the evert time you repeat it?

//Tim

Nope, most important thing is

1. stop hass
2. make a backup of the zwcfg file
3. edit it accordingly
4. start hass

If you do this on a running home-assistant (or at least running zwave-network within hass) it won’t work.

I carved out some pieces from the below config … basically you have to make sure the ‘CommandClass 91’ is inserted accordingly (that is if you have the remotec)

        <Node id="32" name="Scenecontroller 1" location="" basic="1" generic="1" specific="6" roletype="2" devicetype="2816" nodetype="0" type="Remote Control Simple" listening="false" frequentListening="false" beaming="true" routing="false" max_baud_rate="40000" version="4" query_stage="CacheLoad">
                <Manufacturer id="5254" name="Remotec">
                        <Product type="1" id="8510" name="ZRC-90" />
                </Manufacturer>
                <CommandClasses>
                        ... snipped commandclasses 32,33 and 90 ...
                        <CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="5" innif="true" scenecount="0">
                                <Instance index="1" />
                                <Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="1" label="Scene 1" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3" />
                                <Value type="int" genre="system" instance="1" index="2" label="Scene 2" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="3" label="Scene 3" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="4" label="Scene 4" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1" />
                                <Value type="int" genre="system" instance="1" index="5" label="Scene 5" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="6" label="Scene 6" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="7" label="Scene 7" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="8" label="Scene 8" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                                <Value type="int" genre="system" instance="1" index="9" label="Other" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                        </CommandClass>
                        ... snipped rest of it
1 Like

Thank you!

Do you know if there is any good way to se what scenevents is recived by Hass?

I figured it out my self.

Added:

logger:
default: info

to my configuration.yaml.

Then tail -f /home/homeassistant/.homeassistant/home-assistant.log | grep ‘scene’ gave this result:

2018-01-04 11:32:51 INFO (MainThread) [homeassistant.core] Bus:Handling <Event zwave.scene_activated[L]: scene_id=1, node_id=13, scene_data=2, entity_id=zwave.bedroom_remote>
2018-01-04 11:32:51 INFO (MainThread) [homeassistant.core] Bus:Handling <Event zwave.scene_activated[L]: scene_id=1, node_id=13, scene_data=2, entity_id=zwave.bedroom_remote>
2018-01-04 11:32:51 INFO (MainThread) [homeassistant.core] Bus:Handling <Event zwave.scene_activated[L]: scene_id=1, node_id=13, scene_data=2, entity_id=zwave.bedroom_remote>

Thanks alot!

1 Like

Thanks for this been looking for the solution for some time now and I can finallyuse my ZRC-90

im still not able to use my ZCR-90 followed all the steps provided here, and tried every possible combination. anyone care to help me personally?

much appreciated

Works great!

Thank you so much.
Finally I can use my ZRC-90 remote.

CoMPaTech,

Would you mind posting the complete xml? I only have this:

	<Node id="19" name="" location="" basic="0" generic="0" specific="0" type="" listening="true" frequentListening="false" beaming="false" routing="false" max_baud_rate="0" version="0" query_stage="CacheLoad">
		<Manufacturer id="0" name="">
			<Product type="0" id="0" name="" />
		</Manufacturer>
		<CommandClasses />
	</Node>

Many thanks!

@Jim_Pridemore if that’s all it has, adding to it won’t help (we had this with a zwave.me device before). I have no problem adding the whole configuration but in my experience you first need to have it with a decent amount of self-configuration (i.e. no empty fields and the other commandclasses filled) before it starts working.

I’m aware that’s not what your asking for, but as said, previous experience lead to more frustration. I have a couple of scene-controllers in 3 different home-automation environments (yes, all HASS now :P) and you’ll need to make sure to have a partial config.

Maybe try to re-include it, press the ‘refresh node’, try hitting a few buttons, etc. (although I’m quiet positive you already tried that). If it fails (the zwave.me was elusive a year ago), exclude and reinclude it - sometimes that helps.

Thank you, I will give that a try. Appreciate your time.

Just make sure that you paste that in the right section :slight_smile:

Got it, thanks.

Does anyone have the command criteria for the double click or long click feature for the ZRC-90?