Skip to content

idaho/hassio-trash-card

Repository files navigation

πŸ—‘οΈ TrashCard

GitHub Release License hacs_badge

Project Maintenance GitHub Activity downloads Build

Buy Me A Coffee

new-overview

TrashCard - is a custom Home Assistant card that shows you the next upcoming or current trash removal appointment. For this purpose a calendar entity is used, in which you have entered all appointments.

See screenshots for what you can do

Features

  • Extra color, icon and text for residual, organic, paper waste and recycling
  • Color and icon for all other appointments
  • Filter out unexpected items

Pre-Requirements

TrashCard requires Mushroom for Home Assistant to be installed. Please follow the installation instructions of Mushroom. Once you have installed Mushroom you can continue install TrashCard using HACS (preferred) or manually.

TrashCard requires a calendar to get its data from. This calendar must be known by Home Assistant as an entity. Check Home Assistant calendar integrations for more information on how to add it.

Installation

HACS

TrashCard is available in HACS (Home Assistant Community Store).

  1. Install HACS if you don't have it already
  2. Open HACS in Home Assistant
  3. Go to "Frontend" section
  4. Click button with "+" icon
  5. Search for "TrashCard"

Manual

  1. Download trashcard.js file from the latest release.
  2. Put trashcard.js file into your config/www folder.
  3. Add reference to trashcard.js in Dashboard. There's two way to do that:
    • Using UI: Settings β†’ Dashboards β†’ More Options icon β†’ Resources β†’ Add Resource β†’ Set Url as /local/trashcard.js β†’ Set Resource type as JavaScript Module. Note: If you do not see the Resources menu, you will need to enable Advanced Mode in your User Profile

    • Using YAML: Add following code to lovelace section.

      resources:
        - url: /local/trashcard.js
          type: module

Usage

Create events in your calendar

In order for the Trash card to display informations, they need to be existing in a calendar. Here's some rules to follow when creating the events in your calendar:

  1. It must be entire day events (only form of events supported at the moment)
  2. You must use the same event name for the same method of collection. You'll map them later. Right now, the card support up to 5 different type of collections
  3. You can use repeating events, that's totally fine.

Configuration

The TrashCard cards can be configured using Dashboard UI editor.

Add a new card

  1. In Dashboard UI, click 3 dots in top right corner.
  2. Click Edit Dashboard.
  3. Click Plus button to add a new card.
  4. Find the Custom: TrashCard card in the list.

All the options are available in the lovelace editor but you can use yaml if you want.

Name Type Default Description
entities array of strings Required Entities
layout string Optional Layout of the card. Vertical, horizontal and default layout are supported
fill_container boolean false Fill container or not. Useful when card is in a grid, vertical or horizontal layout
filter_events boolean false Filter fetched events by patterns (if at least one is defined) before selecting the one to display
full_size boolean false Show the card without the default card margins
drop_todayevents_from time 10:00:00 From what time to hide all-day event (Format hh:mm:ss)
use_summary boolean false Shows the event summary instead of matched label
hide_time_range boolean false Option to hide the time on events which aren't fill day events
event_grouping boolean true Only display the next event per pattern, otherwise all events during the selected time will be displayed
next_days number 2 How many times the card will look into the future to find the next event
day_style default or counter default Option of how the date of an event should be displayed. default shows the date in date format and counter shows the number of days remaining until the event.
card_style card, chip or icon card Switch between the events style Standard card, Chip card or a new Icon predefined layout.
alignment_style left, center, right or space left Switch between alignments on Chip card card_style
color_mode background or icon background Select whether the color settings should be applied to the background or to the symbol
refresh_rate integer 60 Check for changes in the calendar every x minutes, by default we will check every 60 minutes. Values can be set from 5 to 1440.
debug boolean false Option to enable debug mode to help fixing bugs ;) .
icon_size integer 40 Size of the icons in px if you choose card_style as icon .
with_label boolean true Option to decide if you want to see the label in the card or the chip style.
pattern array of Pattern Required Pattern to detect the kind of trash and how to display it.

Pattern

Name Type Default Description
type organic, paper, recycle, waste, others, custom Required Label which should be shown
label string Required Label which should be shown
icon string Required Icon which should be displayed
color string Required Background color of the card which should be used
pattern string Required Pattern used to detected to display the apply this trash type. (Is tested against the calendar entry title)
picture string Optional picture url to a image to show instead of the icon

Other type trash configuration

Name Type Default Description
icon string Required Icon which should be displayed
color string Required Background color of the card which should be used

Example YAML configuration

type: custom:trash-card
entities:
  - calendar.mags_abfuhrtermine
layout: vertical
event_grouping: true
drop_todayevents_from: '10:00:00'
next_days: 300
day_style: counter
card_style: card
color_mode: background
items_per_row: 4
refresh_rate: 60
with_label: true
filter_events: false
use_summary: false
hide_time_range: false
pattern:
  - label: Organic
    icon: mdi:flower
    pattern: braun
    color: light-green
    type: organic
  - label: Paper
    icon: mdi:newspaper-variant-multiple-outline
    color: indigo
    pattern: blau
    type: paper
  - label: Recycling
    pattern: gelb
    icon: mdi:recycle-variant
    color: amber
    type: recycle
  - pattern: grau
    icon: mdi:trash-can
    label: Waste
    color: dark-grey
    type: waste
  - icon: mdi:dump-truck
    color: purple
    type: others
  - label: Electric
    icon: mdi:electron-framework
    color: pink
    type: custom
    pattern: elektro

Screenshots

Layout icons

layout-icons

Layout chips

layout-chips

Layout cards

layout-cards

Use picture instead of icons

with-image

Thanks

Thanks go to the team at Mushroom for creating many beautiful cards.