Making Home Assistant speak to RF devices (433MHz) via MQTT Gateway

Making Home Assistant speak to RF devices (433MHz) via MQTT Gateway

Adding an RF gateway to your Home Assistant setup makes your setup incredibly versatile because it opens up a multitude of low-cost automation opportunities. This project enables you to interface your Home Assistant setup with RF devices, allowing you to add cheap RF sensors to your home automation setup!

The Real Motivation behind Home Automation

The Real Motivation behind Home Automation

When it comes to my home automation set up there are a few reactions I get. Most people enthusiastically engage and ask questions, showing genuine interest. Others politely—and rather awkwardly—ignore the fact that my table lamp turned itself on for no apparent reason. Once the initial hurdle of introducing people to home automation is overcome though, I always get the same reaction.

Useful Dev Tools


title: Useful Dev Tools date: 2017-12-02 12:16:31 +0800 categories: [development] —

Useful stuff that I’ve found to be useful and can recommend.

ThingWhat it does
MQTTfxDesktop app that allows you to connect to your MQTT server and listen to messages as well as send them.
Notepad++Quickly open and edit text files from the Windows context menu
WinMergeCompare files and directories and merge changes as required. Life saver when handling version controlled resources.

Adaptec RAID Controller Troubleshooting

In an attempt to add redundant and fast storage to my desktop, I invested in a 500USD Adaptec RAID controller card that I won in an action for AU$50. Whilst outdated (and lacking free technical support), the controller still outperforms today’s consumer grade hardware, achieving SSD-like read and write speeds of 530MB/s in RAID 5 with five 500GB Seagate consumer hard drives. Random reads and writes suffer considerably because of the slow drives. I am not planning to take advantage of random access anyway as I can use the SSD array for that.

Markdown Example

Markdown Example

A page showing how regular markdown content is styled on my blog.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce varius ex in dolor porta, sit amet mattis leo viverra. Sed auctor, tellus luctus accumsan facilisis, nisi sem luctus eros, vel pellentesque lorem mi in mi. Nulla fringilla ex sem, eu imperdiet dui ultricies a. Praesent fringilla velit at est interdum, tincidunt tincidunt lectus maximus. Cras hendrerit lorem id diam luctus, accumsan commodo nunc cursus. Pellentesque imperdiet leo eu porta iaculis. Proin sed mollis dui.

Some photos of the NodeMCU breadboard prototype with 1 led and a small red button.

This is a post link

Message: Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Info: Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Warning: Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Danger: Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Success: Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Notice–Info: Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Notice–Warning:Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Notice–Danger: Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Notice–Success: Hydejack 8 introduces cover pages, i.e. This is a post link the sidebar opened, so that it spans the entire screen. This feature is intended for landing pages. This program is distributed in the hope that it will be useful.

Different Types of Dashes

Em: —

En: –

Hyphen: -

Definition Lost

Term
Donec porttitor nisi id est porttitor lobortis. Aliquam erat volutpat. Ut dui lectus, tristique a erat sit amet, sodales luctus lacus.
Another Term
Precise Definition Vivamus lacinia sit amet felis in pharetra. Sed risus ex, pharetra a mollis in, imperdiet nec massa.

An image

Control Panel for new DDNS service on Dynu Caption for images

There should be whitespace between paragraphs. We recommend including a README, or a file with information about your project. Aliquam feugiat est vitae augue vestibulum interdum. Nullam vehicula malesuada risus, vel fermentum leo. Curabitur lacinia odio sit amet erat vehicula, vitae congue ipsum condimentum. Vestibulum tincidunt erat et nibh congue, nec dictum magna volutpat. Vestibulum pellentesque dui et lorem auctor aliquam. Integer fringilla diam nec est tincidunt, et maximus mauris tincidunt.

There should be whitespace between paragraphs.

Text can be bold, italic, or strikethrough.

Link to another page.

Header 2

Aliquam feugiat est vitae augue vestibulum interdum. Nullam vehicula malesuada risus, vel fermentum leo. Curabitur lacinia odio sit amet erat vehicula, vitae congue ipsum condimentum. Vestibulum tincidunt erat et nibh congue, nec dictum magna volutpat.

Header 3

This is a blockquote following a header.

When something is important enough, you do it even if the odds are not in your favor.

Vestibulum pellentesque dui et lorem auctor aliquam. Integer fringilla diam nec est tincidunt, et maximus mauris tincidunt.

// Javascript code with syntax highlighting.
var fun = function lang(l) {
  dateformat.i18n = require('./lang/' + l)
  return true;
}
# Ruby code with syntax highlighting
GitHubPages::Dependencies.gems.each do |gem, version|
  s.add_dependency(gem, "= #{version}")
end

Header 4

  • This is an unordered list following a header.
  • This is an unordered list following a header.
  • This is an unordered list following a header.
Header 5
  1. This is an ordered list following a header.
  2. This is an ordered list following a header.
  3. This is an ordered list following a header.
Header 6
head1head twothree
okgood swedish fishnice
out of stockgood and plentynice
okgood oreoshmm
okgood zoute dropyumm

There’s a horizontal rule below this.


Here is an unordered list:

  • Item foo
  • Item bar
  • Item baz
  • Item zip

And an ordered list:

  1. Item one
  2. Item two
  3. Item three
  4. Item four

And a nested list:

  • level 1 item
    • level 2 item
    • level 2 item
      • level 3 item
      • level 3 item
  • level 1 item
    • level 2 item
    • level 2 item
    • level 2 item
  • level 1 item
    • level 2 item
    • level 2 item
  • level 1 item

Small image

Curabitur at dui a purus finibus efficitur. Pellentesque quis ipsum et massa scelerisque convallis. Duis tincidunt erat sit amet urna pellentesque, vitae faucibus nibh pulvinar. Ut auctor turpis in mauris interdum, in lobortis tellus facilisis. Nulla at pretium eros. Vivamus vel ligula sed ante porttitor gravida. Sed consectetur tortor metus, consectetur imperdiet sapien mollis eget. Fusce placerat turpis eu urna congue blandit. Donec in sem purus. Cras congue tortor sit amet orci eleifend, eget porttitor nibh lacinia. Phasellus odio libero, pretium nec maximus quis, consectetur nec lorem. Donec sollicitudin id enim sed vehicula. In porttitor dui ut pellentesque consequat.

Large image

Message boxes

NOTE: You can add a message box.

Large text

You can add large text.

Large images

Full-width image

Captions to images

Full-width image A caption to an image.

Large quotes

You can make a quote “pop out”.

Faded text

I’m faded, faded, faded.

Large Tables

Default alignedLeft alignedCenter alignedRight alignedDefault alignedLeft alignedCenter alignedRight alignedDefault alignedLeft alignedCenter alignedRight alignedDefault alignedLeft alignedCenter alignedRight aligned
First body partSecond cellThird cellfourth cellFirst body partSecond cellThird cellfourth cellFirst body partSecond cellThird cellfourth cellFirst body partSecond cellThird cellfourth cell
Second linefoostrongbazSecond linefoostrongbazSecond linefoostrongbazSecond linefoostrongbaz
Third linequuxbazbarThird linequuxbazbarThird linequuxbazbarThird linequuxbazbar
Second body   Second body   Second body   Second body   
2 line   2 line   2 line   2 line   
Footer row   Footer row   Footer row   Footer row   
Default alignedLeft alignedCenter alignedRight alignedDefault alignedLeft alignedCenter alignedRight alignedDefault alignedLeft alignedCenter alignedRight alignedDefault alignedLeft alignedCenter alignedRight aligned
First body partSecond cellThird cellfourth cellFirst body partSecond cellThird cellfourth cellFirst body partSecond cellThird cellfourth cellFirst body partSecond cellThird cellfourth cell
Second linefoostrongbazSecond linefoostrongbazSecond linefoostrongbazSecond linefoostrongbaz
Third linequuxbazbarThird linequuxbazbarThird linequuxbazbarThird linequuxbazbar
4th linequuxbazbar4th linequuxbazbar4th linequuxbazbar4th linequuxbazbar
5th linequuxbazbar5th linequuxbazbar5th linequuxbazbar5th linequuxbazbar
6th linequuxbazbar6th linequuxbazbar6th linequuxbazbar6th linequuxbazbar
7th linequuxbazbar7th linequuxbazbar7th linequuxbazbar7th linequuxbazbar
8th linequuxbazbar8th linequuxbazbar8th linequuxbazbar8th linequuxbazbar
9th linequuxbazbar9th linequuxbazbar9th linequuxbazbar9th linequuxbazbar
10th linequuxbazbar10th linequuxbazbar10th linequuxbazbar10th linequuxbazbar

Code blocks

// Example can be run directly in your JavaScript console

// Create a function that takes two arguments and returns the sum of those
// arguments
var adder = new Function("a", "b", "return a + b");

// Call the function
adder(2, 6);
// > 8

Math

Lorem ipsum f(x) = x^2.

\begin{aligned}
  \phi(x,y) &= \phi \left(\sum_{i=1}^n x_ie_i, \sum_{j=1}^n y_je_j \right) \\[2em]
            &= \sum_{i=1}^n \sum_{j=1}^n x_i y_j \phi(e_i, e_j)            \\[2em]
            &= (x_1, \ldots, x_n)
               \left(\begin{array}{ccc}
                 \phi(e_1, e_1)  & \cdots & \phi(e_1, e_n) \\
                 \vdots          & \ddots & \vdots         \\
                 \phi(e_n, e_1)  & \cdots & \phi(e_n, e_n)
               \end{array}\right)
               \left(\begin{array}{c}
                 y_1    \\
                 \vdots \\
                 y_n
               \end{array}\right)
\end{aligned}

What are Hashes, Checksums and File Digests?

I purchased a digital design assets library the other day containing 45000 files (some 200GB worth of data). The package came segmented into 30 ZIP archives uploaded to Amazon’s cloud. The issue faced with this distribution method was that each 6GB archive often corrupted during the download phase making extraction of the archive impossible whilst wasting a lot of my internet bandwidth in redownloads. (Assuming that the archives were uploaded correctly without any errors.)

Pagination