找回密码
 立即注册
搜索
查看: 422|回复: 10

[已解决] 关于mushroom和card-mod的图标旋转

[复制链接]

2

主题

26

回帖

213

积分

中级会员

积分
213
金钱
185
HASS币
0
QQ
发表于 2025-5-29 15:01:03 | 显示全部楼层 |阅读模式
本帖最后由 s763279737 于 2025-5-29 22:35 编辑

我给我的空调做了一个100级的风速调节,现在我想让图标旋转起来,并且旋转速度随风速大小变化。
但是我card-mod的代码试了很多种都没用,求大佬改正。

卡片的样子

卡片的样子

原始代码:
type: custom:mushroom-number-card
entity: number.211106240247007_fan_speed
secondary_info: state
primary_info: none
layout: horizontal
visibility:
  - condition: state
    entity: climate.211106240247007_climate
    state_not: "off"
deepseek给我的几种代码:

card_mod:
  style: |
    /* 定义旋转动画 */
    @keyframes spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
    
    /* 根据风速动态设置旋转速度 */
    mushroom-shape-icon {
      {% set speed = states(entity) | int %}
      {% if speed > 0 %}
        animation: spin {{ (2.5 - (speed / 100) * 2) | round(1) }}s linear infinite;
      {% endif %}
    }
card_mod:
  style: |
    /* 定义旋转动画 */
    @keyframes fan-spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
    
    /* 强制穿透所有层级并应用动画 */
    ha-card {
      --animation-duration: {{ (3 - (states(entity)|float/100)*2.5 | round(1) }}s;
    }
    
    mushroom-shape-icon {
      display: flex !important;
      justify-content: center;
      align-items: center;
    }
    
    mushroom-shape-icon > * {
      display: block !important;
      animation: fan-spin var(--animation-duration, 2s) linear infinite;
      animation-play-state: running;
      transform-origin: center center !important;
      {% if states(entity)|int == 0 %}
        animation: none !important;
      {% endif %}
    }


回复

使用道具 举报

2

主题

26

回帖

213

积分

中级会员

积分
213
金钱
185
HASS币
0
QQ
 楼主| 发表于 2025-5-29 17:59:18 | 显示全部楼层

没有用,因为这是个number实体而不是fan实体,所以我没法用蘑菇fan-card(并且蘑菇fan自带旋转),这堆代码在蘑菇number里没用
回复

使用道具 举报

2

主题

26

回帖

213

积分

中级会员

积分
213
金钱
185
HASS币
0
QQ
 楼主| 发表于 2025-5-29 22:34:18 | 显示全部楼层
hungheo 发表于 2025-5-29 20:20
楼主路径没找正确呀
这个是正常的示例:
速度根据自己需求来改

搞定了,选择器不对的原因。
最终这样搞定了。顺便问一下论坛里有没有变量、伪类、选择器的列表啊,我没有搜到。
type: custom:mushroom-number-card
entity: number.211106240247007_fan_speed
secondary_info: state
primary_info: none
layout: horizontal
visibility:
  - condition: state
    entity: climate.211106240247007_climate
    state_not: "off"
card_mod:
  style: |
    ha-state-icon {
      {% set speed = states('number.211106240247007_fan_speed') | int %}
      {% if speed > 0 %}
        animation: spin {{ (2.5 - (speed / 100) * 2) | round(1) }}s linear infinite;
      {% endif %}
    }
    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

回复

使用道具 举报

2

主题

26

回帖

213

积分

中级会员

积分
213
金钱
185
HASS币
0
QQ
 楼主| 发表于 2025-5-29 22:45:45 | 显示全部楼层
bugensui 发表于 2025-5-29 15:12
什么空调能100级调风,一般不是3档吗

美的的大多数空调都可以啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-6-30 12:55 , Processed in 1.565361 second(s), 29 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表