Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Bug]: mushroom-template-card perform-action tap action dispatches fan.turn_off instead of fan.oscillate #1888

@cizzop

Description

@cizzop

Requirements

  • I checked the troubleshooting section in the README to verify that I have the latest Mushroom version.
  • I did a search to see if there is a similar issue or if a pull request is open.
  • I have read the state of card mod support (in pin issues) and understand card mod support is not provided in this repository.

Current Behavior

When fan.oscillate is called via a perform-action tap action on a mushroom-template-card, Home Assistant core dispatches fan.turn_off instead of fan.oscillate, causing the fan to turn off entirely.

Expected Behavior

fan.oscillate should be dispatched as specified in the tap action configuration, not fan.turn_off.

Steps To Reproduce

  1. Create a mushroom-template-card with the following tap action:
tap_action:
  action: perform-action
  perform_action: fan.oscillate
  target:
    entity_id: fan.tower_fan
  data:
    oscillating: false
  1. Ensure the fan entity is on
  2. Press the button
  3. Observe the fan turns off entirely instead of toggling oscillation

Context

YAML state

Environment

- Browser: Chrome
- HA Version: core-2026.3.3
- Mushroom: v5.0.12

Anything else?

dreo_debug_v173_2.log

With homeassistant.core: debug logging enabled, the attached log (dreo_debug_v173_2.log) captures three sequential button presses. All unrelated lines have been removed and personal information has been redacted.

Button Press 1 — Mushroom fan card built-in oscillate button (working correctly)

Line 1 — HA core receives a legitimate fan.oscillate service call:

[homeassistant.core] Bus:Handling <Event call_service[L]: domain=fan, service=oscillate, service_data=entity_id=fan.tower_fan, oscillating=False>

The fan integration correctly sends shakehorizon: false to the device and receives a full ACK. ✅

Button Press 2 — Mushroom fan card built-in oscillate button (working correctly)

Line 29 — HA core receives a legitimate fan.oscillate service call:

[homeassistant.core] Bus:Handling <Event call_service[L]: domain=fan, service=oscillate, service_data=entity_id=fan.tower_fan, oscillating=True>

The fan integration correctly sends shakehorizon: true to the device and receives a full ACK. ✅

Button Press 3 — mushroom-template-card perform-action tap action (broken)

Line 57 — HA core receives fan.turn_off instead of fan.oscillate:

[homeassistant.core] Bus:Handling <Event call_service[L]: domain=fan, service=turn_off, service_data=entity_id=fan.tower_fan>

The fan integration correctly handles the turn_off call it received and sends poweron: false — turning the fan off entirely. ❌

The tap action on the mushroom-template-card was configured identically to the working HA core button card. The only difference is the card type. This was confirmed by testing the same perform-action configuration on a native HA core button card, which dispatched fan.oscillate correctly (see home-assistant/core#166437).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions