<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[External access for embedded google assistant with custom actions]]></title><description><![CDATA[<p dir="auto">Hi all,</p>
<p dir="auto">I am aware that there are already a number of google assistant modules.<br />
However these modules lack the ability to actually interact with magic mirror.<br />
I would like to be able to perform actions like:</p>
<ul>
<li>Turning display on/off</li>
<li>Setting brightness</li>
<li>Show/hide modules</li>
</ul>
<p dir="auto">I have some experience with the google assistant sdk and the recent adition of custom device traits should allow us to do this. As an experiment i already have a proof of concept which correctly detects the command <strong>show/hide [module_alias]</strong>.</p>
<p dir="auto">However this is a python script as it has to interact with the google assistant library. Therefore i have the question what you would think is the best way to communicate with a magic mirror module. I have experimented with websockets, which works. But i am not sure wether this is the right method.</p>
<p dir="auto">Does anyone have any relevant experience/advice with buidling modules which communicate with third party applications?</p>
<p dir="auto">With kind regards,<br />
Tim</p>
]]></description><link>https://forum.magicmirror.builders/topic/7419/external-access-for-embedded-google-assistant-with-custom-actions</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 06:35:51 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/7419.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 Jun 2018 19:09:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to External access for embedded google assistant with custom actions on Sat, 23 Jun 2018 14:31:43 GMT]]></title><description><![CDATA[<p dir="auto">For a first quick demo:<br />
<a href="https://streamable.com/5s6bn" target="_blank" rel="noopener noreferrer nofollow ugc">https://streamable.com/5s6bn</a></p>
]]></description><link>https://forum.magicmirror.builders/post/40769</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/40769</guid><dc:creator><![CDATA[timjong93]]></dc:creator><pubDate>Sat, 23 Jun 2018 14:31:43 GMT</pubDate></item><item><title><![CDATA[Reply to External access for embedded google assistant with custom actions on Fri, 22 Jun 2018 12:39:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timjong93" aria-label="Profile: timjong93">@<bdi>timjong93</bdi></a> nice!</p>
]]></description><link>https://forum.magicmirror.builders/post/40749</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/40749</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Fri, 22 Jun 2018 12:39:42 GMT</pubDate></item><item><title><![CDATA[Reply to External access for embedded google assistant with custom actions on Fri, 22 Jun 2018 11:25:43 GMT]]></title><description><![CDATA[<p dir="auto">Just to let you know, i managed to integrate the assistant application as a python child process running in is own virtualenv which is created using npm, limiting the amount of installation steps required by users.</p>
<p dir="auto">Now the fun part starts, handling commands from the assistant and implementing fancy animations :)</p>
]]></description><link>https://forum.magicmirror.builders/post/40742</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/40742</guid><dc:creator><![CDATA[timjong93]]></dc:creator><pubDate>Fri, 22 Jun 2018 11:25:43 GMT</pubDate></item><item><title><![CDATA[Reply to External access for embedded google assistant with custom actions on Mon, 18 Jun 2018 11:22:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timjong93" aria-label="Profile: timjong93">@<bdi>timjong93</bdi></a> spawn background process, good… that is how voice works and a bunch of other things that have defined processes…</p>
]]></description><link>https://forum.magicmirror.builders/post/40599</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/40599</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Mon, 18 Jun 2018 11:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to External access for embedded google assistant with custom actions on Mon, 18 Jun 2018 08:39:19 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for the info.<br />
I do indeed already use MMM-RemoteControl for manual control and plan on using it for the actual control of the mirror.<br />
Concerning communication between the processes i’m looking at letting the js module spawn the python google assistant as a child process and communicate using process piping.<br />
This would make it way easier to run the module as the user would not need to manage multiple applications.</p>
]]></description><link>https://forum.magicmirror.builders/post/40595</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/40595</guid><dc:creator><![CDATA[timjong93]]></dc:creator><pubDate>Mon, 18 Jun 2018 08:39:19 GMT</pubDate></item><item><title><![CDATA[Reply to External access for embedded google assistant with custom actions on Sun, 17 Jun 2018 23:36:43 GMT]]></title><description><![CDATA[<p dir="auto">and I recently saw MMM-RemoteControl, which seems to support sending  command strings …</p>
]]></description><link>https://forum.magicmirror.builders/post/40590</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/40590</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Sun, 17 Jun 2018 23:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to External access for embedded google assistant with custom actions on Sun, 17 Jun 2018 20:19:14 GMT]]></title><description><![CDATA[<p dir="auto">i think you are on the right path…</p>
<p dir="auto">the module.js can see other modules for show/hide, but the node_helper cannot<br />
the node_helper can import other libraries, where the module.js cannot…</p>
<p dir="auto">i just made MMM-SleepWake (<a href="https://github.com/sdetweil/MMM-SleepWake" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/sdetweil/MMM-SleepWake</a>) which allows some external source (camera via <a href="https://motion-project.github.io/" target="_blank" rel="noopener noreferrer nofollow ugc">https://motion-project.github.io/</a>) to indicate motion or not,  (by writing a file),<br />
and the node helper uses the file system support to detect that file… and then decides what to do…</p>
<ul>
<li>if it can directly control the display device (pi, or use DPMS), then the node helper does the work. but my system runs on an ODROID SMC, so the pi tvservice command doesn’t work to turn off the monitor (my TV)…</li>
<li>the DPMS command (seen used by HelloLucy) turns off the hdmi/dvi source…<br />
on my TV this shows the big blue ‘NO Input’ screen (counter to what I wanted!)…</li>
<li>so I have a software driven sleep (that hides all modules, and remembers ones already hidden)… but that has to be implemented in the module.js… so there is communication from the node_helper to the module.</li>
</ul>
<p dir="auto">whether its file, or sockets, or some queue… you’ve got the right idea…<br />
I use HelloLucy (on top of MMM-voice) to sleep/wake and hide/show modules via voice.<br />
i don’t see any ability to inject phrases to the processed in that module…</p>
]]></description><link>https://forum.magicmirror.builders/post/40583</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/40583</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Sun, 17 Jun 2018 20:19:14 GMT</pubDate></item></channel></rss>