0.0.1-beta.84 • Published 2 months ago

create-react-hass-card v0.0.1-beta.84

Weekly downloads
-
License
-
Repository
-
Last release
2 months ago

create-react-hass-card

A simple tool to help React developers creating Home Assistant Lovelace cards.

Content

createReactHassCard()

Create a custom element compatible with Home Assistant Lovelace from a React component.

Usage

import { createReactHassCard } from "create-react-hass-card";

createReactHassCard("name-of-the-card", ReactComponentToConvertToCard);

The react component will receive the matching props, on mount and when hass is updated:

function ExampleCardComponent({ hass, config, narrow, openDialog, closeDialog, openEntityMoreInfo, closeEntityMoreInfo }) {
  // do something with the passed props
  return <div>
    <h2>I am a Home Assitant Card created with React.<h2>
    <p>Hass currently has {Object.keys(hass?.state || {}).length} entities.</p>
    <button onClick={()=>openEntityMoreInfo('light.bedroom_light')}>Open Entity More Info</button>
    <button onClick={()=>closeEntityMoreInfo()}>Close Entity More Info</button>
    <button onClick={()=>openDialog({
      title: 'Demo Dialog',
      content: <p>Im a custom dialog, with JSX content</p>,
    })}>Open Custom Dialog</button>
    <button onClick={()=>closeDialog()}>Close Custom Dialog</button>
  </div>
}

useLovelaceCard()

Render Home Assistant Lovelace cards within your react component React.

Usage

function ReactCardComponentExample({ hass, config, narrow }) {
  const entitiesCard = useLovelaceCard("hui-entities-card", hass, {
    entities: ["light.living", "light.bedroom"],
  });

  return <div>
    <h2>I am a Home Assitant Card created with React.<h2>
    {entitiesCard}
  </div>
}

Will render a Lovelace hui-entities-card element, passing the provided hass instance and config.

0.0.1-beta.84

2 months ago

0.0.1-beta.29

3 months ago

0.0.1-beta.28

3 months ago

0.0.1-beta.27

3 months ago

0.0.1-beta.26

3 months ago

0.0.1

3 months ago

0.0.1-beta.21

3 months ago

0.0.1-beta.20

3 months ago

0.0.1-beta.23

3 months ago

0.0.1-beta.22

3 months ago

0.0.1-beta.25

3 months ago

0.0.1-beta.24

3 months ago

0.0.1-beta.19

3 months ago

0.0.1-beta.7

3 months ago

0.0.1-beta.9

3 months ago

0.0.1-beta.8

3 months ago

0.0.1-beta.10

3 months ago

0.0.1-beta.12

3 months ago

0.0.1-beta.11

3 months ago

0.0.1-beta.18

3 months ago

0.0.1-beta.17

3 months ago

0.0.1-beta.14

3 months ago

0.0.1-beta.13

3 months ago

0.0.1-beta.16

3 months ago

0.0.1-beta.15

3 months ago

0.0.1-beta.6

3 months ago

0.0.1-beta.3

3 months ago

0.0.1-beta.2

3 months ago

0.0.1-beta.5

3 months ago

0.0.1-beta.4

3 months ago

0.0.1-beta.1

3 months ago