Skip to content

Instantly share code, notes, and snippets.

@weirded
weirded / install-dev.md
Created April 24, 2026 02:13
ESPHome Fleet — install the 1.6.2 dev build on Home Assistant OS

Install the ESPHome Fleet 1.6.2 dev build on Home Assistant OS

The fix for the 100% CPU hang you hit is on the develop branch of the ESPHome Fleet repo. 1.6.2 hasn't cut a stable release yet, but every commit on develop publishes a signed Docker image to GitHub Container Registry that Home Assistant Supervisor can install directly. These steps swap your add-on over to that dev channel.

What's changing

  • You'll add a second add-on repository to Home Assistant, pointing at the develop branch. The add-on you have now came from the same GitHub repo's main branch.
  • Supervisor will pull a fresh prebuilt image from GHCR (no local build). The install is a download, not a compile — on a decent connection it takes under a minute.
  • Your existing add-on data — job queue, settings, device cache, git-versioned config history, scheduled jobs — is keyed by the add-on's slug, which is identical between the stable and dev channels. It persists across the swap.
  • When 1.6.2 ships stable you can switch back, or
### Keybase proof
I hereby claim:
* I am weirded on github.
* I am stefanzier (https://keybase.io/stefanzier) on keybase.
* I have a public key ASDRr5KE1RIiEwtR3tSiS9N9-w6k6cVgbxFOE3uGr_IWHgo
To claim this, I am signing this object:
@weirded
weirded / CmbTest.scala
Created February 13, 2016 07:37
Test for CMB
package com.sumologic.bender.plugins.cmb
import java.net.URI
import akka.actor.ActorSystem
import com.atlassian.jira.rest.client.api.IssueRestClient
import com.atlassian.jira.rest.client.api.domain.Issue
import com.atlassian.jira.rest.client.auth.BasicHttpAuthenticationHandler
import com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory
import com.sumologic.sumobot.test.{MatchTextUtil, BotPluginTestKit, SumoBotSpec}
@weirded
weirded / Cmb.scala
Created October 21, 2015 17:42
Sumo Logic Change Management Board sumobot plugin
package com.sumologic.bender.plugins.cmb
import java.text.DateFormat
import java.util.{Date, GregorianCalendar}
import akka.actor.{ActorLogging, Props}
import com.atlassian.jira.rest.client.api.domain.Issue
import com.atlassian.jira.rest.client.api.{IssueRestClient, RestClientException}
import com.sumologic.bender.plugins.jira.{BlockingJiraUserMapping, JiraClient, JiraUserMapping}
@weirded
weirded / SleeperCell.scala
Last active August 29, 2015 14:22
Base for sleeper cell style load generation.
package com.sumologic.util.scala.bench
import java.util.concurrent.atomic.{AtomicInteger, AtomicLong}
import com.netflix.config.scala.DynamicProperties
import com.sumologic.util.scala.env.Environment
import com.sumologic.util.scala.log.Logging
import com.sumologic.util.scala.rateLimiter.FixedRateLimiter
import com.sumologic.util.scala.time.{TimeConstants, TimeFormats, TimeSource}
error
| parse “ip=*, errorcode=*“ as ip, errorcode
| where errorcode=”failed_login”
| count by ip
| where _count > 1000
| lookup ip from /my/whitelisted_ips on ip=ip
| if( isNull(ip), "unsafe", "safe") as ip_status
| where ip_status="unsafe"
| top 10 newip, ip by _count
error
| parse “ip=*, errorcode=*“ as ip, errorcode
| where errorcode=”failed_login”
| lookup ip from /my/whitelisted_ips on ip=ip
| if( isNull(ip), "unsafe", "safe") as ip_status
| where ip_status="unsafe"
| count by ip
| top 10 newip, ip by _count
error
| parse “ip=*, errorcode=*“ as ip, errorcode
| where errorcode=”failed_login”
| lookup ip from /my/whitelisted_ips on ip=ip
error
| parse “ip=*, errorcode=*“ as ip, errorcode
| lookup ip from /my/whitelisted_ips on ip=ip
| where errorcode=”failed_login”
@weirded
weirded / destroy_volume.sh
Created May 24, 2012 05:02
Data Destroying Drone script
#!/bin/bash
set -e
export INSTANCE_ID=`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`
export VOLUME_ID=v-12345678
export EC2_URL=https://ec2.us-east-1.amazonaws.com
export EC2_ACCESS_KEY=[key id]
export EC2_SECRET_KEY=[key]
sudo apt-get install scrub
euca-attach-volume -i $INSTANCE_ID -d /dev/sdj $VOLUME_ID