Wouldn’t it be cool if you could monitor your electricity usage with OpenHAB for less than 20 bucks with the same accuracy your power company uses for billing?
Using an inexpensive rtl-sdr dongle, it’s possible to listen for signals from ERT compatible smart meters using rtlamr. This script runs as a daemon, launches rtl_tcp and rtlamr, and parses the output from rtlamr. If this matches your meter, it will push the data into OpenHAB using the REST API.
Turns out these ERT meters (at least in Omaha) are broadcasting 4 hours of usage data with 5 minute resolution. It broadcasts this data every minute, repeating the previous broadcast until the next 5 minute interval has completed. This data is flying around unprotected. Using free software and an inexpensive SDR dongle it’s possible to pull this data into OpenHAB.
rtlamr does all the heavy lifting here. It listens for the data, decodes, and passes along the meter readings.
On my meter, the interesting information is just above the readout. That’s my meter’s type and endpoint ID or serial number. I’ve blurred my details for privacy.
Wouldn’t it be cool to control an android device’s wake and sleep from OpenHAB? I’ve strapped a couple tablets to the wall with command strips. I’m using them to control OpenHAB. Gotta get ’em working well enough to gain wife approval before doing anything more permanent.
I was griping about turning my tablet screens on and off in response to sensor triggers in my home automation system. My first attempt using Tasker to poll the OpenHAB Rest API was too laggy to be useful. I wasn’t making much progress when my buddy over at https://opsech.io told me about adb and sending keyevents using adb shell. He ninja’d up tabletcontrol.sh and it works beautifully. Following his example, I munged out gettabstatus.sh and it works well enough.
Requirements-Tablet:
Rooted Android device WiFi ADB – Debug Over Air
NOTE: This app works on ROOTED devices only.
Requirements-Server:
OpenHAB Server & exec binding, tested on 1.8
linux/bash, tested on Ubuntu Server 14.04 LTS
android tools ADB
[text]sudo apt-get install android-tools-adb[/text]
As you can see from previous posts, I’ve started automating my house. There was an ADT alarm system installed. I was given a user code, but that was it. I opted not to pay ADT’s ridiculous monthly fee since reasonable monitoring can be had for $10/month.
Looking at the panel, I have a Safewatch Pro 3000, which the internets tells me is close to a honeywell/ademco vista20p without a couple features like zone doubling.
I have a simple touchpad, not an alpha display, probably similar to the 6150, so it’s terrible to program with.
Sometimes I feel a need to automate some meme generation. Luckily I found this incredibly helpful blogpost from jackmeme. http://www.jackmeme.com/blog.php?id=1
The first thing I thought of with automated meme generation? The Weather! See my previous post about getting data from the Weather Underground API using Perl
This naturally lead to the forecast overlaid on the current radar.
Inspired by http://thefuckingweather.com/, I decided I want my daily forecast in meme form. The first weather-related meme I think of is Ollie Williams.
But that doesn’t really fit with the meme. Change fucking to motherfucking and Samuel L Jackson is PERFECT!
Smoosh those memes together and I’ve got my morning weather!
I found another source of amusement while playing with generating image macros. There is a Pyborg bot in one of the IRC channels I frequent. “She” says some pretty funny stuff, so we keep a quote list. Of course this is ripe for meme-ifying.
What does all this mean? This heavily redacted screenshot should give some idea.
Number of overall motion events over time, same for failure events. Top list of cameras with motion events, top list of cameras with failure events.
Have you heard of Logstash / ElasticSearch / Kibana? I don’t wanna oversell it, but it’s AMAZING!
I’ll start with a screenshot. You know you want this. I have to blur a few things to keep some 53cr375 about my environment.
This is my configuration for collecting Windows event logs. I’m still working out the differences between the Windows XP, Server 2008R2, and Windows 7 computers I’m collecting logs from, but this has already proven very useful.
NOTE: If the screen width isn’t an exact multiple of 8, the video grabbed by dshow won’t play correctly in VLC. It will look garbled like black with diagonal lines.
For example: my laptop’s resolution is 1366×768. 1360 is a multiple of 8, but 1366 isn’t. It wasn’t until I had dshow scale the output to 1280×720 that I was able to get usable video into VLC.
Now that I can view the dshow video without trouble, I’m ready to encode to h.264 and segment for HLS.
VLC_Desktop_Stream.bat
[text]
@echo off
rem Start Stream
del /q C:xampphtdocsstream*
"C:Program Files (x86)VideoLANVLCvlc.exe" -I dummy dshow:// :dshow-vdev=screen-capture-recorder :dshow-adev=virtual-audio-capturer :dshow-aspect-ratio=16:9 vlc://quit –sout=#transcode{width=1280,height=720,fps=10,vcodec=h264,venc=x264{aud,profile=baseline,level=30,keyint=10,ref=1},acodec=mp3,ab=96}:std{access=livehttp{seglen=1,delsegs=true,numsegs=5,index=C:xampphtdocsstreammystream.m3u8,index-url=http://192.168.5.55/stream/mystream-########.ts},mux=ts{use-key-frames},dst=C:xampphtdocsstreammystream-########.ts}
[/text]
Note: Some devices honor the video stream’s stated aspect ratio, even if the video dimensions are different. My screen is 16:10, but I’m smooshing to 16:9. To make this work correctly, I had to specify the dshow aspect ratio as 16:9. No amount of fussing with it on the transcode side will fix this. It defaults to 4:3.
The simplevideoplayer example will play HLS and is simple enough for this.
RokuSDK_v41.zipexamplessourcesimplevideoplayer
Comment out the other video source lines in appMain.brs and change the URL under Apple’s HLS test stream to your local webserver.
Note: For some reason, this did not play unless I had srt = “” set.
appMain.brs
[text]
‘Apple’s HLS test stream
urls = ["http://192.168.5.55/stream/mystream.m3u8"%5D
qualities = ["HD"]
streamformat = "hls"
title = "Apple BipBop Test Stream"
srt = ""
[/text]