Eine moderne Home Assistant Lovelace Card mit Spinner-Interface im iOS-Stil zur flexiblen Datums- und Zeitauswahl für input_datetime, date und time Entities.
| Card Ansicht | Date Spinner | Time Spinner | Week Forecast |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
📅 Datums- und Zeitauswahl - Jahr, Monat, Tag, Stunde und Minute mit Spinner im iOS-Stil
🔀 Flexible Entity-Konfiguration - entity, date_entity und time_entity beliebig kombinierbar
⚡ "Heute"-Button - Schnellauswahl für aktuelles Datum im Date-Picker
🎯 Min/Max Jahr-Kontrolle - Aus Entity-Attributen auslesen oder in der Konfiguration überschreiben
🎨 Angelehnt an HA Design - Aussehen ähnlich wie input_datetime Entity Row
📱 Mobile-Optimiert - Responsive Design für iPhone, iPad und andere Geräte
✨ Automatische Icon-Übernahme - Übernimmt standardmäßig das Icon der Entity
⚙️ Flexible Minuten-Schrittweite - 1, 5, 10, 15 oder 30 Minuten
🏷️ Optional Labels in Buttons - Zeigt Datumsformat (dd.mm.yyyy) und Zeit-Format (hh:mm) in den Buttons
🔄 Konfigurierbare Wiederholungen - Anpassbare Anzahl der Spinner-Wiederholungen (1-10)
🖼️ Visueller Editor - Komfortable Konfiguration über die Home Assistant UI mit DE/EN Übersetzungen
🌙 Theme-Unterstützung - Passt sich automatisch an dunkle/helle Themes an
⚡ Lit-basiert - Moderne Web Components mit Shadow DOM
🕐 Universelle Entity-Unterstützung - Funktioniert mit input_datetime.*, date.* und time.* Entities
🌍 Vollständige Mehrsprachigkeit - 16+ Sprachen mit lokalisierten Buttons und Datumsformaten
⏰ 12-Stunden AM/PM-Format - Automatische Format-Erkennung aus HA Benutzereinstellungen
🎯 Smart Save Button - Primary-Farbe nur bei tatsächlichen Änderungen für bessere UX
📐 Optimiertes Button-Layout - Perfekte Ausrichtung in allen Modi (date/time/combined)
📅 Wochenvorschau-Modus - 7-Tage-Datumsauswahl mit intelligenter Monatsnamen-Kürzung (week_forecast)
📏 Kompakte Button-Breite - Optimiert auf 140px für effiziente Raumausnutzung
📳 Haptisches Feedback (iOS) - Fühlbares Feedback beim Scrollen in HA iOS App (konfigurierbar)
🎯 Smart Forecast-Vorwahl - Vergangene Daten wählen im Wochenmodus automatisch „Heute“ vor
- Aktiver Date-/Time-Button erhält jetzt eine Primary-farbene untere Border, solange der Spinner offen ist
- Umsetzung über dynamische
spinner-openKlasse in Abhängigkeit vonoverlayOpenundoverlayType - Vorherige Verbesserungen aus
0.2.1bleiben vollständig enthalten
Alle Details zu allen Versionen stehen im CHANGELOG.md.
- Öffnen Sie HACS in Home Assistant
- Geben Sie in der Suche
DateTime Spinner Cardein - Installieren Sie "DateTime Spinner Card"
Falls die Card noch nicht in HACS verfügbar ist (z.B. während der Review-Phase):
- HACS → Menü (⋮) → Custom repositories
- Repository hinzufügen:
- Repository:
https://github.com/diestrohs/datetime-spinner-card - Typ:
Lovelace
- Speichern, dann HACS neu laden
- Suchen Sie nach "DateTime Spinner Card" und installieren Sie die Card
- Laden Sie
datetime-spinner-card.jsherunter - Kopieren Sie die Datei nach
/config/www/datetime-spinner-card/ - Fügen Sie die Ressource in Home Assistant hinzu:
- Gehen Sie zu Einstellungen → Dashboards → Ressourcen
- Klicken Sie auf Ressource hinzufügen
- URL:
/local/datetime-spinner-card/datetime-spinner-card.js - Ressourcentyp: JavaScript Module
type: custom:datetime-spinner-card
entity: input_datetime.wakeup_timetype: custom:datetime-spinner-card
date_entity: date.appointment_date
time_entity: time.appointment_time
name: Termin
icon: mdi:calendar-clock
icon_color: "#2196f3"type: custom:datetime-spinner-card
date_entity: date.appointment_date
name: Termin
icon: mdi:calendar-check
icon_color: "#4caf50"
week_forecast: trueDieser Modus zeigt eine 7-Tage-Vorschau:
- Heute und Morgen als lesbare Labels
- Weitere Tage im Format "Mo. 31. Sep." (Wochentag 2 Zeichen + Tag + Monat intelligent gekürzt)
- Vergangene Tage sind deaktiviert (nur Zukunftsdaten auswählbar)
- Optimal für Terminbuchungen und Planungen
type: custom:datetime-spinner-card
entity: input_datetime.birthdate
name: Geburtsdatum
icon: mdi:cake-variant
icon_color: "#ff6f7f"
min_year: 1950
max_year: 2023
minute_step: 15
repeat: 3| Option | Typ | Standard | Beschreibung |
|---|---|---|---|
entity |
string | optional | Kombinierte Entity ID (input_datetime.*, date.* oder time.*) - erkennt automatisch Typ |
date_entity |
string | optional | Separate Datums-Entity (date.* oder input_datetime.*) |
time_entity |
string | optional | Separate Zeit-Entity (time.* oder input_datetime.*) |
name |
string | "Terminzeit" |
Anzeigename der Card |
icon |
string | Entity-Icon oder "mdi:clock" |
Material Design Icon (übernimmt automatisch das Icon der Entity, falls nicht gesetzt) |
icon_color |
string | "var(--primary-text-color)" |
Icon-Farbe (Hex, CSS-Farbe oder CSS-Variable) |
layout |
string | "horizontal" |
Layout-Modus: "horizontal" (Icon+Name+Buttons in einer Zeile) oder "vertical" (Icon+Name oben, Buttons darunter) |
show_label |
boolean | false |
Labels in Buttons anzeigen (Datumsformat + Zeitformat) |
week_forecast |
boolean | false |
Wochenvorschau-Modus: 7-Tage-Auswahl mit "Heute", "Morgen" und formatierte Tage (z.B. "Mo. 31. Sep.") |
minute_step |
number | 5 |
Minuten-Schrittweite (1, 5, 10, 15, 30) |
repeat |
number | 3 |
Anzahl Wiederholungen im Spinner (1-10) |
min_year |
number | aus Attribut | Minimales Jahr im Spinner (Fallback: 1900) |
max_year |
number | aus Attribut | Maximales Jahr im Spinner (Fallback: 2099) |
Die Card verfügt über einen vollständigen visuellen Editor in der Home Assistant UI:
- Fügen Sie eine neue Card hinzu
- Suchen Sie nach "DateTime Spinner Card"
- Konfigurieren Sie alle Optionen über die grafische Oberfläche
- Entity-Picker, Icon-Picker und alle Felder sind direkt verfügbar
type: custom:datetime-spinner-card
entity: input_datetime.alarm_time
name: Weckzeit
icon: mdi:alarm
icon_color: "#ff9800"
minute_step: 5
show_label: truetype: custom:datetime-spinner-card
date_entity: date.appointment_date
time_entity: time.appointment_time
name: Termin
icon: mdi:calendar-clock
icon_color: "#2196f3"
minute_step: 15
repeat: 5type: custom:datetime-spinner-card
entity: input_datetime.birthday
name: Geburtsdatum
icon: mdi:cake-variant
icon_color: "#ff6f7f"
min_year: 1950
max_year: 2023
show_label: truetype: custom:datetime-spinner-card
entity: time.evcc_elroq_repeating_plan_1_time
name: Ladestart
icon: mdi:ev-station
icon_color: "#4caf50"
minute_step: 30
repeat: 5Hinweis: Funktioniert perfekt mit EVCC Scheduler Integration
Die Card ist vollständig mit card_mod kompatibel. Sie können damit benutzerdefinierte Layouts und Designs erstellen.
Ohne card_mod wird die Card wie eine standard HA datetime Card dargestellt:
- Icon links
- Name in der Mitte
- Einfaches Zeit-Button (hh:mm) rechts
- Minimalistisches Design
Mit card_mod können Sie ein Spinner-Grid-Layout erstellen:
type: custom:datetime-spinner-card
entity: input_datetime.wakeup_time
name: Weckzeit
card_mod:
style:
.entity-row: |
display: grid;
grid-template-columns: auto 1fr auto auto;
align-items: center;
gap: 12px;
padding: 16px;
.name: |
font-weight: 500;
.time-btn: |
width: 120px;
border: 2px solid var(--primary-color);
border-radius: 8px;
background: linear-gradient(135deg, rgba(68, 115, 158, 0.1), transparent);
font-weight: bold;
font-size: 16px;type: custom:datetime-spinner-card
entity: input_datetime.appointment_time
name: Termine
icon_color: "#FF6B6B"
card_mod:
style:
.time-btn: |
width: 90px;
background: rgba(255, 107, 107, 0.1);
border: 2px solid #FF6B6B;
color: #FF6B6B;
border-radius: 12px;
font-weight: 600;
transition: all 0.3s ease;
.time-btn:hover: |
background: rgba(255, 107, 107, 0.2);
transform: scale(1.05);type: custom:datetime-spinner-card
entity: time.start_time
name: Startzeit
card_mod:
style:
.entity-row: |
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 20px;
background: var(--primary-background-color);
border-radius: 8px;
border-left: 4px solid var(--primary-color);
.name: |
font-size: 16px;
font-weight: 600;
flex: 1;
.time-btn: |
width: 100px;
height: 40px;
border-radius: 6px;
border: 2px solid var(--primary-color);
background: transparent;
font-weight: bold;
transition: all 0.3s;
.time-btn:hover: |
background: var(--primary-color);
color: var(--primary-background-color);- Home Assistant: 2024.1 oder höher
- Browser: Alle modernen Browser mit ES6+ Support
- Mobil-Optimiert: Vollständig responsive für iPhone, iPad und kleine Bildschirme
- Entities:
input_datetime.*,date.*,time.* - Dienste: Automatische Erkennung (
input_datetime.set_datetime,date.set_date,time.set_value) - Lokalisierung: 16+ Sprachen (de, en, fr, es, it, nl, pl, pt, sv, hu, cs, ro, ru, uk, ja, zh, ko)
- Zeit-Formate: Automatische Erkennung 12h/24h aus HA Benutzereinstellungen
- Datums-Formate: DMY, MDY, YMD basierend auf HA Locale-Einstellungen
- Overlay ist modal (blockiert Hintergrund-Interaktionen)
- Benötigt mindestens eine Entity-Konfiguration (
entityoderdate_entity/time_entity) - Minuten-Schrittweite nur in vordefinierten Werten (1, 5, 10, 15, 30)
✅ Basis-Funktionalität
- Spinner-Interface im iOS-Stil für Datum und Zeit
- Separate oder kombinierte Entity-Konfiguration
- Visueller Editor in Home Assistant UI
✅ Datumsfunktionen
- Jahr, Monat, Tag Auswahl mit Spinner-Wheels
- "Heute"-Button für Schnellauswahl (16+ Sprachen lokalisiert)
- Min/Max Jahr aus Entity-Attributen oder Config
- Automatische Tagesanzahl-Anpassung pro Monat (28-31)
- Highlighting für aktuell ausgewähltes Datum
✅ Zeitfunktionen
- 12-Stunden-Format mit AM/PM-Rad
- 24-Stunden-Format
- Automatische Format-Erkennung aus HA Settings
- Flexible Minuten-Schrittweite (1, 5, 10, 15, 30)
✅ UI/UX
- Button-Layout: "Heute" (links), "Abbrechen" (mitte), "Speichern" (rechts)
- Flexibles Spacing zwischen Buttons (5px minimum)
- Theme-Unterstützung (dunkler/heller Modus)
- Mobile-responsive Design
- Icon-Übernahme von Entity
- Optional Labels in Buttons (Datumsformat + Zeitformat)
- Tile-ähnliches Layout mit rechts-ausgerichteten Buttons
- Adaptive Button-Höhen (40px - 56px)
✅ Lokalisierung
- 16+ Sprachen vollständig unterstützt
- Datums-Format aus HA Locale (DMY/MDY/YMD)
- Zeit-Format aus HA Settings (12h/24h)
- Lokalisierte Button-Texte ("Heute", "Speichern", "Abbrechen")
- Mehr Styling-Optionen
- Animationen konfigurierbar machen
- Tastatur-Shortcuts
- Accessibility-Verbesserungen (ARIA-Labels)
- Custom Date Range Validierung
- Sekunden-Unterstützung
MIT License
Bei Problemen oder Feature-Anfragen erstellen Sie bitte ein Issue auf GitHub.



