Abfallkalender über ICS Datei

Forum Forum Schnelle Frage Abfallkalender über ICS Datei

Schlagwörter: 

Ansicht von 65 Antwort-Themen
  • Autor
    Beiträge
    • #1034
      xADDRx
      Teilnehmer

      Hallo zusammen,

       

      ich bin der neue :).

      Gerne würde ich unsern Abfallkalender einfügen. Ich habe leider keine Idee wie ich die Termine auslesen soll.

      Ich würde es gerne so abbilden wollen:

      trash

      jemand eine Idee?

       

    • #1129
      Domjo75
      Teilnehmer

      Hallo,

      ich habe das über HACS und ICS realisiert. Als FrontEnd nutze ich Multible Entity Row bzw. button-card.
      Beides macht mich aber nicht glücklich.
      Ich möchte in einer Card, mit der Info wie viele Tage noch verbleiben, angezeigt bekommen.
      Also quasi die Kombinationen aus beiden Welten 🙂

      Unbenannt2
      Unbenannt1

       

      • Diese Antwort wurde geändert vor 2 Monaten, 3 Wochen von Domjo75.
      • Diese Antwort wurde geändert vor 2 Monaten, 3 Wochen von Domjo75.
    • #1134
      David
      Verwalter

      für IOBroker hatte ich mir mal ein Script gebastelt, dass es wie folgt dargestellt hat:

      2020-10-21-10-21-28-Muellabfuhr_Termine_in_Tagen_anzeigen_–_Iobroker_VI10

       

      Steht schon lange auf meiner Liste, dass für HA mal nachzusetzen, aber irgendwie leider recht wenig Zeit aktuell.

    • #1138
      xADDRx
      Teilnehmer

      Ich habe es mittlerweile hinbekommen mit meiner lokalen ics Datei.

       

      calendar:
        - platform: ics
          calendars:
              - name: Müllabfuhr
                url: http://localhost:8123/local/kalender.ics
                includeAllDay: true
      

       

      in lovelace:

                - type: "custom:atomic-calendar-revive"
                  entities:
                  - entity: calendar.mullabfuhr
                  style:
                    top: 46.5%
                    left: 32.8%
                    width: 21%
                    font-family: Sf Display
                    letter-spacing: 0.05vw
                    font-weight: 400
                    color: 'rgba(255, 255, 255, 0.3)'
                    font-size: 0.90vw,
                    background-color: 'rgba(115, 115, 115, 0.2)'
                    border-radius: 0.8vw
                    box-shadow: none
                    transition: none
                    position: absolute
                  maxDaysToShow: 28
                  dateColor: darkgrey
                  dateSize: 90
                  timeColor: white
                  timeSize: 90

       

      • Diese Antwort wurde geändert vor 2 Monaten, 3 Wochen von xADDRx.
      Anhänge:
    • #1141
      Domjo75
      Teilnehmer

      das sieht auch gut aus. Mit dem Atomic Calendar kam ich nicht klar. Mir gehts auch erstmal um die grundsätzliche Funktion.
      Ich habe es jetzt so gemacht.

      Unbenannt12

      Wenn ich Lust und Zeit habe, baue ich das nochmal um. Mit schöneren Icons.
      Viel wichtiger ist, dass ich mir jetzt noch am Tag vorher eine Mail schicken lassen, welche Tonne raus muss.

      Aber schön, dass ich hier ein paar Antworten bekomme. So langsam verstehe ich auch die Syntax von den YAMLs
      🙂

      • Diese Antwort wurde geändert vor 2 Monaten, 3 Wochen von Domjo75.
      • Diese Antwort wurde geändert vor 2 Monaten, 3 Wochen von Domjo75.
      • Diese Antwort wurde geändert vor 2 Monaten, 3 Wochen von Domjo75.
    • #1214
      nofacenocase
      Teilnehmer

      Woher kriegt ihr eure .ics mit den Terminen, wie weit in die Zukunft laufen die?

    • #1217
      Domjo75
      Teilnehmer

      Ich habe mir einen Google Kalender gebaut und da die Termine eingetragen. Ich mache das immer für ein Jahr im Voraus. Früher gabs von unserer Gemeinde nur PDFs, inzwischen gibt es die Termine auch elektronisch.

      Manche Gemeinden stellen aber auch schon fertige ICS Dateien online bereit

    • #1231
      nofacenocase
      Teilnehmer

      Hab meine .ics jetzt bekommen aber worüber habt ihr den .ics Support in HA implementiert? Ich dachte das geht out of the box aber merke gerade das HA platform: ics gar nicht kennt :D?

    • #1233
      Domjo75
      Teilnehmer

      Ich habe mir über HACS „waste_collection_schedule“ installiert

      Dann kommt in die config…yaml:

      <code class="language-markup-templating">
      waste_collection_schedule:
      sources:
      - name: ics
      args:
      url: "https://calendar.google.com/calendar/ical/6l1gak0ar6rtocjec6r5i3gk84%40group.calendar.google.com/priv334fa4/basic.ics"

       

      in meiner Sensor…yaml steht dann das:

      <code class="language-markup-templating">- 
      platform: waste_collection_schedule
          name: Restmuell_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Restmüll
        - platform: waste_collection_schedule
          name: Restmuell_collection
          value_template: '{{value.daysTo}}'
          types:
            - Restmüll
            
        - platform: waste_collection_schedule
          name: Papier_Date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Papier
        - platform: waste_collection_schedule
          name: Papier_collection
          value_template: '{{value.daysTo}}'
          types:
            - Papier
            
        - platform: waste_collection_schedule
          name: bio_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Bio
        - platform: waste_collection_schedule
          name: bio_collection
          value_template: '{{value.daysTo}}'
          types:
            - Bio
            
        - platform: waste_collection_schedule
          name: plastik_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Plastik
        - platform: waste_collection_schedule
          name: plastik_collection
          value_template: '{{value.daysTo}}'
          types:
            - Plastik

      Bestimmt geht das eleganter. Für mich funktioniert das super und nach 10Tagen im „Besitz“ von HA, bin ich durchaus zufrieden 🙂

      • Diese Antwort wurde geändert vor 2 Monaten, 2 Wochen von Domjo75.
    • #1278
      rotweiss4
      Teilnehmer

      Mega Mega Mega!!! Vielen Dank. Klappt einwandfrei.

      Hab zwei Wochen vergeblich versucht das ans laufen zu kriegen. Erst durch einen zufällig ausgewählten Suchbegriff bei google bin ich auf dieses Forum und diesen Thread gestoßen!

      Um dies hier zu komplettieren, erlaube ich mir den Code von Domjos lovelace-Kachel zu veröffentlichen. Ich finde dieses Design sehr gut.

      <code class="language-markup">      - type: entities
              entities:
                - entity: sensor.restmuell_date
                  type: 'custom:multiple-entity-row'
                  name: Schwarze Tonne
                  secondary_info: last-changed
                  entities:
                    - entity: sensor.restmuell_collection
                      name: Abholung in
                      unit: Tage(n)
                - entity: sensor.plastik_date
                  type: 'custom:multiple-entity-row'
                  name: Gelbe Tonne
                  secondary_info: last-changed
                  entities:
                    - entity: sensor.plastik_collection
                      name: Abholung in
                      unit: Tage(n)
                - entity: sensor.bio_date
                  type: 'custom:multiple-entity-row'
                  name: Braune Tonne
                  secondary_info: last-changed
                  entities:
                    - entity: sensor.bio_collection
                      name: Abholung in
                      unit: Tage(n)
                - entity: sensor.papier_date
                  type: 'custom:multiple-entity-row'
                  name: Altpapier
                  secondary_info: last-changed
                  entities:
                    - entity: sensor.papier_collection
                      name: Abholung in
                      unit: Tage(n)

      Weiß jemand wie ich das Wort Datum über die Daten bekomme?

      Grüße

       

    • #1279
      Domjo75
      Teilnehmer

      Das freut mich….
      in der Beschreibung der Multi Entity Rows Card sind ein paar Beispiele drin:
      https://github.com/benct/lovelace-multiple-entity-row

      so z.B.:

      <code class="language-markup-templating">  - entity:  sensor.lovelace_multiple_entity_row
          type: custom:multiple-entity-row
          name: Attributes (show_state=false)
          show_state: false
          entities:
            - attribute: stargazers
              name: Stars
            - attribute: open_issues
              name: Issues
            - attribute: open_pull_requests
              name: PRs
      
      
      		
      	
    • #1283
      rotweiss4
      Teilnehmer
      <code class="language-markup-templating">- entity: sensor.papier_date
        show_state: false
        type: 'custom:multiple-entity-row'
        name: Altpapier
        secondary_info: last-changed
        entities:
             - entity: sensor.papier_collection
               name: Abholung in
               unit: Tage(n)
             - entity: sensor.papier_date
               name: Datum

      Klappt einwandfrei. Vielen Dank.

    • #1297
      andijk
      Teilnehmer

      Hallo zusammen,

      ich bin relativ neu bei HA gelandet und als Elektrotechniker bin ich mehr auf der Hardware Seite als auf der Software Seite zuhause. Auf jeden Fall hat mich die Lösung hier sehr angesprochen und ich habe versucht das ganze bei mir nachzubauen.

      Aber was ich auch mache, ich bekomm das ganze nicht zum laufen. Laut Fehlermeldung im Log muss es irgendwas mit den Sensoren zu tun haben. Hat von euch vielleicht jemand eine Idee wo mein Fehler liegt?

      2020-12-01 08:24:17 ERROR (MainThread) [homeassistant.setup] Error during setup of component waste_collection_schedule
      Traceback (most recent call last):
      File „/usr/src/homeassistant/homeassistant/setup.py“, line 213, in _async_setup_component
      result = await task
      File „/config/custom_components/waste_collection_schedule/__init__.py“, line 93, in async_setup
      api.add_scraper(
      File „/config/custom_components/waste_collection_schedule/__init__.py“, line 163, in add_scraper
      self._scrapers.append(Scraper.create(source_name, -3, customize, source_args))
      File „/config/custom_components/waste_collection_schedule/package/scraper.py“, line 196, in create
      source = source_module.Source(**kwargs)
      TypeError: type object argument after ** must be a mapping, not NoneType
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
    • #1298
      Domjo75
      Teilnehmer

      Hallo zusammen,

      ich bin relativ neu bei HA gelandet und als Elektrotechniker bin ich mehr auf der Hardware Seite als auf der Software Seite zuhause. Auf jeden Fall hat mich die Lösung hier sehr angesprochen und ich habe versucht das ganze bei mir nachzubauen.

      Aber was ich auch mache, ich bekomm das ganze nicht zum laufen. Laut Fehlermeldung im Log muss es irgendwas mit den Sensoren zu tun haben. Hat von euch vielleicht jemand eine Idee wo mein Fehler liegt?

      2020-12-01 08:24:17 ERROR (MainThread) [homeassistant.setup] Error during setup of component waste_collection_schedule
      Traceback (most recent call last):
      File „/usr/src/homeassistant/homeassistant/setup.py“, line 213, in _async_setup_component
      result = await task
      File „/config/custom_components/waste_collection_schedule/__init__.py“, line 93, in async_setup
      api.add_scraper(
      File „/config/custom_components/waste_collection_schedule/__init__.py“, line 163, in add_scraper
      self._scrapers.append(Scraper.create(source_name, -3, customize, source_args))
      File „/config/custom_components/waste_collection_schedule/package/scraper.py“, line 196, in create
      source = source_module.Source(**kwargs)
      TypeError: type object argument after ** must be a mapping, not NoneType
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.
      2020-12-01 08:24:19 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform waste_collection_schedule.sensor: Unable to set up component.

      Moin,

      die Meldungen sagen mir nicht viel. Wurden denn die Sensoren angelegt?

      In den Entwicklerwerkzeugen kannst Du nach den Sensoren/Entitäten suchen.
      Hast Du die Platform „waste-collection-schedule“ installiert ?

    • #1299
      andijk
      Teilnehmer

      Ja die Plattform habe ich über HACS installiert. Es wird allerdings nur ein Sensor angelegt:

      persistent_notification.invalid_config

      mit dem Inhalt:

      title: Invalid config message: The following integrations and platforms could not be set up: – [waste_collection_schedule](https://www.home-assistant.io/integrations/waste_collection_schedule) – waste_collection_schedule.sensor Please check your config and [logs](/config/logs).

    • #1300
      Domjo75
      Teilnehmer

      wenn du die Sensoren nochmal raus nimmst und nur mit dem installierten AddOn startest ? Gibt es dann auch Fehler ?

       

    • #1302
      andijk
      Teilnehmer

      So. Ich hab jetzt die Sensoren raus genommen und auch den waste_collection_schedule neu installiert. Soweit funktioniert auch alles.

      Dann habe ich die Zeilen oben in meine „configuration.yaml“ hinzugefügt. Sieht jetzt so aus:

      <code class="language-markup-templating"># Configure a default setup of Home Assistant (frontend, api, etc)
      default_config:
      
      # Text to speech
      tts:
        - platform: google_translate
      
      
      
      group: !include groups.yaml
      automation: !include automations.yaml
      script: !include scripts.yaml
      scene: !include scenes.yaml
      
      frontend:
        themes: !include_dir_merge_named themes/
      tankerkoenig:
        api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        radius: 5
        fuel_types:
          - "e10"
      waste_collection_schedule:
        sources:
          - name: ics
            args:
            url: "https://calendar.google.com/calendar/ical/op0aeoph92i2rld13hiblnogp8%40group.calendar.google.com/private-32d8e8338bbb391c578479e10fb19504/basic.ics"
      

       

      Wenn ich dann neu Starte kommt es zu folgender Fehlermeldung:

      Logger: homeassistant.setup
      Source: custom_components/waste_collection_schedule/package/scraper.py:196
      First occurred: 12:55:49 (1 occurrences)
      Last logged: 12:55:49

      Error during setup of component waste_collection_schedule

      Traceback (most recent call last):
        File "/usr/src/homeassistant/homeassistant/setup.py", line 213, in _async_setup_component
          result = await task
        File "/config/custom_components/waste_collection_schedule/__init__.py", line 93, in async_setup
          api.add_scraper(
        File "/config/custom_components/waste_collection_schedule/__init__.py", line 163, in add_scraper
          self._scrapers.append(Scraper.create(source_name, -3, customize, source_args))
        File "/config/custom_components/waste_collection_schedule/package/scraper.py", line 196, in create
          source = source_module.Source(**kwargs)
      TypeError: type object argument after ** must be a mapping, not NoneType
      
      Irgendwas scheint an dem Teil "Sources" nicht zu stimmen. Aber ich komm nicht drauf was.......
    • #1303
      Domjo75
      Teilnehmer

      Ich hoffe Du hast die URL von deinem Kalender verfälscht. Sonst kann den nämlich jeder einsehen 😉

      Dann rücke mal bitte das URL ein

      Unbenannt

      • Diese Antwort wurde geändert vor 1 Monat, 2 Wochen von Domjo75.
      • Diese Antwort wurde geändert vor 1 Monat, 2 Wochen von Domjo75.
    • #1310
      andijk
      Teilnehmer

      Danke! Das brachte schon mal einen Teilerfolg ;-)! Der Scheduler startet jetzt ohne Fehlermeldung und auch die Sensoren (habs nur mal mit „Papier“ versucht) werden angelegt. Leider erhält der Sensor keine Werte. Obwohl es in meinem Google Kalender Einträge namens „Papier“ gibt.

      „YAML“ macht mich noch fertig :-)……….

      • #1312
        Domjo75
        Teilnehmer

        😀 😀 Ja, das ging mir anfangs auch so. Ich habe mir angewöhnt, den internen Script-Editor zu nehmen. Der sagt Dir, wenn Du Fehler in der Formatierung hast. Ansonsten gibt es auch noch den Punkt „Konfiguration prüfen“. Da kannst Du vor dem Restart die Syntax checken lassen.
        Ansonsten ist Visual Studio Code ganz gut. Hier gibt es eine Erweiterung für HA. Der bewahrt dich halt nicht vor kapitalen Fehlern 😉

        <code class="language-markup-templating">  - platform: waste_collection_schedule
            name: Papier_Date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - Papier
          - platform: waste_collection_schedule
            name: Papier_collection
            value_template: '{{value.daysTo}}'
            types:
              - Papier

        Hiermit sollten Dir 2 Sensoren angelegt werden.

        • „Papier Date“ gibt Dir das Datum der Abholung
        • „Papier Collection“ gibt die Tage bis zur Abholung

          Unbenannt-1

    • #1311
      rotweiss4
      Teilnehmer

      Zeig mal deinen Code für das Modul aus der Config. Ich versuche mal mitzuhelfen… 🙂

    • #1315
      andijk
      Teilnehmer

      Vielen Dank. Soweit funkzioniert es jetzt schon mal. Jetzt versuche ich noch die restlichen Sensoren einzubinden und dann versuche ich mal die „Kachel“ einzubinden ;-).

      Ich denke weitere Fragen werden folgen 😉

    • #1348
      arganto
      Teilnehmer

      Ich möchte in einer Card, mit der Info wie viele Tage noch verbleiben, angezeigt bekommen. Also quasi die Kombinationen aus beiden Welten

      Hattest Du doch beide auch schon im Sensor und hättest aufsplitten und anders anzeigen lassen können.

      BTW: Wollte hier mal ergänzen und mich für den Thread bedanken, der mich auf einiges gebracht hat. Ich habe im Endeffekt auch waste_collection_schedule genutzt. Mit lokaler ics-Datei und dann drei Sensoren. Und danach dann eine Kombi aus template-entity-row und card-mod.

      Screenshot-2020-12-16-095318

      Die Karte zeigt nun auch heute und morgen statt der Daten an und das Icon ändert auch noch die Farbe von normal auf orange auf rot ab. Insb. wegen des ersten Punkts bin ich dann auch nicht auf multiple_entity_row gegangen, da ich das dort bisher noch nicht mit den templates hinbekommen habe.

      • #1362
        Squatic
        Teilnehmer

        Hallo zusammen,
        nachdem meine Ansage über Alexa leider nicht mehr so funktionieren will wie zuvor, habe ich mich nun auch mal dran gesetzt und mir den Abfallkalender nach Domjo75 Vorlage zusammengebastelt. Funktioniert soweit auch ganz gut jedoch komme ich mit dem Lovelace Dashboard noch nicht so ganz klar. Würde es dir was ausmachen den Code von deiner Vorlage mal hier reinzuposten, da mir die Vorlage eigentlich ganz gut gefällt.

        Vielen Dank aber trotzdem schonmal für die vielen nützlichen Beiträge hier.

    • #1351
      Domjo75
      Teilnehmer

      Ich möchte in einer Card, mit der Info wie viele Tage noch verbleiben, angezeigt bekommen. Also quasi die Kombinationen aus beiden Welten

      Hattest Du doch beide auch schon im Sensor und hättest aufsplitten und anders anzeigen lassen können.

      BTW: Wollte hier mal ergänzen und mich für den Thread bedanken, der mich auf einiges gebracht hat. Ich habe im Endeffekt auch waste_collection_schedule genutzt. Mit lokaler ics-Datei und dann drei Sensoren. Und danach dann eine Kombi aus template-entity-row und card-mod.

      Screenshot-2020-12-16-095318

      Die Karte zeigt nun auch heute und morgen statt der Daten an und das Icon ändert auch noch die Farbe von normal auf orange auf rot ab. Insb. wegen des ersten Punkts bin ich dann auch nicht auf multiple_entity_row gegangen, da ich das dort bisher noch nicht mit den templates hinbekommen habe.

      was meinst Du mit „aufsplitten und anders anzeigen lassen“ ?

    • #1352
      arganto
      Teilnehmer

      Du hattest ja mit Monday, 26.10.2020 (05) schon ohne selbst rechnen zu müssen sowohl Datum als auch die Tage im ersten Screenshot von Dir. Ich habe auch beides in einem Sensor von mir: 1|2020-12-17 und splitte dann einfach für die Anzeige: sensor.abfallkalender_hausmuell_date‘).split(‚|‘)[0] um die 1 zu bekommen die ich dann als „morgen“ als Status anzeige und [1] etwas aufgehübscht als Datum als Second Line. Wäre bei Deiner () ja auch gegangen. Ist aber ja auch wurscht.

       

      • Diese Antwort wurde geändert vor 1 Monat von arganto.
    • #1354
      Domjo75
      Teilnehmer

      ach das meinst Du… Die Abfallgeschichte habe ich in den ersten Tagen meiner Home Assistant „Erfahrung“ gebastelt. Da war ich froh, dass der Kram lief.

      Jetzt würde ich das vermutlich auch anders bauen, aber nun ist es drin und macht was es soll. 😉
      Ehe ich jetzt wieder rumbastel und an einer Stelle was vergesse, lasse ich das einfach so

    • #1363
      arganto
      Teilnehmer

      Hallo zusammen,
      nachdem meine Ansage über Alexa leider nicht mehr so funktionieren will wie zuvor, habe ich mich nun auch mal dran gesetzt und mir den Abfallkalender nach Domjo75 Vorlage zusammengebastelt. Funktioniert soweit auch ganz gut jedoch komme ich mit dem Lovelace Dashboard noch nicht so ganz klar. Würde es dir was ausmachen den Code von deiner Vorlage mal hier reinzuposten, da mir die Vorlage eigentlich ganz gut gefällt.

      Vielen Dank aber trotzdem schonmal für die vielen nützlichen Beiträge hier.

      Gern. Hier für die erste Zeile. Die anderen analog.

      <code class="language-markup-templating">title: Abfallkalender
      type: entities
      entities:
        - type: 'custom:template-entity-row'
          entity: sensor.abfallkalender_hausmuell_date
          style: >
            .secondary {
              font-size:12px;
            }
            .pointer {
              {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
              {% if dateto == '0' %}
                --paper-item-icon-color: #c93636 !important;
              {% elif dateto == '1' %}
                --paper-item-icon-color: #f58d42 !important;
              {% endif %}     
            }
          icon: 'mdi:trash-can'
          name: Hausmüll
          state: >
            {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
            {% if dateto == '0' %}
              heute
            {% elif dateto == '1' %}
              morgen
            {% else %}
              in {{ dateto }} Tagen
            {% endif %}
          secondary: >
            {% set datum = as_timestamp(states('sensor.abfallkalender_hausmuell_date').split('|')[1]) %}
            {% if datum|timestamp_custom('%a') == 'Mon' %}Mo{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Tue' %}Di{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Wed' %}Mi{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Thu' %}Do{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Fri' %}Fr{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sat' %}Sa{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sun' %}So{% endif -%}
            {{ datum|timestamp_custom(', %d.%m.%Y') }} 

      Und mit Sicherheit geht es schöner, insb. das mit den Wochentagen. Aber egal.

    • #1364
      Squatic
      Teilnehmer

      Hallo zusammen,
      nachdem meine Ansage über Alexa leider nicht mehr so funktionieren will wie zuvor, habe ich mich nun auch mal dran gesetzt und mir den Abfallkalender nach Domjo75 Vorlage zusammengebastelt. Funktioniert soweit auch ganz gut jedoch komme ich mit dem Lovelace Dashboard noch nicht so ganz klar. Würde es dir was ausmachen den Code von deiner Vorlage mal hier reinzuposten, da mir die Vorlage eigentlich ganz gut gefällt.

      Vielen Dank aber trotzdem schonmal für die vielen nützlichen Beiträge hier.

      Gern. Hier für die erste Zeile. Die anderen analog.

      <code class="language-markup-templating">title: Abfallkalender
      type: entities
      entities:
        - type: 'custom:template-entity-row'
          entity: sensor.abfallkalender_hausmuell_date
          style: >
            .secondary {
              font-size:12px;
            }
            .pointer {
              {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
              {% if dateto == '0' %}
                --paper-item-icon-color: #c93636 !important;
              {% elif dateto == '1' %}
                --paper-item-icon-color: #f58d42 !important;
              {% endif %}     
            }
          icon: 'mdi:trash-can'
          name: Hausmüll
          state: >
            {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
            {% if dateto == '0' %}
              heute
            {% elif dateto == '1' %}
              morgen
            {% else %}
              in {{ dateto }} Tagen
            {% endif %}
          secondary: >
            {% set datum = as_timestamp(states('sensor.abfallkalender_hausmuell_date').split('|')[1]) %}
            {% if datum|timestamp_custom('%a') == 'Mon' %}Mo{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Tue' %}Di{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Wed' %}Mi{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Thu' %}Do{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Fri' %}Fr{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sat' %}Sa{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sun' %}So{% endif -%}
            {{ datum|timestamp_custom(', %d.%m.%Y') }} 

      Und mit Sicherheit geht es schöner, insb. das mit den Wochentagen. Aber egal.

      Vielen Dank, wie sieht dein Sensor in der Configuration.yaml aus?

    • #1367
      arganto
      Teilnehmer

      Hallo zusammen,
      nachdem meine Ansage über Alexa leider nicht mehr so funktionieren will wie zuvor, habe ich mich nun auch mal dran gesetzt und mir den Abfallkalender nach Domjo75 Vorlage zusammengebastelt. Funktioniert soweit auch ganz gut jedoch komme ich mit dem Lovelace Dashboard noch nicht so ganz klar. Würde es dir was ausmachen den Code von deiner Vorlage mal hier reinzuposten, da mir die Vorlage eigentlich ganz gut gefällt.

      Vielen Dank aber trotzdem schonmal für die vielen nützlichen Beiträge hier.

      Gern. Hier für die erste Zeile. Die anderen analog.

      <code class="language-markup-templating">title: Abfallkalender
      type: entities
      entities:
        - type: 'custom:template-entity-row'
          entity: sensor.abfallkalender_hausmuell_date
          style: >
            .secondary {
              font-size:12px;
            }
            .pointer {
              {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
              {% if dateto == '0' %}
                --paper-item-icon-color: #c93636 !important;
              {% elif dateto == '1' %}
                --paper-item-icon-color: #f58d42 !important;
              {% endif %}     
            }
          icon: 'mdi:trash-can'
          name: Hausmüll
          state: >
            {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
            {% if dateto == '0' %}
              heute
            {% elif dateto == '1' %}
              morgen
            {% else %}
              in {{ dateto }} Tagen
            {% endif %}
          secondary: >
            {% set datum = as_timestamp(states('sensor.abfallkalender_hausmuell_date').split('|')[1]) %}
            {% if datum|timestamp_custom('%a') == 'Mon' %}Mo{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Tue' %}Di{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Wed' %}Mi{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Thu' %}Do{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Fri' %}Fr{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sat' %}Sa{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sun' %}So{% endif -%}
            {{ datum|timestamp_custom(', %d.%m.%Y') }} 

      Und mit Sicherheit geht es schöner, insb. das mit den Wochentagen. Aber egal.

      Vielen Dank, wie sieht dein Sensor in der Configuration.yaml aus?

      <code class="language-markup-templating">waste_collection_schedule:
        sources:
          - name: ics
            args:
              file: "www/abfallkalender.ics"
        day_switch_time: "23:55"
      

      sowie

      <code class="language-markup-templating">sensor:
        - platform: waste_collection_schedule
          name: abfallkalender_papier_date
          value_template: '{{value.daysTo}}|{{value.date}}'
          types:
            - Papiertonne
        - platform: waste_collection_schedule
          name: abfallkalender_gelbersack_date
          value_template: '{{value.daysTo}}|{{value.date}}'
          types:
            - Gelber Sack
        - platform: waste_collection_schedule
          name: abfallkalender_hausmuell_date
          value_template: '{{value.daysTo}}|{{value.date}}'
          types:
            - Hausmuell
      

       

    • #1369
      Domjo75
      Teilnehmer

      Hallo zusammen,
      nachdem meine Ansage über Alexa leider nicht mehr so funktionieren will wie zuvor, habe ich mich nun auch mal dran gesetzt und mir den Abfallkalender nach Domjo75 Vorlage zusammengebastelt. Funktioniert soweit auch ganz gut jedoch komme ich mit dem Lovelace Dashboard noch nicht so ganz klar. Würde es dir was ausmachen den Code von deiner Vorlage mal hier reinzuposten, da mir die Vorlage eigentlich ganz gut gefällt.

      Vielen Dank aber trotzdem schonmal für die vielen nützlichen Beiträge hier.

      Das habe ich wohl überlesen :/ Hier noch meine Card-Config

      <code class="language-markup-templating">type: entities
      entities:
        - entity: sensor.restmuell_date
          icon: 'mdi:delete-empty'
          type: 'custom:multiple-entity-row'
          name: Restmüll
          entities:
            - entity: sensor.restmuell_collection
              name: Abholung in
              unit: Tagen(n)
        - entity: sensor.bio_date
          icon: 'mdi:delete-empty'
          type: 'custom:multiple-entity-row'
          name: Bio
          entities:
            - entity: sensor.bio_collection
              name: Abholung in
              unit: Tagen(n)
        - entity: sensor.plastik_date
          icon: 'mdi:delete-empty'
          type: 'custom:multiple-entity-row'
          name: Plastik
          entities:
            - entity: sensor.plastik_collection
              name: Abholung in
              unit: Tagen(n)
        - entity: sensor.papier_date
          icon: 'mdi:delete-empty'
          type: 'custom:multiple-entity-row'
          name: Papier
          entities:
            - entity: sensor.papier_collection
              name: Abholung in
              unit: Tagen(n)

       

    • #1370
      Domjo75
      Teilnehmer

      Ich lasse mir einen Tag vor einem Ereignis eine eMail schicken, welche Tonne ich rausstellen muss. Damit brauche ich die Anzeige so eigentlich gar nicht mehr

    • #1373
      arganto
      Teilnehmer

      😂 Klar braucht man das im Dashboard nicht. Aber eine Erinnerung in Outlook hatte ich vor 20 Jahren schon. 😉 Mir geht es tatsächlich ums technische Spielen mit meist unsinnigen Dingen.

    • #1376
      Squatic
      Teilnehmer

      Hallo zusammen,
      nachdem meine Ansage über Alexa leider nicht mehr so funktionieren will wie zuvor, habe ich mich nun auch mal dran gesetzt und mir den Abfallkalender nach Domjo75 Vorlage zusammengebastelt. Funktioniert soweit auch ganz gut jedoch komme ich mit dem Lovelace Dashboard noch nicht so ganz klar. Würde es dir was ausmachen den Code von deiner Vorlage mal hier reinzuposten, da mir die Vorlage eigentlich ganz gut gefällt.

      Vielen Dank aber trotzdem schonmal für die vielen nützlichen Beiträge hier.

      Gern. Hier für die erste Zeile. Die anderen analog.

      <code class="language-markup-templating">title: Abfallkalender
      type: entities
      entities:
        - type: 'custom:template-entity-row'
          entity: sensor.abfallkalender_hausmuell_date
          style: >
            .secondary {
              font-size:12px;
            }
            .pointer {
              {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
              {% if dateto == '0' %}
                --paper-item-icon-color: #c93636 !important;
              {% elif dateto == '1' %}
                --paper-item-icon-color: #f58d42 !important;
              {% endif %}     
            }
          icon: 'mdi:trash-can'
          name: Hausmüll
          state: >
            {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
            {% if dateto == '0' %}
              heute
            {% elif dateto == '1' %}
              morgen
            {% else %}
              in {{ dateto }} Tagen
            {% endif %}
          secondary: >
            {% set datum = as_timestamp(states('sensor.abfallkalender_hausmuell_date').split('|')[1]) %}
            {% if datum|timestamp_custom('%a') == 'Mon' %}Mo{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Tue' %}Di{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Wed' %}Mi{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Thu' %}Do{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Fri' %}Fr{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sat' %}Sa{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sun' %}So{% endif -%}
            {{ datum|timestamp_custom(', %d.%m.%Y') }} 

      Und mit Sicherheit geht es schöner, insb. das mit den Wochentagen. Aber egal.

      Vielen Dank, wie sieht dein Sensor in der Configuration.yaml aus?

      <code class="language-markup-templating">waste_collection_schedule:
        sources:
          - name: ics
            args:
              file: "www/abfallkalender.ics"
        day_switch_time: "23:55"
      

      sowie

      <code class="language-markup-templating">sensor:
        - platform: waste_collection_schedule
          name: abfallkalender_papier_date
          value_template: '{{value.daysTo}}|{{value.date}}'
          types:
            - Papiertonne
        - platform: waste_collection_schedule
          name: abfallkalender_gelbersack_date
          value_template: '{{value.daysTo}}|{{value.date}}'
          types:
            - Gelber Sack
        - platform: waste_collection_schedule
          name: abfallkalender_hausmuell_date
          value_template: '{{value.daysTo}}|{{value.date}}'
          types:
            - Hausmuell
      

       

      Vielen Dank nochmals, funktioniert soweit. Habe nur einen kleinen Bug bei mir entdeckt. Papier wird dieses Jahr bei uns nicht mehr abgeholt, einen neuen Kalender für nächstes Jahr gibt es noch nicht, demnach steht im Sensor kein Wert. Es müsste also irgendwie noch ein Else geben, aber ich komme mit dem Editor einfach nicht klar. Jemand eine Idee wie man das möglichst einfach lösen könnte?

      Anhänge:
    • #1378
      arganto
      Teilnehmer

      Die verwendete entity line hat noch einen condition Parameter. Würde die Zeile in dem Fall einfach komplett ausblenden, anstatt alle Werte anzupassen.

      <code class="language-markup-templating">    name: Hausmüll
          state: >
            {% set dateto =
            states('sensor.abfallkalender_hausmuell_date').split('|')[0] %} {% if
            dateto == '0' %}
              heute
            {% elif dateto == '1' %}
              morgen
            {% else %}
              in {{ dateto }} Tagen
            {% endif %}
          condition: >
            {% if states('sensor.abfallkalender_hausmuell_date') != '' %}
              true
            {% endif %}
          secondary: >
      

      Brauchst also nur das fett markierte ergänzen. Ansonsten müsstest Du so ein if in die States und in die Secondary einbauen.

      Wenn Du dennoch was anzeigen willst, kannst Du ja noch eine Textzeile einbauen, wo die Condition == ist.

      • Diese Antwort wurde geändert vor 4 Wochen von arganto.
      • #1389
        Squatic
        Teilnehmer

        Super, klappt einwandfrei. Für die wenigen Tage wo das im Jahr vorkommt bin ich mit der Lösung auf jeden Fall bestens zufrieden.

    • #1380
      Patrick1566
      Teilnehmer

      Hallo,

      ich versuche gerade den Müllkalender in mein Dashboard zu übernehmen aber ich scheitere schon bei der config..yaml.

      Ich habe Waste Collection Schedule in HACS installiert und den HA neu gestartet.

      Wenn ich jetzt die Zeilen in die Config.yaml eintrage und meine Configuration überprüfe bekomme ich folgende Fehlermeldung

      Logger: homeassistant.setup
      Source: setup.py:138
      First occurred: 22:26:29 (4 occurrences)
      Last logged: 22:26:29

      • Setup failed for waste_collection_schedule: Invalid config.
      • Setup failed for sources: Integration not found.
      • Setup failed for url: Integration not found.
      • Setup failed for args: Integration not found

      <hr />

      Invalid config for [waste_collection_schedule]: required key not provided @ data[‚waste_collection_schedule‘][’sources‘]. Got None. (See ?, line ?). Component error: sources – Integration ’sources‘ not found.

      <hr />

      Kann mir da bitte jemand weiterhelfen? Muss man das Modul erst noch irgendwie aktivieren?

       

       

    • #1381
      arganto
      Teilnehmer

      Wenn ich jetzt die Zeilen in die Config.yaml

      Interessant und wichtig für eine Hilfe wären die Zeilen, mit denen Du es aktuell versuchst.

    • #1382
      Patrick1566
      Teilnehmer

      Wenn ich jetzt die Zeilen in die Config.yaml

      Interessant und wichtig für eine Hilfe wären die Zeilen, mit denen Du es aktuell versuchst.

      waste_collection_schedule:
      sources:
      – name: ics
        args:
      sensor:
        – platform: waste_collection_schedule
          name: Restmuell_date
          value_template: ‚{{value.date.strftime(„%d.%m.%Y“)}}‘
          types:
            – Restmüll
        – platform: waste_collection_schedule
          name: Restmuell_collection
          value_template: ‚{{value.daysTo}}‘
          types:
            – Restmüll
        – platform: waste_collection_schedule
          name: Papier_Date
          value_template: ‚{{value.date.strftime(„%d.%m.%Y“)}}‘
          types:
            – Papier
        – platform: waste_collection_schedule
          name: Papier_collection
          value_template: ‚{{value.daysTo}}‘
          types:
            – Papier
        – platform: waste_collection_schedule
          name: bio_date
          value_template: ‚{{value.date.strftime(„%d.%m.%Y“)}}‘
          types:
            – Bio
        – platform: waste_collection_schedule
          name: bio_collection
          value_template: ‚{{value.daysTo}}‘
          types:
            – Bio
        – platform: waste_collection_schedule
          name: plastik_date
          value_template: ‚{{value.date.strftime(„%d.%m.%Y“)}}‘
          types:
            – Plastik
        – platform: waste_collection_schedule
          name: plastik_collection
          value_template: ‚{{value.daysTo}}‘
          types:
            – Plastik
      So wie es oben beschrieben. Wenn ich die Konfiguration überprüfe geht es nicht.
    • #1383
      arganto
      Teilnehmer

      Leerzeichen sind wichtig, sehe vor args nur eins und auch sonsten oft 3 statt vier. Richtige “ oder „“ auch, usw. Sehe da die deutsche Variante. Bau erst mal genau das und nicht nur gob und in etwas das nach, was Du gefunden hast. Nimm notepad, o.Ä. Word oder so ist sicher nicht geeignet. Und hier gibt es zum posten von Code auch die CODE-Funktion, die Du nehmen solltest.

      • Diese Antwort wurde geändert vor 3 Wochen, 6 Tage von arganto.
    • #1387
      Patrick1566
      Teilnehmer

      entities: – entity: sensor.restmuell_collection name: Abholung in unit: Tage(n)

      Hat geklappt. Vielen Dank 🙂

       

      Anhänge:
    • #1391
      Patrick1566
      Teilnehmer

      Hab noch eine Frage. Ich würde gerne noch eine Interaktion mit dem Abfallkalender realisieren. Ich möchte gerne gefragt werden ob die jeweilige Tonne an dem Tag wirklich abgeholt worden ist und möchte dann die Anzahl ermitteln wie oft im Jahr die Tonne abgeholt wurde.

      Hat da vielleicht jemand schon mal etwas in dieser Richtung gemacht und könnte mir helfen. Weiß noch nicht wirklich wie ich da anfangen soll.

      Vielen Dank.

    • #1392
      Domjo75
      Teilnehmer

      Interessante Spielerei 😂

      Man kann Entitäten mit Attributen bestücken. Müsstest du mal googlen. Über den Weg könntest du dann die Abholdaten als Attribut hinterlegen.

      Eventuell geht das so.

      Diddi Hallervorden würde jetzt sagen „ich brauche mehr Details“

       

    • #1394
      arganto
      Teilnehmer

      Hab noch eine Frage. Ich würde gerne noch eine Interaktion mit dem Abfallkalender realisieren. Ich möchte gerne gefragt werden ob die jeweilige Tonne an dem Tag wirklich abgeholt worden ist und möchte dann die Anzahl ermitteln wie oft im Jahr die Tonne abgeholt wurde.

      Hat da vielleicht jemand schon mal etwas in dieser Richtung gemacht und könnte mir helfen. Weiß noch nicht wirklich wie ich da anfangen soll.

      Vielen Dank.

      Gibg ja auch Nummern Entitäten und Input Boxen. Würde mir am Tag der Abholung halt eine Input Box anzeigen lassen und nach Update dieser dann als Aktion die NummernEntität hochzählen.

      https://www.home-assistant.io/integrations/input_select/

      https://www.home-assistant.io/integrations/input_number/

    • #1396
      Patrick1566
      Teilnehmer

      Interessante Spielerei 😂

      Man kann Entitäten mit Attributen bestücken. Müsstest du mal googlen. Über den Weg könntest du dann die Abholdaten als Attribut hinterlegen.

      Eventuell geht das so.

      Diddi Hallervorden würde jetzt sagen „ich brauche mehr Details“

       

      Was meinst du mit mehr Details? 🙂 Da ich mich Momentan in HA einarbeite und ich aktuell mir immer ein Kreuzchen in den Kalender mache, wenn die Restmüll Tonne vorne steht dachte ich das wäre eine gute Möglichkeit das über das Dashboard zu machen. Aber ich habe so etwas in der Art leider nicht gefunden, damit ich es mir etwas „anpassen“ könnte. Und so aus dem Stehgreif wüsste ich nicht wie ich an die Sache am besten ran gehen.

      s

      Das sieht schon interessant aus, schau ich mir dann gleich an. Danke 🙂

    • #1397
      Patrick1566
      Teilnehmer

      Wo findet man den eine Erklärung für die Befehle:

          value_template: ‚{{value.daysTo}}‘
          value_template: ‚{{value.date.strftime(„%d.%m.%Y“)}}‘
      bzw. wie würde der Befehl lauten damit mir das letzte bzw. aktuelle (Wenn der Tag der Leerung genau heute ist) lauten, damit es mir das vorherige Datum anzeigt?
      Vielen Dank.
    • #1398
      Domjo75
      Teilnehmer

      In der Home Assistant Community findest du eigentlich die meisten Erklärungen.

      Weiterhin kannst du in den Entwicklerwerkzeugen die Zustände und Attribute der bestehenden Entitäten einsehen. Unter dem Punkt Vorlage hast du eine Console, wo du dir Codesnippets zusammenstellen kannst. Da sind schon Beispiele drin.

      Ansonsten halt Google

       

    • #1400
      jressel01
      Teilnehmer

      Hallo zusammen,

      ich habe das bei mir soweit zum laufen gebracht. Nun würde ich gerne noch das ICON wechseln. 0, 1 oder größer sollen 3 Icons werden.

      Ich habe ein Attribut ‚remaining‘ welches den Wert liefert. Warum geht das beim ICON nicht. Der Rest geht.

      <code class="language-markup-templating">          - type: 'custom:template-entity-row'
                  entity: sensor.ics_1
                  style: |
                    .secondary {
                      font-size:12px;
                    } 
                    .pointer {
                      {% set dateto = states('sensor.ics_1').split('|')[0] %}
                      {% if dateto == '0' %}
                        --paper-item-icon-color: #c93636 !important;
                      {% elif dateto == '1' %}
                        --paper-item-icon-color: #f58d42 !important;
                      {% endif %}     
                    }
                  icon: >
                    {% set dateto2 = state_attr('sensor.ics_1', 'remaining') %} {% if
                    dateto2 == o %}
                      'jrs:muell'
                    {% else %}
                      'mdi:trash-can'
                    {% endif %}
                  name: Gelber Sack
                  state: >
                    {% set dateto = state_attr('sensor.ics_1', 'remaining') %} {% if
                    dateto == 0 %}
                      heute
                    {% elif dateto == 1 %}
                      morgen
                    {% else %}
                      in {{ dateto }} Tagen
                    {% endif %}
                  secondary: >
                    {% set datum = states('sensor.ics_1').split(',')[0] %} {% if datum
                    == 'Monday' %}Mo {% endif -%} {% if datum == 'Tuesday' %}Di {%
                    endif -%} {% if datum == 'Wednesday' %}Mi {% endif -%} {% if datum
                    == 'Thursday' %}Do {% endif -%} {% if datum == 'Friday' %}Fr {%
                    endif -%} {% if datum == 'Saturday' %}Sa {% endif -%} {% if datum
                    == 'Sunday' %}So {% endif -%} {{ states('sensor.ics_1').split('
                    ')[1] }}

       

      • Diese Antwort wurde geändert vor 3 Wochen, 2 Tage von jressel01.
      • #1402
        arganto
        Teilnehmer

        Weil es sowieso schon Strings sind.

        <code class="language-markup-templating">    icon: >
              {% if true %}
                mdi:recycle
              {% else %}
                mdi:trash-can
              {% endif %}

        klappt.

    • #1403
      jressel01
      Teilnehmer

      Ja aber ich mochte nicht auf True oder false sondern auf den Wert des Attributes prüfen.

      state_attr('sensor.ics_1', 'remaining') gibt eine Zahl zurück.
      Ich weiß nur nicht warum es bei state geht und bei Icon nicht. bzw wie ich es umsetzen kann
    • #1404
      jressel01
      Teilnehmer

      OK geht

      es liegt an meinen eigenen ICONs. Nur warum. Die gehen wenn ich sie direkt einbinde aber nicht über die Funktion

      icon: ‚jrs:muell‘ geht aber über die Funktion nicht

      • Diese Antwort wurde geändert vor 3 Wochen, 2 Tage von jressel01.
    • #1406
      Domjo75
      Teilnehmer

      Hallo zusammen,
      nachdem meine Ansage über Alexa leider nicht mehr so funktionieren will wie zuvor, habe ich mich nun auch mal dran gesetzt und mir den Abfallkalender nach Domjo75 Vorlage zusammengebastelt. Funktioniert soweit auch ganz gut jedoch komme ich mit dem Lovelace Dashboard noch nicht so ganz klar. Würde es dir was ausmachen den Code von deiner Vorlage mal hier reinzuposten, da mir die Vorlage eigentlich ganz gut gefällt.

      Vielen Dank aber trotzdem schonmal für die vielen nützlichen Beiträge hier.

      Gern. Hier für die erste Zeile. Die anderen analog.

      <code class="language-markup-templating">title: Abfallkalender
      type: entities
      entities:
        - type: 'custom:template-entity-row'
          entity: sensor.abfallkalender_hausmuell_date
          style: >
            .secondary {
              font-size:12px;
            }
            .pointer {
              {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
              {% if dateto == '0' %}
                --paper-item-icon-color: #c93636 !important;
              {% elif dateto == '1' %}
                --paper-item-icon-color: #f58d42 !important;
              {% endif %}     
            }
          icon: 'mdi:trash-can'
          name: Hausmüll
          state: >
            {% set dateto = states('sensor.abfallkalender_hausmuell_date').split('|')[0] %}
            {% if dateto == '0' %}
              heute
            {% elif dateto == '1' %}
              morgen
            {% else %}
              in {{ dateto }} Tagen
            {% endif %}
          secondary: >
            {% set datum = as_timestamp(states('sensor.abfallkalender_hausmuell_date').split('|')[1]) %}
            {% if datum|timestamp_custom('%a') == 'Mon' %}Mo{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Tue' %}Di{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Wed' %}Mi{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Thu' %}Do{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Fri' %}Fr{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sat' %}Sa{% endif -%}
            {% if datum|timestamp_custom('%a') == 'Sun' %}So{% endif -%}
            {{ datum|timestamp_custom(', %d.%m.%Y') }} 

      Und mit Sicherheit geht es schöner, insb. das mit den Wochentagen. Aber egal.

      Das mit heute und morgen finde ich gut. Hab ich mir noch gar keine Gedanken drüber gemacht.

      Ich werde das für meine Alex Announcements und dem AnniversaryDate nutzen.

      Cool 👍

    • #1407
      jressel01
      Teilnehmer

      Habe das Icon nun über customize.yaml gemacht.

      <code class="language-javascript">sensor.ics_2:
        templates:
          icon: 'if (attributes.remaining === 0) return ''jrs:muelloffen''; if (attributes.remaining === 1)
            return ''jrs:muell''; return ''jrs:muellzu'';  ' 

       

    • #1443
      daspi
      Teilnehmer

      hallo,

      vorab: ich bin noch ziemlich am Anfang mit Home Assistant.

      Es scheitert schon bei der Einbindung des ics.

      #Abfall
      calendar:
        - platform: ics
          calendars:
              - name: Müllabfuhr
                url: http://localhost:8123/local/besse-2021.ics
                includeAllDay: true

      wenn ich diese Daten eingebe bekomme ich folgende Fehlermeldung:

      Platform error calendar.ics – No module named ‚custom_components.ics.calendar‘

      könnt ihr mir helfen?

       

      Danke

      • Diese Antwort wurde geändert vor 2 Wochen, 3 Tage von daspi.
      • Diese Antwort wurde geändert vor 2 Wochen, 3 Tage von daspi.
      • #1453
        jressel01
        Teilnehmer

        Hallo

        denke Du hast etwas vergessen. So ist es bei mir.

            - platform: ics
              name: Gelber Sack
              url: http://www.url.de/entsorgungskalender_2021.ics
              startswith: Gelber
              show_ongoing: true
              id: 1
            - platform: ics
              name: Restmüll
              url: http://www.url.de/entsorgungskalender_2021.ics
              startswith: Rest
              show_ongoing: true
              id: 2
            - platform: ics
              name: Altpapier
              url: http://www.url.de/entsorgungskalender_2021.ics
              startswith: Altpap
              show_ongoing: true
              id: 3

         

        • Diese Antwort wurde geändert vor 2 Wochen, 1 Tag von jressel01.
        • Diese Antwort wurde geändert vor 2 Wochen, 1 Tag von jressel01.
      • #1488
        daspi
        Teilnehmer

        hallo,



        @jressel01
        : Super Danke. jetzt hat alles geklappt. 🙂

    • #1456
      basti4k
      Teilnehmer

      danke Euch für die Anleitungen.
      Werde ich mir heute alles mal genauer anschauen und im HA einbinden.

      Bei uns gibt es unterschiedliche Ausgaben:
      https://www.eaw-rheingau-taunus.de/service/abfallkalender.html?omnibox-streetid=1136
      Andere Kalenderansichten: RSS-Feed iCal PDF

      Sollte dann ja mit dem ical Link passen?
      http://www.eaw-rheingau-taunus.de/abfallkalender/calendar.ics?streetid=1136

      Danke Euch

    • #1465
      nofacenocase
      Teilnehmer

      Moinsen und frohes Neues!
      Hab folgende Probleme und hoffe ihr könnt mir helfen..

      Meine configuration.yaml hat folgenden Inhalt zum laden der lokalen .ics aus www/calendars/..

      <code class="language-markup-templating">waste_collection_schedule:
        sources:
          - name: ics
            args:
              file: "www/calendars/plastik.ics"

      meine sensor.yaml hat folgenden Sensor:

      <code class="language-markup-templating">- platform: waste_collection_schedule
        name: plastik_date
        value_template: '{{value.date.strftime("%d.%m.%Y")}}'
        types:
          - Plastik
      - platform: waste_collection_schedule
        name: plastik_collection
        value_template: '{{value.daysTo}}'
        types:
          - Plastik

      Nun meine erste Frage, woher kommt die Verbindungen vom .ics -> waste_collection_schedule -> sensoren?
      Im Lovelace kommen nämlich keine Daten beim Sensor an. Dort steht z.B. Abholung in _ Tage(n). Dabei wird bei den Tagen nichts eingetragen als würde das .ics nicht korrekte gelesen werden.
      Meine 2. Frage: Unser lokaler .ics „Bereitsteller“ lädt die .ics für Plastik, Bio. etc getrennt hoch. Wie trag ich das in die configuration.yaml als weitere Sources ein und nutze diese verschiedenen Sources dann wiederum in den Sensoren? Muss ich mir die .ics öffnen/anschauen und die dortige Benennung als „Types“ in die yaml schmeissen?

      Bin ein wenig durcheinander. Hoffe ihr könnt Licht ins Dunkle bringen.

      Beste Grüße!

       

      • #1466
        jressel01
        Teilnehmer

        siehe mein Beispiel(<span class=“bbp-reply-post-date“>31. Dezember 2020 um 18:36</span>). Habe die Zeilen in meiner sensor.yaml und für jeden könnte ich eine eigene ICS nutzen.

        • Diese Antwort wurde geändert vor 1 Woche, 6 Tage von jressel01.
    • #1468
      nofacenocase
      Teilnehmer

      @jressel01 aber du nutzt da kein waste_collection_schedule oder? Mit waste_collection_schedule muss man das ja anscheinend anders feeden.

    • #1469
      arganto
      Teilnehmer

      @jressel01 aber du nutzt da kein waste_collection_schedule oder? Mit waste_collection_schedule muss man das ja anscheinend anders feeden.

      Hast Du denn mal die Doku auf https://github.com/mampfes/hacs_waste_collection_schedule angeguckt? Dort steht doch, wie man mehrere Quellen anzapft und diese einbindet. Was geht davon nicht?

    • #1470
      nofacenocase
      Teilnehmer

      @arganto habs hinbekommen. Man musste den Sensoren natürlich bei mehreren Sourcen noch einen source_index zuweisen. Daher kommt auch die Verbindung von der Source zum Sensor (das war meine initiale Frage).

      Andere Frage:
      Die Papier, Bio und gelbe Tonne funktionieren. Nur beim Restmüll wird angezeigt, dass der nächste Abholtermin in 89 Tagen wäre, obwohl er – wenn man auf den Sensor klickt – anzeigt, dass er für upcoming auch einen Termin in den nächsten 5 Tagen hat.. ? Wie kann das sein?

    • #1471
      arganto
      Teilnehmer

      @arganto habs hinbekommen. Man musste den Sensoren natürlich bei mehreren Sourcen noch einen source_index zuweisen. Daher kommt auch die Verbindung von der Source zum Sensor (das war meine initiale Frage).

      Andere Frage:
      Die Papier, Bio und gelbe Tonne funktionieren. Nur beim Restmüll wird angezeigt, dass der nächste Abholtermin in 89 Tagen wäre, obwohl er – wenn man auf den Sensor klickt – anzeigt, dass er für upcoming auch einen Termin in den nächsten 5 Tagen hat.. ? Wie kann das sein?

      Hatte auch Probleme mit Umlauten. Habe dann alles ersetzt (manuell in meinem lokaler ICS). Ob das hier auch der Fall sein könnte, weiß ich nicht. Aber ich würde an Deiner Stelle mal Definition und Inhalte vergleichen, ob das alles passt.

    • #1473
      basti4k
      Teilnehmer

      Habe nun die Ausgaben mit dem HACS Plugin ICS gemacht:
      https://github.com/KoljaWindeler/ics#manual-configuration

      <code class="language-markup-templating">- platform: ics
        name: Restmülltonne
        url: https://www.eaw-rheingau-taunus.de/abfallkalender/calendar.ics?streetid=1136
        #startswith: Restmülltonne
        contains: "Restmülltonne"
        id: 1
        timeformat: "%A, %d.%m."
        show_remaining: true
        show_ongoing: true
        description_in_state: false
        icon: "mdi:trash-can-outline"

      Habe nun noch folgendes Problem, die Ausgabe ist in Englisch:
      Restmülltonne – Thursday, 07.01. (05)

      Hat jemand das Plugin hier laufen und das Datum geändert?

    • #1475
      arganto
      Teilnehmer

      Diesen Thread schon durchgelesen? Oben ist doch eine Variante um das einzudeutschen. mE bekommst Du das anders nicht hin. Wenn doch, bitte ergänzen.

    • #1482
      Osorkon
      Teilnehmer

      Danke euch für die Inspirationen.

      Die Olchis lassen Grüßen. 😀

      Olchis-Abfallkalender

      • Diese Antwort wurde geändert vor 1 Woche, 6 Tage von Osorkon.
      • Diese Antwort wurde geändert vor 1 Woche, 6 Tage von Osorkon.
      • Diese Antwort wurde geändert vor 1 Woche, 6 Tage von Osorkon.
      Anhänge:
    • #1496
      Patrick1566
      Teilnehmer

      Danke euch für die Inspirationen.

      Die Olchis lassen Grüßen. 😀

      Olchis-Abfallkalender

      • Diese Antwort wurde geändert vor 1 Woche, 6 Tage von Osorkon.
      • Diese Antwort wurde geändert vor 1 Woche, 6 Tage von Osorkon.
      • Diese Antwort wurde geändert vor 1 Woche, 6 Tage von Osorkon.

      Wie hast du das gemacht mit dem „Als nächstes muss raus…“ könntest du uns das kurz erläutern. 🙂

      • #1497
        Osorkon
        Teilnehmer

        Natürlich, gerne. 😀

        Der Sensor dazu sieht so aus:

        <code class="language-markup-templating">
        - platform: waste_collection_schedule
          name: next_waste_collection_daysto
          details_format: upcoming
          value_template: '{{value.types|join(", ")}} in {{value.daysTo}} Tagen'

        Wurde aber schon weiter oben beschrieben.

        Ich habe nur noch bei den Sensoren für die Müllart den Value Typ weg gelassen, sonst taucht dieser 2 mal in der Zeile auf.

        <code class="language-markup-templating">
        - platform: waste_collection_schedule
          name: waste_collection_waste
          details_format: upcoming
          value_template: "in {{value.daysTo}} Tagen"
          #value_template: '{{value.types|join(", ")}} in {{value.daysTo}} Tagen'
          types:
            - Restmüll

        Und die Picture Card sieht so aus:

        <code class="language-markup-templating">
        type: entities
        header:
          type: picture
          image: local/bilder/Olchis.png
          tap_action:
            action: call-service
            confirmation: true
            service: script.erinnerung_muell_raus
        entities:
          - entity: sensor.next_waste_collection_daysto
            image: local/bilder/muellauto.png
            hold_action:
              service: script.erinnerung_mull_sly
            name: Als nächstes muss raus
          - entity: sensor.waste_collection_waste
            name: Restmüll
            image: local/bilder/restmuell.svg
          - entity: sensor.waste_collection_bio
            name: Bioabfall
            image: local/bilder/bio.svg
          - entity: sensor.waste_collection_plastic
            name: Gelber Sack
            image: local/bilder/gelbersack.png
          - entity: sensor.waste_collection_garden
            name: Gartenabfall
            image: local/bilder/garten.svg
          - entity: sensor.waste_collection_hazard
            name: Problemstoffe
            image: local/bilder/schadstoffe.svg
        state_color: false
        show_header_toggle: true
        footer:
          type: picture
          image: /local/bilder/Olchis2.png
          tap_action:
            action: none
          hold_action:
            action: none
        theme: solarized_light
        

        Auf das Bild im Header habe ich noch eine Tap Action hinterlegt. Da geht dann noch eine Erinnerung per telegram raus. 😀

        • Diese Antwort wurde geändert vor 1 Woche, 3 Tage von Osorkon.
    • #1527
      butzibutz
      Teilnehmer

      Hallo Zusammen,

      ich bin Anfänger mit Home Assistant und bin am Wochenende auf diesen interessanten Beitrag gestoßen.

      Ich habe das soweit umgesetzt und bin Stolz das der Google Kalender übernommen und die Tabelle aufgebaut wird.

      Screenshot_Bio

      Jetzt habe ich den Code um folgende Zeilen erweitert:

      <code class="language-markup-templating">    style: |
            .secondary {
              font-size:12px;
            } .pointer {
              {% set dateto = states('sensor.bio_date').split('|')[0] %}
              {% if dateto == '0' %}
                --paper-item-icon-color: #c93636 !important;
              {% elif dateto == '1' %}
                --paper-item-icon-color: #f58d42 !important;
              {% endif %}     
            }
          state: >
            {% set dateto = states('sensor.bio_date').split('|')[0] %} {% if dateto ==
            '0' %}
              heute
            {% elif dateto == '1' %}
              morgen
            {% else %}
              in {{ dateto }} Tagen
            {% endif %}
          secondary: >
            {% set datum = as_timestamp(states('sensor.bio_date').split('|')[1]) %} {%
            if datum|timestamp_custom('%a') == 'Mon' %}Mo{% endif -%} {% if
            datum|timestamp_custom('%a') == 'Tue' %}Di{% endif -%} {% if
            datum|timestamp_custom('%a') == 'Wed' %}Mi{% endif -%} {% if
            datum|timestamp_custom('%a') == 'Thu' %}Do{% endif -%} {% if
            datum|timestamp_custom('%a') == 'Fri' %}Fr{% endif -%} {% if
            datum|timestamp_custom('%a') == 'Sat' %}Sa{% endif -%} {% if
            datum|timestamp_custom('%a') == 'Sun' %}So{% endif -%} {{
            datum|timestamp_custom(', %d.%m.%Y') }} 

      Screenshot vom Code:

      Code

      Über HACS habe ich die Frontends card-mod und Multiple Entity Row installiert.

      Die farblichen Elemente werden mir nicht angezeigt.

      Habe ich vielleicht ein Leerzeichen vergessen oder einen anderen Fehler begangen?

      Vielen Dank im Voraus für die Unterstützung eines Anfängers.

      Gruß

      Butzibutz

       

      • Diese Antwort wurde geändert vor 4 Tage, 22 Stunden von butzibutz.
      • Diese Antwort wurde geändert vor 4 Tage, 22 Stunden von butzibutz.
      • Diese Antwort wurde geändert vor 4 Tage, 22 Stunden von butzibutz.
      • Diese Antwort wurde geändert vor 4 Tage, 22 Stunden von butzibutz.
      • #1534
        jressel01
        Teilnehmer
        Ich habe den Code bei mir noch etwas geändert.
        
        <code class="language-markup-templating">          
                 - type: 'custom:template-entity-row'
                    entity: sensor.ics_2
                    style: |
                      .secondary {
                        font-size:12px;
                      } 
                      .pointer {
                        {% set dateto = state_attr('sensor.ics_2', 'remaining') %}
                        {% if dateto == 0 %}
                          --paper-item-icon-color: #c93636 !important;
                        {% elif dateto == 1 %}
                          --paper-item-icon-color: #f58d42 !important;
                        {% endif %}     
                      }
                    name: Hausmüll
                    state: >
                      {% set dateto = state_attr('sensor.ics_2', 'remaining') %} {% if
                      dateto == 0 %}
                        heute
                      {% elif dateto == 1 %}
                        morgen
                      {% else %}
                        in {{ dateto }} Tagen
                      {% endif %}
                    secondary: >
                      {% set datum = states('sensor.ics_2').split(',')[0] %} {% if datum
                      == 'Monday' %}Mo {% endif -%} {% if datum == 'Tuesday' %}Di {%
                      endif -%} {% if datum == 'Wednesday' %}Mi {% endif -%} {% if datum
                      == 'Thursday' %}Do {% endif -%} {% if datum == 'Friday' %}Fr {%
                      endif -%} {% if datum == 'Saturday' %}Sa {% endif -%} {% if datum
                      == 'Sunday' %}So {% endif -%} {{ states('sensor.ics_2').split('
                      ')[1] }}

         

        • Diese Antwort wurde geändert vor 4 Tage, 22 Stunden von jressel01.
        • Diese Antwort wurde geändert vor 4 Tage, 22 Stunden von jressel01.
      • #1537
        butzibutz
        Teilnehmer

        Hi,

        vielen Dank für den Code.

        Ich habe diesen in meinen übertragen

        DCB863B4-ED7E-479B-9E32-7F4D1D999FEA

        Leider hat sich die Darstellung nicht verändert.

        Sollte sich nicht das Icon verändern oder verstehe ich den Code falsch?

        Gruß

    • #1542
      jressel01
      Teilnehmer

      Poste mal  die Config von deinen Sensoren.

      • #1543
        butzibutz
        Teilnehmer

        Hallo,

        hier die Sensoren:

        <code class="language-markup-templating">
        sensor:
          - platform: waste_collection_schedule
            name: Papier_date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - RSAG Papiertonne 4-wö.
          - platform: waste_collection_schedule
            name: Papier_collection
            value_template: '{{value.daysTo}}'
            types:
              - RSAG Papiertonne 4-wö.
        
          - platform: waste_collection_schedule
            name: Restmuell_date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - RSAG Restmülltonne 2-wö.
          - platform: waste_collection_schedule
            name: Restmuell_collection
            value_template: '{{value.daysTo}}'
            types:
              - RSAG Restmülltonne 2-wö.
             
          - platform: waste_collection_schedule
            name: Plastik_date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - RSAG Wertstofftonne oder -sack 4-wö.
          - platform: waste_collection_schedule
            name: Plastik_collection
            value_template: '{{value.daysTo}}'
            types:
              - RSAG Wertstofftonne oder -sack 4-wö.
             
          - platform: waste_collection_schedule
            name: Bio_date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - RSAG Biotonne Regelabfuhr
          - platform: waste_collection_schedule
            name: Bio_collection
            value_template: '{{value.daysTo}}'
            types:
              - RSAG Biotonne Regelabfuhr

        Gruß

        butzibutz

    • #1544
      jressel01
      Teilnehmer

      Ich habe das ganze mit ICS zumgesetzt. Dieses musst Du natürlich auf Waste_Collection anpassen.

      Tausche mal folgendes.

      state_attr(’sensor.ics_2′, ‚remaining‘)

      ersetzen durch:

      states(sensor.Bio_collection)

      Wenn es dann noch nicht geht musst du noch eine Zahl von machen.

      states(sensor.Bio_collection) | float

      • #1545
        butzibutz
        Teilnehmer

        Hallo,

        leider hatte ich auch damit keinen Erfolg.

        Ich habe es jetzt anders gelöst und diese Variante gefällt mir auch sehr gut 🙂

        Screenshot_Abfall

        Screenshot_Abfall2

        Falls es jemand nachbauen möchte nachfolgend der Code:

        Configuration.yaml

        <code class="language-markup-templating">#Abfallskalender#
        waste_collection_schedule:
          sources:
            - name: ics
              args:
               url: "https://........"
        
        #Sensoren#
        sensor:
          - platform: waste_collection_schedule
            name: Papier_date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - Grüne Tonne
          - platform: waste_collection_schedule
            name: Papier_collection
            value_template: '{{value.daysTo}}'
            types:
              - Grüne Tonne
        
          - platform: waste_collection_schedule
            name: Restmuell_date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - Schwarze Tonne
          - platform: waste_collection_schedule
            name: Restmuell_collection
            value_template: '{{value.daysTo}}'
            types:
              - Schwarze Tonne
             
          - platform: waste_collection_schedule
            name: Plastik_date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - Gelbe Tonne
          - platform: waste_collection_schedule
            name: Plastik_collection
            value_template: '{{value.daysTo}}'
            types:
              - Gelbe Tonne
             
          - platform: waste_collection_schedule
            name: Bio_date
            value_template: '{{value.date.strftime("%d.%m.%Y")}}'
            types:
              - Braune Tonne
          - platform: waste_collection_schedule
            name: Bio_collection
            value_template: '{{value.daysTo}}'
            types:
              - Braune Tonne
        
          - platform: waste_collection_schedule
            name: next_waste_collection_daysto
            details_format: upcoming
            value_template: '{{value.types|join(", ")}} in {{value.daysTo}} Tagen'
             
        #button-card#
          - platform: waste_collection_schedule
            name: MyButtonCardSensor
            value_template: '{{value.types|join(", ")}}|{{value.daysTo}}|{{value.date.strftime("%d.%m.%Y")}}|{{value.date.strftime("%a")}}'

        Konfiguration der Karte:

        <code class="language-markup-templating">type: entities
        entities:
          - entity: sensor.restmuell_date
            icon: 'mdi:delete-empty'
            show_state: false
            type: 'custom:multiple-entity-row'
            name: Schwarze Tonne
            secondary_info: last-changed
            entities:
              - entity: sensor.restmuell_collection
                name: Abholung in
                unit: Tage(n)
              - entity: sensor.restmuell_date
                name: Datum
          - entity: sensor.plastik_date
            icon: 'mdi:recycle'
            show_state: false
            type: 'custom:multiple-entity-row'
            name: Gelbe Tonne
            secondary_info: last-changed
            entities:
              - entity: sensor.plastik_collection
                name: Abholung in
                unit: Tage(n)
              - entity: sensor.plastik_date
                name: Datum
          - entity: sensor.bio_date
            icon: 'mdi:bio'
            show_state: false
            type: 'custom:multiple-entity-row'
            name: Braune Tonne
            secondary_info: last-changed
            entities:
              - entity: sensor.bio_collection
                name: Abholung in
                unit: Tage(n)
              - entity: sensor.bio_date
                name: Datum
          - entity: sensor.papier_date
            icon: 'mdi:tree'
            show_state: false
            type: 'custom:multiple-entity-row'
            name: Grüne Tonne
            secondary_info: last-changed
            entities:
              - entity: sensor.papier_collection
                name: Abholung in
                unit: Tage(n)
              - entity: sensor.papier_date
                name: Datum
          - entity: sensor.mybuttoncardsensor
            type: 'custom:button-card'
            layout: icon_name_state2nd
            show_label: true
            label: |
              [[[
               var days_to = entity.state.split("|")[1]
               if (days_to == 0)
               { return "Heute" }
               else if (days_to == 1)
               { return "Morgen" }
               else
               { return "in " + days_to + " Tagen" }
              ]]]
            show_name: true
            name: |
              [[[
                return entity.state.split("|")[0]
              ]]]
            state:
              - color: red
                operator: template
                value: '[[[ return entity.state.split("|")[1] == 0 ]]]'
              - color: orange
                operator: template
                value: '[[[ return entity.state.split("|")[1] == 1 ]]]'
              - value: default
        

        Vielen Dank für deine Unterstützung.

        Gruß

        butzibutz

        • Diese Antwort wurde geändert vor 4 Tage, 1 Stunde von butzibutz.
        • Diese Antwort wurde geändert vor 4 Tage, 1 Stunde von butzibutz.
        • Diese Antwort wurde geändert vor 4 Tage, 1 Stunde von butzibutz.
    • #1552
      Brazier85
      Teilnehmer

      Hallo zusammen,

      ich bin ziemlich neu bei/mit Home-Assistant unterwegs und habe auf der Suche nach einer Lösung für meinen Müllplan dieses Forum gefunden. Mit Hilfe der Anregungen von euch ist das hier dabei herausgekommen:

      Muell

      Die jeweiligen Icons blinken (schön langsam, damit es nicht nervt) wenn der Status der Tage bis zur Leerung <= 1 ist. Die Senoren dazu sind glaube ich hier in dem Thema oft genug gepostet worden 🙂

      Hier der passende Code dazu:

      <code class="language-markup-templating">type: horizontal-stack
      cards:
        - type: 'custom:button-card'
          entity: sensor.restmuell_collection
          icon: 'fas:trash'
          styles:
            icon:
              - width: 45px
              - color: gray
              - margin-bottom: 15px
          show_label: true
          label: |
            [[[
              var days_to = entity.state
              if (days_to == 0)
              { return "Heute" }
              else if (days_to == 1)
              { return "Morgen" }
              else
              { return "in " + days_to + " Tagen" }
            ]]]
          show_name: false
          state:
            - styles:
                icon:
                  - animation: blink 2s ease infinite
              operator: template
              value: '[[[ return entity.state <= 1 ]]]'
            - value: default
        - type: 'custom:button-card'
          entity: sensor.papier_collection
          icon: 'fas:trash'
          styles:
            icon:
              - width: 45px
              - color: 'rgb(66, 135, 245)'
              - margin-bottom: 15px
          show_label: true
          label: |
            [[[
              var days_to = entity.state
              if (days_to == 0)
              { return "Heute" }
              else if (days_to == 1)
              { return "Morgen" }
              else
              { return "In " + days_to + " Tagen" }
            ]]]
          show_name: false
          state:
            - styles:
                icon:
                  - animation: blink 2s ease infinite
              operator: template
              value: '[[[ return entity.state <= 1 ]]]'
            - value: default
        - type: 'custom:button-card'
          entity: sensor.plastik_collection
          icon: 'fas:trash'
          styles:
            icon:
              - width: 45px
              - color: 'rgb(237, 228, 97)'
              - margin-bottom: 15px
          show_label: true
          label: |
            [[[
              var days_to = entity.state
              if (days_to == 0)
              { return "Heute" }
              else if (days_to == 1)
              { return "Morgen" }
              else
              { return "In " + days_to + " Tagen" }
            ]]]
          show_name: false
          state:
            - styles:
                icon:
                  - animation: blink 2s ease infinite
              operator: template
              value: '[[[ return entity.state <= 1 ]]]'
            - value: default

      Hinweis: Ich habe folgende Erweiterungen bei mir installiert und nutze diese in meinem Code:

      • Waste Collection Schedule
      • button-card
      • fontawesome

       

      Hoffe es hilft dem einen oder anderen.

      Grüße

      Brazier85

    • #1600
      Babrig
      Teilnehmer

      Hallo zusammen,

      habe diese codes eingebunden.

      irgendwie werden nur bedingt daten aus der ics datei gelesen.

      nur sie braune tonne wird anezeigt das die abholung in 7 tagen ist.

      Hier die Config.yaml datei:

      <code class="language-markup-templating">### Abfallkalender ###
      waste_collection_schedule:
        sources:
          - name: ics
            args:
             url: "http://localhost:8123/local/abfallkalender.ics"
      
      #Sensoren#
      sensor:
        - platform: waste_collection_schedule
          name: Papier_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Grüne Tonne
        - platform: waste_collection_schedule
          name: Papier_collection
          value_template: '{{value.daysTo}}'
          types:
            - Grüne Tonne
      
        - platform: waste_collection_schedule
          name: Restmuell_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Schwarze Tonne
        - platform: waste_collection_schedule
          name: Restmuell_collection
          value_template: '{{value.daysTo}}'
          types:
            - Schwarze Tonne
           
        - platform: waste_collection_schedule
          name: Plastik_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Gelbe Tonne
        - platform: waste_collection_schedule
          name: Plastik_collection
          value_template: '{{value.daysTo}}'
          types:
            - Gelbe Tonne
           
        - platform: waste_collection_schedule
          name: Bio_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Braune Tonne
        - platform: waste_collection_schedule
          name: Bio_collection
          value_template: '{{value.daysTo}}'
          types:
            - Braune Tonne
      
        - platform: waste_collection_schedule
          name: next_waste_collection_daysto
          details_format: upcoming
          value_template: '{{value.types|join(", ")}} in {{value.daysTo}} Tagen'
           
      #button-card#
        - platform: waste_collection_schedule
          name: MyButtonCardSensor
          value_template: '{{value.types|join(", ")}}|{{value.daysTo}}|{{value.date.strftime("%d.%m.%Y")}}|{{value.date.strftime("%a")}}'   
      
      <code class="language-markup-templating">Hier der Kartencode:
      
      type: entities
      entities:
        - entity: sensor.restmuell_date
          icon: 'mdi:delete-empty'
          show_state: false
          type: 'custom:multiple-entity-row'
          name: Restmüll
          secondary_info: last-changed
          entities:
            - entity: sensor.restmuell_collection
              name: Abholung in
              unit: Tage(n)
            - entity: sensor.restmuell_date
              name: Datum
        - entity: sensor.plastik_date
          icon: 'mdi:recycle'
          show_state: false
          type: 'custom:multiple-entity-row'
          name: Gelber Sack
          secondary_info: last-changed
          entities:
            - entity: sensor.plastik_collection
              name: Abholung in
              unit: Tage(n)
            - entity: sensor.plastik_date
              name: Datum
        - entity: sensor.bio_date
          icon: 'mdi:bio'
          show_state: false
          type: 'custom:multiple-entity-row'
          name: Bio Tonne
          secondary_info: last-changed
          entities:
            - entity: sensor.bio_collection
              name: Abholung in
              unit: Tage(n)
            - entity: sensor.bio_date
              name: Datum
        - entity: sensor.papier_date
          icon: 'mdi:tree'
          show_state: false
          type: 'custom:multiple-entity-row'
          name: Papier Tonne
          secondary_info: last-changed
          entities:
            - entity: sensor.papier_collection
              name: Abholung in
              unit: Tage(n)
            - entity: sensor.papier_date
              name: Datum
        - entity: sensor.mybuttoncardsensor
          type: 'custom:button-card'
          layout: icon_name_state2nd
          show_label: true
          label: |
            [[[
             var days_to = entity.state.split("|")[1]
             if (days_to == 0)
             { return "Heute" }
             else if (days_to == 1)
             { return "Morgen" }
             else
             { return "in " + days_to + " Tagen" }
            ]]]
          show_name: true
          name: |
            [[[
              return entity.state.split("|")[0]
            ]]]
          state:
            - color: red
              operator: template
              value: '[[[ return entity.state.split("|")[1] == 0 ]]]'
            - color: orange
              operator: template
              value: '[[[ return entity.state.split("|")[1] == 1 ]]]'
            - value: default
      

      Was läuft da falsch? Oder übersehe ich da gerade etwas?

      Gruß

      Andre

      • Diese Antwort wurde geändert vor 1 Tag, 23 Stunden von Babrig.
      Anhänge:
      • #1636
        butzibutz
        Teilnehmer

        Hallo,

        ich kann die Antwort von Brazier85 bestätigen.

        Schaue dir den Betreff vom Termin in der ICS Datei an. Ich habe die ICS in Notepad++ geöffnet und den Betreff angepasst.

        Beispiel:

        RSAG Biotonne Regelabfuhr = Braune Tonne
        RSAG Papiertonne 4-wö. = Grüne Tonne
        RSAG Restmülltonne 2-wö. = Schwarze Tonne
        RSAG Wertstofftonne oder -sack 4-wö. = Gelbe Tonne

        Das habe ich gemacht, weil sonst bei der nächsten Abholung z.B RSAG Wertstofftonne oder -sack 4-wö. gestanden hätte und nicht Gelbe Tonne.

        Anschließend die Datei in Notepad++ speichern und die ICS importieren.

        Gruß

        butzibutz

         

    • #1632
      Brazier85
      Teilnehmer

      Hallo zusammen,

      habe diese codes eingebunden.

      irgendwie werden nur bedingt daten aus der ics datei gelesen.

      nur sie braune tonne wird anezeigt das die abholung in 7 tagen ist.

      Hier die Config.yaml datei:

      <code class="language-markup-templating">### Abfallkalender ###
      waste_collection_schedule:
        sources:
          - name: ics
            args:
             url: "http://localhost:8123/local/abfallkalender.ics"
      
      #Sensoren#
      sensor:
        - platform: waste_collection_schedule
          name: Papier_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Grüne Tonne
        - platform: waste_collection_schedule
          name: Papier_collection
          value_template: '{{value.daysTo}}'
          types:
            - Grüne Tonne
      
        - platform: waste_collection_schedule
          name: Restmuell_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Schwarze Tonne
        - platform: waste_collection_schedule
          name: Restmuell_collection
          value_template: '{{value.daysTo}}'
          types:
            - Schwarze Tonne
           
        - platform: waste_collection_schedule
          name: Plastik_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Gelbe Tonne
        - platform: waste_collection_schedule
          name: Plastik_collection
          value_template: '{{value.daysTo}}'
          types:
            - Gelbe Tonne
           
        - platform: waste_collection_schedule
          name: Bio_date
          value_template: '{{value.date.strftime("%d.%m.%Y")}}'
          types:
            - Braune Tonne
        - platform: waste_collection_schedule
          name: Bio_collection
          value_template: '{{value.daysTo}}'
          types:
            - Braune Tonne
      
        - platform: waste_collection_schedule
          name: next_waste_collection_daysto
          details_format: upcoming
          value_template: '{{value.types|join(", ")}} in {{value.daysTo}} Tagen'
           
      #button-card#
        - platform: waste_collection_schedule
          name: MyButtonCardSensor
          value_template: '{{value.types|join(", ")}}|{{value.daysTo}}|{{value.date.strftime("%d.%m.%Y")}}|{{value.date.strftime("%a")}}'   
      
      <code class="language-markup-templating">Hier der Kartencode:
      
      type: entities
      entities:
        - entity: sensor.restmuell_date
          icon: 'mdi:delete-empty'
          show_state: false
          type: 'custom:multiple-entity-row'
          name: Restmüll
          secondary_info: last-changed
          entities:
            - entity: sensor.restmuell_collection
              name: Abholung in
              unit: Tage(n)
            - entity: sensor.restmuell_date
              name: Datum
        - entity: sensor.plastik_date
          icon: 'mdi:recycle'
          show_state: false
          type: 'custom:multiple-entity-row'
          name: Gelber Sack
          secondary_info: last-changed
          entities:
            - entity: sensor.plastik_collection
              name: Abholung in
              unit: Tage(n)
            - entity: sensor.plastik_date
              name: Datum
        - entity: sensor.bio_date
          icon: 'mdi:bio'
          show_state: false
          type: 'custom:multiple-entity-row'
          name: Bio Tonne
          secondary_info: last-changed
          entities:
            - entity: sensor.bio_collection
              name: Abholung in
              unit: Tage(n)
            - entity: sensor.bio_date
              name: Datum
        - entity: sensor.papier_date
          icon: 'mdi:tree'
          show_state: false
          type: 'custom:multiple-entity-row'
          name: Papier Tonne
          secondary_info: last-changed
          entities:
            - entity: sensor.papier_collection
              name: Abholung in
              unit: Tage(n)
            - entity: sensor.papier_date
              name: Datum
        - entity: sensor.mybuttoncardsensor
          type: 'custom:button-card'
          layout: icon_name_state2nd
          show_label: true
          label: |
            [[[
             var days_to = entity.state.split("|")[1]
             if (days_to == 0)
             { return "Heute" }
             else if (days_to == 1)
             { return "Morgen" }
             else
             { return "in " + days_to + " Tagen" }
            ]]]
          show_name: true
          name: |
            [[[
              return entity.state.split("|")[0]
            ]]]
          state:
            - color: red
              operator: template
              value: '[[[ return entity.state.split("|")[1] == 0 ]]]'
            - color: orange
              operator: template
              value: '[[[ return entity.state.split("|")[1] == 1 ]]]'
            - value: default
      

      Was läuft da falsch? Oder übersehe ich da gerade etwas?

      Gruß

      Andre

      • Diese Antwort wurde geändert vor 1 Tag, 23 Stunden von Babrig.

      Schau mal in deine ics Datei rein, wie die Termine genau heißen. Bei mir musste ich auch auch ein paar Sachen anpassen 🙂

Ansicht von 65 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.