Skip to content

Instantly share code, notes, and snippets.

View wolph's full-sized avatar

Rick van Hattem wolph

View GitHub Profile
@wolph
wolph / backfill_mindergas.py
Created January 9, 2024 02:46
Upload historical data from InfluxDB to mindergas.nl
'''
Use an influxdb query like this to fetch the data and store it as `meterstanden.csv`:
```
SELECT max("value") FROM "m3" WHERE ("entity_id"::tag = 'gas_consumption') AND $timeFilter GROUP BY time(1d) fill(linear)
```
'''
import pandas as pd
import json
import requests
import progressbar
@wolph
wolph / pretty-pyright
Last active June 25, 2023 21:35
Little python script to wrap around pyright to add indenting, reformatting and making it easier to read. It also adds pretty colours
#!/usr/bin/env python -u
import os
import re
import sys
import itertools
import contextlib
import subprocess
sys.stdout.reconfigure(line_buffering=True)
@wolph
wolph / lights.yaml
Last active April 11, 2024 01:27
ESPHome Sonoff TX Ultimate T5-3C-86 Custom button component
light:
- platform: neopixelbus
type: GRB
variant: WS2812
pin: GPIO1
num_leds: 1
name: "NeoPixel 1"
internal: true
- platform: neopixelbus
type: GRB
// ==UserScript==
// @name nzbking size and extension filtering
// @namespace http://wol.ph/
// @version 0.1
// @description Automatically hides downloads that are too small or only contain extensions such as exe, jpg, nfo, etc...
// @author wolph
// @match https://www.nzbking.com/*
// @icon https://icons.duckduckgo.com/ip2/nzbking.com.ico
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js
// @grant none
@wolph
wolph / benchmark_attribute_access.py
Last active February 14, 2023 21:30
Benchmark namedtuple vs dataclass vs dict
import sys
import enum
import math
import random
import timeit
import typing
import dataclasses
import collections
@wolph
wolph / google-cookie-consent.user.js
Last active September 1, 2023 13:19
Google Cookie Consent Remover
#!/usr/bin/env python3
'''
A very simple kubernetes secrets dump tool. You can use it like this:
# kubectl get secret -o yaml -A | python decode_secrets.py
'''
import sys
import yaml
import base64
@wolph
wolph / add_to_nzbget.user.js
Created February 25, 2020 19:52
Add nzbindex results to nzbget server
// ==UserScript==
// @name add-to-nzbget
// @namespace http://wol.ph
// @version 0.1
// @description Add nzbs to nzbget
// @author You
// @match https://www.nzbindex.com/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// @grant GM_addStyle
// @grant GM_unsafeWindow
@wolph
wolph / mikrotik_dashboard.json
Created December 12, 2019 18:18
mikrotik exporter prometheus dashboard
{
"__inputs": [
{
"name": "DS_PROMETHEUS",
"label": "Prometheus",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus"
}
@wolph
wolph / aida64_prometheus_exporter.py
Last active December 18, 2023 10:27
This prometheus exports all of your AIDA64 data to a Prometheus server so you can chart all of them using Grafana: https://grafana.com/grafana/dashboards/11339
import re
import mmap
import typing
import hashlib
import logging
import argparse
import datetime
import ipaddress
import dataclasses
import xml.etree.cElementTree as ET