Skip to content

Instantly share code, notes, and snippets.

@sesh
sesh / zha-tuya-4-button-scene-switch-ts004f.yaml
Last active June 24, 2026 04:50 — forked from nstrelow/zha-tuya-4-button-scene-switch-ts004f.yaml
ZHA - Tuya 4-button Scene Switch (TS004f)
blueprint:
name: ZHA - Tuya 4-Button Scene Switch
description: Automate your Tuya 4-Button Scene Switch using ZHA events
domain: automation
input:
tuya_4button_scene_switch:
name: Tuya 4-Button Scene Switch
description: Tuya 4-Button Scene Switch to use
selector:
device:
"""
UNLICENSED
This is free and unencumbered software released into the public domain.
https://github.com/sesh/snippets/
"""
import hashlib
import json
from pathlib import Path
Melbourne,San Francisco,New York,London
05:00,12:00,15:00,20:00
06:00,13:00,16:00,21:00
07:00,14:00,17:00,22:00
08:00,15:00,18:00,23:00
09:00,16:00,19:00,00:00
10:00,17:00,20:00,01:00
11:00,18:00,21:00,02:00
12:00,19:00,22:00,03:00
13:00,20:00,23:00,04:00
from zoneinfo import ZoneInfo
from datetime import datetime, timedelta, date, time
import sys
def describe_change(old_list, new_list, names_list):
diffs = []
for old, new, name in zip(old_list, new_list, names_list):
old_tz, old_dst = old
new_tz, new_dst = new
.
├── terracognita
│   └── aws-dumped
│   ├── module-dumped
│   │   ├── api_gateway.tf
│   │   ├── cloud_front.tf
│   │   ├── ec2_elastic_compute_cloud.tf
│   │   ├── ecs_elastic_container.tf
│   │   ├── iam_identity_access_management.tf
│   │   ├── lambda.tf
We couldn’t find that file to show.
@sesh
sesh / headers.txt
Created December 6, 2021 01:35
List of unique header keys
accept-ch
accept-ch-lifetime
accept-encoding
accept-ranges
access-control-allow-credentials
access-control-allow-everything
access-control-allow-headers
access-control-allow-methods
access-control-allow-origin
access-control-expose-headers

Keybase proof

I hereby claim:

  • I am sesh on github.
  • I am sesh (https://keybase.io/sesh) on keybase.
  • I have a public key ASDIDvKTNOVGxRpQvFOCN_U8xSpFiZSHjZB0czJAx3AR_Qo

To claim this, I am signing this object:

# Top Screen
bind l:cmd,alt move screenOriginX,screenOriginY screenSizeX/2,screenSizeY 0
bind ;:cmd,alt move screenOriginX,screenOriginY screenSizeX,screenSizeY 0
bind ':cmd,alt move screenOriginX+screenSizeX/2,screenOriginY screenSizeX/2,screenSizeY 0
# Laptop Screen
bind ,:cmd,alt move screenOriginX,screenOriginY screenSizeX/2,screenSizeY 1
bind .:cmd,alt move screenOriginX,screenOriginY screenSizeX,screenSizeY 1
bind /:cmd,alt move screenOriginX+screenSizeX/2,screenOriginY screenSizeX/2,screenSizeY 1
{
"properties": {
"name": "",
"source_id": 20133687,
"start": "2020-04-30T07:30:00+10:00",
"distance": 7830.219999999999,
"duration": 2517.044,
"activity_type": "running",
"provider": "smashrun"
},