Zigbee2MQTT - OSRAM Smart+ switch mini (AC0251100NJ/AC0251700NJ) actions

Github Gist: https://gist.github.com/freakshock88/1f4c349d9123114f821ce7a4e03bad52

Main features

Define actions for each button press type (up, up_hold, up_release, down_release, circle_release, circle_hold, down, down_hold, circle_click).

Supported device


This blueprint supports the OSRAM AC0251100NJ/AC0251700NJ device through Zigbee2MQTT only.

Prerequisites

You need to have a sensor entity for the button you want to use from Zigbee2MQTT.
Choose the right sensor with your button name and the entity id which ends with ‘_action’, e.g. ‘sensor.kitchen.switch_action’

Blueprint

Click the badge to import this Blueprint: (needs Home Assistant Core 2021.3 or higher)

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Or import this Blueprint by using the forum topic URL:

blueprint:
  name: Zigbee2MQTT - OSRAM Smart+ switch mini (AC0251100NJ/AC0251700NJ) actions
  description: >
    Define actions for your OSRAM Smart+ switch mini  using Zigbee2MQTT.
    For your button entity, choose the right sensor with your button name and the entity id which ends with '_action', e.g. 'sensor.kitchen.switch_action'
  domain: automation
  input:
    button_sensor:
      name: OSRAM Smart+ switch mini  sensor entity
      description: Sensor for OSRAM Smart+ switch mini to use (Use sensor with entity_id ends with _action)
      selector:
        entity:
          domain: sensor
    remote_button_up:
      name: Up Press
      description: Action to run on up press
      default: []
      selector:
        action:
    remote_button_up_hold:
      name: Up Hold
      description: Action to run on up hold
      default: []
      selector:
        action:
    remote_button_up_release:
      name: Up Release
      description: Action to run on up release
      default: []
      selector:
        action:
    remote_button_circle:
      name: Circle Press
      description: Action to run on circle press
      default: []
      selector:
        action:
    remote_button_circle_hold:
      name: Circle Hold
      description: Action to run on circle hold
      default: []
      selector:
        action:
    remote_button_circle_release:
      name: Circle Release
      description: Action to run on circle release
      default: []
      selector:
        action:
    remote_button_down:
      name: Down Press
      description: Action to run on down press
      default: []
      selector:
        action:
    remote_button_down_hold:
      name: Down Hold
      description: Action to run on down hold
      default: []
      selector:
        action:
    remote_button_down_release:
      name: Down Release
      description: Action to run on down release
      default: []
      selector:
        action:

mode: restart
max_exceeded: silent

# Each option is explicitly defined as a trigger because sensor reports empty values as well. 
# Not defining explicit triggers causes the automation to show up in the log multiple times per button press.
trigger:
  - platform: state
    entity_id: !input button_sensor
    to: 'up'
  - platform: state
    entity_id: !input button_sensor
    to: 'up_hold'
  - platform: state
    entity_id: !input button_sensor
    to: 'up_release'
  - platform: state
    entity_id: !input button_sensor
    to: 'circle_click'
  - platform: state
    entity_id: !input button_sensor
    to: 'circle_hold'
  - platform: state
    entity_id: !input button_sensor
    to: 'circle_release'
  - platform: state
    entity_id: !input button_sensor
    to: 'down'
  - platform: state
    entity_id: !input button_sensor
    to: 'down_hold'
  - platform: state
    entity_id: !input button_sensor
    to: 'down_release'

action:
  - variables:
      action: "{{ trigger.to_state.state }}"

  - choose:
      - conditions: "{{ action == 'up' }}"
        sequence: !input remote_button_up
      - conditions: "{{ action == 'up_hold' }}"
        sequence: !input remote_button_up_hold
      - conditions: "{{ action == 'up_release' }}"
        sequence: !input remote_button_up_release
      - conditions: "{{ action == 'circle_click' }}"
        sequence: !input remote_button_circle
      - conditions: "{{ action == 'circle_hold' }}"
        sequence: !input remote_button_circle_hold
      - conditions: "{{ action == 'circle_release' }}"
        sequence: !input remote_button_circle_release
      - conditions: "{{ action == 'down' }}"
        sequence: !input remote_button_down
      - conditions: "{{ action == 'down_hold' }}"
        sequence: !input remote_button_down_hold
      - conditions: "{{ action == 'down_release' }}"
        sequence: !input remote_button_down_release

Changelog

  • 2021-03-01: Initial version

If you have any issues or questions, please let me know :slight_smile:

1 Like

Thank you for this. I made 3 different automations to use the Switch Mini. This will help a lot. :slight_smile:

Unfortunately this works only for zigbee2mqtt, while I’m using ZHA, which doesn’t provide an entity for the device, I only have the device, and one entity (the battery power).

Well yeah, this blueprint is specifically designed for using with Zigbee2MQTT. I don’t use ZHA so I can’t support that in my blueprint :wink:

Yeah, sorry for that, I only noticed after I installed it. :slight_smile:

I might use your blueprint and adapt it to ZHA…I’ll think about it. Thanks anyway for your work.

How would someone go and make such a blueprint? It’s unclear to me how to ‘guess’ the states like “circle_hold”. I assume it’s how Zigbee2MQTT integrated it. But how to know?
How would I go about making a ZHA blueprint for this device?

I’ve searched, but haven’t found a tutorial or something. Can someone point me in the right direction on how to learn how to do it? I would be forever grateful :slight_smile:

hi, did you manage to fix the functionality of this switch with zha

The good @epmatt, solicited by me, kindly developed one of his awesome blueprints for this controller.

Here you can find the discussion: Add support for Osram SMART+ Switch Mini by EPMatt · Pull Request #69 · EPMatt/awesome-ha-blueprints (github.com)

I suggest you (and also @Tinkering) check his doc site: Awesome HA Blueprints | Awesome HA Blueprints (epmatt.github.io)

It’s working very well in my house, I have 4-5 of these controllers. :slight_smile:

1 Like

Thanks, I’ll try.
One question, but is it normal that it is seen as a sensor and not as a switch? and and is it normal that the state is always “unknown”?

Thanks, I solved it, the only thing that is not working for me is the double_center. I don’t know why but it doesn’t work.

We’re totally OT in this thread.

please open an issue here: Issues · EPMatt/awesome-ha-blueprints (github.com)

1 Like

When I look at the docs at zigbee2mqtt.io there is a line that highly recommends legacy to set to false. If you do so, this blueprint doesn’t work as the actions are different.

Thanks for this blueprint
Somewhat off topic question but does anyone know where to get the latest firmware for this device? I don’t seem to get a response when searching I’m Zigbee2mqtt!
Thanks