找回密码
 立即注册

微信扫码登录

搜索
查看: 61|回复: 0

[基础教程] 电子秤动态体重+手动认领流程分享

[复制链接]

20

主题

368

回帖

2586

积分

论坛DIY达人

积分
2586
金钱
2188
HASS币
40
发表于 7 小时前 | 显示全部楼层 |阅读模式
s7这玩意儿之前感觉接入了也只能看个体重,加上家里的十几块电子秤还能用就一直没买,直到前几天刷到有大佬居然还在研究[url=更新【全功能】s7体https://bbs.hassbian.com/thread-30967-1-1.html]这货[/url],而且进展颇大,火速斥巨资购入了一个,打算先玩着等大佬固件。到手测完就刷了a2633063大佬的固件,趁着周末压榨ai搞了个符合使用习惯的流程出来。


功能:
  • 会根据已有数据动态匹配称重人员,只要同一人某两次称重的差值不超过nodered中设置的tolerance值,理论上可以随着体重变化一直自动匹配,灵感来自comeon_000,感谢大佬
  • 当存在匹配到超过1个人员或没有匹配到人员时数据会保存,可通过认领流程认领
  • 1分钟之内连续2次称重除了给出2次称重值外还会给出2次的差值,用来称小猫小狗或者小货物之类的
  • tts流程也做了的,调用即可

1中的数据优先级为:HA人员体重数据(称重或手动设置)>nodered预设数据>手动认领

无用数据搞了个认领人`无用数据`,流程跟认领一样

食用方法:
HA中辅助元素中新建如下实体
需创建的实体2.png 需创建的实体1.png
注意:人员格式统一前缀为:“input_number.weight_”
具体选项查看附件中的图片

HA导入自动化
alias: 动态加载未认领记录
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_text.scale_unidentified_list
    to: null
conditions: []
actions:
  - action: input_select.set_options
    data:
      entity_id: input_select.scale_claim_record
      options: >
        {% set list = states('input_text.scale_unidentified_list').split(',') if
        states('input_text.scale_unidentified_list') else [] %} {% set options =
        list | map('regex_replace', find='(.*)\\|(.*)', replace='\\1 kg - \\2 |
        \\1|\\2') | list %} {{ ['空'] + options if list else ['空'] }}
  - action: input_select.select_option
    data:
      entity_id: input_select.scale_claim_record
      option: 空
mode: single


界面添加
前端.png
下面的未认领记录是markdown,选空白卡片导入
type: markdown
content: >
  ### 未认领记录(剩余{{ states('input_text.scale_unidentified_list').split(',') |
  length if states('input_text.scale_unidentified_list') else 0 }}条)

  {% set list = states('input_text.scale_unidentified_list').split(',') if
  states('input_text.scale_unidentified_list') else [] %}

  {% for item in list if item and item != '' %}  {# 额外过滤空字符串,避免空行 #}

  - 体重:{{ item.split('|')[0] }} kg 
    时间:{{ item.split('|')[1] | regex_replace(find='(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})', replace='\\1/\\2/\\3 \\4:\\5:\\6') }}
  {% else %}

  - 暂无未认领记录

  {% endfor %}
style:
  padding: 10px
  background: null
  border-radius: 8px


nodered导入流程
需要修改的地方
需修改的节点总览.png
具体修改还是看附件哈
附件.7z (658.42 KB, 下载次数: 1)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-28 23:49 , Processed in 0.131540 second(s), 6 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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