Support to Scene modes using Remotec ZRC-90

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?

hello I need a help I followed your steps to use the remotec but I think I’m wrong something … because I can not find the services zwave.scene_activated then help me thanks a lot

I’m using these automations when the remotec is triggered: the device name is ‘scenecontroller_1’ in this example. (Where you’d use remotec_zrc90 from your screenshots). (Do note that my automations predate front-end entry unfortunately).

To me the last screenshot looks to be ok … it resembles the yaml below (that works on our system here).

Do you have access to your logs, because you should see the scene activation debug statements in OZW_log and homeassistant.log (see below)

automations

  - id: remotec1button1
    alias: Do something when single pressing remotec button 1
    hide_entity: "True"
    trigger:
      - platform: event
        event_type: zwave.scene_activated
        event_data:
          entity_id: zwave.scenecontroller_1
          scene_id: 2
          scene_data: 0
    action:
      - service: input_select.select_option
        data:
          entity_id: input_select.livingroomlights
          option: "Light the living"

OZW example

2018-08-04 10:24:43.907 Info, Node038, Received Central Scene set from node 38: scene id=5 in 0 seconds. Sending event notification.
2018-08-04 10:24:43.907 Detail, Node038, Initial read of value
2018-08-04 10:24:43.907 Detail, Node038, Notification: ValueChanged
2018-08-04 10:24:45.509 Detail, Node038,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x26, 0x03, 0x80, 0x03, 0x52, 0x06

home-asisstant.log

2018-08-04 10:24:43 INFO (MainThread) [homeassistant.core] Bus:Handling <Event zwave.scene_activated[L]: entity_id=zwave.scenecontroller_2, node_id=38, scene_id=5, scene_data=0>

yes but in the list of my services i must have zwave.scene_activated?