Aeon Labs Minimote with zwave js?

@eseelke from where do you get the parameter? Could the problem be with my ZWaveJS2MQTT container? This is my docker-compose:

version: '3.7'

services:
  zwavejs2mqtt:
    container_name: zwavejs2mqtt
    image: zwavejs/zwavejs2mqtt:latest
    restart: always
    tty: true
    stop_signal: SIGINT
    networks:
      - zwave
    devices:
      - '/dev/ttyUSB0:/dev/ttyUSB0'
    volumes:
      - ./store:/usr/src/app/store
    ports:
      - '8091:8091'
      - '3000:3000'
networks:
  zwave:

I don’t know for sure. I am just guessing.

I think the nanomote, minimote and wallmote are basically all the same thing

You could probably use @bachya’s blueprint for the nanomote to make automations a little easier. Pretty sure you just need to change the model and possibly the manufacturer.

@troy thanks for the help. I modified the blueprint but i’m clearly doing something wrong:

This is my modified blue print:

---
blueprint:
  name: AEON minimote
  description: Create automations for the AEON minimote. 
  domain: automation
  input:
    aeon_minimote:
      name: AEON minimote
      description: AEON minimote.
      selector:
        device:
          integration: zwave_js
          manufacturer: AEON Labs
          model: Minimote 4 button remote control
    button_1:
      name: Press Button One
      description: Action to run on button press.
      default: []
      selector:
        action: {}
    button_2:
      name: Press Button Two
      description: Action to run on button press.
      default: []
      selector:
        action: {}
    button_3:
      name: Press Button Three
      description: Action to run on button press.
      default: []
      selector:
        action: {}
    button_4:
      name: Press Button Four
      description: Action to run on button press.
      default: []
      selector:
        action: {}

mode: single

max_exceeded: silent

trigger:
  platform: event
  event_type: zwave_js_event
  event_data:
    command_class_name: Central Scene
    device_id: !input aeon_minimote

action:
  - variables:
      scene_id: "{{ trigger.event.data.property_key_name }}"
  - choose:
      - conditions: "{{ scene_id == '001' }}"
        sequence: !input button_1
      - conditions: "{{ scene_id == '002' }}"
        sequence: !input button_2
      - conditions: "{{ scene_id == '003' }}"
        sequence: !input button_3
      - conditions: "{{ scene_id == '004' }}"
        sequence: !input button_4

In case it helps:

what am I doing wrong?

:thinking: I don’t see why it would be different, but please confirm that’s what Home Assistant is seeing

Using my Nanomote as an example

image

You can also try putting quotes around the model name

          model: "Minimote 4 button remote control"

Or even try removing that line completely

I made progress by modifying the blueprint as follows:

---
blueprint:
  name: AEON minimote
  description: Create automations for the AEON minimote. 
  domain: automation
  input:
    aeon_minimote:
      name: AEON minimote
      description: AEON minimote.
      selector:
        device:
          integration: zwave_js
          manufacturer: AEON Labs
          model: DSA03XXX-ZW
    button_1:
      name: Press Button One
      description: Action to run on button press.
      default: []
      selector:
        action: {}
    button_2:
      name: Press Button Two
      description: Action to run on button press.
      default: []
      selector:
        action: {}
    button_3:
      name: Press Button Three
      description: Action to run on button press.
      default: []
      selector:
        action: {}
    button_4:
      name: Press Button Four
      description: Action to run on button press.
      default: []
      selector:
        action: {}

mode: single

max_exceeded: silent

trigger:
  platform: event
  event_type: zwave_js_event
  event_data:
    command_class_name: Central Scene
    device_id: !input aeon_minimote

action:
  - variables:
      scene_id: "{{ trigger.event.data.property_key_name }}"
  - choose:
      - conditions: "{{ scene_id == '001' }}"
        sequence: !input button_1
      - conditions: "{{ scene_id == '002' }}"
        sequence: !input button_2
      - conditions: "{{ scene_id == '003' }}"
        sequence: !input button_3
      - conditions: "{{ scene_id == '004' }}"
        sequence: !input button_4

Now I can create an automation:

Alas, nothing happens when I press the button. My guess is that this part of the blueprint is wrong:

conditions: "{{ scene_id == '001' }}"
        sequence: !input button_1

I also guess that the right value is avaialble somewhere in the debug info:

{
  "id": 3,
  "deviceId": "134-3-1",
  "manufacturer": "AEON Labs",
  "manufacturerId": 134,
  "productType": 1,
  "productId": 3,
  "name": "",
  "loc": "",
  "values": [
    {
      "id": "3-112-0-241",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 241,
      "propertyName": "Mode of Button 1 (upper left)",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Defines the switching mode of Button 1",
      "label": "Mode of Button 1 (upper left)",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 5,
      "list": true,
      "states": [
        {
          "text": "Factory Default",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        },
        {
          "text": "Add Mode",
          "value": 2
        },
        {
          "text": "Remove Mode",
          "value": 3
        },
        {
          "text": "Association Mode",
          "value": 4
        },
        {
          "text": "Learn Mode",
          "value": 5
        }
      ],
      "lastUpdate": 1613193164053
    },
    {
      "id": "3-112-0-242",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 242,
      "propertyName": "Mode of Button 2 (upper right)",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Defines the switching mode of Button 2",
      "label": "Mode of Button 2 (upper right)",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 5,
      "list": true,
      "states": [
        {
          "text": "Factory Default",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        },
        {
          "text": "Add Mode",
          "value": 2
        },
        {
          "text": "Remove Mode",
          "value": 3
        },
        {
          "text": "Association Mode",
          "value": 4
        },
        {
          "text": "Learn Mode",
          "value": 5
        }
      ],
      "lastUpdate": 1613193164056
    },
    {
      "id": "3-112-0-243",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 243,
      "propertyName": "Mode of Button 3 (lower left)",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Defines the switching mode of Button 3",
      "label": "Mode of Button 3 (lower left)",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 5,
      "list": true,
      "states": [
        {
          "text": "Factory Default",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        },
        {
          "text": "Add Mode",
          "value": 2
        },
        {
          "text": "Remove Mode",
          "value": 3
        },
        {
          "text": "Association Mode",
          "value": 4
        },
        {
          "text": "Learn Mode",
          "value": 5
        }
      ],
      "lastUpdate": 1613193164058
    },
    {
      "id": "3-112-0-244",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 244,
      "propertyName": "Mode of Button 4 (lower right)",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Defines the switching mode of Button 4",
      "label": "Mode of Button 4 (lower right)",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 5,
      "list": true,
      "states": [
        {
          "text": "Factory Default",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        },
        {
          "text": "Add Mode",
          "value": 2
        },
        {
          "text": "Remove Mode",
          "value": 3
        },
        {
          "text": "Association Mode",
          "value": 4
        },
        {
          "text": "Learn Mode",
          "value": 5
        }
      ],
      "lastUpdate": 1613193164059
    },
    {
      "id": "3-112-0-245",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 245,
      "propertyName": "Mode of Button 5 (Include)",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Defines the switching mode of Button 5",
      "label": "Mode of Button 5 (Include)",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 5,
      "list": true,
      "states": [
        {
          "text": "Factory Default",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        },
        {
          "text": "Add Mode",
          "value": 2
        },
        {
          "text": "Remove Mode",
          "value": 3
        },
        {
          "text": "Association Mode",
          "value": 4
        },
        {
          "text": "Learn Mode",
          "value": 5
        }
      ],
      "lastUpdate": 1613193164061
    },
    {
      "id": "3-112-0-246",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 246,
      "propertyName": "Mode of Button 6 (Exclude)",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Defines the switching mode of Button 6",
      "label": "Mode of Button 6 (Exclude)",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 5,
      "list": true,
      "states": [
        {
          "text": "Factory Default",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        },
        {
          "text": "Add Mode",
          "value": 2
        },
        {
          "text": "Remove Mode",
          "value": 3
        },
        {
          "text": "Association Mode",
          "value": 4
        },
        {
          "text": "Learn Mode",
          "value": 5
        }
      ],
      "lastUpdate": 1613193164062
    },
    {
      "id": "3-112-0-247",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 247,
      "propertyName": "Mode of Button 7 (Association)",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Defines the switching mode of Button 7",
      "label": "Mode of Button 7 (Association)",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 5,
      "list": true,
      "states": [
        {
          "text": "Factory Default",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        },
        {
          "text": "Add Mode",
          "value": 2
        },
        {
          "text": "Remove Mode",
          "value": 3
        },
        {
          "text": "Association Mode",
          "value": 4
        },
        {
          "text": "Learn Mode",
          "value": 5
        }
      ],
      "lastUpdate": 1613193164064
    },
    {
      "id": "3-112-0-248",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 248,
      "propertyName": "Mode of Button 8 (Learn)",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Defines the switching mode of Button 8",
      "label": "Mode of Button 8 (Learn)",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 5,
      "list": true,
      "states": [
        {
          "text": "Factory Default",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        },
        {
          "text": "Add Mode",
          "value": 2
        },
        {
          "text": "Remove Mode",
          "value": 3
        },
        {
          "text": "Association Mode",
          "value": 4
        },
        {
          "text": "Learn Mode",
          "value": 5
        }
      ],
      "lastUpdate": 1613193164065
    },
    {
      "id": "3-112-0-250",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 250,
      "propertyName": "Secondary Controller Mode",
      "type": "number",
      "readable": false,
      "writeable": true,
      "description": "Selects Group Mode or Scene Mode",
      "label": "Secondary Controller Mode",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 1,
      "list": true,
      "states": [
        {
          "text": "Group Mode",
          "value": 0
        },
        {
          "text": "Scene Mode",
          "value": 1
        }
      ],
      "lastUpdate": 1613193164066
    },
    {
      "id": "3-114-0-manufacturerId",
      "nodeId": 3,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "manufacturerId",
      "propertyName": "manufacturerId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Manufacturer ID",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 134,
      "lastUpdate": 1613193164067,
      "newValue": 134
    },
    {
      "id": "3-114-0-productType",
      "nodeId": 3,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productType",
      "propertyName": "productType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product type",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 1,
      "lastUpdate": 1613193164068,
      "newValue": 1
    },
    {
      "id": "3-114-0-productId",
      "nodeId": 3,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productId",
      "propertyName": "productId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product ID",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 3,
      "lastUpdate": 1613193164069,
      "newValue": 3
    },
    {
      "id": "3-132-0-wakeUpInterval",
      "nodeId": 3,
      "commandClass": 132,
      "commandClassName": "Wake Up",
      "endpoint": 0,
      "property": "wakeUpInterval",
      "propertyName": "wakeUpInterval",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Wake Up interval",
      "stateless": false,
      "min": 0,
      "max": 16777215,
      "list": false,
      "lastUpdate": 1613193164070
    },
    {
      "id": "3-132-0-controllerNodeId",
      "nodeId": 3,
      "commandClass": 132,
      "commandClassName": "Wake Up",
      "endpoint": 0,
      "property": "controllerNodeId",
      "propertyName": "controllerNodeId",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Node ID of the controller",
      "stateless": false,
      "list": false,
      "lastUpdate": 1613193164071
    },
    {
      "id": "3-134-0-libraryType",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "libraryType",
      "propertyName": "libraryType",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Library type",
      "stateless": false,
      "list": false,
      "value": 2,
      "lastUpdate": 1613193164072,
      "newValue": 2
    },
    {
      "id": "3-134-0-protocolVersion",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "protocolVersion",
      "propertyName": "protocolVersion",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave protocol version",
      "stateless": false,
      "list": false,
      "value": "2.78",
      "lastUpdate": 1613193164073,
      "newValue": "2.78"
    },
    {
      "id": "3-134-0-firmwareVersions",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "firmwareVersions",
      "propertyName": "firmwareVersions",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip firmware versions",
      "stateless": false,
      "list": false,
      "value": [
        "1.19"
      ],
      "lastUpdate": 1613193164073,
      "newValue": [
        "1.19"
      ]
    }
  ],
  "groups": [],
  "neighbors": [],
  "ready": true,
  "available": false,
  "hassDevices": {},
  "failed": false,
  "lastActive": 1613193164074,
  "interviewCompleted": false,
  "firmwareVersion": "1.19",
  "isBeaming": true,
  "isSecure": false,
  "keepAwake": false,
  "maxBaudRate": null,
  "isRouting": false,
  "isFrequentListening": false,
  "isListening": false,
  "status": "Asleep",
  "interviewStage": "RestartFromCache",
  "productLabel": "DSA03XXX-ZW",
  "productDescription": "Minimote 4 button remote control",
  "zwaveVersion": 3,
  "deviceClass": {
    "basic": 1,
    "generic": 1,
    "specific": 1
  },
  "hexId": "0x0086-0x0003-0x0001",
  "_name": "NodeID_3"
}

Any suggestions?

I’m out of ideas at the moment – I’m pretty new to Z-Wave JS myself I haven’t had time to move my own devices to these new blueprints yet - I don’t template much so I got figure some out by trial and error.

IMO, I think it would be easier to get the data from Home Assistant, rather than debug.

1 Like

how do you get to that option to listen to events??

You need to fill in the event zwave_js_event before step 3

Nothing happens when I press the buttons on my remote:

:frowning:

Have you ever used this device before? If not, you need to configure it to be in scene mode.

I used this device with smart things before moving to home assistant. How do I configure it to be a scene mode?

Could the problem be that the status of the remote is dead? If so, how do I fix that?

The device is dead because it hasn’t finished the interview process (stage ProcotolInfo). The guide linked explains how to wake up the device to complete it. You need to manually wake it to finish, getting it to a Complete interview stage.

Press and hold the Learn Button (or Join Button) for 3 seconds, then let go. This should keep the Minimote awake for 30 seconds.

There are instructions here: In-Depth Minimote Guide : Aeotec Help Desk, for wake up and scene mode configurationn.

You also need v1.18+ of the firmware to use scene mode. Once the node is fully interviewed you can see the version number.

If you were using the public Smart Things device handler for the minimote, looks like it sets up some configuration for you. I don’t know if it assumes Scene mode, or configures Group mode as well.

it looks like it has the right firmware version:

Uploading: image.png…

I tried setting the buttons to scene mode using the UI but it did not make a difference:

You have to wake the device again to set parameters. I think it stays awake for 30 seconds. Were the buttons already Scene Mode, or other?

re: Were the buttons already Scene Mode, or other?
when I go to configuration there is nothing selected:

I selected scene and pressed the arrow for the 4 buttons but nothing changes.

You need to wake up the remote for the settings to be accepted.

i’m confused. I thought my screen shot showed that the remove is awake. I did that by pressing the join button.

From my experience, one you wake it up, zwave-js will not show it going back to sleep until you send a command. The minimote will never say it goes to sleep. So if you wake it it may have gone to sleep.

You may have to set the settings multiples times. The UI will also not show the value because a Get is never sent. You just have to set the values and hope it works.

  1. Set button 1 to Scene mode, click arrow
  2. Set button 2 to Scene mode, click arrow
  3. Set button 3 to Scene mode, click arrow
  4. Set button 4 to Scene mode, click arrow
  5. Hold the Join button for about 3 seconds, the settings should get applied.
  6. Go to HA, use the event viewer and see if it’s recognized now.

If it doesn’t work, try setting the buttons in multiple passes, e.g. set buttons 1 and 2, wake, wait for a bit, then set 3 and 4. It took me several tries in the past.

It’s easier if you watch the zwave_js.log file to see if it sent the Configuration commands (may depend on your logging level). The file is accessible from the zwavejs2mqtt UI.