Skip to content

Instantly share code, notes, and snippets.

@balloob
balloob / find.js
Created December 26, 2019 11:02
Icon finder
const path = require("path");
const fs = require("fs");
const ICON_PACKAGE_PATH = path.resolve("./node_modules/@mdi/svg/");
const META_PATH = path.resolve(ICON_PACKAGE_PATH, "meta.json");
const ICON_PATH = path.resolve(ICON_PACKAGE_PATH, "svg");
// Print icons + sizes to create sizes.json
// const getPath = (icon) => {
// const svg = fs.readFileSync(`${ICON_PATH}/${icon}.svg`, {
@balloob
balloob / config_flow.py
Created October 16, 2019 21:04
Config flow to link Home Assistant with Home Assistant
"""Config flow to connect with Home Assistant."""
import logging
import voluptuous as vol
from homeassistant.helpers import config_entry_oauth2_flow
from .const import DOMAIN
@balloob
balloob / config_entry_reloader.py
Created August 21, 2019 18:05
Config Entry Reloader
class EntityRegistryDisabledHandler:
"""Handler to handle when entities related to config entries updating disabled_by."""
RELOAD_AFTER_UPDATE_DELAY = 30
def __init__(self, hass: HomeAssistant) -> None:
"""Initialize the handler."""
self.hass = hass
self.registry: Optional[entity_registry.EntityRegistry] = None
self.changed: Set[str] = set()
@balloob
balloob / example_options_flow.diff
Created August 15, 2019 20:21
Example options flow
diff --git a/homeassistant/components/unifi/config_flow.py b/homeassistant/components/unifi/config_flow.py
index e5a8965df..06751ed6e 100644
--- a/homeassistant/components/unifi/config_flow.py
+++ b/homeassistant/components/unifi/config_flow.py
@@ -2,6 +2,7 @@
import voluptuous as vol
from homeassistant import config_entries
+from homeassistant.core import callback
from homeassistant.const import (
@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 / demo.js
Created August 1, 2017 15:50
Example using home-assistant-js-websocket with Node
const WebSocket = require('ws');
global.WebSocket = WebSocket;
const HAWS = require("home-assistant-js-websocket");
const getWsUrl = haUrl => `ws://${haUrl}/api/websocket`;
HAWS.createConnection(getWsUrl('localhost:8123')).then(conn => {
HAWS.subscribeEntities(conn, logEntities);
});
@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) {