<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Home Automation &#8211; XtremeOwnage</title>
	<atom:link href="https://xtremeownage.com/category/technology/home-auto/feed/" rel="self" type="application/rss+xml" />
	<link>https://xtremeownage.com</link>
	<description>Cars, Computers, and Code.</description>
	<lastBuildDate>Sat, 20 May 2023 18:33:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.3</generator>

<image>
	<url>https://xtremeownage.com/wp-content/uploads/2019/09/cropped-Turbo-512-2-100x100.png</url>
	<title>Home Automation &#8211; XtremeOwnage</title>
	<link>https://xtremeownage.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Fire Tablet as Home Assistant Kiosk</title>
		<link>https://xtremeownage.com/2022/07/08/fire-tablet-as-home-assistant-kiosk/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Fri, 08 Jul 2022 13:03:03 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[Fire]]></category>
		<category><![CDATA[Fire Tablet]]></category>
		<category><![CDATA[Fully Kiosk]]></category>
		<category><![CDATA[home assistant]]></category>
		<category><![CDATA[Kiosk]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=2463</guid>

					<description><![CDATA[Using a Fire Tablet as a Kiosk for home assistant]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Introduction</h1>



<p>For over a year, I have been wanting to experiment with a wall-mounted tablet for viewing and controlling my home automation.</p>



<p>This week, I caught Amazon&#8217;s Fire HD10 tablets on sale for 60$ a piece, and decided to pick up a couple.</p>





<h1 class="wp-block-heading">Parts / Subscriptions Required</h1>



<h3 class="wp-block-heading"><a rel="noreferrer noopener" href="https://amzn.to/3ut8THq" data-type="URL" data-id="https://amzn.to/3ut8THq" target="_blank">A Tablet</a></h3>



<a href="https://www.amazon.com/Fire-HD-10-tablet/dp/B08BX7FV5L?keywords=fire+hd+10&amp;qid=1657680432&amp;smid=ATVPDKIKX0DER&amp;sr=8-1&amp;linkCode=li3&amp;tag=mobilea09d6c7-20&amp;linkId=dce45009dd23480218861ef16af3be78&amp;language=en_US&amp;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08BX7FV5L&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=US&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=mobilea09d6c7-20&amp;language=en_US"></a><img decoding="async" src="https://ir-na.amazon-adsystem.com/e/ir?t=mobilea09d6c7-20&amp;language=en_US&amp;l=li3&amp;o=1&amp;a=B08BX7FV5L" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;">



<p>For this article, I will be using a <a rel="noreferrer noopener" href="https://amzn.to/3ut8THq" data-type="URL" data-id="https://amzn.to/3ut8THq" target="_blank">Fire HD 10 Tablet</a>. You can pick them up as low as 50/60$ (for a refurbished one)</p>



<p>I will note, I have previously tried to get everything up and running on older tablets, but, I had pretty bad luck due to their web browsers being pretty far out of date&#8230;. and thus, not working too well with home assistant. </p>



<p>Why a fire tablet? Simple. You can pick them up quite cheap.</p>



<h3 class="wp-block-heading">(Optional) A Wall Mount</h3>



<p>This item is optional. However, I wanted a nice looking wall mount to hold the tablet. I personally went with <a rel="noreferrer noopener" href="https://amzn.to/3bYXYPq" data-type="URL" data-id="https://amzn.to/3bYXYPq" target="_blank">THIS OPTION</a> for ~ 50$ If you have a 3d printer, you can print your own case from <a rel="noreferrer noopener" href="https://www.thingiverse.com/thing:4734399" target="_blank">THINGVERSE</a>.</p>



<a href="https://www.amazon.com/dp/B082VHYQ48?&amp;linkCode=li3&amp;tag=mobilea09d6c7-20&amp;linkId=7b3731d7faf4c57b1b811537f6bf3c2d&amp;language=en_US&amp;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B082VHYQ48&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=US&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=mobilea09d6c7-20&amp;language=en_US"></a><img decoding="async" src="https://ir-na.amazon-adsystem.com/e/ir?t=mobilea09d6c7-20&amp;language=en_US&amp;l=li3&amp;o=1&amp;a=B082VHYQ48" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;">



<p>I will note, while I did order this mount&#8230; as of the time of writing this article, I leveraged a piece of <a rel="noreferrer noopener" href="https://amzn.to/3uyVOMG" data-type="URL" data-id="https://amzn.to/3uyVOMG" target="_blank">3m double sided tape</a> to do the job&#8230;. since this mount is a week or two out in the mail.</p>



<h3 class="wp-block-heading">(Optional) A Smart Plug</h3>



<p>Completely optional. however, if you want to automate charging the battery, you will need a smart plug.</p>



<p>For this&#8230;. you can use anything that integrates with home assistant.</p>



<p><a rel="noreferrer noopener" href="https://amzn.to/3OUTNm7" data-type="URL" data-id="https://amzn.to/3OUTNm7" target="_blank">KASA Plugs</a> &#8211; These are still local control as far as I know. I still have 5 or 10 of them around my house.</p>



<a href="https://www.amazon.com/TP-LINK-HS103P2-Required-Google-Assistant/dp/B07B8W2KHZ?crid=2H2ADOJIVII7X&amp;keywords=kasa+plug&amp;qid=1657680527&amp;smid=ATVPDKIKX0DER&amp;sprefix=kasa+plug%2Caps%2C91&amp;sr=8-3&amp;linkCode=li3&amp;tag=mobilea09d6c7-20&amp;linkId=de1ff0c4a39c9cccd3486e0f397bcee2&amp;language=en_US&amp;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07B8W2KHZ&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=US&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=mobilea09d6c7-20&amp;language=en_US"></a><img decoding="async" src="https://ir-na.amazon-adsystem.com/e/ir?t=mobilea09d6c7-20&amp;language=en_US&amp;l=li3&amp;o=1&amp;a=B07B8W2KHZ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;">



<p>There are also plugs using z-wave, zigbee, etc. Up to your personal preference if you choose to do this, and what plug you choose to do it with.</p>



<h3 class="wp-block-heading"><a href="https://www.fully-kiosk.com/" data-type="URL" data-id="https://www.fully-kiosk.com/" target="_blank" rel="noreferrer noopener">Fully Kiosk</a></h3>



<p>While you don&#8217;t HAVE to buy this subscription- It costs a one-time payment of around 7$ USD per device to unlock all of the features. Trust me- some of the additional features are worth having.</p>



<p>To note, you can fully try everything without having this license. Please feel free to experiment before buying this software. The only limitation without an active license, will be a large watermark across the screen reminding you to acquire a license.</p>



<p>To also note, this post is not affiliated or sponsored by Fully Kiosk in any way whatsoever.</p>



<h2 class="wp-block-heading">HACs Integrations/Front End Modules Used</h2>



<h3 class="wp-block-heading"><a href="https://github.com/cgarwood/homeassistant-fullykiosk" data-type="URL" data-id="https://github.com/cgarwood/homeassistant-fullykiosk" target="_blank" rel="noreferrer noopener">Fully Kiosk</a></h3>



<p>This integration handles getting fully kiosk fully integrated with home assistant.</p>



<h3 class="wp-block-heading"><a href="https://github.com/piitaya/lovelace-mushroom" data-type="URL" data-id="https://github.com/piitaya/lovelace-mushroom" target="_blank" rel="noreferrer noopener">Mushroom Cards / lovelace-mushroom</a></h3>



<p>These cards are pretty to look at, and are extremely suitable for a touchscreen interface, such as this tablet.</p>



<h3 class="wp-block-heading"><a href="https://github.com/NemesisRE/kiosk-mode" data-type="URL" data-id="https://github.com/NemesisRE/kiosk-mode" target="_blank" rel="noreferrer noopener">Kiosk-Mode</a></h3>



<p>This card can hide side bars, menu bars, and more allowing you to more easily build suitable dashboards for mobile devices.</p>



<h3 class="wp-block-heading"><a href="https://github.com/mattieha/slider-button-card" data-type="URL" data-id="https://github.com/mattieha/slider-button-card" target="_blank" rel="noreferrer noopener">Slider Button Card</a></h3>



<p>Thanks for the tip by r/filtertuple.</p>



<p>This card makes for a great sliding control for my HVAC.</p>



<h1 class="wp-block-heading">Getting Started</h1>



<h3 class="wp-block-heading">Step 1. Acquire a tablet. </h3>



<p>Acquire the tablet. Charge the tablet.</p>



<p>Configure the tablet.</p>



<p>UPDATE the tablet.</p>



<p>Once the tablet is charged, up to date, and configured, move onto the next step.</p>



<h3 class="wp-block-heading">Step 2. Enable Development Mode on the Tablet</h3>



<p>We will need to enable development mode in order to install unsigned apks (fully-kiosk).</p>



<p>Go to Settings, Device Options, About Fire Tablet.</p>



<p>Once you are here, click on the serial number field about 5 or 10 times. You will see a prompt appear at the bottom of the screen.</p>



<p>Go back one menu, back to device options. You should now see Developer Options.</p>



<p>Go into developer options.</p>



<p>Turn it off (at the top).</p>



<p>Scroll down slightly to the debugging section. Enable USB Debugging.</p>



<h3 class="wp-block-heading">Installation &amp; Configuration of Fully Kiosk</h3>



<h4 class="wp-block-heading">Install Fully Kiosk Browser</h4>



<p>On the tablet, visit this page: https://www.fully-kiosk.com/en/#download-box</p>



<p>You can also google, &#8220;Fully Kiosk Browser&#8221; to get to this location.</p>



<p>You want to download, &#8220;Fully Kiosk Browser&#8221;. Click on GET APK File.</p>



<p>After you download this, you will receive a prompt regarding unsigned device. You will need to grant the silk browser the ability to install unknown apps. Afterwards, the app should install. Open it.</p>



<h4 class="wp-block-heading">Network Configuration (Optional)</h4>



<p>I personally want to leverage this tablet on a dedicated IOT network, where it will have no network access.</p>



<p>For my home network, I have a dedicated SSID for this network. I configured the device to connect to this new SSID, and gave it a static IP. The static IP is a bit important, as it ensures your device retains the same IP when home assistant tries to talk to it.</p>



<p>Blocking&#8230; the device from the internet, also keeps amazon from sneaking in unwanted updates&#8230; or advertisements. </p>



<p>Note, if you purchase a license, the device will need internet access initially to fetch the license. You can disable internet access once it is activated.</p>



<h4 class="wp-block-heading">Configure Fully Kiosk Browser</h4>



<p>The first step, was to set the default URL. I set this to https://hass.mydomain.com/</p>



<p>Next, I created a new non-administrative user account within home assistant, with local sign-in only, and used this new account to sign in on the tablet, remember to click the button, &#8220;Keep me signed in&#8221;</p>



<p>At this point, you should be able to see your home assistant dashboards on the fire tablet without issues.</p>



<p>BUT, we are not done yet&#8230;</p>



<h4 class="wp-block-heading">Enable Fully Kiosk Remote Access (PLUS Only)</h4>



<p>Note, Plus only, means you need to have a paid license for these features.</p>



<p>Swipe your screen from the left, which should reveal the fully kiosk menu.</p>



<p>Click Settings.</p>



<p>Go to Remote Administration (PLUS)</p>



<p>Enable Remote Administration. Set a password. Note the remote administration URL.</p>



<p>After which, back out of the settings screen, and you will be presented with a bunch of permissions prompts. Accept all of the permissions, and grant fully kiosk all of the other special required permissions.</p>



<p>From a computer on your network, browse the the remote administration URL from earlier.</p>



<p>From here, we can continue the process of configuring the app, without needing to interact directly with the tablet.</p>



<h4 class="wp-block-heading">Enable Start on boot (PLUS Only)</h4>



<p>Under Device Management, there is a checkbox for Launch on boot. You will want to select this.</p>



<h4 class="wp-block-heading">Set Power Settings</h4>



<p>Under Settings -&gt; Power Settings</p>



<p>Note- You will want to initially set the wakeup/sleep schedules via the app instead of the remote UI.</p>



<p>I scheduled the device to wake up at 7:30am every day, and go to sleep at 10:30pm every night. This should correspond with times I will actually be awake.</p>



<p>Next, I enabled the battery warning. I set this value to 20%.</p>



<h4 class="wp-block-heading">Kiosk Settings (PLUS Only)</h4>



<p>Under Settings -&gt; Kiosk Mode</p>



<p>I enabled Kiosk mode. This will force a pin to exist kiosk mode. Note, I had to configure this via the app itself. I setup the exit gesture to require 5 taps on the screen.</p>



<p>After saving this, I needed to grant additional notifications permissions to fully Kiosk. </p>



<p>I also disabled all of the buttons, notifications, calls. I left the camera active for the motion detection feature.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="616" height="1024" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-4-616x1024.png" alt="" class="wp-image-2470" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-4-616x1024.png 616w, https://xtremeownage.com/wp-content/uploads/2022/07/image-4-180x300.png 180w, https://xtremeownage.com/wp-content/uploads/2022/07/image-4.png 651w" sizes="(max-width: 616px) 100vw, 616px" /></figure>



<h4 class="wp-block-heading">Configure Motion Detection (PLUS Only)</h4>



<p>Under Settings -&gt; Motion Detection</p>



<p>I enabled motion detection, and enabled turning on the screen when  motion is detected.</p>



<p>I also enabled, &#8220;Turn screen off in darkness&#8221;. If the lights are out, there is no need for this tablet to be active.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="651" height="788" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-3.png" alt="" class="wp-image-2469" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-3.png 651w, https://xtremeownage.com/wp-content/uploads/2022/07/image-3-248x300.png 248w" sizes="(max-width: 651px) 100vw, 651px" /></figure>



<h4 class="wp-block-heading">Configure &#8220;Other Settings&#8221;</h4>



<p>Under Settings -&gt; Other Settings.</p>



<p>I enabled Daily Usage Stats, Environmental Sensors, and MQTT.</p>



<p>For MQTT, I slightly modified the topics to include the prefix of kiosk.</p>



<p>After saving the settings, the device instantly appeared in my broker. The devie does send motion events via MQTT as well.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="462" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-2-1024x462.png" alt="" class="wp-image-2468" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-2-1024x462.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/07/image-2-300x135.png 300w, https://xtremeownage.com/wp-content/uploads/2022/07/image-2-768x347.png 768w, https://xtremeownage.com/wp-content/uploads/2022/07/image-2-1536x693.png 1536w, https://xtremeownage.com/wp-content/uploads/2022/07/image-2.png 1704w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="657" height="1006" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-1.png" alt="" class="wp-image-2467" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-1.png 657w, https://xtremeownage.com/wp-content/uploads/2022/07/image-1-196x300.png 196w" sizes="(max-width: 657px) 100vw, 657px" /></figure>



<h3 class="wp-block-heading">Add Fully Kiosk To Home Assistant</h3>



<h4 class="wp-block-heading">Install Fully Kiosk Browser Integration via HACs</h4>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="498" height="189" src="https://xtremeownage.com/wp-content/uploads/2022/07/image.png" alt="" class="wp-image-2464" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image.png 498w, https://xtremeownage.com/wp-content/uploads/2022/07/image-300x114.png 300w" sizes="(max-width: 498px) 100vw, 498px" /></figure>



<p>Self explanatory- But, install the Fully Kiosk Browser Integration via HACs. Restart home assistant afterwards. </p>



<h4 class="wp-block-heading">Add The Integration</h4>



<p>After home assistant has been added, Navigate to Settings -&gt; Devices &amp; Services -&gt; Integrations.</p>



<p>Click Add Integration</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="200" height="70" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-5.png" alt="" class="wp-image-2471"/><figcaption>Type in Kiosk, and then select Fully Kiosk Browser</figcaption></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="517" height="264" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-6.png" alt="" class="wp-image-2472" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-6.png 517w, https://xtremeownage.com/wp-content/uploads/2022/07/image-6-300x153.png 300w" sizes="(max-width: 517px) 100vw, 517px" /></figure>



<p>After adding in the static IP you were told to add earlier, and your remote administration password, the integration will be added.</p>



<p>With the integration, you have the ability to manage the tablet from home assistant. You can start apps change the browser&#8230; turn it on/off, reboot it&#8230; whatever you wish!</p>



<p>As a bonus, you can also transmit text to speech through the tablet.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="897" height="1024" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-7-897x1024.png" alt="" class="wp-image-2473" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-7-897x1024.png 897w, https://xtremeownage.com/wp-content/uploads/2022/07/image-7-263x300.png 263w, https://xtremeownage.com/wp-content/uploads/2022/07/image-7-768x877.png 768w, https://xtremeownage.com/wp-content/uploads/2022/07/image-7.png 1012w" sizes="(max-width: 897px) 100vw, 897px" /></figure>



<p>At this point, I modified a few of the scenes for my office, to turn the tablet on while my &#8220;Working&#8221; scene was active, and turn it off when my &#8220;Away&#8221; scene is active. </p>



<p>You can adjust the screen brightness for each scene.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="897" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-8-1024x897.png" alt="" class="wp-image-2474" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-8-1024x897.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/07/image-8-300x263.png 300w, https://xtremeownage.com/wp-content/uploads/2022/07/image-8-768x673.png 768w, https://xtremeownage.com/wp-content/uploads/2022/07/image-8.png 1247w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Charging Automation</h3>



<p>Some people will tell you to add a smart plug, to maintain the battery level between 20 -&gt; 80% or so.</p>



<p>If, you so choose to do this, Fully Kiosk does expose the battery percentage via the integration. You can easily toggle a smart plug to control the charging this way.</p>



<p>If you choose to do this, I would set an automation to turn on the smart plug when it is below 20-40%, and leave it on until the device is &gt; 80%, at which point I would disconnect the charger. </p>



<p>I personally, will not be doing this at this time. This device will remain plugged in forever, while sitting on my wall. While this can potentially cause battery degradation, to re-clarify, it will always be plugged in.</p>



<h3 class="wp-block-heading">Create Tablet-Specific Dashboards</h3>



<p>So, my primary dashboard isn&#8217;t exactly suited for the lower resolution of this tablet.. It was developed with a 4k screen in mind. As well, I want this tablet tailed more specifically for my office. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="496" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-9-1024x496.png" alt="" class="wp-image-2476" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-9-1024x496.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/07/image-9-300x145.png 300w, https://xtremeownage.com/wp-content/uploads/2022/07/image-9-768x372.png 768w, https://xtremeownage.com/wp-content/uploads/2022/07/image-9-1536x744.png 1536w, https://xtremeownage.com/wp-content/uploads/2022/07/image-9.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>My Primary Dashboard</figcaption></figure>



<p>So, I will be taking the relevant elements from various dashboards to create a panel tailored specifically to the area where this tablet will be located.</p>



<p>I will bring attention to the <a rel="noreferrer noopener" href="https://github.com/NemesisRE/kiosk-mode" data-type="URL" data-id="https://github.com/NemesisRE/kiosk-mode" target="_blank">kiosk-mode</a> addon which is available via HACs. It can hide headers, sidebars, and more for your tablet user.</p>



<p>For my mostly-finished product-</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="640" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-10-1024x640.png" alt="" class="wp-image-2478" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-10-1024x640.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/07/image-10-300x188.png 300w, https://xtremeownage.com/wp-content/uploads/2022/07/image-10-768x480.png 768w, https://xtremeownage.com/wp-content/uploads/2022/07/image-10-1536x960.png 1536w, https://xtremeownage.com/wp-content/uploads/2022/07/image-10.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>While, this, doesn&#8217;t look very&#8230; appealing on the web, Capturing a screenshot from a fire tablet is a bit more challenging than expected&#8230; especially, with a background video playing.</p>



<p>For an actual picture-</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="484" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-11-1024x484.png" alt="" class="wp-image-2479" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-11-1024x484.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/07/image-11-300x142.png 300w, https://xtremeownage.com/wp-content/uploads/2022/07/image-11-768x363.png 768w, https://xtremeownage.com/wp-content/uploads/2022/07/image-11-1536x727.png 1536w, https://xtremeownage.com/wp-content/uploads/2022/07/image-11.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>I will note, the space is almost perfectly filled up. I have instant navigation to sections of home assistant where I may need to go via the buttons on the left. I have access to all of the relevant scenes for this room on the bottom left.</p>



<p>The top-center panel will display any alerts I may need to be aware of. Batteries running low, devices not working. Fridge/Freezer getting too hot. Home battery running low.. Fire alarms going off&#8230; etc.</p>



<p>Under that, I have controls for this room&#8217;s lighting and <a href="https://xtremeownage.com/2022/03/27/pioneer-mini-split-home-assistant/" data-type="post" data-id="2089">HVAC systems</a>. To the right, I have my home security. I have alarm control, as well as instant access to the primary security cameras on the exterior of the house.</p>



<p>Overall, this dashboard will likely grow and be expanded in the future. However, for now, it has all of the basic needs I would leverage while I am in the office. </p>



<p>For layout, the above dashboard uses&#8230;</p>



<ol><li>Single panel dashboard view, with a horizontal card with 3 columns being the only panel.</li><li>Each column, contains a verticle stack.</li><li>The buttons on the left, leverages the grid card.</li><li>The lamp and alarm control leverages <a rel="noreferrer noopener" href="https://github.com/piitaya/lovelace-mushroom" data-type="URL" data-id="https://github.com/piitaya/lovelace-mushroom" target="_blank">lovelace-mushroom</a>. </li></ol>



<p><s>My only big complaint right now- the thermostat card takes up a lot of screen real-estate for its given function. </s></p>



<p>7/13/22 &#8211; This issue was resolved by the slider button card, which gives a nice slider for setting the temp.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="892" height="418" src="https://xtremeownage.com/wp-content/uploads/2022/07/image-12.png" alt="" class="wp-image-2503" srcset="https://xtremeownage.com/wp-content/uploads/2022/07/image-12.png 892w, https://xtremeownage.com/wp-content/uploads/2022/07/image-12-300x141.png 300w, https://xtremeownage.com/wp-content/uploads/2022/07/image-12-768x360.png 768w" sizes="(max-width: 892px) 100vw, 892px" /></figure>



<h2 class="wp-block-heading">Kiosk-specific automations</h2>



<h3 class="wp-block-heading">Restart when &#8220;waking&#8221;</h3>



<p>I noticed occasionally when I got up in the morning, the tablet would be displaying a white screen. After some investigation, refreshing the page would not resolve the issue. However, restarting the browser would. So&#8230;. I made an automation to do this.</p>



<p>Quite simply, when the screen turns on, it restarts the browser.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">alias: Kiosk - Restart Browser On Wakeup
description: Kiosk likes to wake up with a blank/white screen.
trigger:
  - platform: device
    type: turned_on
    device_id: 8c55dffb0aedf92bcc0c63f9cbc6f9df
    entity_id: light.bedroom_kiosk_screen
    domain: light
condition: []
action:
  - device_id: 8c55dffb0aedf92bcc0c63f9cbc6f9df
    domain: button
    entity_id: button.bedroom_kiosk_restart_browser
    type: press
mode: single
</pre>



<p>This turned out to be a simple, yet stupid solution for fixing the issue&#8230;. and it does work.</p>



<h3 class="wp-block-heading">Announce Alarmo State</h3>



<p>A simple idea, but, I wanted the kiosk to announce the state of my alarm when it changes.</p>



<p>IE, when you set the alarm to &#8220;Armed Home&#8221;, the kiosk will say, &#8220;Alarm Armed Home.&#8221;</p>



<p>Very simple automation, but, was very effective for the task at hand.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">alias: Kiosk - Announce Alarm State
description: ''
trigger:
  - platform: state
    entity_id:
      - alarm_control_panel.alarmo
condition: []
action:
  - service: tts.cloud_say
    data:
      entity_id: media_player.bedroom_kiosk_media_player
      message: >-
        Alarm {{ states('alarm_control_panel.alarmo') | regex_replace(find='_',
        replace=' ', ignorecase=False) }}
mode: single
</pre>



<h3 class="wp-block-heading">Display NVR Popup when motion is detected</h3>



<p>When people are detected outside of my house, I wanted to automatically announce via the kiosk, and display a live video feed of the cameras.</p>



<p>For this, I used the binary_sensors provided by the frigate integration for when a person is detected. When detected, I leverage the TTS service to announce motion, and then tell fully kiosk to show the blue iris footage. </p>



<p>After 30 seconds, it reverts back to the primary dashboard.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">alias: Kiosk - NVR Popup
description: ''
trigger:
  - type: motion
    platform: device
    device_id: 3b6e1cf99252fc44fbd4ca2159ca609d
    entity_id: binary_sensor.front_door_person_motion
    domain: binary_sensor
  - type: motion
    platform: device
    device_id: ef15f114880855207dfefc401dfda68c
    entity_id: binary_sensor.front_driveway_person_motion
    domain: binary_sensor
  - type: motion
    platform: device
    device_id: ec6af8f8edaa09c3c46d4d9dec430ee1
    entity_id: binary_sensor.mailbox_person_motion
    domain: binary_sensor
condition: []
action:
  - service: tts.cloud_say
    data:
      entity_id: media_player.bedroom_kiosk_media_player
      message: Front Motion Detected
  - service: fullykiosk.load_url
    data:
      entity_id: media_player.bedroom_kiosk_media_player
      url: https://nvr.xtremeownage.com/ui3.htm?group=Front
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - device_id: 8c55dffb0aedf92bcc0c63f9cbc6f9df
    domain: button
    entity_id: button.bedroom_kiosk_load_start_url
    type: press
mode: single
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pioneer Mini Split &#8211; Home Assistant</title>
		<link>https://xtremeownage.com/2022/03/27/pioneer-mini-split-home-assistant/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Sun, 27 Mar 2022 17:34:30 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[home assistant]]></category>
		<category><![CDATA[pioneer]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=2089</guid>

					<description><![CDATA[Installing and automating a minisplit]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="917" height="827" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-27.png" alt="" class="wp-image-2254" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-27.png 917w, https://xtremeownage.com/wp-content/uploads/2022/04/image-27-300x271.png 300w, https://xtremeownage.com/wp-content/uploads/2022/04/image-27-768x693.png 768w" sizes="(max-width: 917px) 100vw, 917px" /><figcaption class="wp-element-caption">Installed unit on the exterior of my house. Nothing fancy. This was a DIY project.</figcaption></figure>



<h1 class="wp-block-heading">Introduction</h1>



<p>Let me start off by saying, I like icicles on the wall while I sleep. As well, my bedroom also doubles as my home office. </p>



<p>During the summer time, with a few computers running, it gets pretty toasty back here.</p>



<p>In the winter time, being this room is on the far end of the house, it gets pretty chilly back here.</p>



<p>So, I decided to invest into a mini split&#8230; and integrate this into home assistant.</p>





<h1 class="wp-block-heading">How much did it cost / products</h1>



<h2 class="wp-block-heading">Contractor Quotes</h2>



<p>So, first of all, let me tell you how much I was quoted to have a 3/4 ton (9,000btu) mini split installed.</p>



<h4 class="wp-block-heading">Contractor #1-</h4>



<p>I was quoted 2,800$ to install a 3/4 ton gree mini split. This did not include running the electrical work. Electrical was 500$ extra.</p>



<h4 class="wp-block-heading">Contractor #2</h4>



<p>I was quoted 3,000$ to install a 3/4 ton Daikin mini split. This also did not include the electrical work. Electrical was 450$ extra.</p>



<h2 class="wp-block-heading">My Prices</h2>



<p>After having my mouth drop at the 3,500$ total price tags, I decided do it myself. Here are the products I purchased:</p>



<h4 class="wp-block-heading"><a rel="noreferrer noopener" href="https://amzn.to/35cbaNU" data-type="URL" data-id="https://amzn.to/35cbaNU" target="_blank">Pioneer WYS 3/4 Ton &#8211; 23 Seer</a> (Amazon)</h4>



<p>For the cost of only a touch over 900$ shipped, for a 23 seer unit, seemed like a pretty acceptable deal to me. I went the pioneer route after hearing good luck from a co-worker who tied these units into home assistant.</p>



<h4 class="wp-block-heading"><a rel="noreferrer noopener" href="https://amzn.to/3wxy3GM" data-type="URL" data-id="https://amzn.to/3wxy3GM" target="_blank">Charging Port Adaptor &#8211; 5/16&#8243; -&gt; 1/4&#8243;</a> (Amazon)</h4>



<p>This is needed to connect a standard set of vacuum gauges up to the unit.</p>



<h4 class="wp-block-heading">6<a rel="noreferrer noopener" href="https://www.pioneerminisplit.com/products/60a-non-fusible-ac-disconnect-box-230-volt" target="_blank">0 Amp AC Disconnect Box</a> (Pioneer)</h4>



<p>Sorry, no amazon link. But, for 14.99$.. the price was good. I don&#8217;t think I could have beaten this price at my local hardware store.</p>



<h4 class="wp-block-heading"><a rel="noreferrer noopener" href="https://www.pioneerminisplit.com/products/6-ft-plastic-flexible-whip-3-lead-10-awg" target="_blank">6ft Plastic Flexible Whip &#8211; 10AWG</a> (Pioneer)</h4>



<p>I went ahead and ordered the whip from pioneer as well.</p>



<h3 class="wp-block-heading">Total So Far &#8211; 970$</h3>



<p>I ordered all four of the above items directly from pioneer. However, the amazon prices linked above have the same cost at this time.</p>



<p>But- wait, there are a few more items required.</p>



<h4 class="wp-block-heading"><a rel="noreferrer noopener" href="https://amzn.to/3LvbC9B" data-type="URL" data-id="https://amzn.to/3LvbC9B" target="_blank">Pioneer Wi-Fi module for WYS Systems.</a></h4>



<p>This part is CRUCIAL for integration into home assistant. Without it, you will need to rely on integrating the device using IR senders&#8230;&#8230; and personally, I want two way communication, in real time.</p>



<h4 class="wp-block-heading"><a rel="noreferrer noopener" href="https://amzn.to/3wzjwdw" data-type="URL" data-id="https://amzn.to/3wzjwdw" target="_blank">100ft 10/2 Wire</a></h4>



<p>I actually didn&#8217;t end up needing to use this at all. In the future, I will run an outlet to my welder using it. I will explain more below.</p>



<h4 class="wp-block-heading"><a rel="noreferrer noopener" href="https://amzn.to/36I9lsk" data-type="URL" data-id="https://amzn.to/36I9lsk" target="_blank">Pioneer Foldable Condenser Bracket &#8211; 2 piece</a></h4>



<p>If its built by the company making the mini split, I would assume it is more then capable of holding their unit! So far, it is up to the task. Also, I accidentally ordered two of these. Oops.</p>



<h3 class="wp-block-heading">Total Price: ~1,500$</h3>



<p>Do note, I also spent around 200$ extra at the local hardware store, on a small section of 2&#8243; PVC, as well as a full length 3/4&#8243; PVC&#8230; and a few small odds and ends, including a masonry drill bit, and a few concrete anchors.</p>



<h2 class="wp-block-heading">Other Potential Units:</h2>



<ul>
<li><a rel="noreferrer noopener" href="https://amzn.to/3NhE93X" data-type="URL" data-id="https://amzn.to/3NhE93X" target="_blank">Gree 1 Ton 16 Seer</a></li>



<li><a href="https://amzn.to/3DbjXMt" data-type="URL" data-id="https://amzn.to/3DbjXMt" target="_blank" rel="noreferrer noopener">Daikin 3/4 ton 17 Seer</a></li>
</ul>



<h1 class="wp-block-heading">Installation</h1>


[expand title=&#8221;Click if you wish to read the installation process&#8230;. No images, its pretty boring&#8221;]



<p>Sorry- I did not take any pictures during this process&#8230;. But, I will detail the steps required. You can skip down to (INSERT LINK HERE) for how to connect this unit into home assistant.</p>



<ol>
<li>First, we went inside the house and located a nice spot in the center of my bedroom wall.</li>



<li>The unit requires 6-8 inches of clearance on the top. </li>



<li>Next, we mounted the &#8220;plate&#8221; on the wall, in the center of the wall, with the top 10 inches from the ceiling to allow for proper top clearance.</li>



<li>After that, we followed the instructions and used a 2&#8243; hole bit to drill a hole through the interior sheetrock.. Followed by a LONG masonry bit to drill all the way through the outside brick wall.</li>



<li>Next, was the hardest part of this entire process. Drilling a 2&#8243; hole through the brick. After tracing a 2&#8243; circle using the section of 2&#8243; PVC, we started using a small masonry bit to drill holes around the perimeter of the traced outline.</li>



<li>I then utilized my air chisel to carefully knock a hole through the brick.</li>



<li>After this was completed, we had a hole which fit the 2&#8243; PVC Perfectly. </li>



<li>I used a knife and screwdriver to poke and extend a 2&#8243; hole through the insulation.</li>



<li>The 2&#8243; PVC was cut to the length from the interior wall, to the exterior wall. IE, it fits flush on either side.</li>



<li>The lineset was then ran through the 2&#8243; pipe. After this, the pipe containing the line set was inserted into the new 2&#8243; hole going from outside of the house, to the interior.</li>



<li>MAKE SURE TO RUN THE DAMN CONTROL CABLE THROUGH THE PIPE TOO!!!!!!!! Its a lot harder to run AFTER you put everything in the wall, and bolt everything together.. Ask me how I know&#8230; /s</li>



<li>At this point, the interior unit was hinged from the top of the mount, while we connected the line set, and routed the control wires.</li>



<li>After connecting the line set and control wires, the interior unit &#8220;snaps&#8221; to the mounting plate. You are now done inside of the house.</li>



<li>Back outside, I used spray foam to fill any remaining gaps from the 2&#8243; hole we created. I then used masonry clay to fill the gaps directly around the 2&#8243; pipe in the brick.</li>



<li>Next, the outdoor mounting brackets were mounted to the exterior brick, using concrete anchors&#8230; after careful measurement.</li>



<li>We mounted the outdoor unit to the mounting brackets using the included rubber pads.</li>



<li>The line set was carefully bent in a few key locations, to route into the side of the outdoor unit, in a somewhat pretty way.</li>



<li>The line set was then connected to the exterior unit, along with the control wires.</li>



<li>The drain line was inserted into the piece of 3/4&#8243; pvc from earlier, which was mounted vertically to the wall to drain near the ground&#8230; and secured to the brick using clamps and more anchors.</li>



<li>The final piece of work remaining was to run electrical.</li>



<li>After looking through my breaker box, I realized I had an unused 220v circuit going to my oven. As my oven is natural gas, and there was not even an outlet behind it, I decided to steal this cable instead of running the new 10/2 I had acquired. </li>



<li>I drilled a 1&#8243; hole through the gabled end of my house, and placed a 1ft section of 1&#8243; pipe through this new hole. Where the pipe exits the gabled end of my house, it has a 90 degree turn so that it runs down vertical to the disconnect box. The cable runs through this piece of PVC. Caulking was used to seal up around the new PVC. </li>



<li>At the bottom of the 1&#8243; PVC containing the romex, it has a 90 degree joint, screwing directly into the side of the disconnect box.</li>



<li>I did swap the original 60amp breaker out for a much more suitable 20 amp breaker. </li>



<li>After this was completed, and the whip was installed between the disconnect box, and the outdoor unit&#8230;. it was time to vacuum out the air.</li>



<li>This step is absolutely crucial to your unit. Borrow or acquire a vacuum pump, and a set of gauges. You need to vacuum all of the air out of the line set. Once you have a vacuum pulled, you need to wait a bit&#8230;&#8230; and ensure it holds the vacuum.</li>



<li>Once you are sure it is not leaking, you can slowly open up the valves on the outdoor unit, allowing the refrigerant to enter the lines. Use a spray bottle filled with soapy water to ENSURE you don&#8217;t have any leaks. You don&#8217;t want this stuff to leak.</li>



<li>After that step is done, you are all done!</li>
</ol>



<p>Overall, the installation took us a full day to complete.</p>


[/expand]



<h2 class="wp-block-heading">Connecting to Home Assistant</h2>



<p></p>



<p class="has-large-font-size"><strong>WARNING!!!!!!</strong></p>



<p>As of May 2023, I no <strong><span style="text-decoration: underline;">longer recommend the below method.</span></strong></p>



<p>Instead, there is a much <strong>cheaper</strong>, AND more <strong>reliable </strong>option.</p>



<p><a href="https://static.xtremeownage.com/blog/2023/pioneer-mini-split-esphome/">https://static.xtremeownage.com/blog/2023/pioneer-mini-split-esphome/</a></p>



<p>However, for historical reasons- the original method is still outlined below:</p>



<p></p>



<p></p>



<p>This part was actually pretty easy.</p>



<p>First- make sure you installed the wifi unit into the indoor unit. There is a special slot where it goes in.</p>



<p>Next, download the &#8220;Nethome Plus&#8221; app on your phone.</p>



<p>Open the app, and add the unit. You will need to scan the QR code which was included with the wireless module.</p>



<p>After this, you will need to connect the unit to your wifi. If you are like me, I keep all of my IOT stuff on a dedicated subnet, with no internet or outbound access at all. NTP is the only allowed traffic for my IOT devices. However, my home assistant can access everything on the IOT subnet.</p>



<p>If you use a IOT subnet, you will need a temporary firewall rule while connecting the unit via the app. Once the unit is on the wifi, you can disable/delete this rule.</p>



<p>Next, in home assistant, visit HACS, and add the &#8220;Midea Smart Aircon&#8221; integration.</p>



<p>Now, we will need a machine with python to obtain a few piece of details. Please read these <a rel="noreferrer noopener" href="https://github.com/mac-zhou/midea-ac-py#how-to-get-configuration-variables" data-type="URL" data-id="https://github.com/mac-zhou/midea-ac-py#how-to-get-configuration-variables" target="_blank">INSTRUCTIONS</a>. you will need the token and key.</p>



<p>I used this command:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># Create a venv
python -m venv ac_stuff

# Enter the venv
source ac_stuff/bin/activate

# Install "MSmart"
pip3 install msmart

# Discover the device. Put your device's IP in here. I allocated a static IP for my unit in my router/firewall.
midea-discover --ip 10.20.10.5

You will then see output... you will need this for later.</pre>



<p>Next, we need to modify Home Assistant&#8217;s configuration.yaml</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">climate:
  - platform: midea_ac
    host: 10.100.3.5
    id: 43980465114375           ## Put your ID here.
    token: PUT_YOUR_TOKEN_HERE!!!!
    k1: PUT YOUR K1 / KEY HERE!!!
    prompt_tone: false           ## Set this to disable beeps every time you change something.
    temp_step: 1                 ## Optional, but, I want 1 degree temp increments instead of the default 0.5</pre>



<p>After this is completed, restart home assistant, and you should have new climate device.</p>



<p>At this point, I took the liberty of renaming the device, and customizing it.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="469" height="530" src="https://xtremeownage.com/wp-content/uploads/2022/03/image-1.png" alt="" class="wp-image-2092" srcset="https://xtremeownage.com/wp-content/uploads/2022/03/image-1.png 469w, https://xtremeownage.com/wp-content/uploads/2022/03/image-1-265x300.png 265w" sizes="(max-width: 469px) 100vw, 469px" /></figure>



<p></p>



<p>At this point, you are basically done. If you add a climate/thermostat card, you should be able to fully interact with the device.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://xtremeownage.com/wp-content/uploads/2022/03/image-2.png" alt="" class="wp-image-2093"/></figure>



<p>However, I decided to use the <a rel="noreferrer noopener" href="https://github.com/nielsfaber/scheduler-card" data-type="URL" data-id="https://github.com/nielsfaber/scheduler-card" target="_blank">scheduler-card</a> to add a few schedules.</p>



<p>This was extremely easy to do, and very intuitive. I highly recommend this addon. You can install it via hacs. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="203" src="https://xtremeownage.com/wp-content/uploads/2022/03/image-3-1024x203.png" alt="" class="wp-image-2094" srcset="https://xtremeownage.com/wp-content/uploads/2022/03/image-3-1024x203.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/03/image-3-300x59.png 300w, https://xtremeownage.com/wp-content/uploads/2022/03/image-3-768x152.png 768w, https://xtremeownage.com/wp-content/uploads/2022/03/image-3-1536x305.png 1536w, https://xtremeownage.com/wp-content/uploads/2022/03/image-3.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>If you are interested in how to set this up, please read <a href="https://xtremeownage.com/2022/03/25/home-assistant-programmable-thermostat-gui-part-2/" data-type="post" data-id="2097">THE TUTORIAL I CREATED</a></p>



<h1 class="wp-block-heading">Overall opinons</h1>



<p>Overall, I am extremely happy with this unit.</p>



<p>One thing I will note, the original 3,000$ price tags aren&#8217;t quite as bad as I originally expected though.</p>



<p>If you figure, I spent 1,500$ in materials. Lets say, they can get the same materials for 1,200$, which is very possible. Then, lets assume you have two people on site for 10 hours to install this unit&#8230; (The helper I had, is a professional HVAC installer&#8230;) Lets say, the lead is 60$/hr, and the helper makes 20$/hr. 600+200 in labor = 800$. So, 2,000$ total. </p>



<p>In my case, it was extremely helpful having someone help me who has done this before. After doing one of these units, I would feel pretty comfy doing another one by myself though. But, you can also watch youtube videos on how to install these.</p>



<p>Regarding the units performance, its extremely quiet, and it works very well. While working, it keeps the temp very comfy, and at night time, It kept it at 56F last night. Nice!</p>



<p>Regarding power usage, this unit is quite good. Since, putting it in, it has averaged around 16cents of power consumption per day&#8230;. that includes cooling the bedroom to around 60 from 8pm, to 6am, and then  heating to around 70-72 from 6am &#8211; 8pm. You will notice, once it has &#8220;cooled&#8221; the room, the unit uses basically no energy. </p>



<p>Power Consumption:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="525" src="https://xtremeownage.com/wp-content/uploads/2022/03/image-22-1024x525.png" alt="" class="wp-image-2141" srcset="https://xtremeownage.com/wp-content/uploads/2022/03/image-22-1024x525.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/03/image-22-300x154.png 300w, https://xtremeownage.com/wp-content/uploads/2022/03/image-22-768x394.png 768w, https://xtremeownage.com/wp-content/uploads/2022/03/image-22.png 1329w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Bedroom Temp:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="177" src="https://xtremeownage.com/wp-content/uploads/2022/03/image-23-1024x177.png" alt="" class="wp-image-2142" srcset="https://xtremeownage.com/wp-content/uploads/2022/03/image-23-1024x177.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/03/image-23-300x52.png 300w, https://xtremeownage.com/wp-content/uploads/2022/03/image-23-768x133.png 768w, https://xtremeownage.com/wp-content/uploads/2022/03/image-23-1536x266.png 1536w, https://xtremeownage.com/wp-content/uploads/2022/03/image-23-2048x354.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Yesterday&#8217;s power consumption.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="325" src="https://xtremeownage.com/wp-content/uploads/2022/03/image-24-1024x325.png" alt="" class="wp-image-2143" srcset="https://xtremeownage.com/wp-content/uploads/2022/03/image-24-1024x325.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/03/image-24-300x95.png 300w, https://xtremeownage.com/wp-content/uploads/2022/03/image-24-768x244.png 768w, https://xtremeownage.com/wp-content/uploads/2022/03/image-24-1536x487.png 1536w, https://xtremeownage.com/wp-content/uploads/2022/03/image-24.png 1636w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p>Regarding the automation side, this unit is COMPLETELY local control, and I have it on my IOT subnet, which has zero access to anything. The automation works in real time, without any delay&#8230; and the schedules are fantastically easy to setup and configure. Would highly recommend.</p>



<h2 class="wp-block-heading">FAQs</h2>



<p>Q: Why didn&#8217;t you get a Mitsubishi or Fujisto? They are the best</p>



<p>A: I don&#8217;t doubt they are made with a much higher quality. However, I cannot buy their units without going through a contractor. I purposely got the pioneer unit, because it was cheap, and extremely DIY friendly&#8230;. and I was able to order it right off the internet and have it shipped to my front door.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Attic fan automation</title>
		<link>https://xtremeownage.com/2021/12/05/attic-fan-automation/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Sun, 05 Dec 2021 14:30:59 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1833</guid>

					<description><![CDATA[Introduction So, my house has an attic-fan. For those who don&#8217;t know what an attic-fan is&#8230; Imagine a very large fan which sucks a huge volume of air through the...]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Introduction</h1>



<p>So, my house has an attic-fan. For those who don&#8217;t know what an attic-fan is&#8230; Imagine a very large fan which sucks a huge volume of air through the house, and sends it out through the attic.</p>



<p>These fans are amazing during this time of the year, because you can quickly suck large volumes of cooler, outside air into the house, efficiently cooling the house down without needing to run the central HVAC.</p>



<p>A month or so ago, I replaced the 50 year old attic-fan timer, with a simple Shelly 1PM. This allows me to remotely trigger the attic fan on, or off, and integrates everything into <a href="https://www.home-assistant.io/" data-type="URL" data-id="https://www.home-assistant.io/" target="_blank" rel="noreferrer noopener">Home Assistant</a> for me.</p>



<p>The purpose of this article, is to go over the automation I put into place to make it nearly completely automated. </p>



<h2 class="wp-block-heading">Part One &#8211; The Dashboard</h2>



<p>I made a very simple dashboard for triggering the attic fan. At the top, you have instance access to buttons for running the fan for a predetermined duration of time, running the system until the living-room is below 70 degrees, or, running the system until the bedroom is below 65 degrees.</p>



<p>As well, I add a panel to show the temp sensors from those areas, along with the outdoor temp.</p>



<p>Each of the buttons at the top, performs a call to input_select.select_option, which then updates the value of a input_select entity I named, &#8220;Attic Fan Mode&#8221;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="513" height="828" src="https://xtremeownage.com/wp-content/uploads/2021/12/image.png" alt="" class="wp-image-1836" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image.png 513w, https://xtremeownage.com/wp-content/uploads/2021/12/image-186x300.png 186w" sizes="(max-width: 513px) 100vw, 513px" /></figure>



<p>I originally attempted the various automatons using scripts inside of home assistant, however, each additional scenario caused the complexity of the script to raise higher and higher. While this could be done easier using templates, I wanted something that was very simple, straightforward to look at, update, and utilize.</p>



<p>So, I chose node-red.</p>



<h2 class="wp-block-heading">Automation #1 &#8211; Turn off HVAC when Attic-Fan is turned on.</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="123" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-1-1024x123.png" alt="" class="wp-image-1837" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-1-1024x123.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/12/image-1-300x36.png 300w, https://xtremeownage.com/wp-content/uploads/2021/12/image-1-768x92.png 768w, https://xtremeownage.com/wp-content/uploads/2021/12/image-1.png 1298w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>The first automation, is simple. When the attic fan is running, it sets the HVAC_MODE for my thermostat, to &#8220;off&#8221;.</figcaption></figure>



<p>This is a requirement, as when its 40 degrees outside and you are running the attic fan, this would easily cool the central thermostat below its configured set point, causing your heater to run while you are attempting to cool the house down.</p>



<p>Now- I did find out, turning the thermostat on and off, was not AS simple as just calling climate.turn_off, or climate.turn_on. Instead, when the attic fan turns on, I first query the current hvac_mode of the thermostat, and hold onto this value. Then, I up the hvac_mode to &#8220;Off&#8221;. Afterwards, we wait for the attic fan to turn off. After it has successfully turned off, I call climate.set_hvac_mode= the previously captured value.</p>



<p>In my case, calling climate.turn_on would cause the thermostat to end up in &#8220;automatic&#8221; mode, instead of the previously configured heating or cooling mode.</p>



<h2 class="wp-block-heading">Automation #2 &#8211; Different various &#8220;Modes&#8221;</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="241" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-2-1024x241.png" alt="" class="wp-image-1838" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-2-1024x241.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/12/image-2-300x71.png 300w, https://xtremeownage.com/wp-content/uploads/2021/12/image-2-768x181.png 768w, https://xtremeownage.com/wp-content/uploads/2021/12/image-2.png 1485w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>The above image contains all of the various &#8220;Attic Fan Mode&#8221; values I defined up above, as well as logic for resetting the timers.</p>



<p>The first node, will be triggered when the state is changed. If the state is set to &#8220;Off&#8221;, it exits through the bottom, which sends a Stop message that is propagated to the wait timers down the chain. This is useful, because if you manually turn the attic_fan off, this will automatically reset the timers.</p>



<p>For the switch mode- it is configured with each of the various &#8220;Modes&#8221; along with a node matching &#8220;STOP&#8221;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="530" height="596" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-3.png" alt="" class="wp-image-1839" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-3.png 530w, https://xtremeownage.com/wp-content/uploads/2021/12/image-3-267x300.png 267w" sizes="(max-width: 530px) 100vw, 530px" /></figure>



<p>The rest, is quite simple.</p>



<p>The timers simply start a timer within node red&#8230; and, the temp-specific modes will wait until the condition has been achieved for two minutes before turning the mode selector back to &#8220;Off&#8221;.</p>



<h2 class="wp-block-heading"></h2>



<p>That is basically it. Nothing overly complex. </p>



<p>A few have expressed concern regarding the timer being non-persistent. In my case, the uptime for either home assistant or node-red for me is usually measured in months. As well, since the fan is quite audible when running, it is not likely that I would not notice it has been running for longer then I would have expected. So, in the rare event the timer was interrupted, I could simply turn the fan back to off.</p>



<p></p>



<p>If you have questions/comments/complaints, post em below.</p>



<p></p>



<p>For anyone wanting to know the ESPHome configuration used- here it is. </p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">substitutions:
  devicename: "attic_fan"
  friendly_name: "Attic Fan"
  ip_address: 
  gateway: 
  &lt;&lt;: !include secrets.yaml

&lt;&lt;: !include config/common.yaml

esphome:
  name: ${devicename}
  platform: ESP8266
  board: esp01_1m


time:
  - platform: homeassistant
    id: homeassistant_time

sensor: 
  - platform: hlw8012
    cf_pin: GPIO05
    cf1_pin: GPIO13 # not used because it is not available on the 1PM but it is needed to compile
    sel_pin: GPIO14 # not used because it is not available on the 1PM but it is needed to compile
    power:
      name: "${friendly_name} Watts"
      unit_of_measurement: W
      id: "${devicename}_power"
      icon: mdi:flash-circle
      accuracy_decimals: 1
      filters:
      # Map from sensor -> measured value
      - calibrate_linear:
          - 0.0 -> 1.0
          - 110.33186 -> 20.62
          - 131.01909 -> 24.32
          - 341.33920 -> 62.08
          - 5561.41553 -> 1000.0
          - 2975.51221 -> 535.7
          - 9612.66309 -> 1720.0
          - 14891.35352 -> 2679.0      
      # Make everything below 2W appear as just 0W.
      # Furthermore it corrects 1.0W for the power usage of the plug.
      - lambda: if (x &lt; (2 + 1)) return 0; else return (x - 1);
    update_interval: 3s
  # Wifi Signal Sensor
  - platform: wifi_signal
    name: "${devicename} WiFi Signal"
    update_interval: 60s
  # NTC Temperature
  - platform: ntc
    sensor: temp_resistance_reading
    name: ${devicename} Temperature
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    icon: "mdi:thermometer"
    calibration:
      b_constant: 3350
      reference_resistance: 10kOhm
      reference_temperature: 298.15K
    on_value_range:
      - above: 85.0
        then:
          # - light.turn_off: lightid1
          # - fan.turn_off: fanid1
          - homeassistant.event:
              event: esphome.overheat
              data:
                title: ${devicename} has overheated.
  - platform: resistance
    id: temp_resistance_reading
    sensor: temp_analog_reading
    configuration: DOWNSTREAM
    resistor: 32kOhm
  - platform: adc
    id: temp_analog_reading
    pin: A0

switch:
  - platform: gpio
    name: ${friendly_name}
    icon: "mdi:ceiling-light"
    pin: GPIO15
    id: relay

output:
  # Relay state led
  - platform: esp8266_pwm
    id: state_led
    pin:
      number: GPIO00
      inverted: true</pre>



<h1 class="wp-block-heading">Closing Notes</h1>



<p>While, I could have used a variable to track the minutes of remaining runtime to make this persistent in the event one of my containers had to restart, and, I could have also created a variable to allow the set-point to be easily configured- I don&#8217;t think it would ever be touched.</p>



<p>So, this one is simple, fit for purpose, fit for use. When I run the attic fan, its usually just for the purpose of quickly cooling down my bedroom for going to sleep, or sucking warm air out of the living areas.</p>



<p>As such, the few simple cases I chose to automate, will encompass pretty much every case I leverage the fan for.  However, If I do find a new use-case, I will be sure to automate it.</p>



<p></p>



<p>Another scenario I did consider automating- was to turn the attic fan off when the fire-detector is triggered. Since, my detectors are z-wave based, and I do have those integrated into home assistant- I choose to not do this.</p>



<p>Why?</p>



<p>For a few reasons.</p>



<p>#1 &#8211; The attic fan generally runs for a short duration, at very specific times. Since, you DO have to open windows and/or doors for the air to be directed into the proper room, this isn&#8217;t something I have plans to fully automate at this time.</p>



<p>#2 &#8211; 100% of the time so far when my fire detectors have triggered- was due to me cooking. In the scenario where my cooking is so bad that the fire detector is triggered, I actually want to leverage the attic-fan to suck fresh air into the house. If the fan were automated to where it shut off when a fire was detected- this would not be possible.</p>



<p>#3 &#8211; Back during the cold snap earlier this year, I had a generator running outdoors. Well, turns out, the carbon monoxide found a way into my home. Thankfully, my Z-Wave Detectors alerted me to the carbon monoxide situation. In this case, I leverage the attic fan to pull in plenty of fresh (and frigid) air into the house as well.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Home Assistant &#8211; Programmable Thermostat GUI</title>
		<link>https://xtremeownage.com/2021/10/30/home-assistant-programmable-thermostat-gui/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Sat, 30 Oct 2021 22:09:35 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1733</guid>

					<description><![CDATA[Implementing thermostat schedules within home assistant.]]></description>
										<content:encoded><![CDATA[
<p>So, after converting my thermostat over to <a href="https://xtremeownage.com/2021/10/29/full-local-hvac-control-with-z-wave/" data-type="post" data-id="1710">Z-Wave earlier today</a>, I was trying to determine how to best setup heating/cooling schedules for my thermostat.</p>



<p>Home assistant does not have a native GUI for handling this, and most are using automations to change the setpoints.</p>



<p>For me, automations is a pretty messy way of handling this, and I wanted something a tad easier, that I can easily understand from a glance.</p>



<p>I also looked through HACS for a gui- based programmable thermostat integration or card, and came up empty handed.</p>



<p></p>



<p>I decided to use the <a rel="noreferrer noopener" href="https://github.com/nielsfaber/scheduler-card" data-type="URL" data-id="https://github.com/nielsfaber/scheduler-card" target="_blank">scheduler card</a> to handle this for me. I already use this component for many one-off schedules, as it is easy to maintain, and has a simple interface to add/remove schedules, with conditions.</p>



<h2 class="wp-block-heading">Setting up the &#8220;dashboard&#8221;</h2>



<p>Because, I enjoy having groups of things seperate, I was happy to see I could make a seperate dashboard, to only display the climate-related schedules. This allows me to keep things such as, timers for my holiday lighting, seperate from my HVAC schedules. </p>



<p>The first action after creating the dashboard, set in panel mode, with only the scheduler component- was to create the &#8220;HEATING&#8221; schedule.</p>



<p>My heating schedule is pretty simple. M-F, I want the heat set to 70F at 6am, so when the wife&amp;kids are getting ready for school, its warm. After 6:45am, the heat turns down to 67, and remains there until 10pm when it turns down to 64.</p>



<p>Remember- My <a href="https://xtremeownage.com/2021/10/29/fireplace-automation-part-3/" data-type="post" data-id="1729">Fireplace Automation</a> will keep the living areas a couple degrees warmer than my thermostat setpoint as long as somebody is in there.</p>



<p>Step 1. Add an item:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="615" height="385" src="https://xtremeownage.com/wp-content/uploads/2021/10/image-4.png" alt="" class="wp-image-1735" srcset="https://xtremeownage.com/wp-content/uploads/2021/10/image-4.png 615w, https://xtremeownage.com/wp-content/uploads/2021/10/image-4-300x188.png 300w" sizes="(max-width: 615px) 100vw, 615px" /></figure>



<p>But, only on workdays, at 6am</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="185" src="https://xtremeownage.com/wp-content/uploads/2021/10/image-5-1024x185.png" alt="" class="wp-image-1736" srcset="https://xtremeownage.com/wp-content/uploads/2021/10/image-5-1024x185.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/10/image-5-300x54.png 300w, https://xtremeownage.com/wp-content/uploads/2021/10/image-5-768x139.png 768w, https://xtremeownage.com/wp-content/uploads/2021/10/image-5-1536x278.png 1536w, https://xtremeownage.com/wp-content/uploads/2021/10/image-5.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Next- click options.</p>



<p>I set a single condition, so the schedule will only apply if the thermostat is already in &#8220;HEAT&#8221; mode. I also gave it a name, which should allow me to easily sort through multiple schedules if needed. I did set the tag field as well to facilitate easier searching</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="426" height="608" src="https://xtremeownage.com/wp-content/uploads/2021/10/image-6.png" alt="" class="wp-image-1737" srcset="https://xtremeownage.com/wp-content/uploads/2021/10/image-6.png 426w, https://xtremeownage.com/wp-content/uploads/2021/10/image-6-210x300.png 210w" sizes="(max-width: 426px) 100vw, 426px" /></figure>



<p>I repeated this process 3 more times until I had the following schedules set:</p>



<ol><li>M-F, 6am: 70F</li><li>M-F, 7am: 67F</li><li>S-S, 7am: 67F</li><li>DAILY 10pm, 62F</li></ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="165" src="https://xtremeownage.com/wp-content/uploads/2021/10/image-7-1024x165.png" alt="" class="wp-image-1738" srcset="https://xtremeownage.com/wp-content/uploads/2021/10/image-7-1024x165.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/10/image-7-300x48.png 300w, https://xtremeownage.com/wp-content/uploads/2021/10/image-7-768x124.png 768w, https://xtremeownage.com/wp-content/uploads/2021/10/image-7-1536x248.png 1536w, https://xtremeownage.com/wp-content/uploads/2021/10/image-7.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>So far, this is the most maintainable looking option I have seen in Home Assistant&#8230;.. Let me add the cooling schedules</p>



<p>For the cooling conditions, I basically followed the same steps, but, instead made a condition saying the thermostat must be in cooling mode:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="492" height="607" src="https://xtremeownage.com/wp-content/uploads/2021/10/image-8.png" alt="" class="wp-image-1739" srcset="https://xtremeownage.com/wp-content/uploads/2021/10/image-8.png 492w, https://xtremeownage.com/wp-content/uploads/2021/10/image-8-243x300.png 243w" sizes="(max-width: 492px) 100vw, 492px" /></figure>



<p>After adding the rest of the entries, I had this:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="498" height="602" src="https://xtremeownage.com/wp-content/uploads/2021/10/image-9.png" alt="" class="wp-image-1740" srcset="https://xtremeownage.com/wp-content/uploads/2021/10/image-9.png 498w, https://xtremeownage.com/wp-content/uploads/2021/10/image-9-248x300.png 248w" sizes="(max-width: 498px) 100vw, 498px" /><figcaption>Its &#8220;OK&#8221;, but, thankfully, the maintainer of this solution is a pretty great guy, and has options which can help us.</figcaption></figure>



<p>Looking at the <a rel="noreferrer noopener" href="https://github.com/nielsfaber/scheduler-card#display-options" data-type="URL" data-id="https://github.com/nielsfaber/scheduler-card#display-options" target="_blank">Display Options</a> for the card, we can tweak the information displayed. In my case- I showed the name from earlier, and then its default attribute.</p>



<p>My final configuration looks like this:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">type: custom:scheduler-card
include:
  - binary_sensor.hvac_presence_detection
  - climate
time_step: 30
title: true
tags:
  - HVAC
discover_existing: false
display_options:
  primary_info:
    - "{name}: {action}"
</pre>



<p>Here is the final result:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="618" height="654" src="https://xtremeownage.com/wp-content/uploads/2021/10/image-10.png" alt="" class="wp-image-1741" srcset="https://xtremeownage.com/wp-content/uploads/2021/10/image-10.png 618w, https://xtremeownage.com/wp-content/uploads/2021/10/image-10-283x300.png 283w" sizes="(max-width: 618px) 100vw, 618px" /></figure>



<h2 class="wp-block-heading">Notes</h2>



<p>While, this method is not at all perfect (I really think we need a programmable thermostat GUI directly in home assistant), this is the best method I could find at this time, that does not involve a ton of templating or yaml sensors.</p>



<p>This method is completely self-contained in the GUI, and can be easily updated at any time, without much skill level. As well, its pretty easy to add additional setpoints if required. You can also toggle any setpoint on or off with a single click.</p>



<p>I do wish there was an option with the scheduler card to allow sorting, ideally by the name field, as this could group the heat/cool/auto schedules together. I did create a new <a rel="noreferrer noopener" href="https://github.com/nielsfaber/scheduler-card/issues/472" data-type="URL" data-id="https://github.com/nielsfaber/scheduler-card/issues/472" target="_blank">Feature Request</a> to see if we can have this added in the future. </p>



<p></p>



<p>Hopefully, this post inspires you to go out an automate!</p>



<p></p>



<p>Also, do check out the scheduler card, if you are not using it, you should check it out!</p>



<p><a href="https://github.com/nielsfaber/scheduler-card#customize">https://github.com/nielsfaber/scheduler-card</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>My Home Automation Setup &#8211; Devices</title>
		<link>https://xtremeownage.com/2021/03/12/my-home-automation-setup-devices/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Fri, 12 Mar 2021 14:15:10 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1422</guid>

					<description><![CDATA[A brief list of the various devices and technologies I have running in my home.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Introduction</h2>



<p>Often, I am asked, What devices do you have?<br><br>Well- today, I am going to make the list as of the time of writing this article&#8230;. subject to change.</p>



<p></p>



<h4 class="wp-block-heading">What I look for when acquiring new devices.</h4>



<ol><li>I refused to be locked into a specific ecosystem. *Cough* ring&#8230;<ol><li>As a result- I will only acquire new devices which will work via &#8220;universal channels&#8221; NOTHING, with a vendor-required protocol/etc. (<a rel="noreferrer noopener" href="https://www.casetawireless.com/" data-type="URL" data-id="https://www.casetawireless.com/" target="_blank">Lutron Caseta</a>)</li><li>It MAY be the greatest device in the world, but, it locks you to what that vendor is willing to give you access to. When that vendor flips, or sells off the assets, you are stuck with a brick of a device.</li><li>So- For consolidation, I look for these criteria:<ol><li>Common Protocols<ol><li>Z-Wave PLUS</li><li>Zigbee</li><li>433mhz (For sensors. Not for&#8230; switches..)</li><li>Wifi w/Rest API.</li></ol></li><li>Out of the box functionality.<ol><li>ie- I can integrate it with Home Assistant with minimal effort.. Either via adding to z-wave, or adding the integration directly via Home Assistant.</li></ol></li></ol></li></ol></li></ol>



<p style="font-size:10px"><em>Disclaimer- Amazon affiliate links are used in this article.  For this site, I choose to not pesture my audience with annoying advertisements, and instead, only rely on affiliate links to support this hobby. By using the affiliate link, you will pay the same price on Amazon, as you would otherwise pay, however, a small percentage will be given to me..</em> To note- I DID buy all of the seen products with my own money, and did not receive any incentive to feature or utilize them.</p>



<h2 class="wp-block-heading">Navigation</h2>





<h2 class="wp-block-heading" id="devices-by-room">Devices Used By Room</h2>



<h3 class="wp-block-heading" id="common">Common Devices</h3>



<h4 class="wp-block-heading" id="light-bulbs">Light Bulbs</h4>



<ol><li><a rel="noreferrer noopener" href="https://www.homedepot.com/p/Philips-100-Watt-Equivalent-A19-Dimmable-Energy-Saving-LED-Light-Bulb-Daylight-5000K-8-Pack-556456/312440430?cm_mmc=ecc-_-THD_ORDER_CONFIRMATION_BOSS_STH-_-V1_M1_CA-_-Product_URL&amp;ecc_ord=WM32509293" target="_blank">Phillips 5000k Dimmable LED &#8211; 1,600 Lumen</a><ol><li>I use these bulbs in fixtures which I leverage the dimming feature for. The 5000k temp really helps to brighten up my house. These do not flicker at all. I went with the 100-watt equivalent bulbs, because there isn&#8217;t much point in having a dimmer if your bulbs aren&#8217;t bright enough for the need to dim them.</li></ol></li><li><a rel="noreferrer noopener" href="https://amzn.to/3ek4nnx" target="_blank"> &#8220;LE&#8221; 5000K 1,200 Lumen LEDs</a><ol><li>These bulbs are very cost effective @ ~2$ each. They are very bright too. However- they are non-dimmable. So, these are only leveraged where the dimming feature is not utilized.</li></ol></li><li><a rel="noreferrer noopener" href="https://amzn.to/3kW02Ik" target="_blank">&#8220;No-Name&#8221; 5000k 2,600 Lumen LEDs</a><ol><li>While- I don&#8217;t think these are a true 2,600 lumen bulb, they are indeed the brightest bulb I have listed here, by far. These are also not dimmable, and thus, are only used where dimming is not required. I also leverage these for my porch lights. VERY bright bulbs. Also- pretty cost effective around 5$ each.</li></ol></li></ol>



<h4 class="wp-block-heading" id="smoke-detectors">Smoke / Fire Detectors</h4>



<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3bppa7d" target="_blank">First Alert Z-Wave</a><ol><li>Really- the only advantage of these detectors compared to a normal one- is the ability to see the battery level on each device. These devices can be finicky, and will only report status every 6+ hours.</li></ol></li></ol>



<h3 class="wp-block-heading" id="kitchen">Kitchen</h3>



<p>There is not a whole lot going on in the kitchen- However, All of the lights are automated.</p>



<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3caNI2U" target="_blank">Inovelli Red Dimmer</a> (<a rel="noreferrer noopener" href="https://inovelli.com/red-series-dimmer-switch-z-wave/" target="_blank">Manufacturer Page</a>)<ol><li>Both of the switches in my combined livingroom and dining room are Inovelli Red Dimmers. I recently completed a project to pull new romex cable to allow a neutral at each box. However- these dimmers will work without a neutral as well.</li><li>I do have both of these lights setup with a <a rel="noreferrer noopener" href="https://www.zwaveoutlet.com/pages/z-wave-associations" target="_blank">z-wave association</a>, which allows one light to turn on the other light WITHOUT the use of a hub, or external automation tool. In short- the devices can directly talk to each other.</li></ol></li></ol>



<h3 class="wp-block-heading" id="living-room">Livingroom</h3>



<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3bpEX5N" target="_blank">Inovelli Fan&amp;Light Dimmer Switch</a> (<a rel="noreferrer noopener" href="https://inovelli.com/red-series-fan-light-switch-z-wave/" target="_blank">Manufacturer Page</a>)<ol><li>This switch controls the ceiling fan and ceiling light as well as speed.</li><li>If you single-press the light dimmer, it will turn the ceiling light off, and activate the lamp instead, allowing me to control all aspects of my livingroom&#8217;s lighting, via a single switch.</li><li>Each of the buttons (6 total) can be tied to multiple automations, via single click, double click, triple click, click and hold, etc. The Inovellis are completely stocked with features.</li></ol></li><li><s><a rel="noreferrer noopener" href="https://amzn.to/3c7dCog" target="_blank">Kasa Smart Plug &#8211; HS103</a></s> (Replaced by Honeywell below)</li><li><a rel="noreferrer noopener" href="https://amzn.to/2Olz4y8" target="_blank">Honeywell UltraPro Z-Wave Dimmer</a> (2021-03-13)<ol><li>This controls the lamp in my livingroom which provides adequate lighting in the evening.</li></ol></li><li><a rel="noreferrer noopener" href="https://xtremeownage.com/2021/02/23/esphome-enchanted-rose/" data-type="post" data-id="1399" target="_blank">My &#8220;Enchanted Rose&#8221;</a></li><li><a rel="noreferrer noopener" href="https://xtremeownage.com/2020/11/25/hass_automate_holiday_lighting/" target="_blank" data-type="post" data-id="1325">Home Assistant – Automate Holiday Lighting Scenes</a><ol><li>This is off 99% of the time, but, during holidays, it does automatically turn on, with lights/patterns appropriate for the current holiday.</li><li>Do note, I am running <a rel="noreferrer noopener" href="https://github.com/Aircoookie/WLED" target="_blank">WLED</a> on the device instead of esphome now. It has been outstanding, and does have a stand-alone app. Essentially- create a scene in Home Assistant. Configure WLED to your liking, then save the scene. That easy! I highly recommend WLED.</li></ol></li><li><a rel="noreferrer noopener" href="https://amzn.to/3v4PkDT" target="_blank">Acurite 433mhz Temp/Humidity Sensor.</a><ol><li>These are simple, basic sensors, which reports temp and humidity information every 15 seconds via 433mhz. They have an outstanding battery life, and leverage AA batteries.</li></ol></li><li>Fireplace (<a rel="noreferrer noopener" href="https://xtremeownage.com/2020/10/16/fireplace-automation/" data-type="post" data-id="1208" target="_blank">Part 1</a> \ <a href="https://xtremeownage.com/2020/10/20/fireplace-automation-part-2/" data-type="post" data-id="1220">Part 2</a>)<ol><li>This automation has saved me a lot of money this year. In short- instead of using the central heat/furnace, it will instead cycle on my fireplace and only heat the main living areas, allowing the bedrooms to cool off when they are not in use. I have update the automation a bit more, however, the basic concept is the same.</li></ol></li><li><a rel="noreferrer noopener" href="https://amzn.to/3qwv9vc" target="_blank">GE/Jasco Z-Wave Dual Plug</a><ol><li>I use one of these to toggle my fish tank light / bubbler on/off from sunrise, to sunset. These plugs are a tad on the expensive side, but, so far, they have been rock solid. There ARE cheaper/better options available.</li></ol></li><li><a href="https://xtremeownage.com/2020/09/29/htpc-retro-build-complete/" data-type="post" data-id="1174">My HTPC Build</a>.<ol><li>While- not quite home automation. This build gets utilized almost daily. It can do everything from retro-console emulation, to playing modern games on steam. We are currently playing through <a rel="noreferrer noopener" href="https://7daystodie.com/" target="_blank">7 Days 2 Die</a>, on a local server. I would highly recommend this game!</li></ol></li><li><a rel="noreferrer noopener" href="https://shelly.cloud/products/shelly-25-smart-home-automation-relay/" target="_blank">Shelly 2.5</a><ol><li>While I am in the process of replacing all of my existing switches with z-wave, I do still have a few Shelly 1PMs, and Shelly 2.5s for a few of my lighting fixtures, and ceiling fans. In conjunction with esphome, these devices are ROCK SOLID. I would highly recommend.</li></ol></li></ol>



<p></p>



<h3 class="wp-block-heading" id="bedroom-and-office">Bedrooms / Home Office</h3>



<p>I am grouping the bedrooms together, as there is not a lot of variation.</p>



<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3caNI2U" target="_blank">Inovelli Red Dimmer</a> (<a rel="noreferrer noopener" href="https://inovelli.com/red-series-dimmer-switch-z-wave/" target="_blank">Manufacturer Page</a>)<ol><li>I purchased a <a rel="noreferrer noopener" href="https://inovelli.com/red-series-dimmer-switch-10pk/" target="_blank">10-pack of these directly from Inovelli</a> this year, and every room is running one of these. These switches are absolutely loaded with features. I would highly recommend.</li></ol></li><li><a rel="noreferrer noopener" href="https://amzn.to/3cgBIwX" target="_blank">GE/Jasper Enbrighten Z-Wave Dimmer Plug</a><ol><li>I use this to control the brightness of my Lamp in my home office. While- around 30$, it is a bit pricey, it does perform very well. Originally, I used a <a rel="noreferrer noopener" href="https://amzn.to/3c7dCog" target="_blank">Kasa HS103</a> to toggle my lamp on or off. While, I never had any issues with the Kasa, I wanted the ability to dim the lamp, AND leverage z-wave.</li></ol></li><li><a rel="noreferrer noopener" href="https://amzn.to/3v4PkDT" target="_blank">Acurite 433mhz Temp/Humidity Sensor.</a><ol><li>I have one of these sensors in each room to allow me to chart the temp/humidity across the house. There will be an example below.</li><li>For details on how this is configured, <a href="https://xtremeownage.com/2021/01/25/homeassistant_433/" data-type="post" data-id="1290">Look here.</a></li></ol></li><li><a href="https://xtremeownage.com/2020/06/26/converting-a-fan-into-a-smart-fan/" data-type="post" data-id="991">Converting a fan, into a smart fan!</a><ol><li>While, this was one of my earlier automations I created, and does not have a dimmer- It does exactly what is expected of it, and is extremely reliable.</li></ol></li></ol>



<h3 class="wp-block-heading" id="garage">Garage</h3>



<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3caNI2U" target="_blank">Inovelli Red Dimmer</a> (<a rel="noreferrer noopener" href="https://inovelli.com/red-series-dimmer-switch-z-wave/" target="_blank">Manufacturer Page</a>)<ol><li>The dimmer feature is disabled, and this is only used to turn the garage lights on and off.</li></ol></li><li><a href="https://xtremeownage.com/2020/07/29/diy-garage-door-opener-home-assistant/" data-type="post" data-id="1082">DIY Garage Door Opener</a><ol><li>This has been in place since day one, with no changes at all. It works without any issues at all. 100% reliable.</li></ol></li></ol>



<h3 class="wp-block-heading" id="other-hardware">Other Hardware</h3>



<h4 class="wp-block-heading" id="my-server">My Server</h4>



<ol><li><s><a href="https://xtremeownage.com/2020/07/24/closet-mini-server-build/" data-type="post" data-id="1067">Original Build</a>, <a href="https://xtremeownage.com/2020/10/20/unraid-vs-proxmox-my-opinions/" data-type="post" data-id="1273">Unraid Upgrade</a></s><ol><li>(Note- this has been replaced by a Dell R720XD, Running TrueNAS)</li></ol><ol><li>Nearly every service I am running, runs as a docker container hosted by Unraid, with the exception of Blue Iris, which runs as a VM.</li><li>The only undocumented changes to this server-<ol><li>I doubled the RAM to 32GB, up from 16GB.</li><li> I Added a <strong><a href="https://www.amazon.com/gp/product/B000P0NX3G/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;psc=1">Quad Port H</a><a rel="noreferrer noopener" href="https://www.amazon.com/gp/product/B000P0NX3G/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;psc=1" target="_blank">P</a><a href="https://www.amazon.com/gp/product/B000P0NX3G/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;psc=1">/Intel Gigabit NI</a></strong><a href="https://www.amazon.com/gp/product/B000P0NX3G/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;psc=1"><strong>C</strong></a><ol><li>This was not required, however, this means I can handle my vlans at the switch/network level, and just dedicate a entire network port per vlan.</li><li>This card leverages dual intel <a rel="noreferrer noopener" href="https://ark.intel.com/content/www/us/en/ark/products/20720/intel-82571eb-gigabit-ethernet-controller.html" target="_blank">82571EB</a> processors, with cache. Its a bit overkill. </li></ol></li></ol></li></ol></li><li><a href="https://xtremeownage.com/2021/06/12/portable-2-4kwh-power-supply-ups/" data-type="post" data-id="1557">2.4Kwh UPS</a><ol><li>Provides up to 8 hours of battery backup for my servers, network, and other computers in the event we have a power outage. We have somewhat frequent 10 minute-2 hour outages.</li></ol></li></ol>



<h4 class="wp-block-heading" id="nvr">NVR Setup</h4>



<ol><li>I leverage Blue IRIS for recording data from my Cameras.</li><li>I have <a rel="noreferrer noopener" href="https://amzn.to/3qsNg59" target="_blank">Reolink RLC-520</a> 5MP POE Cameras scattered all around the house.</li><li><a rel="noreferrer noopener" href="https://github.com/VorlonCD/bi-aidetection" target="_blank">https://github.com/VorlonCD/bi-aidetection</a><ol><li>I leverage this tool to take images from Blue Iris, and perform object detection. If somebody is detected, messages are triggered via MQTT automatically, which delivers a push notification to my phone, and also activates a few other automations.</li></ol></li></ol>



<h4 class="wp-block-heading" id="networking">Networking</h4>



<ol><li>Router/Firewall: <a rel="noreferrer noopener" href="https://amzn.to/2OwkIdO" target="_blank">Unifi USG</a> <a rel="noreferrer noopener" href="https://www.ui.com/unifi-routing/usg/" target="_blank">(Manufacturer Page)</a><ol><li>I have had this for a few years. If I were to rebuild my setup, I would go with the <a rel="noreferrer noopener" href="https://amzn.to/3ccaFCL" target="_blank">Unifi Dream Machine</a> instead. </li></ol></li><li>Office Switch: <a rel="noreferrer noopener" href="https://amzn.to/2N0Qi32" target="_blank">Unifi USW-Flex-Mini</a> <a rel="noreferrer noopener" href="https://store.ui.com/collections/unifi-network-routing-switching/products/usw-flex-mini" target="_blank">(Manufacturer Page)</a><ol><li>This is a tiny, cheap switch (&lt; 30$) which can be powered completely via POE if desired. I use this in my office.</li></ol></li><li>Server Room Switch: <a rel="noreferrer noopener" href="https://amzn.to/3qwDqzg" target="_blank">Unifi US-8-60W</a> <a rel="noreferrer noopener" href="https://store.ui.com/collections/unifi-network-routing-switching/products/unifi-switch-8-60w" target="_blank">(Manufacturer Page)</a></li><li>Primary Access Point: Unifi <a rel="noreferrer noopener" href="https://amzn.to/3qmk8N2" target="_blank">UAP-AC-PRO</a> <a rel="noreferrer noopener" href="https://www.ui.com/unifi/unifi-ap-ac-pro/" target="_blank">(Manufacturer Page)</a></li><li>Secondary Access Point: Unifi <a rel="noreferrer noopener" href="https://amzn.to/3qsOT2L" target="_blank">UAP-BeaconHD</a> <a rel="noreferrer noopener" href="https://store.ui.com/collections/unifi-network-access-points/products/uap-beaconhd" target="_blank">(Manufacturer Page)</a><ol><li>This meshes with the UAP-AC-PRO and really helps wifi signal in my driveway and my garage. Setup was effortless.</li></ol></li><li>While- my networking setup is not overly complex, it does serve the needs of my 55 combined wired/wireless devices without any issues whatsoever. Many people report frequent issues with Kasa devices or other wifi switches/plugs. I have had zero issues with my setup. 99.9% + uptime on every single device.</li></ol>



<h4 class="wp-block-heading" id="door-locks">Door Locks</h4>



<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3qxdvHz" target="_blank">Schlage Connect Z-Wave</a><ol><li>This lock works very nicely with my other home automation. I have the ability to program special entry codes, which I can use to detect &#8220;who&#8221; is entering the front door if required. I can also remotely change the codes if required for a special need&#8230;. Ie- mother-in-law does a surprise visit to drop off something when I am not at the house.</li><li>The fit and finish of these locks was very well.</li></ol></li></ol>



<h4 class="wp-block-heading" id="thermostat">Thermostat</h4>



<ol><li>Currently, I am using a <a rel="noreferrer noopener" href="https://amzn.to/2Ox4MZ3" data-type="URL" data-id="https://amzn.to/2Ox4MZ3" target="_blank">Emerson Sensi</a>.<ol><li>This device predates ALL of my existing smart-devices and automations, and was literally the first &#8220;IOT&#8221; capable device at my house.</li><li>As a downside- it does NOT natively integrate with Home assistant, and does not have local control, from what I have seen. Instead, I have it added to Smart Things, and have Home Assistant connected to smart things.</li><li>Knock on wood- It has been reliable, and does allow me to specify pretty complex heating/cooling/auto schedules, so, It has not been high on my list of items to replace.</li><li>If I were to buy a new thermostat, I would investigate potential z-wave versions, or perhaps a wifi-enabled one with local control capabilities.</li></ol></li></ol>



<h2 class="wp-block-heading" id="software">Software</h2>



<h3 class="wp-block-heading" id="hass">Home Assistant</h3>



<p><a rel="noreferrer noopener" href="https://www.home-assistant.io/" target="_blank">Home assistant</a> is the bread and butter of my home automation setup. This is the central point of command and control. Rock solid stability, tons of features, I would highly recommend this.</p>



<p>I personally run home assistant as a docker container hosted on my unraid server.</p>



<h3 class="wp-block-heading" id="nodered">Node-Red</h3>



<p><a rel="noreferrer noopener" href="https://nodered.org/" target="_blank">NodeRed </a>picks up the slack on complex automations, where home assistant starts to fall off. This isn&#8217;t to say Home Assistant CAN&#8217;T do the automation, but, I can do it in a drag and drop visual approach which helps future maintainability. I also leverage Node-Red for handling z-wave scenes and special events.</p>



<h3 class="wp-block-heading" id="zwavejs2mqtt">ZWaveJS2MQTT</h3>



<p><a rel="noreferrer noopener" href="https://zwave-js.github.io/zwavejs2mqtt/" target="_blank">ZWaveJS2MQTT</a> is the brains behind my z-wave network. Its fast, and reliable. Its pretty new, and missing a few key features, however, I wouldn&#8217;t recommend any other z-wave control software over it.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automating an&#8230; enchanted rose?</title>
		<link>https://xtremeownage.com/2021/02/23/esphome-enchanted-rose/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Tue, 23 Feb 2021 23:20:14 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1399</guid>

					<description><![CDATA[Automating an enchanted rose for valentines day.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Introduction</h2>



<p>So- for Valentines day- since my wife is a huge fan of Disney cartoons, I got her a &#8220;Enchanted Rose&#8221;</p>



<p>It&#8230;. looks like this:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1001" height="1001" src="https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose.jpg" alt="" class="wp-image-1400" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose.jpg 1001w, https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose-300x300.jpg 300w, https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose-150x150.jpg 150w, https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose-768x768.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose-100x100.jpg 100w, https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose-140x140.jpg 140w, https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose-500x500.jpg 500w, https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose-350x350.jpg 350w, https://xtremeownage.com/wp-content/uploads/2021/02/Enchanted-Rose-800x800.jpg 800w" sizes="(max-width: 1001px) 100vw, 1001px" /><figcaption>&#8220;Enchanted Rose&#8221;</figcaption></figure>



<p>You can find it here on Amazon: <a rel="noreferrer noopener" href="https://amzn.to/3kh5ll8" target="_blank">Enchanted Rose</a></p>



<p>Well- overall, I guess it looks decent, and works as expected&#8230; However- it does not turn it self on at sunrise, or turn itself off when I go to sleep. This is unacceptable!</p>



<p>The goal of this article, is to fully automate this &#8220;Enchanted rose&#8221; using home assistant.</p>



<p>Do note- as far as I can tell- the LEDs contain an embedded chip, controlling their own lighting. If you desire to be able to customize the colors, or lightshow- you will need to replace the LED strips which came with this product. I cannot find a method to do this, without replacing the LEDs.</p>



<p style="font-size:10px"><em>Disclaimer- Amazon affiliate links are used in this article.  For this site, I choose to not pesture my audience with annoying advertisements, and instead, only rely on affiliate links to support this hobby. By using the affiliate link, you will pay the same price on Amazon, as you would otherwise pay, however, a small percentage will be given to me..</em> To note- I DID buy all of the seen products with my own money, and did not receive any incentive to feature or utilize them.</p>



<h2 class="wp-block-heading">Parts and Tools Required.</h2>



<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3kh5ll8" target="_blank">Enchanted Rose</a>, or something similar. </li><li><a rel="noreferrer noopener" href="https://amzn.to/3qILI89" target="_blank">D1 Mini</a> (Or other ESP8266 variant.)</li></ol>



<p>Below are tools/parts I assume you should already have&#8230;</p>



<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3sl5MOf" target="_blank">Soldering Iron</a>.</li><li><a rel="noreferrer noopener" href="https://amzn.to/3sj9pEs" target="_blank">Solder</a> </li><li>A small phillips screwdriver&#8230;</li><li><a rel="noreferrer noopener" href="https://amzn.to/3qQ3LZZ" target="_blank">Helping Hands</a> &#8211; Not required, however- this makes many projects much easier. Also- these things are quite solid. I was very surprised at the build quality.</li></ol>



<h2 class="wp-block-heading">Getting Started</h2>



<p>The first step, was to remove the bottom plate to expose the circuitry. I expected to find a small circuit for controlling the color LEDs. However, Instead, I only found a few diodes, and resistors. </p>



<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152650-1024x485.jpg" rel="prettyPhoto[gallery-VGlV]"><img loading="lazy" decoding="async" width="1024" height="485" src="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152650-1024x485.jpg" alt="" data-id="1401" class="wp-image-1401" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152650-1024x485.jpg 1024w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152650-300x142.jpg 300w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152650-768x363.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152650-1536x727.jpg 1536w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152650-2048x969.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="blocks-gallery-item__caption">Circuit board, top view</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-scaled.jpg" rel="prettyPhoto[gallery-VGlV]"><img loading="lazy" decoding="async" width="485" height="1024" src="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-485x1024.jpg" alt="" data-id="1403" data-full-url="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-scaled.jpg" data-link="https://xtremeownage.com/?attachment_id=1403" class="wp-image-1403" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-485x1024.jpg 485w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-142x300.jpg 142w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-768x1623.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-727x1536.jpg 727w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-969x2048.jpg 969w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_152712-scaled.jpg 1211w" sizes="(max-width: 485px) 100vw, 485px" /></a><figcaption class="blocks-gallery-item__caption">Circuit Board, bottom view</figcaption></figure></li></ul></figure>



<p>I am far from being an electrical engineer, so- don&#8217;t quite me. However, the only purpose I can find in this circuit, is to reduce the incoming 5v, down to around 3v.</p>



<p>For anybody who actually does electrical work- Here is the <a rel="noreferrer noopener" href="https://www.vishay.com/docs/88746/ss12.pdf" target="_blank">data sheet</a> for the diodes.</p>



<p>Having discovered this, I determined the best course of action, was to connect the d1 mini directly to the 5v power coming from the USB plug. I decided to remove support for batteries.</p>



<p>Using my &#8220;<a rel="noreferrer noopener" href="https://amzn.to/3qQ3LZZ" target="_blank">Helping Hands</a>&#8220;&#8230;. I used some COPPER ethernet cable pairs to connect to power and ground on the circuit board. (Cheap ethernet cable is copper-coated aluminum, which does not solder worth a damn.) Any decent wire will work. I just had this laying around close.</p>



<figure class="wp-block-gallery columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_153728-1-scaled.jpg" rel="prettyPhoto[gallery-VGlV]"><img loading="lazy" decoding="async" width="1024" height="525" src="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_153728-1-1024x525.jpg" alt="" data-id="1418" data-full-url="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_153728-1-scaled.jpg" data-link="https://xtremeownage.com/2021/02/23/esphome-enchanted-rose/20210223_153728-1/" class="wp-image-1418" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_153728-1-1024x525.jpg 1024w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_153728-1-300x154.jpg 300w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_153728-1-768x393.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_153728-1-1536x787.jpg 1536w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_153728-1-2048x1049.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="blocks-gallery-item__caption">Soldering on wires to hot and ground on this circuit board using my helping hands.</figcaption></figure></li></ul></figure>



<p>After this was done, I used my <a rel="noreferrer noopener" href="https://amzn.to/37HxoFw" target="_blank">die grinder</a> to cut out the battery compartment.   Any sane person should probably stick to using a dremel tool, or something&#8230; BUT, I used a die grinder which is typically used for automotive and other metal working&#8230;&#8230;</p>



<p>This is technically not required, as there is plenty of space to fit the d1 mini, without sacrificing the battery compartment. But- I had no intentions on using this with battery power.</p>



<p>The next step, was to solder in the d1 mini (or nodemcu&#8230; or other esp8266 variant.)</p>



<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="485" height="1024" src="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163011-485x1024.jpg" alt="" data-id="1406" data-full-url="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163011-scaled.jpg" data-link="https://xtremeownage.com/?attachment_id=1406" class="wp-image-1406" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163011-485x1024.jpg 485w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163011-142x300.jpg 142w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163011-768x1623.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163011-727x1536.jpg 727w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163011-969x2048.jpg 969w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163011-scaled.jpg 1211w" sizes="(max-width: 485px) 100vw, 485px" /><figcaption class="blocks-gallery-item__caption">Wires soldered, and tested.</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="485" height="1024" src="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163037-485x1024.jpg" alt="" data-id="1407" data-full-url="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163037-scaled.jpg" data-link="https://xtremeownage.com/?attachment_id=1407" class="wp-image-1407" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163037-485x1024.jpg 485w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163037-142x300.jpg 142w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163037-768x1623.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163037-727x1536.jpg 727w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163037-969x2048.jpg 969w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163037-scaled.jpg 1211w" sizes="(max-width: 485px) 100vw, 485px" /><figcaption class="blocks-gallery-item__caption">Testing final fitment.</figcaption></figure></li></ul></figure>



<p>For connections-<br></p>



<ol><li>5v power is connected to the 5v pin. This power comes from the 5v+ from the circuit board.</li><li>Ground is connected to the GND pin.</li><li>One of the sets of lights connects to PIN D1, the other, to pin D2. (Don&#8217;t use D3 or D4, they are reserved pins!) <a rel="noreferrer noopener" href="https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/" target="_blank">ESP8266 PIN Reference</a></li></ol>



<p></p>



<p>After I tested locally, I reattached the bottom cover&#8230; and did my final testing.</p>



<figure class="wp-block-gallery columns-3 is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="485" height="1024" src="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163213-485x1024.jpg" alt="" data-id="1408" data-full-url="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163213-scaled.jpg" data-link="https://xtremeownage.com/?attachment_id=1408" class="wp-image-1408" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163213-485x1024.jpg 485w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163213-142x300.jpg 142w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163213-768x1623.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163213-727x1536.jpg 727w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163213-969x2048.jpg 969w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163213-scaled.jpg 1211w" sizes="(max-width: 485px) 100vw, 485px" /><figcaption class="blocks-gallery-item__caption">Color LEDs only</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="485" height="1024" src="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163219-485x1024.jpg" alt="" data-id="1409" data-full-url="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163219-scaled.jpg" data-link="https://xtremeownage.com/?attachment_id=1409" class="wp-image-1409" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163219-485x1024.jpg 485w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163219-142x300.jpg 142w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163219-768x1623.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163219-727x1536.jpg 727w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163219-969x2048.jpg 969w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163219-scaled.jpg 1211w" sizes="(max-width: 485px) 100vw, 485px" /><figcaption class="blocks-gallery-item__caption">Color and White</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="485" height="1024" src="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163225-485x1024.jpg" alt="" data-id="1410" data-full-url="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163225-scaled.jpg" data-link="https://xtremeownage.com/?attachment_id=1410" class="wp-image-1410" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163225-485x1024.jpg 485w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163225-142x300.jpg 142w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163225-768x1623.jpg 768w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163225-727x1536.jpg 727w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163225-969x2048.jpg 969w, https://xtremeownage.com/wp-content/uploads/2021/02/20210223_163225-scaled.jpg 1211w" sizes="(max-width: 485px) 100vw, 485px" /><figcaption class="blocks-gallery-item__caption">White Only</figcaption></figure></li></ul><figcaption class="blocks-gallery-caption">Images of the final product, working.</figcaption></figure>



<p>Within <a rel="noreferrer noopener" href="https://www.home-assistant.io/" target="_blank">Home Assistant</a>, the esphome device had already discovered itself. I just whipped up a very quick dashboard for testing.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="580" height="163" src="https://xtremeownage.com/wp-content/uploads/2021/02/image.png" alt="" class="wp-image-1411" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/image.png 580w, https://xtremeownage.com/wp-content/uploads/2021/02/image-300x84.png 300w" sizes="(max-width: 580px) 100vw, 580px" /><figcaption>Simple, Stupid testing dashboard.</figcaption></figure>



<p>Finally- after having confirmed everything works as expected, I utilized the <a rel="noreferrer noopener" href="https://github.com/nielsfaber/scheduler-card" target="_blank">scheduling card</a> and added schedules to turn it on and off. This can be installed via <a href="https://hacs.xyz/" target="_blank" rel="noreferrer noopener">HACs</a>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="168" src="https://xtremeownage.com/wp-content/uploads/2021/02/image-1-1024x168.png" alt="" class="wp-image-1412" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/image-1-1024x168.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/02/image-1-300x49.png 300w, https://xtremeownage.com/wp-content/uploads/2021/02/image-1-768x126.png 768w, https://xtremeownage.com/wp-content/uploads/2021/02/image-1-1536x253.png 1536w, https://xtremeownage.com/wp-content/uploads/2021/02/image-1.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Setting the schedule with the scheduler card.</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="165" src="https://xtremeownage.com/wp-content/uploads/2021/02/image-2-1024x165.png" alt="" class="wp-image-1413" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/image-2-1024x165.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/02/image-2-300x48.png 300w, https://xtremeownage.com/wp-content/uploads/2021/02/image-2-768x124.png 768w, https://xtremeownage.com/wp-content/uploads/2021/02/image-2-1536x247.png 1536w, https://xtremeownage.com/wp-content/uploads/2021/02/image-2.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>But- ignore when we are on vacation.</figcaption></figure>



<p>After setting the schedule- everything else is handled automatically.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="329" height="96" src="https://xtremeownage.com/wp-content/uploads/2021/02/image-3.png" alt="" class="wp-image-1414" srcset="https://xtremeownage.com/wp-content/uploads/2021/02/image-3.png 329w, https://xtremeownage.com/wp-content/uploads/2021/02/image-3-300x88.png 300w" sizes="(max-width: 329px) 100vw, 329px" /></figure>



<p>Lastly- here is my config for <a rel="noreferrer noopener" href="https://esphome.io/" target="_blank">ESPHome</a>.</p>



<p>Don&#8217;t laugh at my device name. It works. I didn&#8217;t know what else to refer to it as&#8230;.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">substitutions:
  devicename: "pretty_flower"
  friendly_name: "Pretty Flower"
  ip_address: 10.100.3.108
  gateway: 10.100.3.1
  &lt;&lt;: !include secrets.yaml

&lt;&lt;: !include config/common.yaml

esphome:
  name: ${devicename}
  platform: ESP8266
  board: nodemcuv2


switch:
  - platform: gpio
    pin: D2
    restore_mode: ALWAYS_OFF
    name: "${friendly_name} - White"
    icon: "mdi:string-lights"
  - platform: gpio
    pin: D1
    restore_mode: ALWAYS_OFF
    name: "${friendly_name} - Color"
    icon: "mdi:string-lights"

status_led:
  pin:
    number: GPIO0
    inverted: yes</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Home Assistant &#8211; 433mhz Automation</title>
		<link>https://xtremeownage.com/2021/01/25/homeassistant_433/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Tue, 26 Jan 2021 03:21:26 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[433mhz]]></category>
		<category><![CDATA[acurite]]></category>
		<category><![CDATA[home assistant]]></category>
		<category><![CDATA[node-red]]></category>
		<category><![CDATA[rm433]]></category>
		<category><![CDATA[rtl-sdr]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1290</guid>

					<description><![CDATA[Configuring Home Assistant with 433mhz devices.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Objective</h2>



<p>The object of this article, is to provide simple instructions on how to get started with 433mhz based automation and sensors.</p>



<p>This article will provide basic steps for the integration of a 433mhz based temp sensor, and remote control.</p>



<h2 class="wp-block-heading">Hardware utilized in this article</h2>



<ol><li>RTL_SDR Radio &#8211; Around 30-40$<ol><li><a rel="noreferrer noopener" href="https://amzn.to/3ndqO0M" data-type="URL" data-id="https://amzn.to/3ndqO0M" target="_blank">RTL-SDR v3</a></li><li>Note- there are many options to choose from. If you watch to search yourself- look for &#8220;RTL-SDR&#8221;</li><li>Note- make sure it comes with an antenna! Otherwise, you will need to pick up one!</li></ol></li><li><a rel="noreferrer noopener" href="https://amzn.to/2YhcAiS" target="_blank">AcuRite Temp and Humidity Sensor</a> </li><li><a rel="noreferrer noopener" href="https://amzn.to/3qV1tbA" target="_blank">SONOFF RM433 Remote Controller</a><ol><li><a rel="noreferrer noopener" href="https://www.itead.cc/sonoff-rm433-remote-controller-base.html" target="_blank">Directly from iTead</a></li></ol></li><li>SOMETHING to run docker containers on. <a href="https://xtremeownage.com/2020/07/24/closet-mini-server-build/" data-type="post" data-id="1067">I personally use unraid to run my containers.</a> However- you can also run docker containers from home assistant with the portainer addon. </li></ol>



<p>To note- this is the exact radio I purchased. However- it is now unavailable.</p>



<p style="font-size:10px"><em>Disclaimer- Amazon affiliate links are used in this article.  For this site, I choose to not pesture my audience with annoying advertisements, and instead, only rely on affiliate links to support this hobby. By using the affiliate link, you will pay the same price on Amazon, as you would otherwise pay, however, a small percentage will be given to me..</em> To note- I DID buy all of the seen products with my own money, and did not receive any incentive to feature or utilize them.</p>



<h2 class="wp-block-heading">Implementation</h2>



<p>To note- I started writing this post 3 months ago. My original implementation was based on a d1 mini, using <a rel="noreferrer noopener" href="https://esphome.io/" target="_blank">ESP Home</a>, with a <a rel="noreferrer noopener" href="https://amzn.to/36csgII" target="_blank">RXB6 receiver</a>. With my testing- I was unable to get consistent results utilizing the <a rel="noreferrer noopener" href="https://esphome.io/components/remote_receiver.html" target="_blank">Remote Receiver component</a>. Thus- I dropped the project until a few days ago.</p>



<p>After acquiring the new RTL-SDR radio, I mounted the rabbit-ears antenna in my server closet, and plugged the device into an available usb socket on my unraid server.</p>



<p>From here- I did a bit of research, and determined the best route to take, involved utilizing the <a rel="noreferrer noopener" href="https://github.com/merbanan/rtl_433" target="_blank">rtl_433 github repository</a>. Out of the box- it already supported all of the 433mhz devices I had laying around&#8230; so- the first step, was to determine how to get it running.</p>



<h4 class="wp-block-heading">Step 1. Running RTL_433 via Docker</h4>



<p>Over on unraid, I configured a new docker container, with the following settings:</p>



<ol><li>Name: rtl_433_mqtt (This part, can be whatever you wish to identify it as&#8230;)</li><li>Repository: <a rel="noreferrer noopener" href="https://hub.docker.com/r/hertzg/rtl_433" target="_blank">hertzg/rtl_433</a></li><li>Post Arguments: -Fmqtt://mqtt.xtremeownage.com:1883     (Replace this, with the DNS/IP:PORT of your MQTT server.</li><li>I mapped device /dev/bus/usb/005/002 to this container.  To find the path to your device, you can utilize &#8220;lsusb&#8221;. Note- in the below screenshot- bus 005, Device 002. Notice in the path above- 005/002. </li></ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="732" height="223" src="https://xtremeownage.com/wp-content/uploads/2021/01/image-3.png" alt="" class="wp-image-1374" srcset="https://xtremeownage.com/wp-content/uploads/2021/01/image-3.png 732w, https://xtremeownage.com/wp-content/uploads/2021/01/image-3-300x91.png 300w" sizes="(max-width: 732px) 100vw, 732px" /><figcaption>LSUSB output showing the USB RTL-SDR device</figcaption></figure>



<p>5. I mapped /etc/rtl_433 to /mnt/user/appdata/rtl_433 on my host, to allow me to customize the configuration.</p>



<p></p>



<p>For more information on how to configure the docker container, please visit its <a rel="noreferrer noopener" href="https://hub.docker.com/r/hertzg/rtl_433" target="_blank">home page HERE</a>.</p>



<p>Next up- by default, the configuration for the RM433 remote, is not enabled by default.</p>



<p>Assuming you followed my steps above, and mapped your containers /etc/rtl_433 to a shared path-</p>



<p>Visit <a href="https://github.com/merbanan/rtl_433/tree/master/conf">https://github.com/merbanan/rtl_433/tree/master/conf,</a> and download <a href="https://raw.githubusercontent.com/merbanan/rtl_433/master/conf/sonoff_rm433.conf" target="_blank" rel="noreferrer noopener">sonoff_rm433.conf</a> and place this into your configuration directory for rtl_433.</p>



<p>Also- we will need a configuration file telling the software to load this module. For this, I downloaded <a rel="noreferrer noopener" href="https://raw.githubusercontent.com/merbanan/rtl_433/master/conf/rtl_433.example.conf" target="_blank">rtl_433.example.conf</a>, and placed into my configuration directory. I had to comment out a few of the protocols, and add a line to the bottom, telling the software to load the rm_433 module.</p>



<p>MANY other configuration parameters, and guides/resources for rtl_433, can be found on it&#8217;s <a rel="noreferrer noopener" href="https://github.com/merbanan/rtl_433/blob/master/README.md" target="_blank">github page HERE</a>, OR, their <a rel="noreferrer noopener" href="https://triq.org/rtl_433/" target="_blank">website HERE</a> If you run into any issues, I would look there first!</p>



<p>Below are my exact configuration files, and contents of my configuration directory.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="rtl_433.conf" data-enlighter-group="group1"># config for rtl_433

# A valid config line is a keyword followed by an argument to the end of line.
# Whitespace around the keyword is ignored, whitespace is space and tab
# Comments start with a hash sign, no inline comments, empty lines are ok.
#
# Boolean options can be true/false, yes/no, on/off, enable/disable, or 1/0
#
# All options will be applied in the order given, overwritting previous values
#
# Config files can be nested/stacked (use multiple -c and config_file = ).
#
# If no -c option is given the first found of this list will be loaded:
# - ./rtl_433.conf
# - ~/.config/rtl_433/rtl_433.conf
# - /usr/local/etc/rtl_433.conf
# - /etc/rtl_433.conf

## General options

# as command line option:
#   [-v] Increase verbosity (can be used multiple times).
#        -v : verbose, -vv : verbose decoders, -vvv : debug decoders, -vvvv : trace decoding).
# 0 = normal, 1 = verbose, 2 = verbose decoders, 3 = debug decoders, 4 = trace decoding
#verbose

# as command line option:
#   [-c &lt;path>] Read config options from a file
#config_file

## Tuner options

# as command line option:
#   [-d &lt;RTL-SDR USB device index>] (default: 0)
#   [-d :&lt;RTL-SDR USB device serial (can be set with rtl_eeprom -s)>]
#   [-d "" Open default SoapySDR device
#   [-d driver=rtlsdr Open e.g. specific SoapySDR device
# default is "0" (RTL-SDR) or "" (SoapySDR)
device        0

# as command line option:
#   [-g &lt;gain>] (default: 0 for auto)
# For RTL-SDR: gain in tenths of dB ("0" is auto).
# For SoapySDR: gain in dB for automatic distribution ("" is auto), or string of gain elements.
# E.g. "LNA=20,TIA=8,PGA=2" for LimeSDR.
gain          0

# as command line option:
#   [-t &lt;settings>] apply a list of keyword=value settings for SoapySDR devices
# E.g. "antenna=A,bandwidth=4.5M,rfnotch_ctrl=false"
#settings      antenna=A,bandwidth=4.5M

# as command line option:
#   [-f &lt;frequency>] [-f...] Receive frequency(s) (default: 433920000 Hz)
# default is "433.92M", other resonable values are 315M, 345M, 915M and 868M
frequency     433.92M

# as command line option:
#   [-H &lt;seconds>] Hop interval for polling of multiple frequencies (default: 600 seconds)
# default is "600" seconds, only used when multiple frequencies are given
hop_interval  600

# as command line option:
#   [-p &lt;ppm_error] Correct rtl-sdr tuner frequency offset error (default: 0)
# default is "0"
ppm_error     0

# as command line option:
#   [-s &lt;sample rate>] Set sample rate (default: 250000 Hz)
# default is "250k", other valid settings are 1024k, 2048k, 3200k
sample_rate   250k

## Demodulator options

# as command line option:
#   [-R &lt;device>] Enable only the specified device decoding protocol (can be used multiple times)
# see "protocol" section below.

# as command line option:
#   [-G] Enable blacklisted device decoding protocols, for testing only.
#register_all false

# as command line option:
#   [-X &lt;spec> | help] Add a general purpose decoder (prepend -R 0 to disable all decoders)
# see "decoder" section below.

# as command line option:
#   [-Y level=&lt;dB level>] Manual detection level used to determine pulses (-1.0 to -30.0) (0=auto)
#pulse_detect level=0

# as command line option:
#   [-Y auto | classic | minmax] FSK pulse detector mode.
#pulse_detect auto

# as command line option:
#   [-n &lt;value>] Specify number of samples to take (each sample is 2 bytes: 1 each of I &amp; Q)
samples_to_read 0

## Analyze/Debug options

# as command line option:
#   [-a] Analyze mode. Print a textual description of the signal. Disables decoding
#analyze false

# as command line option:
#   [-A] Pulse Analyzer. Enable pulse analysis and decode attempt
analyze_pulses false

# as command line option:
#   [-b] Out block size: 262144 (default)
#out_block_size

# as command line option:
#   [-M time[:&lt;options>]|protocol|level|stats|bits|oldmodel] Add various metadata to every output line.
# Use "time" to add current date and time meta data (preset for live inputs).
# Use "time:rel" to add sample position meta data (preset for read-file and stdin).
# Use "time:unix" to show the seconds since unix epoch as time meta data.
# Use "time:iso" to show the time with ISO-8601 format (YYYY-MM-DD"T"hh:mm:ss).
# Use "time:off" to remove time meta data.
# Use "time:usec" to add microseconds to date time meta data.
# Use "time:utc" to output time in UTC.
#   (this may also be accomplished by invocation with TZ environment variable set).
#   "usec" and "utc" can be combined with other options, eg. "time:unix:utc:usec".
# Use "protocol" / "noprotocol" to output the decoder protocol number meta data.
# Use "level" to add Modulation, Frequency, RSSI, SNR, and Noise meta data.
# Use "stats[:[&lt;level>][:&lt;interval>]]" to report statistics (default: 600 seconds).
#   level 0: no report, 1: report successful devices, 2: report active devices, 3: report all
# Use "oldmodel" to use to old model keys. This will be removed shortly.
report_meta level
report_meta stats
report_meta time:usec
report_meta protocol

# as command line option:
#   [-y &lt;code>] Verify decoding of demodulated test data (e.g. "{25}fb2dd58") with enabled devices
#test_data {25}fb2dd58

## File I/O options

# as command line option:
#   [-S none|all|unknown|known] Signal auto save. Creates one file per signal.
#     Note: Saves raw I/Q samples (uint8 pcm, 2 channel). Preferred mode for generating test files.
signal_grabber none

# as command line option:
#   [-r &lt;filename>] Read data from input file instead of a receiver
#read_file FILENAME.cu8

# as command line option:
#   [-w &lt;filename>] Save data stream to output file (a '-' dumps samples to stdout)
#write_file FILENAME.cu8

# as command line option:
#   [-W &lt;filename>] Save data stream to output file, overwrite existing file
#overwrite_file FILENAME.cu8

## Data output options

# as command line option:
#   [-F kv|json|csv|mqtt|syslog|null] Produce decoded output in given format.
#     Without this option the default is KV output. Use "-F null" to remove the default.
#     Append output to file with :&lt;filename> (e.g. -F csv:log.csv), defaults to stdout.
#     Specify MQTT server with e.g. -F mqtt://localhost:1883
#     Add MQTT options with e.g. -F "mqtt://host:1883,opt=arg"
#     MQTT options are: user=foo, pass=bar, retain[=0|1], &lt;format>[=topic]
#     Supported MQTT formats: (default is all)
#       events: posts JSON event data
#       states: posts JSON state data
#       devices: posts device and sensor info in nested topics
#     The topic string will expand keys like [/model]
#     E.g. -F "mqtt://localhost:1883,user=USERNAME,pass=PASSWORD,retain=0,devices=rtl_433[/id]"
#     Specify host/port for syslog with e.g. -F syslog:127.0.0.1:1514
# default is "kv", multiple outputs can be used.
output json

# as command line option:
#   [-C] native|si|customary Convert units in decoded output.
# default is "native"
convert si

# as command line option:
#   [-T] specify number of seconds to run
#duration 0

# as command line option:
#   [-E] Stop after outputting successful event(s)
stop_after_successful_events false

## Protocols to enable (command line option "-R")

  protocol 1   # Silvercrest Remote Control
  protocol 2   # Rubicson Temperature Sensor
  protocol 3   # Prologue, FreeTec NC-7104, NC-7159-675 temperature sensor
  protocol 4   # Waveman Switch Transmitter
# protocol 6   # ELV EM 1000
# protocol 7   # ELV WS 2000
  protocol 8   # LaCrosse TX Temperature / Humidity Sensor
# protocol 10  # Acurite 896 Rain Gauge
  protocol 11  # Acurite 609TXC Temperature and Humidity Sensor
  protocol 12  # Oregon Scientific Weather Sensor
# protocol 13  # Mebus 433
# protocol 14  # Intertechno 433
  protocol 15  # KlikAanKlikUit Wireless Switch
  protocol 16  # AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon)
  protocol 17  # Cardin S466-TX2
  protocol 18  # Fine Offset Electronics, WH2, WH5, Telldus Temperature/Humidity/Rain Sensor
  protocol 19  # Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
  protocol 20  # Ambient Weather, TFA 30.3208.02 temperature sensor
  protocol 21  # Calibeur RF-104 Sensor
# protocol 22  # X10 RF
  protocol 23  # DSC Security Contact
# protocol 24  # Brennenstuhl RCS 2044
  protocol 25  # Globaltronics GT-WT-02 Sensor
  protocol 26  # Danfoss CFR Thermostat
  protocol 29  # Chuango Security Technology
  protocol 30  # Generic Remote SC226x EV1527
  protocol 31  # TFA-Twin-Plus-30.3049, Conrad KW9010, Ea2 BL999
  protocol 32  # Fine Offset Electronics WH1080/WH3080 Weather Station
  protocol 33  # WT450, WT260H, WT405H
  protocol 34  # LaCrosse WS-2310 / WS-3600 Weather Station
  protocol 35  # Esperanza EWS
  protocol 36  # Efergy e2 classic
# protocol 37  # Inovalley kw9015b, TFA Dostmann 30.3161 (Rain and temperature sensor)
  protocol 38  # Generic temperature sensor 1
  protocol 39  # WG-PB12V1 Temperature Sensor
  protocol 40  # Acurite 592TXR Temp/Humidity, 5n1 Weather Station, 6045 Lightning, 3N1, Atlas
  protocol 41  # Acurite 986 Refrigerator / Freezer Thermometer
  protocol 42  # HIDEKI TS04 Temperature, Humidity, Wind and Rain Sensor
  protocol 43  # Watchman Sonic / Apollo Ultrasonic / Beckett Rocket oil tank monitor
  protocol 44  # CurrentCost Current Sensor
  protocol 45  # emonTx OpenEnergyMonitor
  protocol 46  # HT680 Remote control
  protocol 47  # Conrad S3318P, FreeTec NC-5849-913 temperature humidity sensor
  protocol 48  # Akhan 100F14 remote keyless entry
  protocol 49  # Quhwa
  protocol 50  # OSv1 Temperature Sensor
  protocol 51  # Proove / Nexa / KlikAanKlikUit Wireless Switch
  protocol 52  # Bresser Thermo-/Hygro-Sensor 3CH
  protocol 53  # Springfield Temperature and Soil Moisture
  protocol 54  # Oregon Scientific SL109H Remote Thermal Hygro Sensor
  protocol 55  # Acurite 606TX Temperature Sensor
  protocol 56  # TFA pool temperature sensor
  protocol 57  # Kedsum Temperature &amp; Humidity Sensor, Pearl NC-7415
  protocol 58  # Blyss DC5-UK-WH
  protocol 59  # Steelmate TPMS
  protocol 60  # Schrader TPMS
# protocol 61  # LightwaveRF
# protocol 62  # Elro DB286A Doorbell
  protocol 63  # Efergy Optical
# protocol 64  # Honda Car Key
  protocol 67  # Radiohead ASK
  protocol 68  # Kerui PIR / Contact Sensor
  protocol 69  # Fine Offset WH1050 Weather Station
  protocol 70  # Honeywell Door/Window Sensor, 2Gig DW10/DW11, RE208 repeater
  protocol 71  # Maverick ET-732/733 BBQ Sensor
# protocol 72  # RF-tech
  protocol 73  # LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth sensor
  protocol 74  # Acurite 00275rm,00276rm Temp/Humidity with optional probe
  protocol 75  # LaCrosse TX35DTH-IT, TFA Dostmann 30.3155 Temperature/Humidity sensor
  protocol 76  # LaCrosse TX29IT, TFA Dostmann 30.3159.IT Temperature sensor
  protocol 77  # Vaillant calorMatic VRT340f Central Heating Control
  protocol 78  # Fine Offset Electronics, WH25, WH32B, WH24, WH65B, HP1000 Temperature/Humidity/Pressure Sensor
  protocol 79  # Fine Offset Electronics, WH0530 Temperature/Rain Sensor
  protocol 80  # IBIS beacon
  protocol 81  # Oil Ultrasonic STANDARD FSK
  protocol 82  # Citroen TPMS
  protocol 83  # Oil Ultrasonic STANDARD ASK
  protocol 84  # Thermopro TP11 Thermometer
  protocol 85  # Solight TE44/TE66, EMOS E0107T, NX-6876-917
  protocol 86  # Wireless Smoke and Heat Detector GS 558
  protocol 87  # Generic wireless motion sensor
  protocol 88  # Toyota TPMS
  protocol 89  # Ford TPMS
  protocol 90  # Renault TPMS
  protocol 91  # inFactory, nor-tec, FreeTec NC-3982-913 temperature humidity sensor
  protocol 92  # FT-004-B Temperature Sensor
  protocol 93  # Ford Car Key
  protocol 94  # Philips outdoor temperature sensor (type AJ3650)
  protocol 95  # Schrader TPMS EG53MA4, PA66GF35
  protocol 96  # Nexa
  protocol 97  # Thermopro TP08/TP12/TP20 thermometer
  protocol 98  # GE Color Effects
  protocol 99  # X10 Security
  protocol 100 # Interlogix GE UTC Security Devices
# protocol 101 # Dish remote 6.3
  protocol 102 # SimpliSafe Home Security System (May require disabling automatic gain for KeyPad decodes)
  protocol 103 # Sensible Living Mini-Plant Moisture Sensor
  protocol 104 # Wireless M-Bus, Mode C&amp;T, 100kbps (-f 868950000 -s 1200000)
  protocol 105 # Wireless M-Bus, Mode S, 32.768kbps (-f 868300000 -s 1000000)
# protocol 106 # Wireless M-Bus, Mode R, 4.8kbps (-f 868330000)
# protocol 107 # Wireless M-Bus, Mode F, 2.4kbps
  protocol 108 # Hyundai WS SENZOR Remote Temperature Sensor
  protocol 109 # WT0124 Pool Thermometer
  protocol 110 # PMV-107J (Toyota) TPMS
  protocol 111 # Emos TTX201 Temperature Sensor
  protocol 112 # Ambient Weather TX-8300 Temperature/Humidity Sensor
  protocol 113 # Ambient Weather WH31E Thermo-Hygrometer Sensor, EcoWitt WH40 rain gauge
  protocol 114 # Maverick et73
  protocol 115 # Honeywell ActivLink, Wireless Doorbell
  protocol 116 # Honeywell ActivLink, Wireless Doorbell (FSK)
# protocol 117 # ESA1000 / ESA2000 Energy Monitor
# protocol 118 # Biltema rain gauge
  protocol 119 # Bresser Weather Center 5-in-1
# protocol 120 # Digitech XC-0324 temperature sensor
  protocol 121 # Opus/Imagintronix XT300 Soil Moisture
# protocol 122 # FS20
# protocol 123 # Jansite TPMS Model TY02S
  protocol 124 # LaCrosse/ELV/Conrad WS7000/WS2500 weather sensors
  protocol 125 # TS-FT002 Wireless Ultrasonic Tank Liquid Level Meter With Temperature Sensor
  protocol 126 # Companion WTR001 Temperature Sensor
  protocol 127 # Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A
  protocol 128 # DirecTV RC66RX Remote Control
# protocol 129 # Eurochron temperature and humidity sensor
  protocol 130 # IKEA Sparsnas Energy Meter Monitor
  protocol 131 # Microchip HCS200 KeeLoq Hopping Encoder based remotes
  protocol 132 # TFA Dostmann 30.3196 T/H outdoor sensor
  protocol 133 # Rubicson 48659 Thermometer
  protocol 134 # Holman Industries iWeather WS5029 weather station (newer PCM)
  protocol 135 # Philips outdoor temperature sensor (type AJ7010)
  protocol 136 # ESIC EMT7110 power meter
  protocol 137 # Globaltronics QUIGG GT-TMBBQ-05
  protocol 138 # Globaltronics GT-WT-03 Sensor
  protocol 139 # Norgo NGE101
  protocol 140 # Elantra2012 TPMS
  protocol 141 # Auriol HG02832, HG05124A-DCF, Rubicson 48957 temperature/humidity sensor
  protocol 142 # Fine Offset Electronics/ECOWITT WH51 Soil Moisture Sensor
  protocol 143 # Holman Industries iWeather WS5029 weather station (older PWM)
  protocol 144 # TBH weather sensor
  protocol 145 # WS2032 weather station
  protocol 146 # Auriol AFW2A1 temperature/humidity sensor
  protocol 147 # TFA Drop Rain Gauge 30.3233.01
  protocol 148 # DSC Security Contact (WS4945)
  protocol 149 # ERT Standard Consumption Message (SCM)
# protocol 150 # Klimalogg
  protocol 151 # Visonic powercode
  protocol 152 # Eurochron EFTH-800 temperature and humidity sensor
  protocol 153 # Cotech 36-7959 wireless weather station with USB
  protocol 154 # Standard Consumption Message Plus (SCMplus)
  protocol 155 # Fine Offset Electronics WH1080/WH3080 Weather Station (FSK)
  protocol 156 # Abarth 124 Spider TPMS
  protocol 157 # Missil ML0757 weather station
  protocol 158 # Sharp SPC775 weather station
  protocol 159 # Insteon
  protocol 160 # ERT Interval Data Message (IDM)
  protocol 161 # ERT Interval Data Message (IDM) for Net Meters
# protocol 162 # ThermoPro-TX2 temperature sensor
  protocol 163 # Acurite 590TX Temperature with optional Humidity
  protocol 164 # Security+ 2.0 (Keyfob)
  protocol 165 # TFA Dostmann 30.3221.02 T/H Outdoor Sensor
  protocol 166 # LaCrosse Technology View LTV-WSDTH01 Breeze Pro Wind Sensor
  protocol 167 # Somfy RTS
  protocol 168 # Schrader TPMS SMD3MA4 (Subaru)
# protocol 169 # Nice Flor-s remote control for gates
  protocol 170 # LaCrosse Technology View LTV-WR1 Multi Sensor
  protocol 171 # LaCrosse Technology View LTV-TH Thermo/Hygro Sensor
  protocol 172 # Bresser Weather Center 6-in-1, 7-in-1 indoor, new 5-in-1, 3-in-1 wind gauge, Froggit WH6000, Ventus C8488A
  protocol 173 # Bresser Weather Center 7-in-1
  protocol 174 # EcoDHOME Smart Socket and MCEE Solar monitor
  protocol 175 # LaCrosse Technology View LTV-R1 Rainfall Gauge
#  protocol 176 # BlueLine Power Monitor
#  protocol 177 # Burnhard BBQ thermometer


#sonoff RM433
decoder n=Sonoff-RM433,m=OOK_PWM,s=260,l=744,r=8000,g=800,t=50,bits>=24,invert,get=@20:{4}:button:[8:A 12:B 4:C 9:D 2:E 5:F 1:G 3:H],unique
</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="sonoff_rm433.conf" data-enlighter-group="group1"># Sonoff RM433 remote controller
# https://www.itead.cc/sonoff-rm433-remote-controller-base.html

# map the 8 buttons to A->H
# Each remote controller has its own ID (2 first bytes)

decoder {
    name=Sonoff-RM433,
    modulation=OOK_PWM,
    short=260,
    long=744,
    reset=8000,
    gap=800,
    tolerance=50,
    bits>=24,
    invert,
    get=@0:{20}:id,
    get=@20:{4}:button:[8:A 12:B 4:C 9:D 2:E 5:F 1:G 3:H],
    unique
}</pre>



<p>After this step- I was able to turn on the container, and validate it was starting properly by viewing the container&#8217;s logs.</p>



<h4 class="wp-block-heading">Step 2. Integrate the MQTT data with Home Assistant</h4>



<p>From this moment, I utilized <a rel="noreferrer noopener" href="http://mqtt-explorer.com/" target="_blank">MQTT Explorer</a> to view the messages in my MQTT broker.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="584" height="366" src="https://xtremeownage.com/wp-content/uploads/2021/01/image-4.png" alt="" class="wp-image-1377" srcset="https://xtremeownage.com/wp-content/uploads/2021/01/image-4.png 584w, https://xtremeownage.com/wp-content/uploads/2021/01/image-4-300x188.png 300w" sizes="(max-width: 584px) 100vw, 584px" /></figure>



<p>The next step- was to configure <a href="https://www.home-assistant.io/integrations/sensor.mqtt/" target="_blank" rel="noreferrer noopener">MQTT sensors</a> in Home Assistant.</p>



<p>To do this- I just added this to my configuration.yaml</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sensor:
  - platform: mqtt
    state_topic: "rtl_433/+/devices/Acurite-Tower/A/6731/temperature_C"
    device_class: temperature
    unique_id: 6731_temp
    name: back_porch_temp
    unit_of_measurement: '°C'
  - platform: mqtt
    state_topic: "rtl_433/+/devices/Acurite-Tower/A/6731/humidity"
    device_class: humidity
    unique_id: 6731_humidity
    name: back_porch_humidity
    unit_of_measurement: '%'</pre>



<p>After validating my configuration, and restarting Home Assistant- I made a simple dashboard to show the values being collected on the sensor.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="492" src="https://xtremeownage.com/wp-content/uploads/2021/01/image-5-1024x492.png" alt="" class="wp-image-1378" srcset="https://xtremeownage.com/wp-content/uploads/2021/01/image-5-1024x492.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/01/image-5-300x144.png 300w, https://xtremeownage.com/wp-content/uploads/2021/01/image-5-768x369.png 768w, https://xtremeownage.com/wp-content/uploads/2021/01/image-5.png 1108w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Simple dashboard plotting the current, and historical values coming from MQTT.</figcaption></figure>



<p>With this simple integration complete, I moved my focus over to the <a rel="noreferrer noopener" href="https://www.itead.cc/sonoff-rm433-remote-controller-base.html" target="_blank">Sonoff RM433</a>.</p>



<h4 class="wp-block-heading">Step 4. Tackling the RM433 remote via Node-Red</h4>



<p>While, this automation can be done reasonably easily using Home Assistant, I decided to instead, utilize node-red for this first try.</p>



<p>Here is an image of my workflow.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="688" height="431" src="https://xtremeownage.com/wp-content/uploads/2021/01/image-6.png" alt="" class="wp-image-1379" srcset="https://xtremeownage.com/wp-content/uploads/2021/01/image-6.png 688w, https://xtremeownage.com/wp-content/uploads/2021/01/image-6-300x188.png 300w" sizes="(max-width: 688px) 100vw, 688px" /><figcaption>Node-red workflow, for handling RM433 input.</figcaption></figure>



<p>The first step- receives MQTT messages from rtl_433/+/devices/Sonoff-RM433/button. The + is in the path- because rtl_433 seems to generate a new ID every time it starts.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="460" height="265" src="https://xtremeownage.com/wp-content/uploads/2021/01/image-7.png" alt="" class="wp-image-1380" srcset="https://xtremeownage.com/wp-content/uploads/2021/01/image-7.png 460w, https://xtremeownage.com/wp-content/uploads/2021/01/image-7-300x173.png 300w" sizes="(max-width: 460px) 100vw, 460px" /><figcaption>MQTT node configuration</figcaption></figure>



<p>Next- I use a <a rel="noreferrer noopener" href="https://nodered.org/docs/user-guide/nodes#switch" target="_blank">switch statement</a> to choose an action from the 8 possible input buttons. Quite simply- it just choose the output path, from the msg.payload (which contains the button pressed.)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="532" height="516" src="https://xtremeownage.com/wp-content/uploads/2021/01/image-8.png" alt="" class="wp-image-1381" srcset="https://xtremeownage.com/wp-content/uploads/2021/01/image-8.png 532w, https://xtremeownage.com/wp-content/uploads/2021/01/image-8-300x291.png 300w" sizes="(max-width: 532px) 100vw, 532px" /></figure>



<p>The last part- is connecting your home assistant services, to each of the branches. Do note- I do not currently have button E &amp; F mapped. In the future, I will add a &#8220;Netflix &amp; Chill&#8221; button.. lol.</p>



<p>While- I am not very artistic- (Please don&#8217;t make fun of it too much!) I did leverage my <a rel="noreferrer noopener" href="https://amzn.to/39jmp6i" target="_blank">label printer</a> to print a few labels&#8230;.</p>



<p>ASSUMING, you don&#8217;t have massive sausage fingers like myself- theoretically you can actually properly align the labels&#8230; and it would look decent.</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/VhGWVfDYXJNHP-6Lp4H7xPO5hBrPVRgLX4ieFrC32mhZO0qu1glfHJCFMu5VYEXkzrzDKlSqhpIW8X0eOBKJBKz3jvRWBYnfVCI7xFn-Kp4SSNTt7K88M6qQdiciRhJHJAnl1nq6s7IvAELU4uxKBU1F6kksPmlx_3De-0ZuRE2fs5GNQOZuevjB8ZcMg0nVZFiWyn3C1qbEiwSzIn4Z6QQGiRlaRSkIe5Gp8ks93jo-yC22DlR178Q8i8IP5MN6XcYzR2u-H5yx9-Esay0H4cq0waNlaENjQoOZIKswZ89HXOxd4PaHjPhCa0q7V0dVVBkYvsKeCMlmwu2tZv8pyPECWt-TTUnxobA1_xMBIXHUX9u4IV1fKESWy565g--SXIwKG5wiTGuSRkcQ6tThOBB4UPHIOFoJA83B2-p6jb7ZSAI6FAUA0mFYxsVUUoOAlz-aXNZMOKVBLWgTJkR-pZxxkZxIHnshFoOlAuurfYcjzo_SyJXH9Y8CLhC3rH9Peu89F_aQksmgc0oV5RQ94N5IvnJRgk0kGU6LVJOEW5iDCr35zrjQGPySc-6Z0tqWysCXYYwMu3LGeeCgqBMQpQhf1XosCpufehGZwN9GfDm3p-GdNjd9qCZxaU968xLYvB9eeHLKpXp8aA_uF5_ycS7V_rrybfV9kql4Md0pQdIu3AK3PprHRmf-7jk3lg=w615-h1298-no?authuser=0" alt=""/><figcaption>My horribly aligned labels, for the sonoff RM433.</figcaption></figure>



<h2 class="wp-block-heading">Notes</h2>



<p>The MQTT path name can be easily adjusted to suit your needs.</p>



<p><a href="https://triq.org/rtl_433/OPERATION.html#mqtt-format-strings">https://triq.org/rtl_433/OPERATION.html#mqtt-format-strings</a></p>



<p>After writing this article, I did adjust my parameters to instead be:</p>



<p>-Fmqtt://mqtt.xtremeownage.com:1883,events=rtl_433[/model][/id]



<p>With this change- rtl_433 will instead, submit json objects to the above topic. You will need to compensate with your configurations if you choose to do this.</p>



<h2 class="wp-block-heading">Summary</h2>



<p>Overall- with a minor amount of technical knowledge- it was quite easy to integrate 433mhz using a RTL-SDR USB stick.</p>



<p>I am actually quite surprised at the update interval from the Acurite temp/humidity sensor- especially since I have not changed its batteries in over a year. It&#8230;. sends updates multiple times per minute. While, I cannot attest to its accuracy- I will say, for my outside weather, it is more accurate then the news/google/weather.</p>



<p>For the RM433, overall, it is nice having a physical button I can press to turn lights on/off, turn on the fireplace, or activate scenes. With the current configuration as seen above- there is around a one second delay from press, to action. This may be due to my configuration, which will be updated in the future.</p>



<p></p>



<p>I will note- this is my <s>first</s> second swing at 433mhz, and is subject to change, and improvements. In the event, I can greatly improve this service, I will link it at the bottom of this post, and create a new post with the updated details.</p>



<p>Likewise- if you have any tips for how I can improve this setup, please let me know in the comments below!</p>



<p>Future ideas-<br>Implement <a href="https://github.com/merbanan/rtl_433/blob/master/examples/rtl_433_mqtt_hass.py" target="_blank" rel="noreferrer noopener">this script </a>for auto-discovery of entities into Home Assistant.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Unraid vs Proxmox &#8211; My Opinions</title>
		<link>https://xtremeownage.com/2020/10/20/unraid-vs-proxmox-my-opinions/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Tue, 20 Oct 2020 21:17:43 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[proxmox]]></category>
		<category><![CDATA[unraid]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1273</guid>

					<description><![CDATA[My experiences switching to Unraid from Proxmox.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Introduction</h2>



<p>I have been using proxmox ever since I built my new 500$ <a href="https://xtremeownage.com/2020/07/24/closet-mini-server-build/" data-type="post" data-id="1067">closet server.</a></p>



<p>So far, it has been working just fine, without any major issues&#8230; But- I decided to take a look at Unraid.</p>



<p>My only gripes with proxmox-</p>



<p>On the &#8220;Free / No plan&#8221;, it throws errors when updating, <a rel="noreferrer noopener" href="https://forum.proxmox.com/threads/how-to-update-free-version.70335/" target="_blank">and you have to do manual configuration.</a></p>



<p>As well, I have not been too happy with how it handles storage. Sure, it can do ZFS. Sure, it can do LVM Thin/Thick&#8230; however, other then creating an array, the UI does not expose much functionality or troubleshooting tools at all.</p>



<p>While ZFS is extremely powerful, it is also way overkill for my needs.</p>



<p>For me, I run a few simples services on my server:</p>



<ol><li>DNS Server</li><li>Home Automation<ol><li><a rel="noreferrer noopener" href="https://www.home-assistant.io/" target="_blank">Home Assistant</a></li><li>MQTT Server</li><li>MariaDB/MySql Server for Home Assistant (Recorder / Logs / etc..)</li><li><a rel="noreferrer noopener" href="https://nodered.org/" target="_blank">NodeRed</a></li></ol></li><li>Unifi Server for managing my <a rel="noreferrer noopener" href="https://www.ui.com/" target="_blank">Ubiquity network</a>.</li><li>A few &#8220;Helper services&#8221;<ol><li><a rel="noreferrer noopener" href="https://www.phpmyadmin.net/" target="_blank">Phpmyadmin </a>/ <a rel="noreferrer noopener" href="https://www.adminer.org/" target="_blank">Adminer</a></li></ol></li><li>Git (Gotta keep your configurations safe!)</li><li>NVR (<a rel="noreferrer noopener" href="https://zoneminder.com/" target="_blank">ZoneMinder </a>currently..)</li><li><a rel="noreferrer noopener" href="https://www.ansible.com/" target="_blank">Ansible </a> &#8211; Network / Server automation</li></ol>



<p>Overall, it is a very light workload. I installed all of the above services in LXC containers via proxmox. It was a mostly effortless process, however, I did utilize ansible for assisting with keeping the different containers up to date.</p>



<p>Last night, I downloaded the USB tool from <a rel="noreferrer noopener" href="https://unraid.net/" target="_blank">Unraid</a> and decided to give it a try.</p>



<p></p>



<p>The biggest differences are-</p>



<ol><li>Unraid has its own &#8220;storage&#8221; system, which, works like raid, but, is not raid.</li><li>Docker containers vs LXC Containers (Application virtualization vs OS virtualization)</li><li>A MUCH nicer interface<ol><li>I give unraid credit- the interface is beautiful, and very easy to navigate.</li></ol></li><li>Unraid does not offer clustering, or HA support out of the box.</li></ol>



<h2 class="wp-block-heading">Getting Started</h2>



<h4 class="wp-block-heading">Migrating my old applications</h4>



<p>For all of my current services, getting them up and running only took a few steps.</p>



<ol><li>Enable the <a rel="noreferrer noopener" href="https://forums.unraid.net/topic/38582-plug-in-community-applications/" target="_blank">community addons plugin.</a></li><li>Click on Apps. Search for the particular app. </li><li>Click Install.</li><li>Import my old configurations.</li></ol>



<p>It literally was that easy, it only took me around an hour total to have all of my applications up and running with the proper configurations. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="342" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-30-1024x342.png" alt="" class="wp-image-1276" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-30-1024x342.png 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/image-30-300x100.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-30-768x256.png 768w, https://xtremeownage.com/wp-content/uploads/2020/10/image-30-1536x513.png 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/image-30.png 1942w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p>Even some things, which took me a few days to figure out&#8230;.. <a rel="noreferrer noopener" href="https://zmeventnotification.readthedocs.io/en/latest/guides/install.html" target="_blank">Such as installing the zoneminder event notification server, and enabling machine learning</a>, took less then a minute to install on unraid. (Those features can be enabled, out of the box, by checking a box.)</p>



<p>Another task, <a rel="noreferrer noopener" href="https://wiki.ipfire.org/addons/nut/detailed" target="_blank">was getting my server hooked up to my UPS, using nuts.</a> This task took me nearly 4 hours to configure, and troubleshoot. OUT OF THE BOX, unraid automatically detected, and monitored my UPS.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="572" height="199" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-28.png" alt="" class="wp-image-1274" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-28.png 572w, https://xtremeownage.com/wp-content/uploads/2020/10/image-28-300x104.png 300w" sizes="(max-width: 572px) 100vw, 572px" /></figure>



<p>Options to shut down the server when the UPS is running low are easy to access and configure via the UI.</p>



<p>As far as resource usage, unraid is quite a bit easier on system ram, due to not having ZFS. (It LOVES ram&#8230;)</p>



<p>For storage, I allocated my 500gb NVMe to cache, 2x 2tb disks to the array, and another 2tb disk to parity. I passed the remaining 3TB disk to my NVR directly (as security cam footage is typically not important, and loss of the data is not an concern). </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="334" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-31-1024x334.png" alt="" class="wp-image-1277" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-31-1024x334.png 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/image-31-300x98.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-31-768x251.png 768w, https://xtremeownage.com/wp-content/uploads/2020/10/image-31-1536x501.png 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/image-31.png 1927w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>This process overall, went pretty smooth. When configuring shares, you have the option of how you want the shares to act.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="353" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-29-1024x353.png" alt="" class="wp-image-1275" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-29-1024x353.png 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/image-29-300x104.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-29-768x265.png 768w, https://xtremeownage.com/wp-content/uploads/2020/10/image-29.png 1185w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>This gives an easy way to saying&#8230;</p>



<ol><li>Do not put this data on my cache drives at all.</li><li>Write to my cache drives to make it fast, but, move it to my slower array drives later.</li><li>This data should stay on my fast cache drives and never be moved to the array.</li><li>I would prefer you keep this data on my cache drives, but, if space is low, you can move it to the array.</li></ol>



<p>Overall- this is a wonderful feature to make it very simple to manage how your storage is utilized.</p>



<p>The real reason I decided to take a look at Unraid- was actually due to this article: <a href="https://forums.serverbuilds.net/t/guide-remote-gaming-on-unraid/4248/14" target="_blank" rel="noreferrer noopener">https://forums.serverbuilds.net/t/guide-remote-gaming-on-unraid/4248/14</a></p>



<p>In the future, I look forward to building a multi-headed gaming server. If I had known about unraid when I built my <a href="https://xtremeownage.com/2020/07/24/closet-mini-server-build/" data-type="post" data-id="1067">closet server</a>, more then likely I would have instead installed unraid on <a href="https://xtremeownage.com/2019/10/11/2019-gaming-pc/" data-type="post" data-id="490">my gaming PC</a>, and let it do server duties in the background&#8230;. The 500$ would have likely acquired a nice <a rel="noreferrer noopener" href="https://amzn.to/2Hc5R58" target="_blank">Ryzen 7 3900x</a>. (Note, affiliate link.. disclaimer below.) With 12 cores, and 24 threads, I would have never noticed the small load of my servers&#8230; Afterall, they barely consume a combined total of 20% of one core from a much slower processor.</p>



<p style="font-size:10px"><em>Disclaimer- Amazon affiliate links are used in this article.  For this site, I choose to not pesture my audience with annoying advertisements, and instead, only rely on affiliate links to support this hobby. By using the affiliate link, you will pay the same price on Amazon, as you would otherwise pay, however, a small percentage will be given to me..</em> To note- I DID buy all of the seen products with my own money, and did not receive any incentive to feature or utilize them.</p>



<h2 class="wp-block-heading">A few recommend plugins</h2>



<p>Here are a few plugins I have found quite useful for my activities:</p>



<h5 class="wp-block-heading"><a href="https://forums.lime-technology.com/topic/61211-plugin-ca-appdata-backup-restore-v2/" target="_blank" rel="noreferrer noopener">CA Backup / Restore Appdata</a></h5>



<p>This plugin allows you to easily backup and restore your application data.</p>



<h5 class="wp-block-heading"><a rel="noreferrer noopener" href="http://lime-technology.com/forum/index.php?topic=53695.0" target="_blank">CA Cleanup Appdata</a></h5>



<p>A useful utility for finding data which is not being utilized, and giving a easy interface for performing cleanup.</p>



<h5 class="wp-block-heading"><a rel="noreferrer noopener" href="https://lime-technology.com/forums/topic/38582-plug-in-community-applications/" target="_blank">Community Applications</a></h5>



<p>This plugin was mentioned above- however, it gives you easy access to docker hub to install applications.</p>



<h5 class="wp-block-heading"><a rel="noreferrer noopener" href="https://forums.unraid.net/topic/89702-plugin-docker-folder/" target="_blank">Docker Folder</a></h5>



<p>I love organization. This plugin helps with that. Quite simply, it allows you to group your docker applications into folders.</p>



<h5 class="wp-block-heading"><strong><a rel="noreferrer noopener" href="https://forums.unraid.net/topic/34889-dynamix-v6-plugins/" target="_blank">Dynamix Active Streams</a></strong></h5>



<p>Quick access to see how many users are using your shares externally. Appears in the main dashboard.</p>



<h5 class="wp-block-heading"><strong><a rel="noreferrer noopener" href="https://forums.unraid.net/topic/34889-dynamix-v6-plugins/" target="_blank">Dynamix SSD TRIM</a></strong></h5>



<p>The one thing Unraid does not do out of the box- is support for SSD trim. This plugin adds the option right under the settings -&gt; schedules.</p>



<p><strong><a href="https://forums.unraid.net/topic/34889-dynamix-v6-plugins/" target="_blank" rel="noreferrer noopener">Dynamix System Statistics</a></strong></p>



<p>Quick, at a glance system stats.</p>



<p><strong><a href="https://forums.unraid.net/topic/34889-dynamix-v6-plugins/" target="_blank" rel="noreferrer noopener">Dynamix System Temperature</a></strong></p>



<p>I love data. Being able to see my CPU/MOBO temp directly from my main dashboard, is actually quite satisfying.</p>



<h5 class="wp-block-heading"><a href="http://lime-technology.com/forum/index.php?topic=48972.0" target="_blank" rel="noreferrer noopener">Fix Common Problems</a></h5>



<p>I HIGHLY recommend this plugin. It will alert you to common issues and mistakes with your server, and provide details on how to correct the issue.</p>



<h5 class="wp-block-heading"><strong><strong><a rel="noreferrer noopener" href="https://forums.unraid.net/topic/92462-unassigned-devices-managing-disk-drives-and-remote-shares-outside-of-the-unraid-array/" target="_blank">Unassigned Devices</a></strong></strong> / PLUS</h5>



<p>This plugin was quite handy for allowing me to mount and manage a drive, without adding it to the array. I found this feature handy for setting up a share for my NVR, as parity is not a feature I wanted for this use-case.</p>



<h5 class="wp-block-heading"><a href="http://lime-technology.com/forum/index.php?topic=49992.0" target="_blank" rel="noreferrer noopener">User Scripts</a></h5>



<p>I wanted an easy way to schedule certain scripts to perform activities. This plugin allows me to easily schedule and maintain these scripts via the user interface.</p>



<h2 class="wp-block-heading">Summary</h2>



<p>I would highly recommend unraid for running your HOME (not enterprise! lack of clustering / external redundancy features for enterprise use&#8230;) server, or even allowing your gaming PC to have dual function.</p>



<p>It has been extremely easy to get everything setup and running. Its user interface is very clean, and well organized. </p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fireplace Automation &#8211; Part 2</title>
		<link>https://xtremeownage.com/2020/10/20/fireplace-automation-part-2/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Tue, 20 Oct 2020 20:31:51 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[climate]]></category>
		<category><![CDATA[home assistant]]></category>
		<category><![CDATA[thermostat]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1220</guid>

					<description><![CDATA[Taking the automation for my fireplace a few steps further.]]></description>
										<content:encoded><![CDATA[
<p>Last week, in <a href="https://xtremeownage.com/2020/10/16/fireplace-automation/" data-type="post" data-id="1208">Part 1</a>, I built a device to control and turn on/off my natural gas fireplace. </p>



<p>I did include a short automation using node-red to automatically control the fireplace based on my home&#8217;s main thermostate.</p>



<p>This week- I am going to implement the same workflow, directly into home assistant.</p>



<h2 class="wp-block-heading">Requirements</h2>



<ol><li>Automatically set fireplace thermostat N degrees above the main thermostat.<ol><li>Allow the ability to adjust N from 0 &#8211; 10 degrees. (or more, if you wish&#8230;)</li></ol></li><li>If the home thermostat is set to heat_cool, ensure we are not heating to the point where the A/C turns on.</li><li>Ensure the fireplace is turned off when we leave the house, or goto bed. IE- ensure its not turned on unsupervised.</li><li>Turn on the fireplace, when we detect somebody is in the livingroom.</li></ol>



<h2 class="wp-block-heading">Creating the thermostat</h2>



<p>My home thermostat is a Sensi, connected through SmartThings. While- the integration is not perfect, it does allow me to pull in the statistics automatically, with only a ~20 second delay. For this use-case, this is acceptable.</p>



<p>My home thermostat has multiple modes&#8230; heat/ heat_cool / cool / fan / off. For this instance, I am only concerned with activating the fireplace when it is set to heat, or heat_cool.</p>



<p>Depending on the mode, slightly different attributes are exposed.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="448" height="594" src="https://xtremeownage.com/wp-content/uploads/2020/10/image.png" alt="" class="wp-image-1221" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image.png 448w, https://xtremeownage.com/wp-content/uploads/2020/10/image-226x300.png 226w" sizes="(max-width: 448px) 100vw, 448px" /><figcaption>Attributes when thermostat is in heat_cool mode.</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="441" height="644" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-1.png" alt="" class="wp-image-1222" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-1.png 441w, https://xtremeownage.com/wp-content/uploads/2020/10/image-1-205x300.png 205w" sizes="(max-width: 441px) 100vw, 441px" /><figcaption>Attributes for heat mode.</figcaption></figure>



<p><br>So- next- while we can technically create our own automations for switching on / off based on conditions&#8230; Home Assistant already has us covered with its &#8216;<a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/generic_thermostat/" target="_blank">Generic Thermostat Integration</a>&#8216;</p>



<p>This integration, accepts a sensor, for current temperature, and will activate/deactivate the switch based on the sensor. It also allows us to ensure we are not short-cycling, and gives a bit of advanced capabilities.</p>



<p>To setup the integration, we just simpally update our configuration.yaml (Sorry- not yet available via the UI.)</p>



<h6 class="wp-block-heading">Configuration.yaml</h6>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="Configuration.yaml" data-enlighter-group="">climate:
  - platform: generic_thermostat
    name: Fireplace
    heater: switch.fireplace
    target_sensor: sensor.thermostat_temp
    min_temp: 60
    max_temp: 85
    ac_mode: false
    target_temp: 0
    cold_tolerance: 0.3
    hot_tolerance: 0.5
    min_cycle_duration:
      minutes: 2
    keep_alive:
      minutes: 3
    initial_hvac_mode: "off"
    away_temp: 16
    precision: 1.0</pre>



<p>However- sensor.thermostat_temp is not something which comes by default with your thermostat integration&#8230; but- Home Assistant supports <a href="https://www.home-assistant.io/integrations/template/" target="_blank" rel="noreferrer noopener">template configurations</a> to make this possible.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sensor:
  - platform: template
    sensors:
      thermostat_temp:
        friendly_name: 'Thermostat Temp'
        value_template: '{{ states.climate.home.attributes["current_temperature"] | float }}'
        unit_of_measurement: 'F'</pre>



<p>At this point- we technically have a fully working thermostat, which can be turned on and off automatically via Home Assistant.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="512" height="335" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-2.png" alt="" class="wp-image-1227" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-2.png 512w, https://xtremeownage.com/wp-content/uploads/2020/10/image-2-300x196.png 300w" sizes="(max-width: 512px) 100vw, 512px" /><figcaption>Thermostat card within Home Assistant showing our new thermostat.</figcaption></figure>



<p>BUT- </p>



<p>One of my goals for automation, to keep my wife happy, is&#8230; Everything automated, must also work manually.</p>



<p>So- to achieve this goal, I will automate setting the fireplace&#8217;s setpoint, to a configurable amount above the home thermostat to allow completely automated operation. <br></p>



<p>As well- the fireplace does have a physical switch to set ON, OFF, or &#8220;Automated&#8221;</p>



<p>If my wife turns the thermostat up or down, the fireplace will automatically be updated. </p>



<h2 class="wp-block-heading">Automating the thermostat</h2>



<h4 class="wp-block-heading">Step 1. Create a helper variable</h4>



<p>The first step is to create a helper variable. This will hold a value which indicates how many degrees above the home thermostat, to set the fireplace thermostat.</p>



<p><a href="https://www.home-assistant.io/integrations/input_number/" target="_blank" rel="noreferrer noopener">Documentation for &#8220;Input Number&#8221;</a></p>



<p>To add a helper, you can either <a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/input_number/" target="_blank">edit the configuration.yaml</a></p>



<p>OR-</p>



<p>Via the UI, Navigate to: Configuration -&gt; Helpers -&gt; Add New (+ button in the corner) then select &#8220;Number&#8221;.</p>



<p>I named mine: &#8220;Fireplace setpoint increase&#8221;, and set its allowed value from 0 &#8211; 10, and display as a slider.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="456" height="755" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-3.png" alt="" class="wp-image-1228" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-3.png 456w, https://xtremeownage.com/wp-content/uploads/2020/10/image-3-181x300.png 181w" sizes="(max-width: 456px) 100vw, 456px" /><figcaption>Input_Number configuration</figcaption></figure>



<p>Now- you can add this input value to your dashboards, for an easy to use slider.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="496" height="72" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-4.png" alt="" class="wp-image-1229" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-4.png 496w, https://xtremeownage.com/wp-content/uploads/2020/10/image-4-300x44.png 300w" sizes="(max-width: 496px) 100vw, 496px" /></figure>



<p></p>



<h4 class="wp-block-heading">Step 2. Sync fireplace thermostat to home thermostat.</h4>



<p>For this step- I used both an automation, as well as a script.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="772" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-5-1024x772.png" alt="" class="wp-image-1230" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-5-1024x772.png 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/image-5-300x226.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-5-768x579.png 768w, https://xtremeownage.com/wp-content/uploads/2020/10/image-5.png 1114w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>I want this automation to kick off any time the state on my home thermostat changes.</p>



<p>In the future, I do intend on adding more logic into this automation, however, this will suffice for now. The only action- is to call the script I created (which will be discussed below)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="645" height="270" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-6.png" alt="" class="wp-image-1231" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-6.png 645w, https://xtremeownage.com/wp-content/uploads/2020/10/image-6-300x126.png 300w" sizes="(max-width: 645px) 100vw, 645px" /></figure>



<p>For the script, I gave it a simple name.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="633" height="347" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-7.png" alt="" class="wp-image-1232" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-7.png 633w, https://xtremeownage.com/wp-content/uploads/2020/10/image-7-300x164.png 300w" sizes="(max-width: 633px) 100vw, 633px" /></figure>



<p>However, due to using <a rel="noreferrer noopener" href="https://www.home-assistant.io/docs/configuration/templating/" target="_blank">Jinja2 templates</a>, the action is only editable via yaml. Please see the comments in the code block below.</p>



<p></p>



<p>I do apologize beforehand- some of the templates are a bit messy.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">choose:
  - conditions:
      - condition: state
        entity_id: climate.home
        state: heat
    sequence:
      - service: climate.set_temperature
        data_template:
          entity_id: climate.fireplace
# If the thermostat is set to heat only, set the fireplace target temp to N degrees above the setpoint of the home thermostat.. where N is equal to the input_number we created earlier.
          temperature: >
            {{ 
            float(
              state_attr('climate.home','temperature') | float +
              states("input_number.fireplace_setpoint_increase")  | float 
              ) 
            }}
          hvac_mode: heat
  - conditions:
      - condition: state
        entity_id: climate.home
        state: heat_cool
    sequence:
      - service: climate.set_temperature
        data_template:
          entity_id: climate.fireplace
# If the thermostat is set to heat_cool/auto- determine if setpoint_low + our increase >= setpoint_high. If so- subtract 2 degrees from the setpoint_high.
# setpoint_high corresponds to when the A/C would turn on to cool the house.
# Otherwise- set the setpoint to N degrees above setpoint_low, where setpoint_low corresponds to when the heater would normally activate.
          temperature: >
            {% if (float(state_attr('climate.home', 'target_temp_low')) +
            float(states("input_number.fireplace_setpoint_increase"))) &lt;
            float(state_attr("climate.home", 'target_temp_high')) %}
              {{ float(state_attr('climate.home','target_temp_low') + float(states("input_number.fireplace_setpoint_increase"))  ) }}
            {% else %}
              {{ float(state_attr('climate.home','target_temp_high') - 2) }}
            {% endif %}
          hvac_mode: heat
default:
# If the thermostat is not set to either heat, or heat_cool, turn the fireplace off.
  - service: climate.turn_off
    data: {}
    entity_id: climate.fireplace
</pre>



<h4 class="wp-block-heading">Step 3 &#8211; Presence Detection</h4>



<p>I am not going to go into too much depth around <a href="https://www.home-assistant.io/getting-started/presence-detection/" target="_blank" rel="noreferrer noopener">Home Assistant&#8217;s presence detection</a> in this article, however- I am going to walk through the process of setting up simple automation to disable the fireplace, if nobody is home, or the living room is not populated.</p>



<p>Home Assistant has some <a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/group/#group-state-calculation" target="_blank">rudimentary logic to populate a group&#8217;s state.</a> For my purposes, know if anybody is at home, will work just fine.</p>



<p>So- the first step, is to create a new group, to hold the persons I would like to track.</p>



<h6 class="wp-block-heading">configuration.yaml</h6>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># A group of people to track, for presence detection.
all_people:
  name: All People
  icon: mdi:account
  entities:
    - person.me
    - person.wife</pre>



<p>After setting up the group, you should be able to see its status within Home Assistant. Do make sure to only place person entities into this new group!</p>



<p>Note- I purposely removed the person&#8217;s names, to hide our actual names from the evil people on the internet&#8230;.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="351" height="455" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-15.png" alt="" class="wp-image-1245" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-15.png 351w, https://xtremeownage.com/wp-content/uploads/2020/10/image-15-231x300.png 231w" sizes="(max-width: 351px) 100vw, 351px" /><figcaption>group.all_people now has a state!</figcaption></figure>



<h4 class="wp-block-heading">Step 4 &#8211; Automate turning the fireplace thermostat on.</h4>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="510" height="238" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-16.png" alt="" class="wp-image-1246" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-16.png 510w, https://xtremeownage.com/wp-content/uploads/2020/10/image-16-300x140.png 300w" sizes="(max-width: 510px) 100vw, 510px" /></figure>



<p>In addition to looking at the presence, I know typically if somebody is in the house, either the light in the livingroom is on, or the TV is on. When we leave the house, or go outside, these devices are turned off.</p>



<p>So- my triggers are defined as either my TV turns on, or the livingroom light is turned on.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="503" height="591" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-17.png" alt="" class="wp-image-1247" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-17.png 503w, https://xtremeownage.com/wp-content/uploads/2020/10/image-17-255x300.png 255w" sizes="(max-width: 503px) 100vw, 503px" /></figure>



<p>BUT- lets also add a few conditions.</p>



<ol><li>We must not be on vacation.</li><li>Presence detection says somebody is at home.</li></ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="856" height="569" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-26.png" alt="" class="wp-image-1259" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-26.png 856w, https://xtremeownage.com/wp-content/uploads/2020/10/image-26-300x199.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-26-768x511.png 768w" sizes="(max-width: 856px) 100vw, 856px" /></figure>



<p>For now- my only action is to turn on the fireplace thermostat.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="865" height="309" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-19.png" alt="" class="wp-image-1249" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-19.png 865w, https://xtremeownage.com/wp-content/uploads/2020/10/image-19-300x107.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-19-768x274.png 768w" sizes="(max-width: 865px) 100vw, 865px" /></figure>



<h4 class="wp-block-heading">Step 5 &#8211; Automate turning the fireplace thermostat off.</h4>



<p>For conditions:</p>



<ul><li>The living room TV, ceiling light, and lamp are all off (Means- nobody is in the living room!) OR- they are sitting in the dark&#8230;.</li><li>Presence detection detects nobody at home.</li></ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="505" height="261" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-20.png" alt="" class="wp-image-1250" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-20.png 505w, https://xtremeownage.com/wp-content/uploads/2020/10/image-20-300x155.png 300w" sizes="(max-width: 505px) 100vw, 505px" /></figure>



<p>Here are the Triggers.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="865" height="636" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-21.png" alt="" class="wp-image-1251" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-21.png 865w, https://xtremeownage.com/wp-content/uploads/2020/10/image-21-300x221.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-21-768x565.png 768w" sizes="(max-width: 865px) 100vw, 865px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="661" height="386" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-22.png" alt="" class="wp-image-1252" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-22.png 661w, https://xtremeownage.com/wp-content/uploads/2020/10/image-22-300x175.png 300w" sizes="(max-width: 661px) 100vw, 661px" /></figure>



<p>For the conditions, it will be active when EITHER of these conditions are active.</p>



<ol><li>All of the above devices are off</li><li>Presence detection says nobody is home.</li></ol>



<p>Since, this looks a bit bloated in the UI, I am going to paste the yaml instead.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">condition: or
conditions:
  - condition: and
    conditions:
      - condition: device
        type: is_off
        device_id: 57149eb212fc11eb86297106ad6695af
        entity_id: switch.samsung_6_series_55
        domain: switch
      - condition: state
        entity_id: light.livingroom_ceiling_light
        state: 'off'
      - condition: state
        entity_id: switch.lamp
        state: 'off'
  - condition: not
    conditions:
      - condition: state
        entity_id: group.all_people
        state: home
</pre>



<p>Lastly- when those conditions are met, turn off the fireplace thermostat.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="861" height="302" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-23.png" alt="" class="wp-image-1253" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-23.png 861w, https://xtremeownage.com/wp-content/uploads/2020/10/image-23-300x105.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-23-768x269.png 768w" sizes="(max-width: 861px) 100vw, 861px" /></figure>



<h2 class="wp-block-heading">Summary</h2>



<p>While the Node-Red automation from part 1 was effective, I really enjoy having everything in Home Assistant, when/where it makes sense.</p>



<p>In this article, we accomplished a few things:</p>



<ol><li>We create a generic thermostat entity in home assistant, which manages the fireplace directly.</li><li>Its temp is automatically set to a configuration temp above the home&#8217;s central HVAC thermostat.</li><li>The new thermostat entity will be turned on automatically when we detect somebody is in the living room.</li><li>The thermostat will be turned off when it is detected nobody is in the living room.</li></ol>



<p>Here is a view of my testing dashboard for this project:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="339" src="https://xtremeownage.com/wp-content/uploads/2020/10/image-27-1024x339.png" alt="" class="wp-image-1261" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/image-27-1024x339.png 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/image-27-300x99.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/image-27-768x254.png 768w, https://xtremeownage.com/wp-content/uploads/2020/10/image-27-1536x509.png 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/image-27.png 1609w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>While my penmanship of this article is not perfect, I do hope this article will be of benefit to somebody&#8230; or at least get some ideas chourning. </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fireplace Automation</title>
		<link>https://xtremeownage.com/2020/10/16/fireplace-automation/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Fri, 16 Oct 2020 20:57:49 +0000</pubDate>
				<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[d1 mini]]></category>
		<category><![CDATA[esphome]]></category>
		<category><![CDATA[fireplace]]></category>
		<category><![CDATA[home assistant]]></category>
		<category><![CDATA[nodemcu]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1208</guid>

					<description><![CDATA[Automating my natural gas fireplace.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Introduction</h2>



<p>So, over the course of the last year, I have automated most of the main items in my house&#8230;. </p>



<p>However- one item which has so far eluded me, is my fireplace. NOT- because it is difficult, but, rather because it has been quite hot outside. Well- today I finally made it happen.</p>



<p style="font-size:10px"><em>Disclaimer- Amazon affiliate links are used in this article.  For this site, I choose to not pesture my audience with annoying advertisements, and instead, only rely on affiliate links to support this hobby. By using the affiliate link, you will pay the same price on Amazon, as you would otherwise pay, however, a small percentage will be given to me..</em> To note- I DID buy all of the seen products with my own money, and did not receive any incentive to feature or utilize them.</p>



<h2 class="wp-block-heading">Requirements</h2>



<ol><li>Device needs to be small.</li><li>Needs to be protected against accidental shorts.</li><li>My kids may be tempted to touch, and grab it. It needs to NOT shock them, or be damaged in the process.</li><li>Automation controlled via Home Assistant / Node Red.</li></ol>



<p>Based on my list of requirements, and my on-hand stock of electronical goodies, I decided to go with a NodeMCU, and coat the entire module in epoxy to protect against shorts, corrosion, kids&#8230; etc.</p>



<h2 class="wp-block-heading">Required Parts</h2>



<ul><li><a rel="noreferrer noopener" href="https://amzn.to/359BAeW" target="_blank">NodeMCU</a> &#8211; Typically around 3-5$ each with free shipping.<ul><li>I used this because I had these in-stock. If I had to order new devices, I would have went with a&#8230;.</li><li><a rel="noreferrer noopener" href="https://amzn.to/346jVWi" target="_blank">D1 Mini</a> &#8211; Typically 1-3$ each. Has all of the required features, and is smaller.</li></ul></li><li><a rel="noreferrer noopener" href="https://amzn.to/2IA2Hbv" target="_blank">BME 280</a> &#8211; Not required, however, I enjoy having additional temp/pressure/humidity sensors around my house.</li><li><a rel="noreferrer noopener" href="https://amzn.to/342Ay58" target="_blank">Prototyping Board</a> &#8211; Makes a quick foundation for projects.</li><li><a rel="noreferrer noopener" href="https://amzn.to/31hjQxb" target="_blank">Relay Module &#8211; Generic</a> &#8211; Ensure your relay can be activated via either 3.3v OR 5v. a 12v relay will NOT work. Also, ensure the relay is rated for the current / voltage you intend to use it with.<ul><li><a rel="noreferrer noopener" href="https://amzn.to/31fEQ7p" target="_blank">D1 Mini Relay Module</a> &#8211; If you choose to go with a D1, you can get a module which you can directly solder up to your D1 mini, making your project footprint much neater, and smaller.</li></ul></li></ul>



<p>If you choose to use epoxy, here is the epoxy I utilized:</p>



<p><a rel="noreferrer noopener" href="https://amzn.to/3j4Nk7u" target="_blank">Epoxy 1 Gallon Kit</a></p>



<p>If you happen to know of a cheaper epoxy which is just as effective, please let me know.</p>



<h2 class="wp-block-heading">Wiring Guide</h2>



<p>I don&#8217;t have a full-blown wiring schematic, however, here are pointers.</p>



<p>If your relay module is 5v, connect the + terminal to the &#8220;VIN&#8221; plug on your NodeMCU (which will output 5v if you are connected via USB.) or the &#8220;5V&#8221; pin on your D1 mini.</p>



<p>If your relay module is 3.3v, connect the + terminal of your relay module to the &#8220;3V3&#8221; pin on your NodeMCU, or the &#8220;3V3&#8221; pin on your D1 Mini.</p>



<p>Connect the &#8211; / GND terminal on your relay, to any &#8220;GND&#8221; pin on your NodeMCU / D1 Mini.</p>



<p>Connect the &#8220;trigger&#8221; pin from your relay, to D5 and/or D6 on your D1 / NodeMCU. You can use other pins if you wish, <a rel="noreferrer noopener" href="https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/" target="_blank">just ensure your selected pin, is not listed as a &#8220;Special PIN&#8221;</a>.</p>



<p>If you wish to use a BME280, it will be connected to your device, via i2c bus.</p>



<p>Connect the &#8220;VIN&#8221; pin from the BME280, to the 3v3 pin on the nodemcu / d1.</p>



<p>Connect the &#8220;GND&#8221; pin from the BME280, to the GND pin on the nodemcu / d1.</p>



<p>For my build, I designated pin D1 as SCL, and pin D2 as SDA. Connect the relevant pins from the BME280, to your module.</p>



<h2 class="wp-block-heading">Assembly</h2>



<p>So, I didn&#8217;t take any good pictures during the breadboard work, or during assembly&#8230; but&#8230;</p>



<p>Here is a shot from the right side, showing the resistors for the i2c bus, and my copper &#8220;bus&#8221; lines. I sandwiched the relay as close to the nodemcu as possible, without the modules touching. Since my relay module pin location was not optimized for the layout of my NodeMCU / prototype board, I used copper lines salvaged from a piece of ethernet cable to make the connections.</p>



<p>Do notice, I used a double relay module, to both optimize the foot print, and for future expansion capabilites.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="485" src="https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153542-1024x485.jpg" alt="" class="wp-image-1210" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153542-1024x485.jpg 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153542-300x142.jpg 300w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153542-768x363.jpg 768w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153542-1536x727.jpg 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153542-scaled.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Right side</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="485" src="https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153534-1024x485.jpg" alt="" class="wp-image-1211" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153534-1024x485.jpg 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153534-300x142.jpg 300w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153534-768x363.jpg 768w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153534-1536x727.jpg 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153534-scaled.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Left Side</figcaption></figure>



<p>I used these <a rel="noreferrer noopener" href="https://amzn.to/344OuvD" target="_blank">Silicon Epoxy Molds</a> for casting the module in epoxy. Don&#8217;t forget <a rel="noreferrer noopener" href="https://amzn.to/3lTHtDN" target="_blank">Release Agent</a>!</p>



<p>I would also recommend buying a few <a rel="noreferrer noopener" href="https://amzn.to/358SHOb" target="_blank">cheap, disposable mixing cups</a> to ensure you accurately measure your epoxy&#8230;. and because it has the habit of being pretty difficult to remove&#8230;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="485" src="https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153523-1024x485.jpg" alt="" class="wp-image-1212" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153523-1024x485.jpg 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153523-300x142.jpg 300w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153523-768x363.jpg 768w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153523-1536x727.jpg 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_153523-scaled.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Module sitting in the mold, waiting for epoxy.</figcaption></figure>



<p><br>So- before you start pouring your epoxy&#8230; Make sure you measure the correct amounts, and MIX THOROUGHLY!!! </p>



<p>When you start to pour, pour very slowly! I did find a blunt tip syringe comes in handy for covering areas which will not be submerged in epoxy.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="485" src="https://xtremeownage.com/wp-content/uploads/2020/10/20201015_154651-1024x485.jpg" alt="" class="wp-image-1213" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/20201015_154651-1024x485.jpg 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_154651-300x142.jpg 300w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_154651-768x363.jpg 768w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_154651-1536x727.jpg 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/20201015_154651-scaled.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Slowly pouring the epoxy.</figcaption></figure>



<p>My goal was to mostly cover the nodeMCU, and all exposed terminals. I covered the relay board using a syringe. My goal was to also NOT cover the USB terminal, or the BME280.</p>



<p>The BME280 did survive, uncovered, however, the USB port&#8230; is no longer usable.</p>



<p>For the final product-</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="485" height="1024" src="https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082647-485x1024.jpg" alt="" class="wp-image-1214" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082647-485x1024.jpg 485w, https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082647-142x300.jpg 142w, https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082647-768x1623.jpg 768w, https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082647-727x1536.jpg 727w, https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082647-scaled.jpg 969w" sizes="(max-width: 485px) 100vw, 485px" /><figcaption>Slightly too much epoxy, covered the USB port. The BME280 sensor is not covered.</figcaption></figure>



<p>The bottom of the module is covered well enough to prevent shorting of the contacts.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="485" src="https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082604-1024x485.jpg" alt="" class="wp-image-1215" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082604-1024x485.jpg 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082604-300x142.jpg 300w, https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082604-768x363.jpg 768w, https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082604-1536x727.jpg 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/20201016_082604-scaled.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Bottom of the epoxy covered module.</figcaption></figure>



<p>I could use a hacksaw or bandsaw to remove the excess on the end, however, this module will hardly ever see the light of day.</p>



<p></p>



<p>The final step at this point, was to improvise a method on how to power the device, and&#8230;. place it in its final destination.</p>



<p>My natural gas fireplace uses its own thermopile / solenoid , and does not require power. In short- if you switch it to &#8220;remote&#8221; and the green wire and red wire touch, it turns on.</p>



<p>To power the module, I chopped the end off of a USB charging cable, and soldered the leads to the exposed pins on the relay module (which are directly connected to the VIN pin on my NodeMCU.)</p>



<p></p>



<p>The fireplace pins are connected to the COM (Common) &amp; NO (Normally Open) pins on the relay. </p>



<p>I highly recommend using the normally open pin, because in the event of a failure of your module, the relay should be left in a OPEN state.</p>



<p></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="485" src="https://xtremeownage.com/wp-content/uploads/2020/10/Final-In-Place-1024x485.jpg" alt="" class="wp-image-1216" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/Final-In-Place-1024x485.jpg 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/Final-In-Place-300x142.jpg 300w, https://xtremeownage.com/wp-content/uploads/2020/10/Final-In-Place-768x363.jpg 768w, https://xtremeownage.com/wp-content/uploads/2020/10/Final-In-Place-1536x727.jpg 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/Final-In-Place-scaled.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">ESP Home Configuration</h2>



<p>Here is the configuration file I used for <a rel="noreferrer noopener" href="https://esphome.io/" target="_blank">ESPHome</a></p>



<p>Note- I keep my secrets &amp; common configurations in separate files.</p>



<p>My wifi information is stored in my common file, with all credentials stored in the secrets file.</p>



<p>If you utilized different pins, please ensure your configuration file is updated accordingly.</p>



<p>If you are not familiar with <a rel="noreferrer noopener" href="https://esphome.io/guides/getting_started_command_line.html" target="_blank">ESP Home</a>, there are multiple guides on how to get started using either the command line, or via Home Assistant.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">substitutions:
  devicename: "livingroom_fireplace"
  friendly_name: "Fireplace"
  ip_address: 10.10.1.245
  &lt;&lt;: !include secrets.yaml

&lt;&lt;: !include common.yaml

esphome:
  name: ${devicename}
  platform: ESP8266
  board: nodemcuv2


i2c:
   - id: bus_a
     sda: D2
     scl: D1
     scan: True

sensor:
  - platform: bme280
    i2c_id: bus_a
    temperature:
      name: "${friendly_name} Temperature"
      id: bme280_temperature
    pressure:
      name: "${friendly_name} Pressure"
      id: bme280_pressure
    humidity:
      name: "${friendly_name} Relative Humidity"
      id: bme280_humidity
    address: 0x76
    update_interval: 15s
  - platform: wifi_signal
    name: "${friendly_name} WiFi Signal"
    update_interval: 30s
  - platform: template
    name: "${friendly_name} Altitude"
    lambda: |-
      const float STANDARD_SEA_LEVEL_PRESSURE = 1013.25; //in hPa, see note
      return ((id(bme280_temperature).state + 273.15) / 0.0065) *
        (powf((STANDARD_SEA_LEVEL_PRESSURE / id(bme280_pressure).state), 0.190234) - 1); // in meter
    update_interval: 15s
    unit_of_measurement: 'm'

switch:
  - platform: gpio
    pin: 
      number: D5
      inverted: yes
    restore_mode: ALWAYS_OFF
    name: "${friendly_name}"
    icon: "mdi:fireplace"

status_led:
  pin:
    number: GPIO0
    inverted: yes

</pre>



<h2 class="wp-block-heading">Automation!</h2>



<p>I wanted to be able to add some intelligence to my fireplace, so that it would work alongside my HVAC schedules. I used node-red as my tool of choice.</p>



<p>Here is the resulting workflow I came up with:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="424" src="https://xtremeownage.com/wp-content/uploads/2020/10/NodeRed-1024x424.png" alt="" class="wp-image-1217" srcset="https://xtremeownage.com/wp-content/uploads/2020/10/NodeRed-1024x424.png 1024w, https://xtremeownage.com/wp-content/uploads/2020/10/NodeRed-300x124.png 300w, https://xtremeownage.com/wp-content/uploads/2020/10/NodeRed-768x318.png 768w, https://xtremeownage.com/wp-content/uploads/2020/10/NodeRed-1536x636.png 1536w, https://xtremeownage.com/wp-content/uploads/2020/10/NodeRed.png 1880w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Summary:</p>



<ol><li>It is only activated when the &#8220;input_boolean.fireplace&#8221; helper is on.</li><li>When activated, it will compare the current temp, and the setpoint every minute, and turn on the fireplace if required.</li><li>If the thermostat is not set to heat, or heat_cool, or the helper is disabled, it will turn the fireplace off.</li><li>I used automations in home assistant to disable the helper in the event the house is unattended, to prevent the fireplace from turning on.<ol><li>It is also only enabled during the hours of 6am -&gt; 10pm, when we are awake.</li></ol></li></ol>



<p><s>Here is the full workflow in node-red if you wish to use it as a starting point.</s> Removed&#8230; </p>



<h3 class="wp-block-heading"><a href="https://xtremeownage.com/2020/10/20/fireplace-automation-part-2/" data-type="post" data-id="1220">See Part 2 &#8211; Automating the fireplace through Home Assistant, with presence detection!</a></h3>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
