Skip to content

Instantly share code, notes, and snippets.

View inovelli.txt
evan@lunix /hass/config % grep Node006 OZW_Log.txt
2018-02-26 10:59:17.849 Detail, Node006, Received: 0x01, 0x18, 0x00, 0x04, 0x00, 0x06, 0x12, 0x32, 0x02, 0xa1, 0x6c, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4b
2018-02-26 11:49:24.528 Detail, Node006, Received: 0x01, 0x18, 0x00, 0x04, 0x00, 0x06, 0x12, 0x32, 0x02, 0xa1, 0x6c, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e
2018-03-01 19:02:28.974 Info, Node006, Network Key Not Set - Secure Option is not required
2018-03-01 19:02:28.976 Info, Node006, Basic device class (0x04) - Routing Slave
2018-03-01 19:02:28.976 Info, Node006, Generic device Class (0x10) - Binary Switch
2018-03-01 19:02:28.976 Info, Node006, Specific device class (0x01) - Binary Power Switch
2018-03-01 19:02:28.976 Info, Node006, COMMAND_CLASS_BASIC will be mapped to COMMAND_CLASS_SWITCH_BINARY
2018-03-01 19:02:28.976 Info, Node006, Mandatory Command Classes for Node 6:
2018-03-01 19:
evandhoffman /
Created Jan 30, 2018
Read a file in and put its contents in a JSON param
import json
import sys
with open(sys.argv[1],"r") as myfile:
myjson = { "filename": sys.argv[1], "contents": data }
print json.dumps(myjson, indent=2)
View core-8f7092d0539f93e721211e2ee881a5f7.js
!function(){"use strict";function e(e,t){function n(s,i,r){var o=new WebSocket(e),a=!1,d=function(){if(a)r(u);else if(0!==s){var e=-1===s?-1:s-1;setTimeout(function(){return n(e,i,r)},1e3)}else r(c)},f=function(e){switch(JSON.parse({case"auth_required":"authToken"in t?o.send(JSON.stringify(function(e){return{type:"auth",api_password:e}}(t.authToken))):(a=!0,o.close());break;case"auth_invalid":a=!0,o.close();break;case"auth_ok":o.removeEventListener("message",f),o.removeEventListener("close",d),i(o)}};o.addEventListener("message",f),o.addEventListener("close",d)}return new Promise(function(e,s){return n(t.setupRetry||0,e,s)})}function t(e){return e.result}function n(t,n){return void 0===n&&(n={}),e(t,n).then(function(e){var s=new a(t,n);return s.setSocket(e),s})}function s(e,t){return e._subscribeConfig?e._subscribeConfig(t):new Promise(function(n,s){var i=null,r=null,o=[],c=null;t&&o.push(t);var u=function(e){i=Object.assign({},i,e);for(var t=0;t<o.length;t++)o[t](i)},a=function(e,t){return u({se
View blerg.log
Jan 15 23:52:40 lunix e83280a5087e[2680]: #033[32m2018-01-15 23:52:40 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=zwave.gumbo, old_state=<state zwave.gumbo=initializing; node_id=2, node_name=gumbo, manufacturer_name=Aeotec, product_name=ZW100 MultiSensor 6, old_entity_id=zwave.gumbo_2, new_entity_id=zwave.gumbo, query_stage=Probe, is_awake=True, is_ready=False, is_failed=False, is_info_received=False, max_baud_rate=40000, is_zwave_plus=True, capabilities={'routing', 'beaming', 'listening'}, sentCnt=2, sentFailed=1, retries=0, receivedCnt=0, receivedDups=0, receivedUnsolicited=0, sentTS=2018-01-15 23:52:32:423 , receivedTS=2018-01-15 23:52:32:374 , lastRequestRTT=0, averageRequestRTT=0, lastResponseRTT=0, averageResponseRTT=0, battery_level=100, wake_up_interval=240, friendly_name=gumbo @ 2018-01-15T23:52:32.483495-05:00>, new_state=<state zwave.gumbo=initializing; node_id=2, node_name=gumbo, manufacturer_name=Aeotec, product_name=ZW100 MultiSensor 6, old_entity_id=zw
evandhoffman / .zshrc
Last active Jan 15, 2018
How to make home & end keys work on zsh (Linux)
View .zshrc
# From here:
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
bindkey "\e[5~" beginning-of-history
bindkey "\e[6~" end-of-history
bindkey "\e[3~" delete-char
bindkey "\e[2~" quoted-insert
bindkey "\e[5C" forward-word
bindkey "\eOc" emacs-forward-word
evandhoffman / zabbix_io_template.xml
Created May 16, 2013
Zabbix template for getting disk IO from SNMP via low-level discovery.
View zabbix_io_template.xml
<?xml version="1.0" encoding="UTF-8"?>
evandhoffman /
Last active Jun 6, 2017
Collectd collection3 nginx config for Ubuntu 14.04


apt-get install libconfig-general-perl libregexp-common-perl collectd collectd-utils lm-sensors \
libcgi-fast-perl librrds-perl libhtml-parser-perl libjson-perl fcgiwrap nginx

Changing collection3 chart size:

evandhoffman /
Last active May 29, 2017
Export EC2 instances to CSV.
#!/usr/bin/env python
# Based on the script found here:
from boto.ec2 import EC2Connection
csv_file = open('instances.csv','w+')
def process_instance_list(connection):
View smartctl.txt
root@lunix:~# smartctl -a /dev/sdc
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-62-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke,
Model Family: HGST Deskstar NAS
Device Model: HGST HDN724040ALE640
Serial Number: PK1334PEKxxxxx
LU WWN Device Id: 5 000cca 250f01657
Firmware Version: MJAOA5E0
evandhoffman /
Created Nov 10, 2016
Echoservice - service that registers itself with consul and starts a webserver. Useful for playing with Traefik.
import SimpleHTTPServer
import SocketServer
import requests
import json
import getopt, sys
CONSUL_URL = 'http://localhost:8500'
def register_service(name, address, port):