# =============================================================
#  ΚΑΡΤΑ ΦΩΤΙΣΜΟΥ ΜΕ ΕΝΤΑΣΗ ΚΑΙ ΘΕΡΜΟΚΡΑΣΙΑ ΧΡΩΜΑΤΟΣ
#  Τρεις εκδοχές: από την απλή χωρίς HACS, μέχρι τη σύνθετη.
#  Όλα τα σχόλια είναι στα ελληνικά.
# =============================================================
#
#  ΠΡΟΫΠΟΘΕΣΗ ΓΙΑ ΟΛΕΣ:
#  Η οντότητα πρέπει όντως να υποστηρίζει ρύθμιση θερμοκρασίας
#  χρώματος. Έλεγχος:
#    Εργαλεία προγραμματιστή -> Καταστάσεις -> βρες το light.xxx
#    Στα attributes πρέπει να υπάρχει "color_temp" μέσα στο
#    supported_color_modes. Αν υπάρχει μόνο "brightness" ή
#    "onoff", ο σχετικός διακόπτης απλά δεν θα εμφανιστεί.
#
#  Αντικατέστησε παντού το light.saloni με τη δική σου οντότητα.
#
# =============================================================


# -------------------------------------------------------------
# ΕΚΔΟΧΗ 1: TILE CARD  (ενσωματωμένη - ΔΕΝ θέλει HACS)
# -------------------------------------------------------------
# Η πιο σταθερή επιλογή. Δουλεύει σε κάθε εγκατάσταση, δεν
# σπάει σε αναβαθμίσεις και είναι η προτεινόμενη για πελάτες.
# Τα "features" είναι οι μπάρες που εμφανίζονται από κάτω.
# -------------------------------------------------------------

type: tile
entity: light.saloni
name: Σαλόνι

# Το εικονίδιο χρωματίζεται με το πραγματικό χρώμα του φωτιστικού
color: amber

# Πατώντας το εικονίδιο -> άναμμα/σβήσιμο
icon_tap_action:
  action: toggle

# Πατώντας το υπόλοιπο της κάρτας -> αναλυτικό παράθυρο
tap_action:
  action: more-info

features_position: bottom      # bottom ή inline
features:

  # ΜΠΑΡΑ 1: ΕΝΤΑΣΗ (0-100%)
  - type: light-brightness

  # ΜΠΑΡΑ 2: ΘΕΡΜΟΚΡΑΣΙΑ ΧΡΩΜΑΤΟΣ
  # Δείχνει τον γνωστό διαβαθμισμένο διάδρομο από θερμό
  # πορτοκαλί (~2000K) σε ψυχρό γαλάζιο (~6500K).
  - type: light-color-temp


# -------------------------------------------------------------
# ΕΚΔΟΧΗ 2: MUSHROOM LIGHT CARD  (θέλει HACS -> Mushroom)
# -------------------------------------------------------------
# Πιο "στρογγυλή" αισθητική και δίνει την επιλογή να κρύβονται
# οι μπάρες μέχρι να πατήσεις το βελάκι.
# -------------------------------------------------------------

type: custom:mushroom-light-card
entity: light.saloni
name: Σαλόνι
icon: mdi:sofa-outline

# ΟΙ ΤΡΕΙΣ ΔΙΑΚΟΠΤΕΣ ΕΛΕΓΧΟΥ:
show_brightness_control: true    # μπάρα έντασης
show_color_temp_control: true    # μπάρα θερμοκρασίας χρώματος
show_color_control: false        # παλέτα RGB - βάλε true αν θες χρώματα

# ΜΑΖΕΜΕΝΑ Ή ΑΝΟΙΧΤΑ:
# true  = οι μπάρες κρύβονται πίσω από ένα βελάκι (πιο καθαρό)
# false = φαίνονται πάντα (πιο γρήγορο στη χρήση)
collapsible_controls: true

# Το εικονίδιο παίρνει το πραγματικό χρώμα/θερμοκρασία της λάμπας.
# Πολύ χρήσιμο: βλέπεις με μια ματιά αν το φως είναι θερμό ή ψυχρό.
use_light_color: true

layout: vertical                 # ή horizontal
fill_container: false

tap_action:
  action: toggle
hold_action:
  action: more-info


# -------------------------------------------------------------
# ΕΚΔΟΧΗ 3: ΣΥΝΘΕΤΗ ΚΑΡΤΑ ΜΕ ΕΝΔΕΙΞΕΙΣ ΣΕ ΚΕΙΜΕΝΟ
# -------------------------------------------------------------
# Εδώ προσθέτουμε από πάνω μια γραμμή που γράφει με λόγια
# πόσο τοις εκατό είναι η ένταση και πόσα Kelvin η θερμοκρασία.
# Χρήσιμο όταν ο πελάτης θέλει να βλέπει νούμερα, όχι μόνο μπάρες.
#
# Θέλει: Mushroom + stack-in-card + card-mod
# -------------------------------------------------------------

type: custom:stack-in-card
mode: vertical
cards:

  # --- ΕΠΑΝΩ: όνομα + αριθμητικές ενδείξεις ---
  - type: custom:mushroom-template-card
    entity: light.saloni

    primary: Σαλόνι

    # ΤΟ ΒΑΣΙΚΟ ΚΟΜΜΑΤΙ:
    # brightness  -> έρχεται σε κλίμακα 0-255, άρα το μετατρέπουμε
    #                σε ποσοστό (τιμή / 255 * 100).
    # color_temp_kelvin -> έρχεται έτοιμο σε Kelvin.
    #
    # Το state_attr() επιστρέφει "None" όταν το φως είναι σβηστό,
    # γι' αυτό ελέγχουμε πρώτα αν είναι αναμμένο.
    secondary: >-
      {% if is_state(entity, 'on') %}
        {% set fos = state_attr(entity, 'brightness') %}
        {% set kelvin = state_attr(entity, 'color_temp_kelvin') %}
        Ένταση {{ (fos / 255 * 100) | round(0) }}%
        {% if kelvin %}
          · {{ kelvin }}K
          {% if kelvin < 3000 %} (θερμό)
          {% elif kelvin < 4500 %} (ουδέτερο)
          {% else %} (ψυχρό)
          {% endif %}
        {% endif %}
      {% else %}
        Σβηστό
      {% endif %}

    icon: mdi:lightbulb

    # Το εικονίδιο αλλάζει χρώμα ανάλογα με τη θερμοκρασία:
    # κιτρινωπό στα θερμά, γαλάζιο στα ψυχρά.
    icon_color: >-
      {% if not is_state(entity, 'on') %}
        grey
      {% else %}
        {% set kelvin = state_attr(entity, 'color_temp_kelvin') | int(3000) %}
        {% if kelvin < 3000 %} amber
        {% elif kelvin < 4500 %} yellow
        {% else %} light-blue
        {% endif %}
      {% endif %}

    tap_action:
      action: toggle

    card_mod:
      style: |
        ha-card {
          box-shadow: none;
          border: none;
        }

  # --- ΚΑΤΩ: οι δύο μπάρες ---
  - type: custom:mushroom-light-card
    entity: light.saloni

    # Κρύβουμε ό,τι δείχνει ήδη η από πάνω κάρτα,
    # ώστε να μη διπλογράφονται όνομα και κατάσταση.
    primary_info: none
    secondary_info: none
    icon_type: none

    show_brightness_control: true
    show_color_temp_control: true
    collapsible_controls: false     # εδώ τις θέλουμε πάντα ορατές

    card_mod:
      style: |
        ha-card {
          box-shadow: none;
          border: none;
        }


# =============================================================
#  ΣΗΜΕΙΩΣΕΙΣ
# =============================================================
#
#  1. ΔΕΝ ΕΜΦΑΝΙΖΕΤΑΙ Η ΜΠΑΡΑ ΘΕΡΜΟΚΡΑΣΙΑΣ;
#     Το φωτιστικό δεν την υποστηρίζει. Δες την προϋπόθεση
#     στην αρχή του αρχείου. Μονόχρωμες dimmable λάμπες έχουν
#     μόνο ένταση.
#
#  2. ΓΙΑΤΙ 0-255 ΚΑΙ ΟΧΙ 0-100;
#     Η Home Assistant αποθηκεύει εσωτερικά την ένταση σε 8 bit.
#     Η μετατροπή σε ποσοστό γίνεται μόνο για την εμφάνιση.
#
#  3. ΠΑΛΑΙΟΤΕΡΕΣ ΕΚΔΟΣΕΙΣ HA:
#     Αν το color_temp_kelvin δεν δίνει τιμή, δοκίμασε το παλιό
#     attribute "color_temp" (σε mireds) και μετέτρεψέ το:
#       {{ (1000000 / state_attr(entity, 'color_temp')) | round(0) }}
#
#  4. Τα templates δοκιμάζονται πρώτα στα
#     Εργαλεία προγραμματιστή -> Πρότυπα.
#
# =============================================================
