Skip to content

Instantly share code, notes, and snippets.

@balloob
balloob / configuration.yaml
Last active June 21, 2018 13:52
Home Assistant Lovelace + WiredJS
# In Home Assistant UI, navigate to dev-info page and click on "Try out the new Lovelace UI" (HASS 0.72+)
# Reference the file in your configuration file
frontend:
extra_html_url:
- /local/wired-cards.html
# Example entities used in sample ui-lovelacy.yaml below
input_boolean:
switch_ac_kitchen:
@balloob
balloob / experimental-ui.yaml
Last active June 18, 2018 00:20
Example custom card for the experimental UI in Home Assistant 0.72
views:
- name: Example
cards:
- type: 'custom:my-element'
entity_id: input_boolean.switch_ac_kitchen
@balloob
balloob / ble_discovery.py
Created May 7, 2018 02:34
Basis for a component to prototype bluetooth discovery
"""Basis for a BLE discovery component.
To add to Home Assistant, copy this file to
<config>/custom_components/ble_discovery.py
Add to your configuration.yaml:
```
ble_discovery:
@balloob
balloob / pytradfri.py
Last active August 23, 2017 13:54
WIP library to control Ikea Tradfri
"""
This is the Ikea Tradfri code from @ggravlingen extracted into a lib.
https://github.com/ggravlingen/home-assistant/blob/master/custom_components/light/ikeatradfri.py
Depends on modified coap-client with dtls support. Build instructions here:
https://community.home-assistant.io/t/ikea-tradfri-gateway-zigbee-very-basic-working-implementation/14788/19?u=balloob
Run with python3 -i pytradfri.py IP KEY
Will give you an interactive Python shell:
@balloob
balloob / reactstrap.cjs.js
Created June 26, 2017 18:37
Build output Reactstrap optimizations
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var React = require('react');
var React__default = _interopDefault(React);
var PropTypes = _interopDefault(require('prop-types'));
var classNames = _interopDefault(require('classnames'));
@balloob
balloob / DocxToPdf.ps1
Created June 5, 2017 23:17 — forked from alexisnomine/DocxToPdf.ps1
Batch convert docx to pdf with powershell
Param(
[Parameter(Mandatory=$True)]
[string]$FilePath
)
$Files = Get-ChildItem "$FilePath\*.docx"
$Word = New-Object -ComObject Word.Application
Foreach ($File in $Files) {
@balloob
balloob / async_logger.py
Last active December 16, 2016 07:39
Async friendly logger
class AsyncFileHandler():
def __init__(self, loop, handler):
"""Initialize async logging file handle."""
self.handler = handler
self.loop = loop
self._queue = asyncio.Queue(loop=loop)
self._thread = threading.Thread(target=self._process)
def start_thread(self):
"""Start thread for processing."""
@balloob
balloob / mqtt.py
Last active December 1, 2016 18:35
Home Assistant light/mqtt.py which turns on based on brightness being set.
"""
Support for MQTT lights.
For more details about this platform, please refer to the documentation at
https://home-assistant.io/components/light.mqtt/
"""
import logging
from functools import partial
import homeassistant.components.mqtt as mqtt
@balloob
balloob / spectacles.py
Last active November 13, 2016 18:34
Track spectacle bots in Home Assistant https://home-assistant.io
"""
Component to track where spectacles are being sold.
To install:
- Install Home Assistant (duh): https://home-assistant.io
- Add this file as <config dir>/custom_components/sensor/spectacles.py
- Add to configuration.yaml:
sensor:
platform: spectacles
@balloob
balloob / release_the_kraken.py
Created September 25, 2016 19:33
Stress test Home Assistant via the HTTP api
from multiprocessing.dummy import Pool
import sys
import time
from homeassistant import remote
# Docs: remote.API(host, [password], [port], [use_ssl])
api = remote.API('127.0.0.1')
start_time = time.time()