Ikea Tradfri button not updating with Zigbee binding

These are just names for openHAB if i remember correctly. No hard connection to zigbee2mqtt. The connection to zigbee2mqtt is done via the items and channels.

But i usually set the friendly name to the device name, in this case SZMS. (SZ defines the room, MS the device type)

Oh, so those are just acronyms? Do they have any sort of affect on the Semantic Model or can I just call them whatever makes sense?

No effect as far as i know. Just name as you like.

Okay, I’ve finally had some success!! For the complete solution, this is what I did:

  1. Purchase adapter that is recommended for use with zigbee2mqtt
  2. Install Mosquitto
    a. Run openhabian-config
    b. Select Optional Components
    c. Select Mosquitto and follow the prompts; choose a username and password if desired
  3. Install zigbee2mqtt
    a. Run openhabian-config
    b. Select Optional Components
    c. Select Zigbee2MQTT and follow the prompts; include the username and password from 1.c. if included. Be sure to select the correct adapter for your zigbee transceiver.
  4. Install the MQTT binding in the OH3 UI
  5. Create a MQTT Broker thing in the OH3 UI and use localhost for the hostname/IP
  6. Add devices to the Zigbee2MQTT system using the UI at [IP address]:8081
    a. Give the devices friendly names in the UI
  7. Create a Generic MQTT thing in the OH3 UI; ensure you select the MQTT broker created in step 4
  8. Add channels for the desired channels exposed by the device
    i.e.: MQTT State Topic: zigbee2mqtt/[Friendly Name]/action
  9. Add items for the channels created in step 7

Now I just need to think of how to best-handle triggering on a button press since the ‘action’ state doesn’t change from “on” between multiple button presses. Unless there’s a better scheme, the only thing I can think to trigger off is a change in the ‘action’ or ‘battery’ or ‘linkquality’ channels since at least one of those should change with each button press…

Use string type channel and use on change trigger, but then on your code, update the item to blank.

Very clever! Thanks for the suggestion!