Skip to content

Instantly share code, notes, and snippets.

@mikeknoop
mikeknoop / link_multiple_devices_v1_4.yaml
Last active June 7, 2023 20:42
Select multiple entities to link their on/off state. If any selected entity is turned on or off, the other selected entities will be sent a matching on or off command.
@mikeknoop
mikeknoop / lutron_keypad_raise_lower_button_control_v1_2.yaml
Last active April 26, 2023 02:19
Home Assistant: Lutron Keypad Raise/Lower Buttons Control (for Shades/Thermostats/Actions) v1.2
blueprint:
name: Lutron Keypad Raise/Lower Buttons Control
description: |
## Lutron Keypad Raise/Lower Buttons Control (for Shades/Thermostats/Actions) v1.2
This blueprint enables you to run any Home Assistant action when the Raise or Lower buttons are pressed. It also supports a couple special behaviors for Shades (covers) and Thermostats (climate).
Inputs:
* The "Dimmer Raise" scene for your chosen keypad
* The "Dimmer Lower" scene for your chosen keypad
@mikeknoop
mikeknoop / tool_use.txt
Last active March 22, 2023 05:32
LLM tool use example
Rules:
* only output valid JSON
Example JSON action list:
{"action":"Example CRM: Create Lead","params":{"first_name":"str","last_name":"str","notes":"str"}}
Example input: add joe smith to my crm, he really loves cheese
Example output: {"action":"Example CRM: Create Lead","params":{"first_name":"joe","last_name":"smith","notes":"joe really loves cheese"}}
Real JSON action list:
mike keynote (short, 5 minutes)
jason, platform (activation, embeds)
bryan/james, making changes to zapier (things you can edit in admin, how2github, future of editing code)
mike, flow (progress, whats next)
# APPLICATION CODE (uses underscore.js)
lawnchair = new Lawnchair({}, (->))
# hackery to cope with firefox and lawnchair, indexedDB not doing asnyc validation
# so well. If indexedDB isn't available (after doing a .open() check) then remove it
# from the available adapters and re-init lawnchair with a new instance.
# see: https://github.com/brianleroux/lawnchair/issues/189
indexedDBValid = (callback) =>
idb = window.indexedDB or window.webkitIndexedDB or window.mozIndexedDB or window.oIndexedDB or window.msIndexedDB
<div>There is {{#article}}{{animal}}{{/article}} in the middle of the room.</div>
<!-- context passed as {noun: 'elephant'} -->
<div>There is an elephant in the middle of the room.</div>
<!-- context passed as {noun: 'mouse'} -->
<div>There is a mouse in the middle of the room.</div>
# accessor: returns the article "a" or "an" depending on the context string. Eg. "Computer" will return "a"
# and "Elephant" will return "an". Can pass a hash option `capitalize` which will capitalize the article.
# usage: {{#article}}string{{/article}} outputs "a string"
Handlebars.registerHelper "article", (options) ->
# options: pass `capitalize` true to get a capital article
string = options.fn(@)
vowels = ['a', 'e', 'i', 'o', 'u']
vowel = false
letter = string.toLowerCase()[0]
vowel = true for v in vowels when letter == v
define([
'jquery',
'use!underscore',
'use!backbone',
'mustache',
'text!template/header.html',
'text!template/loggedInLinks.html',
'text!template/loggedInTempLinks.html',
'text!template/loggedOutLinks.html',
'views/home/__init__',
button {
color: black;
.success { color: green; }
.error { color: red; }
.disabled { color: gray; }
}
.homepage {
// make the home page call to action green
.call-to-action { @extend button.success; }