{"id":937,"date":"2016-01-16T14:48:18","date_gmt":"2016-01-16T22:48:18","guid":{"rendered":"https:\/\/partofthething.com\/thoughts\/?p=937"},"modified":"2023-09-24T16:27:20","modified_gmt":"2023-09-24T23:27:20","slug":"home-automation-with-z-wave-home-assistant-aeon-multisensor-hue-lights-and-a-raspberry-pi-2","status":"publish","type":"post","link":"https:\/\/partofthething.com\/thoughts\/home-automation-with-z-wave-home-assistant-aeon-multisensor-hue-lights-and-a-raspberry-pi-2\/","title":{"rendered":"Home automation with Z-Wave, Home-Assistant, Aeon Multisensor, HUE lights, and a Raspberry Pi 2"},"content":{"rendered":"<p>I&#8217;ve always dreamed of having a &#8220;smart-home.&#8221; There&#8217;s just something cool about being able to flip switches and read sensors and have a program turn a light on when you open the door, but only if it&#8217;s dark. This post is about home automation.<\/p>\n<p>UPDATE: I made a video demoing everything:<br \/>\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/Mc_29EC3aZw\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><!--more--><\/p>\n<p>I learned a lot during the process and am still learning. There are all these low-power sensors and things that use a radio\u00a0 technology called Z-wave. Basically, you know about wifi and bluetooth. Well there&#8217;s also Z-wave and Zigbee and some others that are made to be really low-powered, low-bandwidth for (possibly battery-powered) internet-of-things devices like switches, sensors, lights, etc. So I got some zwave stuff.<\/p>\n<p>Here&#8217;s the hardware I have:<\/p>\n<ol>\n<li>UPDATE 2023: Do not use Hue. <a href=\"https:\/\/www.home-assistant.io\/blog\/2023\/09\/22\/philips-hue-force-users-upload-data-to-cloud\/\" target=\"_blank\" rel=\"noopener\">They switched their policy to require connecting to their cloud<\/a>, reversing a decade-old policy of allowing local-only control. This is a shame, and I&#8217;m moving away` from Hue for this reason now.<br \/>\nHUE color-changing LED lights can be controlled from my phone or laptop whether I&#8217;m in the house or out of it<\/p>\n<p><figure id=\"attachment_942\" aria-describedby=\"caption-attachment-942\" style=\"width: 195px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/hue_light.jpg\" rel=\"attachment wp-att-942\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-942 \" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/hue_light-e1452980889158-225x300.jpg\" alt=\"Hue light\" width=\"195\" height=\"260\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/hue_light-e1452980889158-225x300.jpg 225w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/hue_light-e1452980889158-768x1024.jpg 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/hue_light-e1452980889158.jpg 1210w\" sizes=\"auto, (max-width: 195px) 100vw, 195px\" \/><\/a><figcaption id=\"caption-attachment-942\" class=\"wp-caption-text\">Hue Light<\/figcaption><\/figure><\/li>\n<li>A door sensor tells me when the door is open or closed.\n<p><figure id=\"attachment_939\" aria-describedby=\"caption-attachment-939\" style=\"width: 179px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/door_sensor.jpg\" rel=\"attachment wp-att-939\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-939\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/door_sensor-225x300.jpg\" alt=\"Door sensor\" width=\"179\" height=\"239\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/door_sensor-225x300.jpg 225w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/door_sensor-768x1024.jpg 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/door_sensor.jpg 864w\" sizes=\"auto, (max-width: 179px) 100vw, 179px\" \/><\/a><figcaption id=\"caption-attachment-939\" class=\"wp-caption-text\">Door sensor<\/figcaption><\/figure><\/li>\n<li>A security camera can pivot around the apartment and see what it looks like<\/li>\n<li>A Multisensor records temperature, relative humidity, light, and UV, and has alarms for motion and jiggling\n<p><figure id=\"attachment_944\" aria-describedby=\"caption-attachment-944\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/motion_sensor.jpg\" rel=\"attachment wp-att-944\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-944\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/motion_sensor-300x225.jpg\" alt=\"Multisensor\" width=\"300\" height=\"225\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/motion_sensor-300x225.jpg 300w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/motion_sensor-768x576.jpg 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/motion_sensor-1024x768.jpg 1024w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/motion_sensor.jpg 1613w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-944\" class=\"wp-caption-text\">Multisensor<\/figcaption><\/figure><\/li>\n<li>I have two in-line plug-switches. One that turns on and off a big light and the other that turns on and off my space heater\n<p><figure id=\"attachment_940\" aria-describedby=\"caption-attachment-940\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/heater.jpg\" rel=\"attachment wp-att-940\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-940\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/heater-300x225.jpg\" alt=\"Heater switch\" width=\"300\" height=\"225\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/heater-300x225.jpg 300w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/heater-768x576.jpg 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/heater-1024x768.jpg 1024w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/heater.jpg 1613w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-940\" class=\"wp-caption-text\">Heater switch. Note the Archie comic.<\/figcaption><\/figure><\/li>\n<li>A router with DD-WRT installed set up as a VPN server (so I can securely access my home network when away)<\/li>\n<li>A Raspberry Pi 2 with a Z-wave Aeon Z-stick USB dongle\n<p><figure id=\"attachment_945\" aria-describedby=\"caption-attachment-945\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/pi_zwave.jpg\" rel=\"attachment wp-att-945\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-945\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/pi_zwave-300x225.jpg\" alt=\"Raspberry Pi 2 with Z-Wave USB dongle\" width=\"300\" height=\"225\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/pi_zwave-300x225.jpg 300w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/pi_zwave-768x576.jpg 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/pi_zwave-1024x768.jpg 1024w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/pi_zwave.jpg 1613w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-945\" class=\"wp-caption-text\">Raspberry Pi 2 with Z-Wave USB dongle<\/figcaption><\/figure><\/li>\n<\/ol>\n<p>With those components, I can do all sorts of neat things, like:<\/p>\n<ul>\n<li>Turn the heat on when I&#8217;m on my way home so it&#8217;s warm when I get there<\/li>\n<li>Turn lights on and off from afar<\/li>\n<li>Get notifications on my phone if there&#8217;s motion when I&#8217;m not home or if the temperature drops below a certain value<\/li>\n<li>See how much energy (in kWh) I&#8217;ve used for heat<\/li>\n<li>See neat graphs of temperature and light vs. time throughout the day.\n<p><figure id=\"attachment_946\" aria-describedby=\"caption-attachment-946\" style=\"width: 343px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/temperature_graph.png\" rel=\"attachment wp-att-946\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-946\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/temperature_graph-290x300.png\" alt=\"Temperature\" width=\"343\" height=\"355\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/temperature_graph-290x300.png 290w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/temperature_graph.png 738w\" sizes=\"auto, (max-width: 343px) 100vw, 343px\" \/><\/a><figcaption id=\"caption-attachment-946\" class=\"wp-caption-text\">Temperature<\/figcaption><\/figure><\/li>\n<li>If I walk towards the bathroom in the middle of the night, turn on a dim red light so I can see. Turn it off automatically in a few minutes.<\/li>\n<\/ul>\n<p>Here&#8217;s what the control panel looks like. It&#8217;s just a webpage on my local network. It works from the laptop, the phone, the tablet, etc.<\/p>\n<figure id=\"attachment_948\" aria-describedby=\"caption-attachment-948\" style=\"width: 660px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/control-panel.png\" rel=\"attachment wp-att-948\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-948 size-large\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/control-panel-1024x641.png\" alt=\"Home-assistant front page\" width=\"660\" height=\"413\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/control-panel-1024x641.png 1024w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/control-panel-300x188.png 300w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/control-panel-768x480.png 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/2016\/01\/control-panel.png 1039w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/a><figcaption id=\"caption-attachment-948\" class=\"wp-caption-text\">Home-assistant front page with camera, z-wave door sensor, switches, multisensor, and a few HUE lights. COOL!<\/figcaption><\/figure>\n<h2>Setting it all up<\/h2>\n<p>There are off-the-shelf hubs that can do a lot of this that most people would be happy with. That just isn&#8217;t me. I really like open-source stuff, I don&#8217;t want my home hosted by some third-party company (no &#8220;cloud&#8221;), I do a lot of programming in Python, and I like Raspberry Pis. I chose to try <a href=\"https:\/\/home-assistant.io\/\">home-assistant<\/a> as the driver of all my automation, and have been really happy with it, but I did have to contribute to it a bit to get it working properly, which is really fun. So here&#8217;s what I did. Hopefully this will help someone who&#8217;s searching for info.<\/p>\n<h3>Raspberry Pi 2, home-assistant, and the Aeon Z-Stick<\/h3>\n<p>Home-assistant needs Python 3.4, so the first thing you have to do is make sure your Raspberry Pi 2 has at a Raspbian OS based on Debian Jessie on it. <a href=\"http:\/\/raspberrypi.stackexchange.com\/questions\/27858\/upgrade-to-raspbian-jessie\/27859#27859\">Upgrade like this.<\/a> Then, install home-assistant as described on their webpage. The complex part is building the openzwave library to give home-assistant access to the Z-wave stuff. The<a href=\"https:\/\/home-assistant.io\/components\/zwave\/\"> current home-assistant instructions<\/a> work, but you won&#8217;t get good support for newer devices like the Aeon Multisensor 6. I&#8217;ve been working on <a href=\"https:\/\/github.com\/balloob\/home-assistant\/issues\/817\">unforking the library<\/a> but there are some lingering issues. If you want to just install <a href=\"https:\/\/github.com\/partofthething\/python-openzwave\/tree\/python3\">my fork<\/a>, it will work (checkout the python3 branch).<\/p>\n<p>UPDATE: With version 0.15 of home-assistant, unforking the library has been accomplished. You can now use the current home-assistant instructions.<\/p>\n<p>I recommend making an alias for your Z-stick so it always shows up as <code>\/dev\/zwave<\/code><br \/>\ninstead of, like, <code>\/dev\/ttyACM0<\/code> or <code>\/dev\/ttyACM1<\/code>. You can do this by running<\/p>\n<pre class=\"toolbar:2 nums:false highlight:false\">$ udevadm info -a -n \/dev\/ttyACM0<\/pre>\n<p>and noting the idVendor, and idProduct, then add a line to new file, <code>\/etc\/udev\/rules.d\/99-usb-serial.rules<\/code>:<\/p>\n<pre class=\"toolbar:2 nums:false highlight:false\">SUBSYSTEM==\"tty\", ATTRS{idVendor}==\"0658\", ATTRS{idProduct}==\"0200\", SYMLINK+=\"zwave\"<\/pre>\n<h3>Configuring the Aeon Labs Multisensor 6<\/h3>\n<p>This multisensor is pretty cool but by default it only sends updates once an hour. When on battery, this makes sense because this will drain the battery in like a year, and more frequent updates would drain it faster. But if you plug it in to power, you&#8217;ll probably want quicker updates. I figured out how to adjust the configuration using the python-openzwave library that was installed above. Here is an example script that does some config of stuff. Run it with ipython3 or python3.<\/p>\n<p>(UPDATE: You can alternatively use the <a href=\"https:\/\/lickthesalt.com\/2016\/04\/11\/compiling-open-zwave-control-panel-on-a-raspberry-pi-3\/\">web-gui ozwcp. )<\/a><\/p>\n<pre class=\"lang:python\">from openzwave.option import ZWaveOption\noptions = ZWaveOption('\/dev\/zwave', config_path='\/home\/pi\/python-openzwave\/openzwave\/config', user_path='.', cmd_line='')\n# or \/usr\/local\/share\/python-openzwave\/config if installed\n# \/home\/pi\/python-openzwave\/openzwave\/config if testing\noptions.set_append_log_file(False)\noptions.set_console_output(True)\noptions.set_save_log_level('Debug')\noptions.set_logging(False)\noptions.lock()\nfrom openzwave.network import ZWaveNetwork\nnetwork = ZWaveNetwork(options, log=None)\nnode2 = network.nodes[2] \nprint(node2.product_name) # this is the multisensor on my network. Yours may be a different node.\n\n# get current config values\nnode2.get_sensors()\nnode2.request_all_config_params()\n\n# set timing and stuff on multisensor\nnode2.request_config_param(111)  # this shows the current interval (3600 seconds)\nnode2.set_config_param(111, 120)\u00a0 # set the temperature sensor interval to 120 seconds\nnode2.set_config_param(3, 125) # set motion sensor On duration to just over 2 minutes. (shorter and it never registers as on!)\n\n# set reporting of power level on Aeon smart energy switches\nnode5.set_config_param(101,2)\u00a0 # send multisensor info about power\nnode5.set_config_param(111,20) # send it every 20 seconds. \n\nnetwork.stop()<\/pre>\n<p>So yeah, that&#8217;s cool. You can poke around and do lots of low-level zwave stuff with that. The <code>api-demo.py<\/code> that comes with python-openzwave is pretty interesting if you want to learn more.<\/p>\n<p>Then, to get the multisensor to turn a Phillips HUE light on red on motion in the middle of the night (assuming you&#8217;re heading for the bathroom), try this:<\/p>\n<pre class=\"lang:yaml\">automation:\n- alias: Turn on light on motion\n\u00a0 trigger:\n\u00a0\u00a0\u00a0 platform: state\n\u00a0\u00a0\u00a0 entity_id: sensor.aeotec_multisensor_6_burglar\n\u00a0\u00a0\u00a0 from: '0'\n\u00a0\u00a0\u00a0 to: '8'\n\u00a0 action:\n\u00a0\u00a0\u00a0 service: light.turn_on\n\u00a0\u00a0\u00a0 entity_id: light.living_room\n\u00a0\u00a0\u00a0 data:\n\u00a0\u00a0\u00a0\u00a0\u00a0 brightness: 254\n\u00a0\u00a0\u00a0\u00a0\u00a0 rgb_color: [255, 0, 0]\n\u00a0 condition:\n\u00a0\u00a0 - platform: time\n\u00a0\u00a0\u00a0\u00a0 before: '05:00'\n\u00a0\u00a0 - platform: time\n\u00a0\u00a0\u00a0\u00a0 after: '01:00'\n\u00a0\u00a0 - platform: numeric_state\n\u00a0\u00a0\u00a0\u00a0 entity_id: sensor.aeotec_multisensor_6_luminance\n\u00a0\u00a0\u00a0\u00a0 # At least one of the following required\n\u00a0\u00a0\u00a0\u00a0 below: 4<\/pre>\n<p>You&#8217;ll want another rule to turn it off later, like a few minutes after the motion sensor stops seeing motion. Anyway you get the idea.<\/p>\n<p>The installation of the custom fork of python-openzwave is the biggest pain right now. Hopefully we&#8217;ll get that all worked out soon so this will be easier.<\/p>\n<p>I run home-assistant in a screen instance, though there are more correct ways to get it to work when you log off the raspberry pi.<\/p>\n<p>Oh and for notifications on my phone, I set up an Instapush account using t<a href=\"https:\/\/home-assistant.io\/components\/notify.instapush\/\">his component. \u00a0<\/a>My config for this isn&#8217;t perfect but I am getting notifications.<\/p>\n<pre class=\"lang:yaml\">automation:\n- alias: 'Alert on Low temperature'\n\u00a0 trigger:\n\u00a0\u00a0\u00a0 platform: numeric_state\n\u00a0\u00a0\u00a0 entity_id: sensor.aeotec_multisensor_6_temperature\n\u00a0\u00a0\u00a0 below: 18.0\n\u00a0 action:\n\u00a0\u00a0\u00a0 service: notify.notify\n\u00a0\u00a0\u00a0 data:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 message: 'Temperature at Apt Low'\n\nnotify:\n\u00a0 name: notify\n\u00a0 platform: instapush\n\u00a0 api_key: [redacted]\n\u00a0 app_secret: [redacted]\n\u00a0 event: motion\n\u00a0 tracker: sensor\n\n<\/pre>\n<h2>Next steps<\/h2>\n<ul>\n<li>I have to get more serious history plots working with <a href=\"https:\/\/home-assistant.io\/blog\/2015\/12\/07\/influxdb-and-grafana\/\">InFluxDB<\/a>. There&#8217;s a <a href=\"https:\/\/github.com\/balloob\/home-assistant\/issues\/852\">ticket for that. <\/a>I got it and graphana compiled on the Raspberry Pi after some efforts following <a href=\"http:\/\/www.aymerick.com\/2015\/10\/07\/influxdb-telegraf-grafana-raspberry-pi.html\">these instructions. <\/a>The dependency phantomjs takes like 2 days to build on the Raspberry Pi so I got a pre-built one <a href=\"https:\/\/www.bitpi.co\/2015\/02\/10\/installing-phantomjs-on-the-raspberry-pi\/\">from here. <\/a>It worked but I wish I could have built it myself.<\/li>\n<li>More lights!<\/li>\n<li>Z-wave smoke detector<\/li>\n<li>The original motivation for learning this was to monitor my mom&#8217;s house for furnace breaks when she&#8217;s away so the pipes don&#8217;t freeze. Her house could also use a flood sensor in case the pipes break and flood the basement like they did in like 1989.<\/li>\n<\/ul>\n<p>Hope that helps someone.<\/p>\n<p>Oh, and one thing I&#8217;ve had trouble with is when I unplug the Z-stick (ZW090) from the Raspberry Pi and plug it in to my laptop, I see nothing at all in \/dev\/ for it, and no messages from dmesg. It&#8217;s like, dead to the usb. I even tried pressing the reset button and cannot for the life of me get it to reappear. When I plug it back into the pi, it works fine. If anyone knows how to fix this, let me know!<\/p>\n<p>UPDATE: It was just a bad USB connection. I put it in a different computer and it worked fine. A USB extension cable also works!<\/p>\n<p>UPDATE 2: I just <a href=\"https:\/\/partofthething.com\/thoughts\/?p=1010\">added Infrared capabilities<\/a> and can now control my A\/C, TV, and stereo too.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve always dreamed of having a &#8220;smart-home.&#8221; There&#8217;s just something cool about being able to flip switches and read sensors and have a program turn a light on when you open the door, but only if it&#8217;s dark. This post is about home automation. UPDATE: I made a video demoing everything:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[3,69,75],"tags":[],"class_list":["post-937","post","type-post","status-publish","format-standard","hentry","category-computers","category-electronics-and-physics","category-home-automation"],"_links":{"self":[{"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/posts\/937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/comments?post=937"}],"version-history":[{"count":11,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/posts\/937\/revisions"}],"predecessor-version":[{"id":2391,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/posts\/937\/revisions\/2391"}],"wp:attachment":[{"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/media?parent=937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/categories?post=937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/tags?post=937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}