Skip to content

Instantly share code, notes, and snippets.

binary_sensor:
- platform: template
sensors:
2nd_floor_hvac_cooling:
value_template: "{{ is_state_attr('climate.my_ecobee3', 'hvac_action', 'cooling') }}"
friendly_name: HVAC Cooling
- platform: template
sensors:
2nd_floor_fan_running:
value_template: "{{ is_state_attr('climate.my_ecobee3', 'fan', 'on') }}"
- cards:
- entity: input_boolean.manual_frankie_pill
template: dow_time_warning_card
variables:
var_dow: sensor.last_pill_day_of_week
var_time: sensor.last_pill_time
var_critical_input_boolean: input_boolean.frankie_needs_pill
var_warning_input_boolean: input_boolean.frankie_needs_pill_warning
triggers_update:
- sensor.last_pill_day_of_week
button_card_templates:
dow_time_warning_card:
variables:
var_dow: ''
var_time: ''
var_critical_input_boolean: ''
var_warning_input_boolean: ''
custom_fields:
dow: |
[[[
card:
name: '[[[return states["sensor.active_alerts"].attributes.name]]]'
icon: '[[[return states["sensor.active_alerts"].attributes.icon]]]'
show_state: '[[[return states["sensor.active_alerts"].attributes.label != '']]]'
show_name: '[[[return states["sensor.active_alerts"].attributes.name != '']]]'
show_icon: '[[[return states["sensor.active_alerts"].attributes.icon != '']]]'
show_label: '[[[return states["sensor.active_alerts"].attributes.label != '']]]'
label: '[[[return states["sensor.active_alerts"].attributes.label]]]'
entity: null
state_display: |
@sstratoti
sstratoti / HAUpdateFlow.json
Created August 17, 2021 00:59
HA Active Alert Update Flow
[
{
"id": "90e68c3c3bca25ff",
"type": "ha-entity",
"z": "eff29b39482d7ed4",
"name": "Active Alert",
"server": "74f36281.ae094c",
"version": 1,
"debugenabled": false,
"outputs": 1,
@sstratoti
sstratoti / HAAlertQueueSubflow.json
Last active August 17, 2021 01:04
HA Alert Queue Subflow
[
{
"id": "eec8b4376623cc26",
"type": "subflow",
"name": "HA Alert Queue",
"info": "",
"category": "",
"in": [
{
"x": 180,
@sstratoti
sstratoti / actionable-notifications-subflow-for-ios.md
Last active April 15, 2024 00:49
iOS Subflow for HomeAssistant Companion notifications
@sstratoti
sstratoti / RoomAssistantCustomButtonCard.yaml
Created March 21, 2021 15:59
Room Assistant Custom Button Card
type: 'custom:button-card'
color: black
color_type: icon
custom_fields:
date: |
[[[
return `<span style="color: var(--text-color-sensor);">${states['sensor.nodered_[whatever 1st entity Node Red Creates through integration]'].state}</span>`
]]]
time: |
[[[
@sstratoti
sstratoti / roomassistantapiparser.js
Created March 21, 2021 15:39
Room Assistant API Data Parser
msg.notification = '';
msg.notification_in = '';
for (i=0; i < msg.payload.length; i++){
if (msg.payload[i].name == "Steves-iPhone-BLE Room Presence"){
if (msg.payload[i].distances['Living Room'].outOfRange) {
msg.notification += "<br> Living Room Out Of Range (" + msg.payload[i].distances['Living Room'].distance + ")";
} else {
msg.notification_in += " <br> Living Room (" + msg.payload[i].distances['Living Room'].distance + ")";
}
if (msg.payload[i].distances['Kitchen'].outOfRange) {
@sstratoti
sstratoti / gist:27145d25cd8dbc50363ee81b73745933
Last active March 22, 2021 12:42
RoomAssistant Node Red Flow
[{"id":"2c868d6d.c2ee2a","type":"http request","z":"b2a0a.3b747df7","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://192.168.1.150:6415/entities","tls":"","persist":false,"proxy":"","authType":"","x":710,"y":520,"wires":[["af857cc.d8fa8"]]},{"id":"c50bc7c8.db9c08","type":"inject","z":"b2a0a.3b747df7","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":230,"y":580,"wires":[["2c868d6d.c2ee2a"]]},{"id":"af857cc.d8fa8","type":"function","z":"b2a0a.3b747df7","name":"","func":"msg.notification = '';\nmsg.notification_in = '';\n\nfor (i=0; i < msg.payload.length; i++){\n \n if (msg.payload[i].name == \"Steves-iPhone-BLE Room Presence\"){\n\n if (msg.payload[i].distances['Living Room'].outOfRange) {\n msg.notification += \"<br> Living Room Out Of Range (\" + msg.payload[i].distances['Living Room'].distance + \")\";\n } else {\n msg.notification_