GithubHelp home page GithubHelp logo

derkmdt / boilerplate-card Goto Github PK

View Code? Open in Web Editor NEW

This project forked from custom-cards/boilerplate-card

0.0 1.0 0.0 203 KB

A community driven blueprint for best practices

License: MIT License

TypeScript 91.50% JavaScript 8.50%

boilerplate-card's Introduction

Boilerplate Card by @iantrich

A community driven boilerplate of best practices for Home Assistant Lovelace custom cards

GitHub Release License hacs_badge

Project Maintenance GitHub Activity

Discord Community Forum

Support

Hey dude! Help me out for a couple of ๐Ÿป or a โ˜•!

coffee

Options

Name Type Requirement Description Default
type string Required custom:boilerplate-card
name string Optional Card name Boilerplate
show_error boolean Optional Show what an error looks like for the card false
show_warning boolean Optional Show what a warning looks like for the card false
entity string Optional Home Assistant entity ID. none
tap_action object Optional Action to take on tap action: more-info
hold_action object Optional Action to take on hold none
double_tap_action object Optional Action to take on hold none

Action Options

Name Type Requirement Description Default
action string Required Action to perform (more-info, toggle, call-service, navigate url, none) more-info
navigation_path string Optional Path to navigate to (e.g. /lovelace/0/) when action defined as navigate none
url string Optional URL to open on click when action is url. The URL will open in a new tab none
service string Optional Service to call (e.g. media_player.media_play_pause) when action defined as call-service none
service_data object Optional Service data to include (e.g. entity_id: media_player.bedroom) when action defined as call-service none
haptic string Optional Haptic feedback for the Beta IOS App success, warning, failure, light, medium, heavy, selection none
repeat number Optional How often to repeat the hold_action in milliseconds. non

Starting a new card from boilerplate-card

Step 1

Clone this repository

Step 2

Install necessary modules (verified to work in node 8.x) yarn install or npm install

Step 3

Do a test lint & build on the project. You can see available scripts in the package.json npm run build

Step 4

Search the repository for all instances of "TODO" and handle the changes/suggestions

Step 5

Customize to suit your needs and contribute it back to the community

Starting a new card from boilerplate-card with devcontainer

Note: this is available only in vscode ensure you have the Remote Containers extension installed.

  1. Fork and clone the repository.
  2. Open a devcontainer terminal and run npm start when it's ready.
  3. The compiled .js file will be accessible on http://127.0.0.1:5000/boilerplate-card.js.
  4. On a running Home Assistant installation add this to your Lovelace resources:
- url: "http://127.0.0.1:5000/boilerplate-card.js"
  type: module

Change "127.0.0.1" to the IP of your development machine.

Bonus

If you need a fresh test instance you can install a fresh Home Assistant instance inside the devcontainer as well.

  1. Run the command dc start.
  2. Home Assistant will install and will eventually be running on port 9123

NB This will not work with node 9.x if you see the following errors try installing node 8.10.0

yarn install v1.3.2
[1/4] ๐Ÿ”  Resolving packages...
warning [email protected]: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.
[2/4] ๐Ÿšš  Fetching packages...
error @typescript-eslint/[email protected]: The engine "node" is incompatible with this module. Expected version "^8.10.0 || ^10.13.0 || >=11.10.1".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

boilerplate-card's People

Contributors

iantrich avatar ludeeus avatar nlighteneddesign avatar ljmerza avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.