Hallo ich habe heute mal bisschen mit der Button Card rumgespielt und zwar zeige ich mit folgendem Code die ON TIME vom Switch bzw einem Licht an. Wenn off ausgegraut wenn ON dann in rot die Stunden und Minuten.
type: custom:button-card
entity: switch.wohnzimmer_fernseher
state:
- value: 'on'
styles:
label:
- color: red
label: |
[[[
var now = new Date();
var lastChangedTime = new Date(entity.last_changed);
// Zeitdifferenz in Millisekunden
var diffTime = now - lastChangedTime;
// Umrechnung in Stunden und Minuten
var hours = Math.floor(diffTime / 3600000);
var minutes = Math.floor((diffTime % 3600000) / 60000)-1;
var hoursStr = hours.toString().padStart(2, '0');
var minutesStr = minutes.toString().padStart(2, '0');
if (entity.state === "on") {
return `${hoursStr}:${minutesStr}`;
} else {
return '00:00';
}
]]]
show_label: true
styles:
card:
- height: 100%
label:
- font-family: segment7
- font-size: 20px
Sieht dann so aus:
Jetzt meine Fragen…
- Frage Gibt es ein Möglichkeit das irgendwie noch einfacher zu lösen? Ich möchte es nicht mit …
show_last_changed: true
machen , weil ich das gerne in dem 7 Segment Style möchte.
- Frage. Kann ich das irgendwie machen das ich den Code Speicher und in öfter nutzen kann? Damit wenn ich was ändere, ihn nur einmal änderen muss und nicht bei allen 20 Button Cards deie es am Ende werden.
Wahrscheinlich mit einem Template aber das verstehe ich noch nicht wirklich.
Schöne Grüße und Schönen Sonntag
Mastershort