Es werden alle Batterien überwacht, die den Tag "LowBattery" (Property) haben. Man muss also nicht eine bestimmte Gruppe angeben. Die Selektionsgrenze(n) ist(sind) skalierbar.
Der Yaml-Code:
Code: Alles auswählen
uid: battery_charging_status
tags:
- peter
- rich
- rlk_battery_status - derivation
- null
props:
parameters:
- default: "55"
description: Maximum percentage to show in the widget
label: Max Percent
name: max
required: false
type: INTEGER
min: 0
max: 100
- default: "50"
description: The percentage above which green is used
label: Green Level
name: green
required: false
type: INTEGER
min: 0
max: 100
- default: "39"
description: The percentage above which orange is used
label: Orange Level
name: orange
required: false
type: INTEGER
min: 0
max: 100
- default: Battery Charging Status /Ladezustand
description: Title used for the widget to the left of the colon.
label: Title
name: title
required: false
type: TEXT
parameterGroups: []
timestamp: Jul 15, 2025, 9:28:03 AM
component: oh-list-card
config:
title: =props.title
style:
background: linear-gradient(to bottom left,#FA8072 30%,#00FFFF 60%)
border-radius: var(--f7-card-expandable-border-radius)
slots:
default:
- component: oh-repeater
config:
filter: Number.parseFloat(items[loop.item.name].state) <= props.max
for: item
fragment: true
itemTags: LowBattery
sourceType: itemsWithTags
slots:
default:
- component: oh-list-item
config:
badge: "=(items[loop.item.name].displayState === undefined) ? loop.item.state :
items[loop.item.name].displayState"
badgeColor: '=(Number.parseFloat(loop.item.state) > props.green) ? "green" :
(Number.parseFloat(loop.item.state) > props.orange) ? "orange" :
"red"'
icon: '=(Number.parseFloat(loop.item.state) > props.green) ? "f7:battery_100" :
(Number.parseFloat(loop.item.state) > props.orange) ?
"f7:battery_25" : "f7:battery_0"'
iconColor: '=(Number.parseFloat(loop.item.state) > props.green) ? "green" :
(Number.parseFloat(loop.item.state) > props.orange) ? "orange" :
"red"'
item: =loop.item.name
title: =loop.item.label