Read the statement by Michael Teeuw here.
MMM-KitchenTimer - Touch-friendly countdown timer
-
@Niggich On the HA side you would listen for the timer topic.
alias: Start Echo timer from MagicMirror triggers: - trigger: mqtt topic: magicmirror/kitchen-timer/started actions: - action: media_player.play_media target: entity_id: media_player.kitchen_echo data: media_content_type: custom media_content_id: >- set a timer for {{ trigger.payload_json.remainingSeconds | int }} seconds -
@bwente Ok, thank you. So I don’t need to configure something at the MMM-MQTTbridge just in HA?
edit: I try the whole afternoon, but I don’t know how to do. I also try it with MMM-HomeAssistant.
-
Something like this for your MMM-MQTTbridge config on your mirror.
{ module: "MMM-MQTTbridge", disabled: false, config: { mqttServer: "mqtt://USERNAME:PASSWORD@192.168.1.10:1883", stringifyPayload: true, mqttConfig: { // This example only sends MagicMirror events to MQTT. listenMqtt: false, interval: 300000, }, notiConfig: { listenNoti: true, ignoreNotiId: ["CLOCK_MINUTE", "CLOCK_SECOND", "NEWS_FEED"], ignoreNotiSender: ["system"], qos: 0, }, }, },then edit
~/MagicMirror/modules/MMM-MQTTbridge/dict/notiDictionary.jsvar notiHook = [ { notiId: "KITCHEN_TIMER_STARTED", notiPayload: [ { notiMqttCmd: ["Kitchen timer started"], }, ], }, ]; var notiMqttCommands = [ { commandId: "Kitchen timer started", mqttTopic: "magicmirror/kitchen-timer/started", stringifyPayload: true, retain: false, qos: 0, }, ]; module.exports = { notiHook, notiMqttCommands };after restarting your mirror you should be able to listen for the topic: magicmirror/kitchen-timer/started in Home Assistant developer tools.
-
@bwente Wow, you’re great. My Echo know I want to start a Timer but it’s asking for how long.
-
My Echo know I want to start a Timer but it’s asking for how long.
Great, now that you’ve confirmed MQTT is working, the next step is to add the Home Assistant automation.
alias: MagicMirror kitchen timer started triggers: - trigger: mqtt topic: magicmirror/kitchen-timer/started actions: - action: media_player.play_media target: entity_id: media_player.kitchen_echo data: media_content_type: custom media_content_id: >- set a timer for {{ trigger.payload_json.remainingSeconds | int }} secondsI think that will work. I don’t know if it needs to be escaped or not.
-
@bwente I add the automation already and change it again but the echo still asking “for how log should be the timer”… I also try to fix it with ChatGPT but this was not working.
-
@Niggich looks like
trigger.payload_json.remainingSecondsis empty or double quoted. Can you view just the payload and see? -
@bwente I’m sorry but where I found
trigger.payload_json.remainingSeconds? -
@Niggich in an HA. Automation are variable to help you do want you want
One of those is
trigger. - what started the automation
If you go into HA , settings, automations, pick any one,
Look at the traces (3 dot menu). You can see the variables and values for each step of the automation -
@sdetweil Thank you. I don’t know if I’m right but this is the variable from the traces.
this: entity_id: automation.timer state: 'on' attributes: id: '1786549333845' last_triggered: '2026-08-13T11:33:26.793052+00:00' mode: single current: 0 friendly_name: MagicMirror kitchen timer started last_changed: '2026-08-14T20:14:37.860754+00:00' last_reported: '2026-08-14T20:14:37.860754+00:00' last_updated: '2026-08-14T20:14:37.860754+00:00' context: id: 01M00YK2S42QSK0Q9WAEN19ACF parent_id: null user_id: null trigger: id: '0' idx: '0' alias: null platform: mqtt topic: magicmirror/kitchen-timer/started payload: >- {"status":"running","remainingSeconds":60,"endsAt":1786738603487,"durationSeconds":60,"elapsedRatio":0} qos: 0 description: mqtt topic magicmirror/kitchen-timer/started payload_json: status: running remainingSeconds: 60 endsAt: 1786738603487 durationSeconds: 60 elapsedRatio: 0 -
@Niggich so
trigger.payload.remainingSeconds
-
@sdetweil No, it is not working.
-
@Niggich sorry, this is case sensitive and I had lower case s, see my edit
-
@sdetweil No, it’s not working. This is the automation
alias: MagicMirror kitchen timer started triggers: - trigger: mqtt topic: magicmirror/kitchen-timer/started actions: - action: media_player.play_media target: entity_id: media_player.echo_show_kuche data: media: media_content_id: >- set a timer for {{ trigger.payload.remainingSeconds | int }} seconds media_content_type: custom metadata: {} -
@Niggich if you examine the traces , what error is reported?
-
if you examine the traces , what error is reported?
This Error is shown: “Error rendering data template: UndefinedError: ‘str object’ has no attribute ‘remainingSeconds’”
When I change the trigger back to
trigger.payload_json.remainingSecondsis no Error reported an the Echo asks for how long should be the timer.The traces-Log says this.
params: domain: media_player service: play_media service_data: entity_id: - media_player.echo_show_kuche media_content_type: custom media_content_id: set a timer for 60 seconds target: entity_id: - media_player.echo_show_kuche running_script: false -
@Niggich ok. Good info
I need to test this myself, but won’t be able to til tomorrow sometime. I also need to use my echo device which is currently not used
-
@sdetweil Ok, don’t worry. I’m happy you help me. Thank you!
EDIT:
I made a copy of the automation and put a custom number of seconds to trigger. The Echo still asks for how long. The I changed from seconds to minutes an the timer starts.
EDIT2: When I change the trigger to German language like this
starte einen {{ trigger.payload_json.remainingSeconds | int }} sekunden timerthe Timer starts. The only thing is that the Echo almost 4 seconds need to start the timer. -
@Niggich awesome feedback
-
@sdetweil Yeah that’s great. Do you an Idea for the delay between Mirror an Echo?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login