{"id":3283,"date":"2021-05-07T13:56:26","date_gmt":"2021-05-07T11:56:26","guid":{"rendered":"https:\/\/www.robinglauser.ch\/blog\/?p=3283"},"modified":"2021-05-07T13:56:26","modified_gmt":"2021-05-07T11:56:26","slug":"iot-for-lazy-people-starting-my-projector-with-siri","status":"publish","type":"post","link":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/","title":{"rendered":"IOT for lazy people: Starting my projector with Siri."},"content":{"rendered":"\r\n<div class=\"alert alert-info\"><strong>No story, just the instructions, please:<\/strong> <a href=\"https:\/\/github.com\/nahakiole\/Java-Infrared-REST-API-Server-for-Android\">https:\/\/github.com\/nahakiole\/Java-Infrared-REST-API-Server-for-Android<\/a><\/div>\r\n\r\n\r\n\r\n<p>I&#8217;ve always loved the IR Remote feature of my old HTC One. It felt like a superpower to be able to mess with random tvs at random locations.<\/p>\r\n\r\n\r\n\r\n<p>After switching to a Pixel 2 and now an iPhone it laid around for a long time in my drawers until a friend of mine borrowed it for the IR Remote Function and just now has given it back to me.<\/p>\r\n\r\n\r\n\r\n<p>At that moment I was thinking a lot about how to be as lazy as possible and thought about how to use the phone to automate things in my room.<\/p>\r\n\r\n\r\n\r\n<p>The idea that came to mind would be to run a HTTP Server on the HTC One to which I could send IR commands to control my projector or other IR devices.<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3298 size-full\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/Blank-diagram-e1620381488738.png\" alt=\"\" width=\"1480\" height=\"947\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/Blank-diagram-e1620381488738.png 1480w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/Blank-diagram-e1620381488738-400x256.png 400w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/Blank-diagram-e1620381488738-1024x655.png 1024w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/Blank-diagram-e1620381488738-768x491.png 768w\" sizes=\"auto, (max-width: 1480px) 100vw, 1480px\" \/><\/p>\r\n\r\n\r\n\r\n<p>HTTP means that I could for example create a shortcut on my iPhone which I start via Siri to start my projector. Which would save a lot of kinectic energy for me and would fit my &#8220;be as lazy as possible&#8221; life theme.<\/p>\r\n\r\n\r\n\r\n<p>I had no idea what I was getting myself into.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Finding out how IR works.<\/h2>\r\n\r\n\r\n\r\n<p>Fitting into my &#8220;be as lazy as possible&#8221; theme. I was first researching if someone had already solved my problem or parts of my problem.<\/p>\r\n\r\n\r\n\r\n<p>I found multiple IR libraries and an older project which implemented a webserver to which I could send IR commands.<\/p>\r\n\r\n\r\n\r\n<p><a href=\"https:\/\/github.com\/ecs87\/Java-Infrared-REST-API-Server-for-Android\">https:\/\/github.com\/ecs87\/Java-Infrared-REST-API-Server-for-Android<\/a><\/p>\r\n\r\n\r\n\r\n<p>With it I should be able to do this: http:\/\/your-ip-here:8080\/sendIRcmd\/your-ir-cmd-goes-here<\/p>\r\n\r\n\r\n\r\n<p>Example: <a href=\"http:\/\/192.168.1.33:8080\/sendIRcmd\/340,171,21,21,21,21,21,65,21,22,21,22,21,21,21,21,21,21,21,64,21,64,21,21,21,65,21,65,21,64,21,64,21,64,21,21,21,21,21,21,21,65,21,22,21,22,21,21,21,22,21,65,21,65,21,64,21,21,21,64,21,65,21,65,21,64,21,1554,340,86,21,3677\">http:\/\/192.168.1.33:8080\/sendIRcmd\/340,171,21,21,21,21,21,65,21,22,21,22,21,21,21,21,21,21,21,64,21,64,21,21,21,65,21,65,21,64,21,64,21,64,21,21,21,21,21,21,21,65,21,22,21,22,21,21,21,22,21,65,21,65,21,64,21,21,21,64,21,65,21,65,21,64,21,1554,340,86,21,3677<\/a><\/p>\r\n\r\n\r\n\r\n<p>Every odd number is the amount of time in \u03bcs the light is on and every odd is the amount of time the light is off.<\/p>\r\n<p>Awesome, right? I should be almost done?<\/p>\r\n\r\n\r\n\r\n<p>No.<\/p>\r\n\r\n\r\n\r\n<p>I cloned the repository with Android Studio and because it was a older project first had to adjust a few parameters so I would be able to build and install it on my HTC One.<\/p>\r\n<p>I was able to now run it on my phone, but where to get the IR Codes from?<\/p>\r\n<p>After some more research I found <a href=\"https:\/\/sourceforge.net\/p\/lirc-remotes\/code\/ci\/master\/tree\/remotes\/\">https:\/\/sourceforge.net\/p\/lirc-remotes\/code\/ci\/master\/tree\/remotes\/<\/a> a repository with a lot of strange .conf files to apparently control various devices via IR.<\/p>\r\n<p>A .conf file looks like this:<\/p>\r\n<pre># Please make this file available to others<br \/># by sending it to &lt;lirc@bartelmus.de&gt;<br \/>#<br \/># this config file was automatically generated<br \/># using lirc-0.9.0-pre1(default) on Wed Jan 11 16:41:33 2017<br \/>#<br \/># contributed by mxhs<br \/>#<br \/># brand: Sanyo<br \/># model no. of remote control: CXWY<br \/># devices being controlled by this remote: projector PLV-Z2000<br \/>#<br \/><br \/>begin remote<br \/><br \/>name plvz2000<br \/>bits 16<br \/>flags SPACE_ENC|CONST_LENGTH<br \/>eps 30<br \/>aeps 100<br \/><br \/>header 8984 4432<br \/>one 600 1626<br \/>zero 600 527<br \/>ptrail 598<br \/>repeat 8986 2212<br \/>pre_data_bits 16<br \/>pre_data 0xCC00<br \/>gap 107349<br \/>toggle_bit_mask 0x0<br \/><br \/>begin codes<br \/>KEY_POWER 0x00FF<br \/>KEY_OK 0xF00F<br \/>KEY_MENU 0x38C7<br \/>KEY_UP 0x31CE<br \/>KEY_DOWN 0xB14E<br \/>KEY_RIGHT 0xB847<br \/>KEY_LEFT 0x7887<br \/>KEY_BACK 0x48B7<br \/>KEY_INFO 0x6897<br \/>KEY_SCREEN 0x41BE<br \/>KEY_DELETE 0x9867 # -&gt; reset<br \/>KEY_MUTE 0xD12E<br \/>KEY_VIDEO 0xBC43 # -&gt; video input<br \/>KEY_S 0x7C83 # -&gt; s-video input<br \/>KEY_C 0xC13E # -&gt; component1 input<br \/>KEY_2 0x817E # -&gt; component2 input<br \/>KEY_H 0xEC13 # -&gt; hdmi1 input<br \/>KEY_FN_2 0xC837 # -&gt; hdmi2 input<br \/>KEY_PC 0x1CE3 # -&gt; computer input<br \/>KEY_L 0x18E7 # -&gt; lamp<br \/>KEY_LOGOFF 0x3CC3 # -&gt; logo<br \/>KEY_F 0xC23D # -&gt; freeze<br \/>KEY_BRIGHTNESS_CYCLE 0x0CF3 # -&gt; bright<br \/>KEY_CONFIG 0x8C73 # -&gt; contrast<br \/>KEY_T 0xA857 # -&gt; c.temp<br \/>KEY_C 0x4CB3 # -&gt; color<br \/>KEY_S 0x28D7 # -&gt; sharp<br \/>KEY_P 0x708F # -&gt; preset<br \/>KEY_U 0xB04F # -&gt; user<br \/>end codes<br \/><br \/>end remote<\/pre>\r\n<p>Now this doesn&#8217;t look like the format I&#8217;d like to send it in?<\/p>\r\n<p>So I searched for the specification for this configuration file, which can be found here: <a href=\"http:\/\/winlirc.sourceforge.net\/technicaldetails.html\">http:\/\/winlirc.sourceforge.net\/technicaldetails.html<\/a><\/p>\r\n<h2>Writing my own parser for .conf files<\/h2>\r\n<p>After reading it and unsuccessfully seraching for a usuable convertor, I tried implementing my own parser.\u00a0<\/p>\r\n<p>In retrospektiv, I should have made sure that the .conf file I was using was the right one, because my convertor works with the right .conf file. At this moment I didn&#8217;t know I was using the wrong one.<\/p>\r\n<p>My convertor can be found here and should work: <a href=\"https:\/\/gist.github.com\/nahakiole\/b506eae3313fffc46219d28f7b16f0b5\">https:\/\/gist.github.com\/nahakiole\/b506eae3313fffc46219d28f7b16f0b5<\/a><\/p>\r\n<p>So I didn&#8217;t know I was using the wrong .conf file and also was thinking that maybe the app itself didn&#8217;t work. Now because I never got a working usecase out of it, I tried to start over and just wanted to see if there were more open source IR Remote apps where I could see what&#8217;s happening under the hood.<\/p>\r\n<p>I found <a href=\"https:\/\/www.rcoid.de\/\">https:\/\/www.rcoid.de\/<\/a> which also had support for my projector. And I was able to start the projector with the app by downloading the right .conf file from their repository.<\/p>\r\n<p>A major success.<\/p>\r\n<p>Now I had proof that this .conf file should work. However I lost some confidence in my convertor, so I researched if there was a &#8220;professional&#8221; convertor that worked for sure.<\/p>\r\n<p>After a bit more of googling and reading forums I found <a href=\"http:\/\/www.harctoolbox.org\/IrScrutinizer.html\">http:\/\/www.harctoolbox.org\/IrScrutinizer.html.<\/a> With this tool I could import the .conf file and export it as a readable .txt file which I can use to put together the on\/off string for the app.<\/p>\r\n<p>In the repository I&#8217;ve put instructions how to get to the final url from the .conf file with the tool: <a href=\"https:\/\/github.com\/nahakiole\/Java-Infrared-REST-API-Server-for-Android\">https:\/\/github.com\/nahakiole\/Java-Infrared-REST-API-Server-for-Android<\/a><\/p>\r\n<pre>KEY_POWER<br \/>0000 006D 0022 0002 0155 00A8 0017 003E 0017 003E 0017 0014 0017 0014 0017 003E 0017 003E 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 0014 0017 003E 0017 003E 0017 003E 0017 003E 0017 003E 0017 003E 0017 003E 0017 003E 0017 068B 0155 0054 0017 0E2F<br \/><strong>+8984 -4432 +600 -1626 +600 -1626 +600 -527 +600 -527 +600 -1626 +600 -1626 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -527 +600 -1626 +600 -1626 +600 -1626 +600 -1626 +600 -1626 +600 -1626 +600 -1626 +600 -1626 +598 -44083<\/strong><br \/><strong>+8986 -2212 +598 -95553<\/strong><br \/>900A 006C 0000 0001 3300 00FF<br \/>sendir,1:1,1,38000,1,69,341,168,23,62,23,62,23,20,23,20,23,62,23,62,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,20,23,62,23,62,23,62,23,62,23,62,23,62,23,62,23,62,23,1675,341,84,23,3631<\/pre>\r\n<p>This worked and now I was able to turn my projector on and off using a GET Request.<\/p>\r\n<p>I hid my HTC under my speakers, facing the IR sensor towards the projector, and plugged it into a power source so the phone won&#8217;t die.<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3292\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/2021-05-07-11_41_39-IMG_0950.JPG-3024\u00d74032-2-400x284.png\" alt=\"\" width=\"400\" height=\"284\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/2021-05-07-11_41_39-IMG_0950.JPG-3024\u00d74032-2-400x284.png 400w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/2021-05-07-11_41_39-IMG_0950.JPG-3024\u00d74032-2-768x545.png 768w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/2021-05-07-11_41_39-IMG_0950.JPG-3024\u00d74032-2.png 919w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\r\n<p>Now I added a shortcut for turning on and one for turning off my projector by using the network block in the shortcuts app.<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3310 \" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/asset-e1620388533546-206x300.png\" alt=\"\" width=\"244\" height=\"355\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/asset-e1620388533546-206x300.png 206w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/asset-e1620388533546-704x1024.png 704w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/asset-e1620388533546-768x1118.png 768w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/asset-e1620388533546.png 828w\" sizes=\"auto, (max-width: 244px) 100vw, 244px\" \/><\/p>\r\n<p>And voil\u00e0, now I can start and stop my projector with Siri.<\/p>\r\n<div class=\"youtube-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"><iframe src=\"https:\/\/www.youtube.com\/embed\/EwD2JoUBQxY\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/div>\r\n\r\n\r\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">No story, just the instructions, please: https:\/\/github.com\/nahakiole\/Java-Infrared-REST-API-Server-for-Android I&#8217;ve always loved the IR Remote feature of my old HTC One. It felt like a superpower to be able to mess with random tvs at random locations. After switching to a Pixel 2 and now an iPhone it laid around for a long time in my drawers until a friend of mine &#8230; <a class=\"read-more\" href=\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":3308,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[45],"tags":[],"class_list":["post-3283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>IOT for lazy people: Starting my projector with Siri. - Robin Glauser<\/title>\n<meta name=\"description\" content=\"I&#039;ve always loved the IR Remote feature of my old HTC One. It felt like a superpower to be able to mess with random tvs at random locations.After switching to a Pixel 2 and now an iPhone it laid around for a long time in my drawers until a friend of mine borrowed it for the IR Remote Function and just now has given it back to me.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IOT for lazy people: Starting my projector with Siri. - Robin Glauser\" \/>\n<meta property=\"og:description\" content=\"I&#039;ve always loved the IR Remote feature of my old HTC One. It felt like a superpower to be able to mess with random tvs at random locations.After switching to a Pixel 2 and now an iPhone it laid around for a long time in my drawers until a friend of mine borrowed it for the IR Remote Function and just now has given it back to me.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/\" \/>\n<meta property=\"og:site_name\" content=\"Robin Glauser\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-07T11:56:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1620\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Robin Glauser\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@robinglauser\" \/>\n<meta name=\"twitter:site\" content=\"@robinglauser\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Robin Glauser\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/\"},\"author\":{\"name\":\"Robin Glauser\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19\"},\"headline\":\"IOT for lazy people: Starting my projector with Siri.\",\"datePublished\":\"2021-05-07T11:56:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/\"},\"wordCount\":817,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19\"},\"image\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg\",\"articleSection\":[\"Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/\",\"url\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/\",\"name\":\"IOT for lazy people: Starting my projector with Siri. - Robin Glauser\",\"isPartOf\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg\",\"datePublished\":\"2021-05-07T11:56:26+00:00\",\"description\":\"I've always loved the IR Remote feature of my old HTC One. It felt like a superpower to be able to mess with random tvs at random locations.After switching to a Pixel 2 and now an iPhone it laid around for a long time in my drawers until a friend of mine borrowed it for the IR Remote Function and just now has given it back to me.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#primaryimage\",\"url\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg\",\"contentUrl\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg\",\"width\":1620,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.robinglauser.ch\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IOT for lazy people: Starting my projector with Siri.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#website\",\"url\":\"https:\/\/www.robinglauser.ch\/blog\/\",\"name\":\"Robin Glauser\",\"description\":\"My Blog about Development, Design and my random thoughts.\",\"publisher\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.robinglauser.ch\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19\",\"name\":\"Robin Glauser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg\",\"url\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg\",\"contentUrl\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg\",\"width\":800,\"height\":530,\"caption\":\"Robin Glauser\"},\"logo\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg\"},\"description\":\"I'm a web developer.\",\"sameAs\":[\"https:\/\/www.robinglauser.ch\",\"https:\/\/www.instagram.com\/robinglauser\/\",\"https:\/\/x.com\/robinglauser\"],\"url\":\"https:\/\/www.robinglauser.ch\/blog\/author\/robin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IOT for lazy people: Starting my projector with Siri. - Robin Glauser","description":"I've always loved the IR Remote feature of my old HTC One. It felt like a superpower to be able to mess with random tvs at random locations.After switching to a Pixel 2 and now an iPhone it laid around for a long time in my drawers until a friend of mine borrowed it for the IR Remote Function and just now has given it back to me.","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:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/","og_locale":"en_US","og_type":"article","og_title":"IOT for lazy people: Starting my projector with Siri. - Robin Glauser","og_description":"I've always loved the IR Remote feature of my old HTC One. It felt like a superpower to be able to mess with random tvs at random locations.After switching to a Pixel 2 and now an iPhone it laid around for a long time in my drawers until a friend of mine borrowed it for the IR Remote Function and just now has given it back to me.","og_url":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/","og_site_name":"Robin Glauser","article_published_time":"2021-05-07T11:56:26+00:00","og_image":[{"width":1620,"height":1080,"url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg","type":"image\/jpeg"}],"author":"Robin Glauser","twitter_card":"summary_large_image","twitter_creator":"@robinglauser","twitter_site":"@robinglauser","twitter_misc":{"Written by":"Robin Glauser","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#article","isPartOf":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/"},"author":{"name":"Robin Glauser","@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"headline":"IOT for lazy people: Starting my projector with Siri.","datePublished":"2021-05-07T11:56:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/"},"wordCount":817,"commentCount":0,"publisher":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"image":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#primaryimage"},"thumbnailUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg","articleSection":["Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/","url":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/","name":"IOT for lazy people: Starting my projector with Siri. - Robin Glauser","isPartOf":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#primaryimage"},"image":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#primaryimage"},"thumbnailUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg","datePublished":"2021-05-07T11:56:26+00:00","description":"I've always loved the IR Remote feature of my old HTC One. It felt like a superpower to be able to mess with random tvs at random locations.After switching to a Pixel 2 and now an iPhone it laid around for a long time in my drawers until a friend of mine borrowed it for the IR Remote Function and just now has given it back to me.","breadcrumb":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#primaryimage","url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg","contentUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2021\/05\/adrian-swancar-imAfCYq7KH0-unsplash.jpg","width":1620,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.robinglauser.ch\/blog\/2021\/05\/07\/iot-for-lazy-people-starting-my-projector-with-siri\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.robinglauser.ch\/blog\/"},{"@type":"ListItem","position":2,"name":"IOT for lazy people: Starting my projector with Siri."}]},{"@type":"WebSite","@id":"https:\/\/www.robinglauser.ch\/blog\/#website","url":"https:\/\/www.robinglauser.ch\/blog\/","name":"Robin Glauser","description":"My Blog about Development, Design and my random thoughts.","publisher":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.robinglauser.ch\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19","name":"Robin Glauser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","contentUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","width":800,"height":530,"caption":"Robin Glauser"},"logo":{"@id":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg"},"description":"I'm a web developer.","sameAs":["https:\/\/www.robinglauser.ch","https:\/\/www.instagram.com\/robinglauser\/","https:\/\/x.com\/robinglauser"],"url":"https:\/\/www.robinglauser.ch\/blog\/author\/robin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/3283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/comments?post=3283"}],"version-history":[{"count":17,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/3283\/revisions"}],"predecessor-version":[{"id":3311,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/3283\/revisions\/3311"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/media\/3308"}],"wp:attachment":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/media?parent=3283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/categories?post=3283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/tags?post=3283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}