Skip to content

Instantly share code, notes, and snippets.

@jamesj2
jamesj2 / ha-blueprint-ikea-bilresa-scrollwheel_en_local.yaml
Last active April 17, 2026 22:04
Patched IKEA BILRESA Matter scroll wheel blueprint with idle-event guard
blueprint:
name: IKEA BILRESA - Light Controller (Local Patched)
description: >
Local, patched copy of the SvKRO IKEA BILRESA Matter scroll wheel blueprint.
It preserves the original multi-channel light controller behavior while
filtering out non-user state changes from the BILRESA event entities.
domain: automation
source_url: https://gist.github.com/SvKRO/52f246362a19f0297fd18969b383181b
input:
remote_device:
@jamesj2
jamesj2 / inovelli_smart_glow.yaml
Last active March 9, 2026 14:52
Inovelli & Motion: Smart Glow & Transitions
blueprint:
name: "Inovelli & Motion: Smart Glow & Transitions 1.0"
description: >
Event-driven automation for Inovelli White switches (VTM31-SN) and Motion sensors (e.g., Ikea MYGGSPRAY).
Features motion activation, day/night brightness levels, and a persistent glow
that activates when the sun goes down or motion clears. Optionally force glow 24/7.
Inovelli LED bar reflects current mode via select/number entities.
domain: automation
input:
motion_entity:
### Keybase proof
I hereby claim:
* I am jamesj2 on github.
* I am jamesj2 (https://keybase.io/jamesj2) on keybase.
* I have a public key ASCBSHoxNLesLqfKILS2aQol8hs5DkcQN1tMWCoTYmau3Qo
To claim this, I am signing this object:
@jamesj2
jamesj2 / Jenkinsfile
Created July 5, 2017 21:23
Learning Jenkins Pipeline via trial and error. This is what I've come up with so far. The "tools" are PHP testing and metrics installed via composer stored in their own build/tools/composer.json. AWS ECR is used to store my docker images, you can use php/xxx from Docker HUB.
#!groovy
pipeline {
agent any
// triggers {
// cron('H 4/* 0 0 1-5')
// }
// tools {
// nodejs 'Node 6.x'
@jamesj2
jamesj2 / lib-login.js
Created April 29, 2015 20:56
casperjs loadImage breaks session cookies
/**
* Login into website.
*/
exports.login = function(url,username,password) {
/**
* Start casper and option the login page.
*/
casper.open(url);
/**