ZWave-JS - AEON Labs (Aeotec) Minimote

The change log in a code block seems to break importing this…

Interesting, I’ll change the formatting. Probably because it’s in code block.

Got it working, Thanks

I think it’s working again, thanks for pointing that out.

Good to hear. Did you only change param 250, or did you change any others?

Is there any way to make this work with Z-Wave JS to MQTT? I’m not (currently) using the MQTT portion of it, but rather just prefer the Z-Wave Control Panel of it instead of the standard Home Assistant one. It seems that when devices are linked this way that events don’t show up under the zwave_js_value_notification event type.

I am using zwavejs2mqtt + zwave_js integration.

Hmmm. That’s interesting. I’m still kind of a noob with Home Assistant, but have learned my way around pretty well. Once I switched from the native HA Z-Wave JS server to the Z-Wave JS to MQTT one, I no longer got zwave_js_value_notification events from the Minimote. However, the activity DOES show up on the debug screen for Z-Wave JS to MQTT. So I know that the Minmote is working, but can’t figure out how to expose that activity to the automation(s).

You probably need to wake up the device again to complete the initial interview. Node needs to be in the Ready state. Switching addons w/o copying the cache is like starting over.

I’ve done that several times with the same results. I’m confused by two things then -

  1. The Minimote shows like it’s still interviewing in ZWaveJS2MQTT, like this:


    But when I press the buttons I get log activity like this:

    And when I listen for zwave_js_value_notification events, I get nothin. So I’m not sure what to think there.

  2. Initially I was thinking that maybe something didn’t go right when I switched from the HA JS server to the other add on, but literally every other device is functioning as it should and has been since I first switched servers.

My limited skills with all of this have me kind of stuck on how to proceed from here. :confused:

You need to wake up the remote so it finishes the interview. Instructions are in the guide linked in the original post.

Wake up the Minimote

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

As I said in my reply, I’ve done that LOTS of times and it never gets any further. It even says “Node 33 is now awake” and then “…is asleep” 30 seconds later. I’ll keep trying, I suppose.

Many people confuse just pressing buttons with waking up the device; wake up is a specific process so I was just making sure you were following the exact sequence.

The remote won’t work in HA until the interview status is Complete. The node’s asleep and awake status are separate from the interview status and not really relevant to getting the functionality working. The fact that you see those statuses change is good though. You might have to turn on debug logs (z-wave settings) and see what exactly is going on when you wake it.

Okay, so as it turns out I think this was all unrelated to ZWaveJS2MQTT, sort of. I found another thread because I noticed the official addon kept starting on its own and even re-installing when removed. When I turned on debugging as you suggested and took a look at the logs in real time, I noticed it kept stalling. I then figured out that this was co-inciding with the official addon restarting itself. Seems they were interfering with each other. I followed the instructions in that post and now the interview process completed, and the remote works. So thank you for leading me to my solution, even if indirectly!

Thanks this fixed my issue. Once I had it awake it was able to set opt 250 to scene mode and the buttons started working as expected.

I can never remember how to set these up, so responding here as a reminder, may help others. To factory reset, hold both 2 bottom buttons (under the cover) together for 10s.

To join, put HA Zwave into inclusion mode, press the bottom right button (under the cover).

To set to scene controller mode, go to the device > configure > set mode 250, which will be queued. To wake up the minimote to get the config update from sleep, get close enough to the primary controller and press the bottom right button (under the cover) for 3 seconds. This should wake it and allow it to accept the scene-mode configuration after which the blueprint will work.

1 Like

Thanks so much for this. I used to have it working in Node Red, but stopped using the remote. Wanted to resurrect, but had a hell of a time finding instructions, and this worked like a charm.

Thanks again.

Great Blueprint and what a time saver! - Thank you. Remotes simplify things for advanced and novice users for sure! Love the way freshcoast set this up to assign a rich set of actions to each short and long-press - really awesome!

Great Blueprint! My minimote is once again useful. Wish I had searched for this before wasting time trying to recreate the wheel.

Not sure if I just messed up my minimote but I needed to add a condition to the blueprint or I’d get 3 triggers for every press.

This only lets it get trigger once per second.

condition:
  - condition: template
    value_template: >-
      {{ now() - this.attributes.last_triggered < timedelta(seconds=1) }}

Full blueprint

blueprint:
  name: Aeon Labs Minimote
  description: Create automations for the Aeon Labs Minimote
  domain: automation

  input:
    minimote_device:
      name: Minimote Device
      description: A Minimote device.
      selector:
        device:
          integration: zwave_js
          manufacturer: AEON Labs
          model: DSA03XXX-ZW

    button_1_pressed:
      name: Button 1 Pressed
      description: Actions to run when button 1 is pressed.
      default: []
      selector:
        action:

    button_1_held:
      name: Button 1 Held Down
      description: Actions to run when button 1 is held down.
      default: []
      selector:
        action:

    button_2_pressed:
      name: Button 2 Pressed
      description: Actions to run when button 2 is pressed.
      default: []
      selector:
        action:

    button_2_held:
      name: Button 2 Held Down
      description: Actions to run when button 2 is held down.
      default: []
      selector:
        action:

    button_3_pressed:
      name: Button 3 Pressed
      description: Actions to run when button 3 is pressed.
      default: []
      selector:
        action:

    button_3_held:
      name: Button 3 Held Down
      description: Actions to run when button 3 is held down.
      default: []
      selector:
        action:

    button_4_pressed:
      name: Button 4 Pressed
      description: Actions to run when button 4 is pressed.
      default: []
      selector:
        action:

    button_4_held:
      name: Button 4 Held Down
      description: Actions to run when button 4 is held down.
      default: []
      selector:
        action:

mode: single
max_exceeded: silent

trigger:
  platform: event
  event_type: zwave_js_value_notification
  event_data:
    device_id: !input minimote_device
    command_class: 43 # Scene Activation
    property_name: sceneId

condition:
  - condition: template
    value_template: >-
      {{ now() - this.attributes.last_triggered < timedelta(seconds=1) }}

action:
  - variables:
      scene_id: "{{ trigger.event.data.value }}"
  - choose:
      - conditions: "{{ scene_id == 1 }}"
        sequence: !input button_1_pressed
      - conditions: "{{ scene_id == 2 }}"
        sequence: !input button_1_held
      - conditions: "{{ scene_id == 3 }}"
        sequence: !input button_2_pressed
      - conditions: "{{ scene_id == 4 }}"
        sequence: !input button_2_held
      - conditions: "{{ scene_id == 5 }}"
        sequence: !input button_3_pressed
      - conditions: "{{ scene_id == 6 }}"
        sequence: !input button_3_held
      - conditions: "{{ scene_id == 7 }}"
        sequence: !input button_4_pressed
      - conditions: "{{ scene_id == 8 }}"
        sequence: !input button_4_held