Skip to content

Instantly share code, notes, and snippets.

@hyukishi
hyukishi / timer-flow.js
Created February 12, 2021 19:46
Node-RED Alexa Timers
/*
The custom Node-RED integrations from the HACS store must be installed for this to work.
You must create the timers you want to use in your configuration.yaml file for Home Assistant.
For information on creating timer entities for Home Assistant, visit https://www.home-assistant.io/integrations/timer/
This flow gets the current state of the sensor.<entityID>_next_timer and converts it into a HH:MM:SS format. If there are no hours in the timer, it only displays MM:SS.
I suggest using a filter entities card to display the timer. A regular entity card will only return a status of "active" or "idle". I have 4 timers configured so I used the filtered entities card to only show active timers.
*/
@hyukishi
hyukishi / Gluster Cheat Sheet
Last active February 11, 2021 15:23 — forked from githubfoam/Gluster Cheat Sheet
Gluster Cheat Sheet
GlusterFS Cheat Sheet
# Gluster community download
https://download.gluster.org/pub/gluster/glusterfs/
### Add a new host to the brick ###
## Probe new host ##
gluster probe peer <hostname or IP>
# E.G. gluster probe peer debian-master
@hyukishi
hyukishi / temp_humidity_oled_mqtt.ino
Last active September 2, 2020 17:51
D1 Mini Lite v1 temp/humidity sensor with OLED 0.96" screen and MQTT output
/*
* This code is hacked together from 2 separate temp/humidity sensor projects for MQTT and OLED output
* Pinout is below this line
* OLED GND=GND VCC=VCC SCL=D1 SCA=D2
* DHT22 -=GND OUT=D4 +=VCC
* D1 Mini Lite GND=GND VCC=3v3
*/
#include <SPI.h>
#include <Wire.h>
#include <ESP8266WiFi.h>
@hyukishi
hyukishi / busterpiupgrade.sh
Last active April 23, 2020 13:33
Upgrade from Raspbian Stretch to Raspbian Buster
#!/bin/bash
# This script is used to upgrade your Raspberry Pi OS from version 9 (stretch) to version 10 (buster).
# It is advised to keep current configuration files to avoid breaking something else and always
# take a backup image of your sd card from your Raspberry Pi prior to upgrading.
# The script must be run as root!
[ "$(whoami)" != "root" ] && echo "You must be root to run this script" && exit 1
apt update
#!/bin/bash
DATE=`date +%d-%b-%Y`
/bin/dd bs=4M if=/dev/mmcblk0 iflag=direct of=/media/usb/jgpiholebackup/jgpihole_$DATE.img
if [ $? != 0 ]; then
echo "Image creation failed. $(date)">> /var/log/doimage.log
exit 1
fi
cd /media/usb/jgpiholebackup/
@hyukishi
hyukishi / GarageDoor_ESP8266-01.ino
Last active April 5, 2019 01:49
The purpose of this code is to remove the need for yet another automation platform such as HomeAssistant or OpenHAB.
// Setup your sonoff //
// Flash your sonoff switch with tasmota //
// Associate the tasmotized sonoff with your WiFi network //
// Load the webpage for the sonoff and setup your mqtt topics //
// Go into module setup and set GPIO14 to Switch2 //
// Go into the console and type "SwitchMode2 1" (without quotes) //
// Lastly, in the console type "PulseTime 1" (without quotes) //
// Setup credentials in the code //
// Replace asterisks next to ssid & password with WiFi credentials //
@hyukishi
hyukishi / run-updates.sh
Last active February 6, 2019 18:07
Updates all packages and autoremoves unneeded. Schedules a restart of the box for 5:00 AM.
#! /bin/bash
# Created by Jeffery Grantham on 2/6/2019
# Checking if "at" is installed. If not, apt-get will install it.
if [[ $(which at) != "/usr/bin/at" ]]; then
apt-get install at -y
fi
# Proceeding to check for updates
@hyukishi
hyukishi / linuxmaintenance.sh
Last active February 6, 2019 18:12
Perform linux maintenance across multiple boxes with ease using screens
#!/bin/bash
# linuxmaintenance.sh
# Authored Sep 7 2018 by Jim
# Optimized Jan 4 2019 by Jeffery Grantham
# You must have a file named hosts.txt containing each hostname or FDQN for the boxes of which maintenance will be performed
# Hosts/FQDNs must have 1 listed per line for the script to execute properly
# run-updates script must be on target boxes and included in the PATH for the root user
# Checking if screen is installed. If not, apt will install it.
if [[ $(which screen) != "/usr/bin/screen" ]]; then
@hyukishi
hyukishi / screenresume.sh
Created February 6, 2019 17:22
See comments at the top of the script
#!/bin/bash
# Created by Jeffery Grantham 01/04/2019
# The purpose of this script is to reattach all open screens in sequential order.
# As you exit a screen, you will be automatically attached to the next open screen.
for line in `screen -ls | grep Detached | awk '{print $1}'`
do `screen -r $line`
done
@hyukishi
hyukishi / 301.sh
Created February 6, 2019 17:20
Add a 301 redirect to point to the https (secure) url
#!/bin/bash
# Created by Jeffery Grantham 01/07/2019
# Purpose: Easily implement 301 redirects into website conf files
# Written for use with apache only
# Usage: 301.sh [.conf file]
FILE=$1
cd /etc/apache2/sites-available/
sed "/CustomLog/a\ \tRedirect 301 / https://$FILE.com/" $FILE.conf> tempfile && mv tempfile $FILE.conf
cat $FILE.conf