Skip to content

Instantly share code, notes, and snippets.

View iantrich's full-sized avatar
🍺
Cheers!

Ian Richardson iantrich

🍺
Cheers!
View GitHub Profile
cards:
- cards:
- content: >
Office Roku <br> {{ state_attr('media_player.office_roku', 'source')
}}
type: markdown
- entity: remote.office_roku
icon: 'mdi:fake'
show_name: false
tap_action:
motion: 0xccc5, 3326-L
dining 1: 0xd949, Ecosmart-ZBT-A19-CCT-Bulb
dining 2: 0x9a56, Ecosmart-ZBT-A19-CCT-Bulb
dining 3: 0xae3e, Ecosmart-ZBT-A19-CCT-Bulb
dining group: 0x0010

In this test, it took around 2-3 seconds for the lights to turn on and they sort of fade in as well after that. Here's what stood out to me:

Initial message

Motion sensor triggered:

2020-08-05 22:10:02 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0xccc5, 00:0d:6f:00:0b:63:6f:d0, 233, -70, [0xd949]]
2020-08-05 22:10:02 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0xccc5, 00:0d:6f:00:0b:63:6f:d0, 233, -70, [0xd949])
2020-08-05 22:10:02 DEBUG (bellows.thread_0) [bellows.uart] Data frame: b'67e4b1ed542e14b25c954b65ab55926275f4e26712316e82b4c64589fc7e3fa7ef34f87e'
2020-08-05 22:10:02 DEBUG (bellows.thread_0) [bellows.uart] Sending: b'87009f7e'
2020-08-05 22:10:02 DEBUG (MainThread) [bellows.ezsp] Application frame 69 (incomingMessageHandler) received: b'00040100050101400100002be9bac5ccffff0909490026000000000004'
2020-08-05 22:10:02 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, <EmberApsFrame profileId=260 clusterId=1280 sourceEndpoint=1 destinationEndpoint=1 options=320 groupId=0 seque
custom_header:
button_text:
options: >-
{{ hours12 }}:{{ minutesLZ }} {{ AMPM }} - <ha-icon
style='padding-bottom: 3px' icon='mdi:weather-{% if
is_state('weather.dark_sky', 'partlycloudy') -%}partly-cloudy{% elif
is_state('weather.dark_sky', 'clear-night') -%}night{%- else -%}{{
states('weather.dark_sky')}}{%- endif %}'></ha-icon>
{{states.weather.dark_sky.attributes.temperature }}°
chevrons: false
const LitElement = Object.getPrototypeOf(
customElements.get("ha-panel-lovelace")
);
const html = LitElement.prototype.html;
const CUSTOM_TYPE_PREFIX = "custom:";
function addScript(url) {
const script = document.createElement("script");
script.src = url;
card:
entities:
- entity: switch.3d_printer
secondary_info: last-changed
- entity: switch.3d_printer_fan
secondary_info: last-changed
- card:
entity: switch.3d_printer_light
secondary_info: last-changed
restrictions:
import { customElement, property } from "lit-element";
import { createRowElement } from "../common/create-row-element";
import {
checkConditionsMet,
validateConditionalConfig,
} from "../../lovelace/common/validate-condition";
import { HomeAssistant } from "../../../types";
import { LovelaceRow, ConditionalRowConfig } from "../entity-rows/types";
custom_header:
button_text:
options: >-
{{ hours12 }}:{{ minutesLZ }} {{ AMPM }} - <ha-icon
style='padding-bottom: 3px' icon='mdi:weather-{% if
is_state('weather.dark_sky', 'partlycloudy') -%}partly-cloudy{% elif
is_state('weather.dark_sky', 'clear-night') -%}night{%- else -%}{{
states('weather.dark_sky')}}{%- endif %}'></ha-icon>
{{states.weather.dark_sky.attributes.temperature }}°
chevrons: false
- id: '1576081655328'
alias: Grandfather Clock
trigger:
- minutes: '0'
platform: time_pattern
seconds: '0'
condition:
- after: 09:00:00
before: '23:00:00'
condition: time
import { html, LitElement, TemplateResult, customElement, property, CSSResult, css } from 'lit-element';
import { HomeAssistant, applyThemesOnElement } from 'custom-card-helpers';
import { ListCardConfig, DataTableColumnContainer } from './types';
import { CARD_VERSION } from './const';
/* eslint no-console: 0 */
console.info(
`%c LIST-CARD \n%c Version ${CARD_VERSION} `,
'color: orange; font-weight: bold; background: black',