本帖最后由 chinyaolin 于 2017-11-27 14:54 编辑
找到解決方法了, 原來還可以使用以下幾個數學運算符號
{{ 298 // 100 }} -> 將兩個數字相除並返回截斷的整數結果。
{{ 298 % 100}} -> 計算整數除法的餘數。
以下是我原來的問題
抱歉用繁體中文
我的情況是這樣的
我想將三個 input_number 與 一個 input_text 聯動
目前 input_number * 3 -> input_text 已經完成
input_number:
mod_ch_00x:
min: 0
max: 9
step: 1
mod_ch_0x0:
min: 0
max: 9
step: 1
mod_ch_x00:
min: 0
max: 9
step: 1
input_text:
mod_ch_xxx:
initial: 218
min: 0
max: 3
pattern: '[0-9][0-9][0-9]'
automation:
# 頻道百/十/個位數 加總後聯動到 目標頻道
- alias: "when any input_number.mod_ch_*** changed"
hide_entity: True
trigger:
- platform: state
entity_id: input_number.mod_ch_x00
- platform: state
entity_id: input_number.mod_ch_0x0
- platform: state
entity_id: input_number.mod_ch_00x
action:
- service: input_text.set_value
entity_id: input_text.mod_ch_xxx
data_template:
# 下面這會變成 x00+0x0+00x 三個數字元件加總
value: "{{ (states('input_number.mod_ch_x00') | int) *100 + (states('input_number.mod_ch_0x0') | int) * 10 + (states('input_number.mod_ch_00x') | int) }}"
但我現在還想要反向也能達成聯動
也就是說在 input_text 輸入 456, 能夠讓三個 input_number 分別變成 4,5,6
請論壇上的代碼高手幫忙, 或是提供一些思路給我
|