Eine ToDoo liste mit Buttons:

Hallo liebe Smart-Home Gemeinde,

ich versuche derzeit mir eine To-Do Liste mit Buttons unter Home Assistant zu basteln.
Finde jedoch nicht so den richtigen Ansatz bzw. entsprechendes Werkzeug.

Was habe ich vor?

Ich möchte eine separate DashBoard Seite zum Beispiel "Aufgaben"
Mit einem Beispiel Blumengießen:
        Button wird alle 3-4 Tage auf "Grün" geschaltet (Bluem gießen Notwendig und
        bei Berührung gilt diese "Aufgabe" als erledigt und wird
        als "grau" dargestellt.
    Müll ausgelehrt:
        Wie Breits oben beschrieben, wenn diese Aufgabe ansteht,
        ist diese rot, nach dem diese erledigt wurde, ist diese grün.
Hier sollen verschiedene Buttons platziert werden, welche durch Berühren
den Status (Farblich oder über Bild) ändern.
Also dies bedeutet zum Beispiel auch, dass ich Bilder einfügen müsste.
Es ist somit auch nicht notwendig das eine Entität dahinter steckt.
Dies könnte zwar interessant werden, sobald sich eine entsprechnende    Waschmaschine im Einsatz befindet, jedoch ist dies aktuell noch nicht der Fall.

Nun habe ich mir bereits node RED installiert.

Nun hier meine eigentliche Frage jemand von euch eine Idee, wie und ich wo am besten Anfrage?Aus meiner Sicht würde ich wie folgt vorgehen.

Bilder erstellen
    Welches Format muss ein Bild haben?
    Wo muss das Bild hinterlegt werden?
    Wie hinterlege ich ein neues Bild auf den Button?
    Wo mache ich das neue Bild bekannt?
    Wie erstelle ich eine neue Kachel, bzw. Button?
    Ich vermute mal das dies ausschließlich mit nodeRED erolgt.
    könntet Ihr mir hier behilflich sein und mir erklären, wie ich dies vornehme?

Ich bekam bereits den Tipp dies über die Einkaufsliste zu vollziehen, aber ich habe an dieser Stelle keine Möglichkeit gesehen überhaupt einen Butto neu zu erstellen diesen somit auch entsprechend zu veröffentlichen… :frowning:

    Muss hier eventuell auch in die yaml?
    Wenn ja was?

Habe ich etwas meinem Projekt etwas übersehen?

Gibt es hierzu eventuell irgendwelche guten Videos, welche eine
Stepp by Stepp Anleitung bieten. ???

Viele Grüße
Micha

Hallo zusammen,

habe gerade das gefühl, dass dies ein nicht Umsetzbares Projekt ist… :frowning:
Hat niemand eine Idee??

Viele grüße

Sowas in der Art?

Ist das Fälligkeit Datum Heute ist das Icon grün eingefärbt.

Klickt man drauf, wird das Fälligkeit Datum auf Heute + 4 Tage eingestellt.
Und färb sich grau ein.

Blumen giesen

Dazu brauchst Du einen Datum Helfer und ein Script, welches beim Klick auf die Karte ausgeführt wird.

Das Script

alias: Blumen gießen
sequence:
  - service: input_datetime.set_datetime
    metadata: {}
    data:
      date: "{{ (as_timestamp(now()) | as_datetime).date() + timedelta(days = 4) }}"
    target:
      entity_id: input_datetime.blumen_giessen
mode: single
icon: mdi:flower

Habe dann eine Mushroom Template Karte verwendet.

square: true
type: grid
cards:
  - type: custom:mushroom-template-card
    primary: |+

    secondary: |-

      Blumen giesen
    icon: mdi:flower
    fill_container: false
    layout: horizontal
    multiline_secondary: true
    icon_color: >-
      {{ iif( (states('input_datetime.blumen_giessen') | as_datetime).date() == 
      (as_timestamp(now()) | as_datetime).date(), "green", "grey") }}
    tap_action:
      action: call-service
      service: script.blumen_giesen
      target: {}

Gruß
Osorkon

1 „Gefällt mir“

Hallo Osorkon,

besten Dank… :blush: Das sieht genau so aus, was ich mir
gerade aktuell wünsche und suche!.. :slight_smile:

Vielen lieben Dank, jetzt kann ich das basteln anfangen… :smiley:

Grüße
Adarimisator…

Das ganze kann Du natürlich beliebig ausschmücken. :grinning:

Blumen giessen

type: vertical-stack
cards:
  - type: custom:mushroom-template-card
    primary: 'Blumen gießen '
    secondary: |-
      {% set heute = as_timestamp((as_timestamp(now()) | as_datetime).date()) %}
      {% set faellig = as_timestamp(states('input_datetime.blumen_giessen')) %}
      {% set tage =  (faellig - heute)/86400 %}
      {% if tage == 0 %}
      fällig heute
      {% elif tage > 0 %}
      fällig in {{ tage | int(0)  }} Tag(en)
      {% else %}
      überfällig seit {{ tage | abs | int(0)  }} Tag(en)
      {% endif %}
    icon: mdi:flower
    icon_color: |-
      {% set heute = as_timestamp((as_timestamp(now()) | as_datetime).date()) %}
      {% set faellig = as_timestamp(states('input_datetime.blumen_giessen')) %}
      {% if faellig < heute %}
      red
      {% else %}
      {{ iif(faellig == heute, "green", "grey") }}
      {% endif %}
    fill_container: false
    entity: script.blumen_giesen
    badge_icon: |-
      {% set heute = as_timestamp((as_timestamp(now()) | as_datetime).date()) %}
      {% set faellig = as_timestamp(states('input_datetime.blumen_giessen')) %}
      {% set tage =  (faellig - heute)/86400 %}

      mdi:numeric-{{tage | int | abs }}
    badge_color: |-
      {% set heute = as_timestamp((as_timestamp(now()) | as_datetime).date()) %}
      {% set faellig = as_timestamp(states('input_datetime.blumen_giessen')) %}
      {% set tage =  (faellig - heute)/86400 %}
      {% if tage < 0 %}
      red
      {% else %}
      {{ iif(tage == 0, "orange", "green") }}
      {% endif %}
  - type: entity
    entity: input_datetime.blumen_giessen

Gruß
Osorkon

4 „Gefällt mir“

Hi Osorkon,

ja wie geil ist das denn… :smiley:
Verdammt, und ich kann NICHT Programmieren… .:frowning:
Das wird nun natürlich sofort eingesetzt…

Das gefällt mir echt SAU gut !!!
Wenn ich nun genau sowas für andere Dinge benötigen würde, wie und
wo müsste in Deinem neuen Script welche werte ändern, dass dies natürlich
dann auf die anderen To-Do entsprechend angewendet wird wie dann zum Beispiel
Müll raus bringen…

Viele liebe Grüße
Adarimisator (Micha)

1 „Gefällt mir“

Mit Programmierung hast wenig zu tun.
Ist nur ein wenig templating. :wink:

Für jede ToDo Aktivität ist ein eigener Helfer input_datetime und ein Script notwendig , welches die nächste Fälligkeit um +X Tage dann in die die Zukunft setzt.

Das Bsp. Blumen Gießen kannst Du dann als Vorlage nutzen. Und in der Karte dann einfach die Entitäten des input_datetime anpassen.

Wenn die Tage dazu komme. Könnte ich versuchen ein macro zu schreiben. Das würde es erleichtern weitere ToDo Aktivitäten anzulegen.

Gruß
Osorkon

1 „Gefällt mir“

Hallo Osorkon,

das wäre wirklich sehr nett von Dir, vielen herzlichen Dank auch dafür
ich gehe davoon aus, dass dies mir wirklich sehr helfen würde.

Viel vielen lieben Dank dafür, ich weiß das echt zu schätzen und freue mich sehr
über Deine Hilfe. Betsen Dank dafür… :slight_smile:

Wenn ich Deine weitere Ausführung richtig verstehe, habe ich beim erstellen des Helfers wohl ebenfalls einen Fehler gemacht…


(als Schalter angelegt…)

Wäre dieser Helfer " Datum und/oder Uhrzeit erstellen" wohl eher das richtige?
Wie Du wahrscheinlich gerade unschwer erkennen kannst, habe ich extrem wenig erfahrung was dieses Thema betrifft… :smiley: :wink:

Ich habe mich zwar bereits schon echt gut in das Thema “Home Assistant” eingearbeitet, jedoch steckt alles noch in Kinder-Schuhen…

Viele Grüße
Micha

Nachtrag:
@ Osorkon:

mir kommt gerade noch eine idee…
Könnte man dies auch in einem Log-Buch Festhalten welcher Account
die jeweilig anstehende Aufgabe erledigt hat?

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Schaue Dir dazu mal die Logbuch Karte an.
Oder die Custom Logbook Card

Gruß
Osorkon

Hi Osorkon,

Dnake Dir… :+1:

Viele Grüße
Micha

Hallo Zusammen,

entschuldigt bitte meine Frage, ich bin jedoch noch ein ziemlicher Anfänger in Sachen Home Assistant.

Wie füge ich den das Skript zum “weiterklicken” des Datums ein? Über den Punkt “Automationen & Szenen” dort lässt sich das Skript nicht speichern.

Danke schon mal für eure Hilfe!

Moin,

der erste Teil, den @Osorkon zur Verfügung gestellt hat, ist das Skript,

alias: Blumen gießen
sequence:
  - service: input_datetime.set_datetime
    metadata: {}
    data:
      date: "{{ (as_timestamp(now()) | as_datetime).date() + timedelta(days = 4) }}"
    target:
      entity_id: input_datetime.blumen_giessen
mode: single
icon: mdi:flower

Das kann man hier einfügen,





Der zweite Teil ist für das Dashboard gedacht, und muss dann z. B. in eine Manuelle Karte eingefügt werden


VG
Bernd

P.S.: solltest Du das letzte Codebeispiel genommen haben und diesen Fehler bekommen


Dann musst Du dir noch einen Helfer erstellen blumen_gießen, ich habe meinen ausversehen daytime genannt :frowning:

Wahnsinn, tausend Dank für die super Erklärung! Der Teil mit der manullen Karte war mir nicht ganz klar, da lag mein Fehler.