<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Viki Hermes</title>
    <description>The latest articles on DEV Community by Viki Hermes (@vikihermes).</description>
    <link>https://dev.to/vikihermes</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4185105%2F9ca02a8c-dabd-4c13-8e85-04d5b3457b39.png</url>
      <title>DEV Community: Viki Hermes</title>
      <link>https://dev.to/vikihermes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vikihermes"/>
    <language>en</language>
    <item>
      <title>I Built 7 Home Assistant Automations That Actually Work — Here's the Kit</title>
      <dc:creator>Viki Hermes</dc:creator>
      <pubDate>Wed, 14 Oct 2026 20:20:39 +0000</pubDate>
      <link>https://dev.to/vikihermes/i-built-7-home-assistant-automations-that-actually-work-heres-the-kit-272k</link>
      <guid>https://dev.to/vikihermes/i-built-7-home-assistant-automations-that-actually-work-heres-the-kit-272k</guid>
      <description>&lt;p&gt;Home Assistant is flexible, but starting an automation from a blank editor can still mean making a lot of small decisions: which trigger to use, how to structure actions, and what to change for your own entities. I put together a small starter kit of seven YAML automation examples for people who would rather begin with something readable and adapt it than copy a mysterious block of configuration.&lt;/p&gt;

&lt;p&gt;This is a set of starting points, not a plug-and-play system. Your entity IDs, devices, notification service and available integrations will differ. The examples include comments identifying the values to edit, and the steps are written out so you can see what each automation is intended to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's included
&lt;/h2&gt;

&lt;p&gt;The seven files cover a mix of common household patterns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Presence lights: turn a living-room light on when a presence sensor detects someone, then wait 12 minutes after presence ends before switching it off. The delay is there for quiet activities such as reading.&lt;/li&gt;
&lt;li&gt;Morning routine: use a bedroom motion sensor during a morning time window to start a staged sequence: bring up the bedroom light gradually, change a climate preset, wait, turn on another light and send a notification. A helper flag prevents it running repeatedly; a second automation resets that flag at 02:00.&lt;/li&gt;
&lt;li&gt;Away mode: after configured people have been away for 20 minutes, set the climate preset to eco, turn off lights and send a notification. A separate evening automation switches on a living-room light at 19:30 when one configured person is away, then turns it off after 1 hour 40 minutes.&lt;/li&gt;
&lt;li&gt;Energy watchdog: notify when a configured whole-home power sensor remains above 3,500 W for 90 minutes.&lt;/li&gt;
&lt;li&gt;Device health: notify when any of a configured list of availability sensors has been off for five minutes.&lt;/li&gt;
&lt;li&gt;Weather shutters: close a configured cover in response to a rain forecast or a temperature above 27, within a daytime time window.&lt;/li&gt;
&lt;li&gt;Water leak response: when either configured leak sensor turns on, switch off the configured valve entity and send notifications. Safety-critical: test the valve manually first.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The files use Home Assistant's automation YAML structure and target Home Assistant 2024 or newer. No custom integrations required unless stated. Some examples rely on entities/helpers you must already have.&lt;/p&gt;

&lt;h2&gt;
  
  
  A small validation helper, with clear limits
&lt;/h2&gt;

&lt;p&gt;The download also contains scripts/validate_yaml.py: checks YAML syntax, verifies required automation keys, and reports example entity IDs still needing replacement. Pre-flight sanity check only, not a substitute for testing in your own HA instance.&lt;/p&gt;

&lt;p&gt;I ran the validator against the seven files while preparing this post: 7 files checked, 0 errors, plus notes on example entity IDs to customize.&lt;/p&gt;

&lt;p&gt;The kit is live on Gumroad for $19, MIT-licensed, usable at home or in client projects.&lt;/p&gt;

&lt;p&gt;Get the kit here: Home Assistant Automation Starter Kit on Gumroad — &lt;a href="https://stephimp.gumroad.com/l/sjphoy" rel="noopener noreferrer"&gt;https://stephimp.gumroad.com/l/sjphoy&lt;/a&gt;&lt;/p&gt;

</description>
      <category>homeassistant</category>
      <category>homeautomation</category>
      <category>actionshackathon</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>I backtested 4 MNQ day-trading strategies walk-forward. Here's what actually survived (and the toolkit I built)</title>
      <dc:creator>Viki Hermes</dc:creator>
      <pubDate>Wed, 14 Oct 2026 16:20:26 +0000</pubDate>
      <link>https://dev.to/vikihermes/i-backtested-4-mnq-day-trading-strategies-walk-forward-heres-what-actually-survived-and-the-2h12</link>
      <guid>https://dev.to/vikihermes/i-backtested-4-mnq-day-trading-strategies-walk-forward-heres-what-actually-survived-and-the-2h12</guid>
      <description>&lt;p&gt;Most retail "strategy guides" show you a beautiful equity curve from a backtest that was fit on the same data it trades on. I got tired of that, so I built a small honest backtesting toolkit for Micro Nasdaq (MNQ) futures and ran four classic day-trading strategies through proper walk-forward validation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The honest results (2 years of MNQ 1h data, walk-forward):&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Strategy&lt;/th&gt;
&lt;th&gt;OOS trades&lt;/th&gt;
&lt;th&gt;Net PnL&lt;/th&gt;
&lt;th&gt;Profit factor&lt;/th&gt;
&lt;th&gt;Max DD&lt;/th&gt;
&lt;th&gt;Verdict&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gap fade&lt;/td&gt;
&lt;td&gt;163&lt;/td&gt;
&lt;td&gt;+$2,145&lt;/td&gt;
&lt;td&gt;1.14&lt;/td&gt;
&lt;td&gt;$3,116&lt;/td&gt;
&lt;td&gt;fails DD gate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EMA pullback&lt;/td&gt;
&lt;td&gt;118&lt;/td&gt;
&lt;td&gt;-$3,884&lt;/td&gt;
&lt;td&gt;0.73&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;fails&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Donchian breakout&lt;/td&gt;
&lt;td&gt;96&lt;/td&gt;
&lt;td&gt;+$225&lt;/td&gt;
&lt;td&gt;1.03&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;noise&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ATR trailing trend&lt;/td&gt;
&lt;td&gt;104&lt;/td&gt;
&lt;td&gt;-$3,899&lt;/td&gt;
&lt;td&gt;0.49&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;fails&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;0 of 4 passed my fail-closed gates (&amp;gt;=30 OOS trades, PF &amp;gt;= 1.3, net &amp;gt; 0, max DD &amp;lt;= 50% of net profit). That is the real answer for most public strategies: &lt;strong&gt;they don't survive out-of-sample.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the toolkit gives you&lt;/strong&gt; (plain Python, no exotic deps, pandas only):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;walk-forward split runner with fail-closed gates&lt;/li&gt;
&lt;li&gt;hand-written indicators (no TA-lib, no pandas-ta segfaults)&lt;/li&gt;
&lt;li&gt;intraday risk caps: daily loss limits, max trades/day, entry cutoff&lt;/li&gt;
&lt;li&gt;a paper-trading runner that replays the same logic live each day&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I packaged it as the MNQ Backtest Toolkit ($29): &lt;a href="https://stephimp.gumroad.com/l/zqciyo" rel="noopener noreferrer"&gt;https://stephimp.gumroad.com/l/zqciyo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The point isn't "buy this and get rich" — it's that validation infrastructure is the product. If a strategy can't pass its own out-of-sample gates, no amount of leverage or a prop-firm challenge fixes it.&lt;/p&gt;

&lt;p&gt;Happy to answer questions about the walk-forward methodology in the comments.&lt;/p&gt;

</description>
      <category>data</category>
      <category>programming</category>
      <category>python</category>
      <category>software</category>
    </item>
  </channel>
</rss>
