{"id":764,"date":"2018-12-16T19:51:45","date_gmt":"2018-12-17T03:51:45","guid":{"rendered":"https:\/\/diyfuturism.com\/?p=764"},"modified":"2018-12-17T00:08:55","modified_gmt":"2018-12-17T08:08:55","slug":"my-node-red-smart-alarm-clock-with-snooze","status":"publish","type":"post","link":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/","title":{"rendered":"My Node-Red Smart Alarm Clock with Snooze"},"content":{"rendered":"\n<p>Definitely one of my very favorite features of my smart house is my alarm clock. Which is funny because I am not a morning person&nbsp;<em>at all<\/em>&nbsp;and hate getting up. But the daily grind is made a little better by having my house gently wake me by fading in lights and the local radio station instead of a screeching me out of my slumber.<\/p>\n\n\n\n<p>Here&#8217;s a detailed guide to setting up a smart alarm clock with snooze using Home Assistant &amp; Node-Red.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2>THE ALARM CLOCK<\/h2>\n\n\n\n<p>It would be simple enough to just turn the lights and radio on with a transition but that&#8217;s not that cool. What I really wanted was an alarm clock with a snooze feature, and I also wanted to bring in some other components of my smart home. So before I get into the nitty gritty, here&#8217;s the outline of the sequence:<\/p>\n\n\n\n<ul><li>10 minutes before alarm time, begin to fade in the lights and radio volume from 0%<\/li><li>3 minutes later, begin brewing coffee<\/li><li>Alarm time reached &#8211; Alexa reads the current time, weather, etc.<\/li><li>Morning radio resumes, the coffee is now done<\/li><li>Morning scene for the house is set<\/li><\/ul>\n\n\n\n<p>If I hit the snooze button before this sequence is complete:<\/p>\n\n\n\n<ul><li>Lights and radio are turned off<\/li><li>3 minutes of darkness\/silence<\/li><li>Lighting and radio volume transition begin again, starting at 30%<\/li><li>Continues the sequence to it&#8217;s conclusion<\/li><\/ul>\n\n\n\n<p>Shout out to the now discontinued (but still available on Amazon \/ Ebay sometimes) <a rel=\"noreferrer noopener\" aria-label=\"Shout out to the now discontinued (but still available on Amazon \/ Ebay sometimes) Mr. Coffee WeMo coffee maker. I love that thing, best purchase ever. If your routine involves coffee, a coffee machine that reports it's state is surprisingly useful. (opens in a new tab)\" href=\"https:\/\/amzn.to\/2QXj4Bn\" target=\"_blank\">Mr. Coffee WeMo coffee maker<\/a>. I love that thing. If your routine involves coffee, a coffee machine that reports it&#8217;s state is surprisingly useful.<\/p>\n\n\n\n<p>If you know of another &#8216;smart&#8217; coffee maker, I would like to know, please comment below.<\/p>\n\n\n\n<h2>THE HARDWARE<\/h2>\n\n\n\n<p>To accomplish this I am using:<\/p>\n\n\n\n<ul><li><a rel=\"noreferrer noopener\" aria-label=\"Philips Hue smart bulbs\u2028Amazon Echo - for TTS\/radio\u2028Mr. Coffee WeMo coffeemaker\u2028Xiaomi Mijia zigbee button - for snoozing\u2028Z-Wave Alternative:&nbsp; (opens in a new tab)\" href=\"https:\/\/amzn.to\/2UO6X8S\" target=\"_blank\">Philips Hue<\/a> smart bulbs &#8211; I&#8217;ve set this script up to work with any dimmable bulb &#8211; even those that don&#8217;t support transitions<\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Philips Hue smart bulbs\u2028Amazon Echo - for TTS\/radio\u2028Mr. Coffee WeMo coffeemaker\u2028Xiaomi Mijia zigbee button - for snoozing\u2028Z-Wave Alternative:&nbsp; (opens in a new tab)\" href=\"https:\/\/amzn.to\/2BkWrgo\" target=\"_blank\">Amazon Echo<\/a> &#8211; for TTS &amp; radio<\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Philips Hue smart bulbs\u2028Amazon Echo - for TTS\/radio\u2028Mr. Coffee WeMo coffeemaker\u2028Xiaomi Mijia zigbee button - for snoozing\u2028Z-Wave Alternative:&nbsp; (opens in a new tab)\" href=\"https:\/\/amzn.to\/2QXj4Bn\" target=\"_blank\">Mr. Coffee WeMo<\/a>&nbsp;&#8211; coffeemaker that reports state<\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Philips Hue smart bulbs - this script will work with any dimmable bulb though, even those that don't support transitions\u2028Amazon Echo - for TTS &amp; radio\u2028Mr. Coffee WeMo coffeemaker\u2028Xiaomi Mijia zigbee button - for snoozing\u2028Z-Wave Alternative: Hank One Scene Button (opens in a new tab)\" href=\"https:\/\/amzn.to\/2UQvw53\" target=\"_blank\">Hank Simple Z-Wave Button<\/a>&nbsp;&#8211; for snooze button<\/li><\/ul>\n\n\n\n<p>To control the Amazon Echo from Home Assistant I am using <a href=\"https:\/\/community.home-assistant.io\/t\/echo-devices-alexa-as-media-player-testers-needed\/58639\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"To control the Amazon Echo from Home Assistant I am using this custom component, which works extremely well. One neat feature is that sending TTS to it will pause the currently playing media and resume it automatically when finished. (opens in a new tab)\">this custom component<\/a>, which works extremely well. One neat feature is that sending TTS to it will pause the currently playing media and resume it automatically when finished.<\/p>\n\n\n\n<script type=\"text\/javascript\">\namzn_assoc_placement = \"adunit0\";\namzn_assoc_tracking_id = \"diyfuturism-20\";\namzn_assoc_ad_mode = \"manual\";\namzn_assoc_ad_type = \"smart\";\namzn_assoc_marketplace = \"amazon\";\namzn_assoc_region = \"US\";\namzn_assoc_linkid = \"4a0ac09781471179e9898d49dc151ff2\";\namzn_assoc_design = \"in_content\";\namzn_assoc_asins = \"B0799S3764,B07351P1JK,B0749WVS7J\";\n<\/script>\n<script src=\"\/\/z-na.amazon-adsystem.com\/widgets\/onejs?MarketPlace=US\"><\/script>\n\n\n\n<h2>HOME ASSISTANT CONFIG<\/h2>\n\n\n\n<p>First step to getting this going is I&#8217;m going to create a couple of entities in Home Assistant to control the state of the alarm clock. These are pretty self-explanatory.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>input_boolean:\n  # Switch to Enable Alarm Clock\n  house_option_alarmclock:\n    name: Alarm Clock\n    initial: off\n    icon: mdi:alarm\n  # Used by Automation to enable Snooze\n  house_alarmclock_snooze:\n    name: Snoozing\n    initial: off\n    icon: mdi:alarm-snooze\n  # Used by Automation to track if alarm clock is running\n  house_alarmclock_active:\n    name: Snoozing\n    initial: off\n    icon: mdi:alarm-snooze\n  # Optional: Enable radio for sequence\n  house_alarmclock_radio:\n    name: Alarm Radio\n    initial: on\n    icon: mdi:radio\n\ninput_datetime:\n  # The Alarm Time input by the User\n  alarmclock_time:\n    name: Alarm Time\n    has_date: false\n    has_time: true<\/code><\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-attachment-id=\"772\" data-permalink=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/alarmclock-ui\/\" data-orig-file=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/ALARMCLOCK-UI.png?fit=500%2C391&amp;ssl=1\" data-orig-size=\"500,391\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ALARMCLOCK-UI\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/ALARMCLOCK-UI.png?fit=300%2C235&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/ALARMCLOCK-UI.png?fit=500%2C391&amp;ssl=1\" loading=\"lazy\" width=\"500\" height=\"391\" src=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/ALARMCLOCK-UI.png?resize=500%2C391&#038;ssl=1\" alt=\"\" class=\"wp-image-772\" srcset=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/ALARMCLOCK-UI.png?w=500&amp;ssl=1 500w, https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/ALARMCLOCK-UI.png?resize=300%2C235&amp;ssl=1 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" data-recalc-dims=\"1\" \/><figcaption>Alarm Clock in Lovelace UI<br><\/figcaption><\/figure><\/div>\n\n\n\n<p>Here&#8217;s the nifty <a rel=\"noreferrer noopener\" aria-label=\"Here's the nifty custom Lovelace time-input-row picture above. (opens in a new tab)\" href=\"https:\/\/github.com\/thomasloven\/lovelace-time-input-row\" target=\"_blank\">custom Lovelace time-input-row<\/a> pictured above.<\/p>\n\n\n\n<h2>THE AUTOMATION<\/h2>\n\n\n\n<p>This alarm clock has 3 parts:<\/p>\n\n\n\n<ol><li>The trigger, which starts the alarm sequence 10 minutes before the actual alarm time<\/li><li>The loop, which gradually increases the brightness \/ volume<\/li><li>The snooze, which pauses and resets the loop<\/li><\/ol>\n\n\n\n<p><a href=\"https:\/\/pastebin.com\/DVjrMEkt\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"The entire Node-Red flow is here if you want to import it in one go. (opens in a new tab)\">The entire Node-Red flow is here<\/a> if you want to import it in one go.<\/p>\n\n\n\n<h3>TRIGGERING THE ALARM<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/alarmclock1-trigger\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img data-attachment-id=\"766\" data-permalink=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/alarmclock1-trigger\/\" data-orig-file=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock1-trigger.png?fit=1292%2C216&amp;ssl=1\" data-orig-size=\"1292,216\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"alarmclock1-trigger\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock1-trigger.png?fit=300%2C50&amp;ssl=1\" data-large-file=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock1-trigger.png?fit=854%2C143&amp;ssl=1\" loading=\"lazy\" width=\"1292\" height=\"216\" src=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock1-trigger.png?fit=854%2C143&amp;ssl=1\" alt=\"The trigger logic in Node-Red\" class=\"wp-image-766\" srcset=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock1-trigger.png?w=1292&amp;ssl=1 1292w, https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock1-trigger.png?resize=300%2C50&amp;ssl=1 300w, https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock1-trigger.png?resize=768%2C128&amp;ssl=1 768w, https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock1-trigger.png?resize=1024%2C171&amp;ssl=1 1024w\" sizes=\"(max-width: 854px) 100vw, 854px\" \/><\/a><figcaption>Check the alarm time, turn alarm on 10 minutes before<\/figcaption><\/figure>\n\n\n\n<p>I want my sequence to end at the alarm time, which means I need it to start 10 minutes before the actual alarm the user entered. To do this I use the <a href=\"https:\/\/flows.nodered.org\/node\/node-red-contrib-moment\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"I want my sequence to end at the alarm time, which means I need it to start 10 minutes before the actual alarm the user entered. To do this I use the moment node to subtract 10 minutes and then compare the 2. When they match, the input_boolean.house_alarmclock_active is turned on. (opens in a new tab)\">moment node<\/a> to subtract 10 minutes and then compare the 2. When they match, the <strong>input_boolean.house_alarmclock_active<\/strong> is turned on.<\/p>\n\n\n\n<p>Flipping that switch starts the rest of the automation.<\/p>\n\n\n\n<h3>THE LOOP<\/h3>\n\n\n\n<p>The way this flow works is by storing the brightness and volume values in flow variables. If you&#8217;re not familiar with how variables work in Node-Red, see <a rel=\"noreferrer noopener\" aria-label=\"The way this flow works is by storing the brightness and volume values in flow variables. If you're not familiar with how variables work in Node-Red, see their documentation here. (opens in a new tab)\" href=\"https:\/\/nodered.org\/docs\/writing-functions#storing-data\" target=\"_blank\">their documentation here<\/a>. By storing the values within the context of the flow, any node can access or change them as needed.<\/p>\n\n\n\n<p>I begin the alarm clock sequence by initializing those variables to 0, and also setting up some easy automations to make coffee and prepare the Alexa media player.<\/p>\n\n\n\n<p>To set variables in the context of this flow, use a function node like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>flow.set(\"brightness\", 1);\nflow.set(\"volume\", 0.0);\n\nnewmsg = {\"payload\":\"variables initialized\"}\nreturn newmsg;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/alarmclock-2\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img data-attachment-id=\"767\" data-permalink=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/alarmclock-2\/\" data-orig-file=\"https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock-2.png?fit=1197%2C360&amp;ssl=1\" data-orig-size=\"1197,360\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"alarmclock-2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock-2.png?fit=300%2C90&amp;ssl=1\" data-large-file=\"https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock-2.png?fit=854%2C257&amp;ssl=1\" loading=\"lazy\" width=\"1197\" height=\"360\" src=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock-2.png?fit=854%2C257&amp;ssl=1\" alt=\"Beginning the start of the Alarm Clock sequence\" class=\"wp-image-767\" srcset=\"https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock-2.png?w=1197&amp;ssl=1 1197w, https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock-2.png?resize=300%2C90&amp;ssl=1 300w, https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock-2.png?resize=768%2C231&amp;ssl=1 768w, https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock-2.png?resize=1024%2C308&amp;ssl=1 1024w\" sizes=\"(max-width: 854px) 100vw, 854px\" \/><\/a><figcaption>First step is to initialize the flow variables for brightness \/ volume<\/figcaption><\/figure>\n\n\n\n<p>Now for the fun part, which is the loop logic which transitions the light and the volume of the radio.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/alarmclock3\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img data-attachment-id=\"768\" data-permalink=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/alarmclock3\/\" data-orig-file=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock3.png?fit=1322%2C407&amp;ssl=1\" data-orig-size=\"1322,407\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"alarmclock3\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock3.png?fit=300%2C92&amp;ssl=1\" data-large-file=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock3.png?fit=854%2C263&amp;ssl=1\" loading=\"lazy\" width=\"1322\" height=\"407\" src=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock3.png?fit=854%2C263&amp;ssl=1\" alt=\"The Loop Logic in Node-Red\" class=\"wp-image-768\" srcset=\"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock3.png?w=1322&amp;ssl=1 1322w, https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock3.png?resize=300%2C92&amp;ssl=1 300w, https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock3.png?resize=768%2C236&amp;ssl=1 768w, https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/alarmclock3.png?resize=1024%2C315&amp;ssl=1 1024w\" sizes=\"(max-width: 854px) 100vw, 854px\" \/><\/a><figcaption>The loop<\/figcaption><\/figure>\n\n\n\n<p>The flow variables for brightness and volume are injected\u00a0 into traffic lights. The traffic lights block these messages until the alarm clock is turned on, which opens the gate for the messages to pass through.\u00a0<\/p>\n\n\n\n<p>When that happens, the variable values for brightness and volume are sent to the appropriate service calls, and the values are incremented for the next injection.<\/p>\n\n\n\n<p>If I don&#8217;t hit the snooze, this sequence will run until the light hits 100%. Then the traffic is closed again, and the loop exits.<\/p>\n\n\n\n<script type=\"text\/javascript\">\namzn_assoc_placement = \"adunit0\";\namzn_assoc_tracking_id = \"diyfuturism-20\";\namzn_assoc_ad_mode = \"search\";\namzn_assoc_ad_type = \"smart\";\namzn_assoc_marketplace = \"amazon\";\namzn_assoc_region = \"US\";\namzn_assoc_default_search_phrase = \"z-wave\";\namzn_assoc_default_category = \"Electronics\";\namzn_assoc_linkid = \"79a476626d51252a65ee3743e715a66e\";\namzn_assoc_design = \"in_content\";\namzn_assoc_default_browse_node = \"172282\";\n<\/script>\n<script src=\"\/\/z-na.amazon-adsystem.com\/widgets\/onejs?MarketPlace=US\"><\/script>\n\n\n\n<h3>THE SNOOZE<\/h3>\n\n\n\n<p>Smashing the snooze button in my half-awake state will interrupt the above loop by closing off the traffic lights, turning off the radio \/ lights, and resetting the flow variables to 30% (so when the loop restarts, it will run for ~7 minutes instead of the full 10).<\/p>\n\n\n\n<p>This gets me 3 glorious minutes of silence and darkness, before the loop is started up again when the snooze switch turns off. Here&#8217;s what the loop looks like with the snooze logic attached.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/loop-snooze\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img data-attachment-id=\"769\" data-permalink=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/loop-snooze\/\" data-orig-file=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/loop-snooze.png?fit=1323%2C744&amp;ssl=1\" data-orig-size=\"1323,744\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"loop-snooze\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/loop-snooze.png?fit=300%2C169&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/loop-snooze.png?fit=854%2C480&amp;ssl=1\" loading=\"lazy\" width=\"1323\" height=\"744\" src=\"https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/loop-snooze.png?fit=854%2C480&amp;ssl=1\" alt=\"The loop to set brightness and volume together with the snooze function logic.\" class=\"wp-image-769\" srcset=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/loop-snooze.png?w=1323&amp;ssl=1 1323w, https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/loop-snooze.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/loop-snooze.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/loop-snooze.png?resize=1024%2C576&amp;ssl=1 1024w\" sizes=\"(max-width: 854px) 100vw, 854px\" \/><\/a><figcaption>The loop + snooze logic<\/figcaption><\/figure>\n\n\n\n<h2>FINISHING UP<\/h2>\n\n\n\n<p>The loop is done and exits when the lights reach 100% &#8211; I use a link node to continue the logic elsewhere (not shown here). All that&#8217;s left to do is flip that <strong>alarmclock_active<\/strong> boolean back to off, and run the rest of your sequence to finish.<\/p>\n\n\n\n<p>In mine morning routine, this is the point I have Alexa read off a quick weather update. Here&#8217;s a simple template that I send as a TTS message to my Echo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Good morning\n\nThe time is now {{ now().hour }} {{ now().minute }}\n\n{{ states.sensor.dark_sky_daily_summary.state }}\n\nThe current temperature is {{ states.sensor.dark_sky_temperature.state }} degrees.<\/code><\/pre>\n\n\n\n<p>A scene for the house turns on, and my coffee is done by this point.<\/p>\n\n\n\n<p>You can import the entire flow for the alarm clock by copying and pasting from <a rel=\"noreferrer noopener\" aria-label=\"You can import the entire flow for the alarm clock by copying and pasting from this Pastebin link. (opens in a new tab)\" href=\"https:\/\/pastebin.com\/DVjrMEkt\" target=\"_blank\">this Pastebin link<\/a>.<\/p>\n\n\n\n<h2>RESOURCES<\/h2>\n\n\n\n<ul><li><a rel=\"noreferrer noopener\" aria-label=\"Import This Flow to Node-Red\u2028Node-Red Variables &amp; Storing Data Contexts\u2028 (opens in a new tab)\" href=\"https:\/\/pastebin.com\/DVjrMEkt\" target=\"_blank\">Import This Flow to Node-Red<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Node-Red Variables &amp; Storing Data Contexts (opens in a new tab)\" href=\"https:\/\/nodered.org\/docs\/writing-functions#storing-data\" target=\"_blank\">Node-Red Variables &amp; Storing Data Contexts<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Import This Flow to Node-Red\u2028Node-Red Variables &amp; Storing Data Contexts\u2028Node-Red Traffic Light (opens in a new tab)\" href=\"https:\/\/flows.nodered.org\/node\/node-red-contrib-traffic\" target=\"_blank\">Node-Red Traffic Light<\/a><\/li><li><a href=\"https:\/\/github.com\/thomasloven\/lovelace-time-input-row\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Import This Flow to Node-Red\u2028Node-Red Variables &amp; Storing Data Contexts\u2028Node-Red Traffic Light\u2028Custom Lovelace time-input-row\u2028Amazon Echo Custom Component for Home Assistant (opens in a new tab)\">Custom Lovelace time-input-row<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Import This Flow to Node-Red\u2028Node-Red Variables &amp; Storing Data Contexts\u2028Node-Red Traffic Light\u2028Amazon Echo Custom Component for Home Assistant (opens in a new tab)\" href=\"https:\/\/community.home-assistant.io\/t\/echo-devices-alexa-as-media-player-testers-needed\/58639\" target=\"_blank\">Amazon Echo Custom Component for Home Assistant<\/a><\/li><\/ul>\n\n\n\n<script type=\"text\/javascript\">\namzn_assoc_placement = \"adunit0\";\namzn_assoc_tracking_id = \"diyfuturism-20\";\namzn_assoc_ad_mode = \"manual\";\namzn_assoc_ad_type = \"smart\";\namzn_assoc_marketplace = \"amazon\";\namzn_assoc_region = \"US\";\namzn_assoc_linkid = \"4a0ac09781471179e9898d49dc151ff2\";\namzn_assoc_design = \"in_content\";\namzn_assoc_asins = \"B0799S3764,B07351P1JK,B0749WVS7J\";\n<\/script>\n<script src=\"\/\/z-na.amazon-adsystem.com\/widgets\/onejs?MarketPlace=US\"><\/script>\n","protected":false},"excerpt":{"rendered":"<div class=\"wpm_excerpt clearfix\"><p>Definitely one of my very favorite features of my smart house is my alarm clock. Which is funny because I am not a morning person&nbsp;at all&nbsp;and &hellip;<\/p>\n<\/div>","protected":false},"author":1,"featured_media":775,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[8,6,7,11,3],"tags":[231,230,47,235,232,238,96,97,36,31,237,42,52,25,239,233,234,236],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>My Node-Red Smart Alarm Clock with Snooze - DIY Futurism<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"My Node-Red Smart Alarm Clock with Snooze - DIY Futurism\" \/>\n<meta property=\"og:description\" content=\"Definitely one of my very favorite features of my smart house is my alarm clock. Which is funny because I am not a morning person&nbsp;at all&nbsp;and &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/\" \/>\n<meta property=\"og:site_name\" content=\"DIY Futurism\" \/>\n<meta property=\"article:published_time\" content=\"2018-12-17T03:51:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-17T08:08:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/david-von-diemar-291597-unsplash.jpg?fit=4048%2C2475&#038;ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"4048\" \/>\n\t<meta property=\"og:image:height\" content=\"2475\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@diyfuturism\" \/>\n<meta name=\"twitter:site\" content=\"@diyfuturism\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"brad\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/diyfuturism.com\/#website\",\"url\":\"https:\/\/diyfuturism.com\/\",\"name\":\"DIY Futurism\",\"description\":\"Adventures in Open Source Smart Home Projects\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/diyfuturism.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/david-von-diemar-291597-unsplash.jpg?fit=4048%2C2475&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/david-von-diemar-291597-unsplash.jpg?fit=4048%2C2475&ssl=1\",\"width\":4048,\"height\":2475},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#webpage\",\"url\":\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/\",\"name\":\"My Node-Red Smart Alarm Clock with Snooze - DIY Futurism\",\"isPartOf\":{\"@id\":\"https:\/\/diyfuturism.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#primaryimage\"},\"datePublished\":\"2018-12-17T03:51:45+00:00\",\"dateModified\":\"2018-12-17T08:08:55+00:00\",\"author\":{\"@id\":\"https:\/\/diyfuturism.com\/#\/schema\/person\/b93619fac07567640bd87cc613a55b7c\"},\"breadcrumb\":{\"@id\":\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/diyfuturism.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"My Node-Red Smart Alarm Clock with Snooze\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/diyfuturism.com\/#\/schema\/person\/b93619fac07567640bd87cc613a55b7c\",\"name\":\"brad\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/diyfuturism.com\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7e2d60eb1f322b4ad6040a746946a361?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7e2d60eb1f322b4ad6040a746946a361?s=96&d=mm&r=g\",\"caption\":\"brad\"},\"description\":\"I'm a professional artist who likes to tinker with building things in my spare time.\",\"sameAs\":[\"https:\/\/twitter.com\/@diyfuturism\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"My Node-Red Smart Alarm Clock with Snooze - DIY Futurism","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/","og_locale":"en_US","og_type":"article","og_title":"My Node-Red Smart Alarm Clock with Snooze - DIY Futurism","og_description":"Definitely one of my very favorite features of my smart house is my alarm clock. Which is funny because I am not a morning person&nbsp;at all&nbsp;and &hellip;","og_url":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/","og_site_name":"DIY Futurism","article_published_time":"2018-12-17T03:51:45+00:00","article_modified_time":"2018-12-17T08:08:55+00:00","og_image":[{"width":4048,"height":2475,"url":"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/david-von-diemar-291597-unsplash.jpg?fit=4048%2C2475&ssl=1","path":"\/var\/www\/html\/wp-content\/uploads\/2018\/12\/david-von-diemar-291597-unsplash.jpg","size":"full","id":775,"alt":"","pixels":10018800,"type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_creator":"@diyfuturism","twitter_site":"@diyfuturism","twitter_misc":{"Written by":"brad","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/diyfuturism.com\/#website","url":"https:\/\/diyfuturism.com\/","name":"DIY Futurism","description":"Adventures in Open Source Smart Home Projects","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/diyfuturism.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#primaryimage","inLanguage":"en-US","url":"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/david-von-diemar-291597-unsplash.jpg?fit=4048%2C2475&ssl=1","contentUrl":"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/david-von-diemar-291597-unsplash.jpg?fit=4048%2C2475&ssl=1","width":4048,"height":2475},{"@type":"WebPage","@id":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#webpage","url":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/","name":"My Node-Red Smart Alarm Clock with Snooze - DIY Futurism","isPartOf":{"@id":"https:\/\/diyfuturism.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#primaryimage"},"datePublished":"2018-12-17T03:51:45+00:00","dateModified":"2018-12-17T08:08:55+00:00","author":{"@id":"https:\/\/diyfuturism.com\/#\/schema\/person\/b93619fac07567640bd87cc613a55b7c"},"breadcrumb":{"@id":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/diyfuturism.com\/index.php\/2018\/12\/16\/my-node-red-smart-alarm-clock-with-snooze\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/diyfuturism.com\/"},{"@type":"ListItem","position":2,"name":"My Node-Red Smart Alarm Clock with Snooze"}]},{"@type":"Person","@id":"https:\/\/diyfuturism.com\/#\/schema\/person\/b93619fac07567640bd87cc613a55b7c","name":"brad","image":{"@type":"ImageObject","@id":"https:\/\/diyfuturism.com\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/7e2d60eb1f322b4ad6040a746946a361?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7e2d60eb1f322b4ad6040a746946a361?s=96&d=mm&r=g","caption":"brad"},"description":"I'm a professional artist who likes to tinker with building things in my spare time.","sameAs":["https:\/\/twitter.com\/@diyfuturism"]}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/12\/david-von-diemar-291597-unsplash.jpg?fit=4048%2C2475&ssl=1","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9q0Cl-ck","jetpack-related-posts":[{"id":22,"url":"https:\/\/diyfuturism.com\/index.php\/2017\/11\/26\/the-open-source-smart-home-getting-started-with-home-assistant-node-red\/","url_meta":{"origin":764,"position":0},"title":"The Open Source Smart Home: Getting Started with Home Assistant &#038; Node-Red","date":"November 26, 2017","format":false,"excerpt":"Home Assistant is one of the most interesting open source projects I've ever come across. It interfaces with any device, platform, or service you can think of. It can connect all of your devices to make a truly smart home. With a little creativity almost anything is possible with Home\u2026","rel":"","context":"In &quot;Config&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2017\/11\/Screen-Shot-2017-11-26-at-10.43.33-PM.png?fit=1200%2C562&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":374,"url":"https:\/\/diyfuturism.com\/index.php\/2018\/01\/18\/going-further-with-home-automations-in-node-red\/","url_meta":{"origin":764,"position":1},"title":"Going Further with Home Automations in Node-Red","date":"January 18, 2018","format":false,"excerpt":"In my last post\u00a0about using Node-Red to make automations with Home Assistant, I showed some very simple flows for turning lights on and off. While it is important to get used to the Node-Red way of doing things and it's interface, none of the examples in my post are very\u2026","rel":"","context":"In &quot;Home Assistant&quot;","img":{"alt_text":"Morning Radio","src":"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-18-at-2.04.27-PM.png?fit=1003%2C410&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":469,"url":"https:\/\/diyfuturism.com\/index.php\/2018\/03\/13\/location-aware-notification-lights-node-red-ifttt\/","url_meta":{"origin":764,"position":2},"title":"Location Aware Notification Lights with Node-Red and IFTTT","date":"March 13, 2018","format":false,"excerpt":"I am in the habit of going on cooking sprees while listening to music... loudly. I only share one wall with a neighbor here in the loft, and that neighbor is very tolerant. On a Sunday afternoon, with multiple dishes going at a time, my most used smart home feature\u2026","rel":"","context":"In &quot;Home Assistant&quot;","img":{"alt_text":"Connecting Node Red and IFTTT","src":"https:\/\/i0.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/03\/36159691101_b469c9a91f_k.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":16,"url":"https:\/\/diyfuturism.com\/index.php\/2017\/11\/26\/big-list-of-home-automation-nodes-for-node-red\/","url_meta":{"origin":764,"position":3},"title":"Big List of Useful Home Automation Nodes for Node-Red","date":"November 26, 2017","format":false,"excerpt":"An ongoing list of nodes I have found useful for constructing home automation flows. I have not included device platform nodes, as all state tracking and actions are performed in Home Assistant.","rel":"","context":"In &quot;Node-Red&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":417,"url":"https:\/\/diyfuturism.com\/index.php\/2018\/01\/31\/setting-up-lets-encrypt-with-node-red-home-assistant\/","url_meta":{"origin":764,"position":4},"title":"Setting Up Let&#8217;s Encrypt with Node-Red &#038; Home Assistant","date":"January 31, 2018","format":false,"excerpt":"Privacy is important in the smart home, and one of the primary reasons to use Home Assistant is because it is totally under control of the user, on your own network. Since writing these posts, setting up encryption with Hass & Node-Red has been the number one question I've been\u2026","rel":"","context":"In &quot;Config&quot;","img":{"alt_text":"Let's Encrypt","src":"https:\/\/i2.wp.com\/diyfuturism.com\/wp-content\/uploads\/2018\/01\/images.duckduckgo.png?fit=800%2C400&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":191,"url":"https:\/\/diyfuturism.com\/index.php\/2017\/12\/14\/basic-node-red-flows-for-automating-lighting-with-home-assistant\/","url_meta":{"origin":764,"position":5},"title":"Basic Node-Red Flows for Automating Lighting with Home Assistant","date":"December 14, 2017","format":false,"excerpt":"Smart light bulbs are probably the first thing everyone getting into home automation buys. It is easy to see the applications for them - have the lights come on at night, turn off when you're home, etc. It's very satisfying to have the lights react to the day and your\u2026","rel":"","context":"In &quot;Config&quot;","img":{"alt_text":"","src":"https:\/\/i1.wp.com\/diyfuturism.com\/wp-content\/uploads\/2017\/12\/Screen-Shot-2017-12-14-at-7.49.36-PM.png?fit=835%2C631&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/posts\/764"}],"collection":[{"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/comments?post=764"}],"version-history":[{"count":11,"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/posts\/764\/revisions"}],"predecessor-version":[{"id":789,"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/posts\/764\/revisions\/789"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/media\/775"}],"wp:attachment":[{"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/media?parent=764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/categories?post=764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diyfuturism.com\/index.php\/wp-json\/wp\/v2\/tags?post=764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}