
监测洗碗机的消耗和周期
为了准确地跟踪洗碗机周期的状况,持续时间,消耗和成本,我在家庭助理中设置了一系列传感器和自动化。 这就是我是如何一步一步地做到这一点的。
1. 洗碗机状态传感器
我创建了一个传感器,名为 Sensor.etat _lave _ 盘子 这让我可以知道设备的当前状态: 关掉, 观察 》 或 在移动中. 该状态是根据所消耗的功率确定的,由 Sensor.lave _ 盘子 _ 功率, 它来自一个连接的插座。
从经验上讲,我定义了以下阈值:
- 关掉 : 小于1W
- 观察 》 : 在1W和20W之间
- 在移动中 : 超过20W
关掉 |
观察 》 |
在移动中 |
以下是我添加到文件的模板 模板.yaml 要创建此传感器:
姓名: 单_id Dishwasher状态: Sensor.etat _lave _ 盘子状态: > {% 设置 power = state('sensor.lave _ dishes _power')| float(0) %} {% 如果功率< 1 %{} off {% Elif Power < 20 %观看 {% 其他 其它 %{\displaystyle }% Endif 的 %} 图标: > {% if is_state('sensor.etat _lave _ dishes', 'End') %MDI:power-plug-off {% Elif is_state('sensor.etat _lave _ dishes', 'Veille') %MDI:sleep {% Elif is_state('sensor.etat _lave _ dishes', 'En marche') %MDI:dishwasher {% 其他 其它 %MDI:help-circle {% Endif 的 %}
2. 循环传感器的起始和结束
为了记录上一个周期的开始和结束时间,我创建了两个传感器: 输入 日期 时 通过 通过 设置/产品和服务/输入 :
- input_datetime.last _cycle _lave _ dishes_debut
- input_datetime.last _cycle _lave _ 盘子 _fin
这些传感器以格式配置 日期和时间.
3. 周期开始时和结束时的消耗传感器
为了计算循环中的能耗,我创建了两个类型的传感器。 input_number 输入 :
- input_number.last _cycle_lave_dishes_conso_au_debut : 记录周期开始时的kWh消耗量。
- input_number.last _cycle_lave_dishes _conso_a_la_fin : 记录周期结束时的kWh消耗量。
我把1000000放在最大值(我们将看到)。
4. 循环时间传感器
该传感器根据记录的开始和结束时间计算以小时和分钟为单位的循环时间。 下面是用到的模板 模板.yaml :
姓名: 单ID Duration Dishwasher Cycle: Sensor.duree _cycle _lave _ 盘子状态: > {% 设置 start = state('input_datetime.last _cycle _lave _ dishes_debut') %} {% set end = state('input_datetime.last _cycle _lave _ dishes _fin') %} {% 如果不以 ['unknown', 'unavailable', 'unavailable', 'unavailable', 'unavailable', 'none', 'one', 'one', 'one', 'one' 'none'] 开始,则不以 ['unknown', 'unavailable', 'none', 'one', 'one'] %} {% 设置 start_t = as_timestamp(strptime(start, ')%Y-%M-%d %H:%M:%S')) %} {% 设置 end_t = as_timestamp(strptime(end, ')%Y-%M-%d %H:%M:%S')) %} {% 如果 end_t < start_t %} 当前周期 {% 其他 其它 %} {% 设置 total_seconds = end_t - start_t %} {% 设置小时 =(总计 _秒 // 3600)| int %} {% 设置分钟 =((总计 _ 秒) % 3600)// 60)| int %{\displaystyle }%dHd" | format(hours, minutes)} {% Endif 的 %} {% Endif 的 %} 图标: mdi:clock-outline
5. 循环 消费 传感
该传感器以kWh计算总循环消耗量,减去末端开始的消耗。 它还考虑了重置仪表的情况。
姓名: "Dishwasher Cycle Consumption": 传感器. 消费 _ 周期 _lave _ 菜肴单位 _ 测量: "KWh" 设备 _ 类: 能源状态_class : 测量状态: > {% 设置首次亮相 = state('input_number.last _cycle _lave _ dishes _conso_au_debut')| float(0) %} {% 设置 fin = state('input_number.last _cycle _la_la_fin')| float(0) %} {% 设置消耗=结束 - 开始 %} {% 如果消费 < 0 %} 0 {% 其他 其它 %} {{consumption | round(3)} {consumption | round(3)} {consumption | round(3)} {consumption | round(3)} {consumption |% Endif 的 %} 图标: mdi:lightning-bolt-circle
6. 循环成本传感器
为了计算循环的成本,我使用了一个传感器,它将kWh的消耗乘以kWh的价格乘以每千瓦时的价格,定义为: input_number.prix_manuel_du_kwh. 以下是模板:
姓名: 单_id洗碗机循环成本: Sensor.cout _cycle _lave _ 菜肴单位 _ 测量: "€" 设备 _ 类 : 货币状况: > { States('sensor.consumption _cycle _lave _ dishes')| float(0)* state('input _number.prix_manuel _du _kwh')θ float(0)round(4)} 图标: mdi:currency-eur
7. 当前循环传感器
为了避免检测错误,我添加了一个类型传感器。 input_boolean 输入 :
- input_boolean.cycle_lave_ dishes_en_cours : 表示一个周期是否在进行中。
8. 循环跟踪自动化
最后,我创建了三个自动化:
- 检测周期的开始,记录消耗和开始时间。
- 检测周期的结束并记录消耗和结束时间。
- 如果周期超过6小时(安全性),则重置跟踪。
化名 : 洗碗机循环 - 开始描述: 触发器: Entent_id : Sensor.etat _lave _ 盘子到: 在 Trigger 上: 国家从: 已绝种为: 小时 : 0分钟: 0秒: 20个条件: 条件: 国家实体_id: input_boolean.cycle_lave_ dishes_en_cours 状态: "off"别名: 如果我们还没有一个正在进行的行动周期: 行动: input_boolean.turn_on 目标: entity_id : input_boolean.cycle_lave_ dishes_en_cours 数据: {}别名: 持续周期为ON - 行动: input_number.set _value 数据: entity_id : input_number.last _cycle _lave _ dishes _conso_au _debut 值: {{ States('sensor.lave _ dishes _energy')| float } : 在开头保存 conso kWh 的值 - 动作: input_datetime.set_datetime 数据: entity_id : input_datetime.last _cycle _lave _ dishes_debut datetime: { now().strftime(')%Y-%M-%d %H:%M:%s')}"别名: 保存周期开始别名的时间和日期: 洗碗机循环 - 结束描述: 触发器: 触发器: 数字 _state 实体 _id : - Sensor.lave _ 菜肴 _ 电源: 小时 : 0分钟: 5秒: 下面0: 20个条件: 条件: 国家实体_id: input_boolean.cycle_lave_ dishes_en_cours 状态: 『上』行动: 行动: input_number.set _value 数据: entity_id : input_number.last _cycle _lave _ 盘子 _conso _a_la_fin 值: {{ States('sensor.lave _ dishes _energy')| float } : 保存结尾的conso - 动作: input_datetime.set_datetime 数据: entity_id : input_datetime.last _cycle _lave _ 盘子 _fin 日期时间: { now().strftime(')%Y-%M-%d %H:%M:%s')}"别名: 备份时间和周期结束日期 - 动作: input_boolean.turn_off 目标: entity_id : input_boolean.cycle_lave_ dishes_en_cours 数据: {}别名: 禁用 Current 周期别名: 洗碗机循环 - 太长周期描述: "如果周期超过6h,则重置标志"触发器: 平台: 国家实体_id: input_boolean.cycle_lave_ dishes_en_course : "on" 用于: "06:00:00"动作: 服务: input_boolean.turn_off 目标: entity_id : input_boolean.cycle_lave_ dishes_en_cours
创建家用电器专用视图
为了清楚地可视化洗碗机的状态和数据,我在家庭助理中创建了一个自定义地图。 该卡允许我实时监控所消耗的功率,设备的状态以及上一次循环的信息。 以下是最终结果以及对所用代码的详细解释。

卡片代码的解释
下面的代码定义了一个组织成部分的视图,以显示与我的洗碗机相关的信息。 以下是每个元素的描述:
类型 : Max_columns 部分: 4 标题: 电路径: 电图标: MDI: 洗衣机部分: 类型: 网格卡 : 类型: 标题: 洗碗机标题 _style : 标题图标 : mdi:dishwasher
解释: 本节定义了一个带有洗衣机图标的名为"Electro"的视图。 该部分的主要标题是『洗碗机』,用洗碗机图标显示。 结构类型 网格 网格, 这允许地图在灵活的网格中组织。
类型: custom:button-card 实体: Sensor.etat _lave _ 菜名: 洗碗机 show_state : 真 show_icon : true color_type : 图标样式 : 卡 : 高度: 183px状态: 值 : 关于颜色: 》#1e90ff 风格: 图标 : 动画 - 动画: Blink 2s 轻松无穷 - 运算符: 默认颜色 : 》#49556c" grid_options: 栏目: 六行: 3
解释: 此卡使用组件 custom:button-card 显示洗碗机的当前状态(Sensor.etat _lave _ 盘子). 它同时显示图标和状态。 如果洗碗机是"On",图标将闪烁蓝色(#1e90ff 的). 否则,它仍然是灰色的。#49556c). 该卡在网格中占据6列和3行。
类型: 衡量实体: Sensor.lave _ 盘子 _ 功率分钟: 0针 : 真实严重性: 绿色: 0 黄色: 60 红色: 1700 grid_options: 栏目: 六行: 3 名字: 单位功率: W max : 1800
解释: 此卡是类型的指示器 标准 计 (jauge)显示洗碗机消耗的电流(Sensor.lave _ 盘子 _ 功率). 测量仪从0到1800 W,颜色区域指示严重程度: 绿色用于低消费,黄色用于适度消费,红色用于高消费。 该表还占据了网格中的6列和3行。
类型: custom:mushroom-entity-card实体: input_datetime.last _cycle _lave _disbut icon_color : 浅绿色名称: 启动 grid_options : 栏目: 四行: 1 布局: 垂直 垂直
解释: 此卡使用组件 custom:mushroom-entity-card 显示最后一个周期的开始时间(input_datetime.last _cycle _lave _ dishes_debut). 图标为浅绿色,地图是垂直组织的。 它在网格中占据4列和1条线。
类型: custom:mushroom-entity-card实体: input_datetime.last _cycle _lave _ 盘子 _fin icon_color : 红色名称: "end" grid _options : 栏目: 四行: 1 布局: 垂直 垂直
解释: 这张图显示了最后一个周期的结束时间(input_datetime.last _cycle _lave _ 盘子 _fin). 图标是红色的,以获得更好的能见度。 它在网格中占据4列和1条线。
类型: custom:mushroom-entity-card实体: Sensor.duree _cycle _lave _ 菜肴图标 _ 颜色: 橙色名称: 持续时间 grid_options : 栏目: 四行: 1 布局: 垂直 垂直
解释: 此图显示了最后一个周期的持续时间(传感器.duree _ 周期 _lave _ 菜肴). 图标是橙色的,地图是垂直排列的。 它在网格中占据4列和1条线。
类型: 自定义:mushroom-entity-card icon_color: 浅绿色名称: Conso最后一个周期实体: 传感器. 消费 _ 周期 _lave _ 菜肴
解释: 这张图显示了最后一个循环的能耗(传感器. 消费 _ 周期 _lave _ 菜肴). 图标是浅绿色的。 它使用网格中大小的默认设置。
类型: 自定义:mushroom-entity-card icon_color: 浅绿色名称: 最后一个实体周期成本: Sensor.cout _cycle _lave _ 菜肴
解释: 这张卡显示了最后一个周期的成本(Sensor.cout _cycle _lave _ 菜肴). 图标也是浅绿色的。 它使用网格中大小的默认设置。
类型: 自定义:apexcharts-card header : 显示 : 真实标题: Power(7 Last Day)show_states : true colorize _states : 真图_span : 7D系列: - 实体: Sensor.lave _ 盘子 _ 电源名称: " " Apex _config : 图表: 高度 : 450 中风: 曲线 : STEPLINE , STEPLINE
解释: 此卡使用组件 custom:apexcharts-card 显示过去7天消耗的电量图(Sensor.lave _ 盘子 _ 功率). 图是彩色的,并显示状态。 图的高度设置为450像素,以获得更好的可读性。
这种观点的优点
- 信息集中化 : 所有洗碗机数据都集中在一个地方,使其易于跟踪。
- 清晰的可视化 : 定制的地图和颜色可以快速区分状态和重要数据。
- 实时监控 : 所消耗的功率和设备的状态将实时更新。
- 可访问历史 : 图表显示了一周内消费的变化。
这种观点非常适合有效地监测洗碗机的消耗和使用,同时关注能源成本。

