Instantly share code, notes, and snippets.

View hcsr04.ino
#include <Arduino.h>
// Uses for sending on a regular interval
#include <TimerOne.h>
// ECHO pin, needs to be a pin that supports interrupts!
// TRIG pin, can be any output pin
// update interval, make sure to keep it above 20ms
View etc.yaml
# - alias: close curtains
# trigger:
# - event: sunset
# platform: sun
# condition: []
# action:
# - data:
# entity_id: cover.qubino_zmnhod1_flush_shutter_dc_level
# service: automation.turn_off
def read(fh, timeout=0):
output = []
while[fh], [], [], timeout)[0]:
return ''.join(output)
#!/usr/bin/env python
from __future__ import print_function
import os
import shutil
import subprocess
def get_width(default=80):
'''Attempt to detect console width and default to 80'''
View sj1221.ino
/* vim: ts=8
Example code for the SJ1221 control protocol
Based on:
// Change this to be at least as long as your pixel string (too long will work fine, just be a little slower)
#define PIXELS 96*11 // Number of pixels in the string
// color multiplier since we've got 0-4096 instead of 0-256
import sys
import webbrowser
def main():
return 42/0
def excepthook(type_, value, traceback):
webbrowser.open_new_tab('[python] {} {}'.format(type_, value))
View update_wan_ip.rsc
:global wanInterface "wan1"
:global wanIP "$wanIP"
# Get the current IP on the interface
:local currentIPtemp [/ip address get [find interface="$wanInterface" disabled=no] address];
# IP without netmask
:local currentIP [:pick $currentIPtemp 0 ([:len $currentIPtemp]-3)];
:if ($currentIP != $wanIP) do={
# -*- coding: utf-8 -*-
# This file is a plugin for EventGhost.
# Copyright (C) 2012 Walter Kraembring <krambriw>.
# ALL RIGHTS RESERVED. The development of this software is based on information
# provided by RFXCOM and is protected under Netherlands Copyright Laws and
# Treaties and shall be subject to the exclusive jurisdiction of the Netherlands
# Courts.
# This pluginís source code and other versions eventually based on it may be
View django_admin_edit_fields.js
function getFields(fields, parent){
var rows = [" fields = ("];
$(fields, parent).each(function(){
var regex = /field-([^ ]+)/g;
var columns = [];
while(match = regex.exec(this.className)){
View computer_futures_usability.user.js
// ==UserScript==
// @name Computer Futures Worksheet Usability Enhancer
// @namespace
// @description try to take over the world!
// @author Wolph
// @match*
// @grant none
// ==/UserScript==
/* jshint -W097 */
'use strict';