MacroDroid Web Controller

FrameXX

Well-known member
I know I probably shouldn't post this in this forum section, but I want to grab attention :devilish:.

For last nearly 3 months I have been working on a project which name is the title of this post. It allows you control devices that are running MacroDroid over the internet from any other device that can run a web browser. I call it MDWC 🚽 for short.

How is this useful?
You can already do this on your own using webhooks (MDWC also uses them), but MDWC tries to make the process simpler, clearer, more straightforward and managable without you having to configure much and offers a list of actions available out of the box.
Now this might come as a surprise but I myself don't find a usecase for this. Maybe if I lost my phone I could remotely get its location and control it. What motivates me is that maybe, just maybe some people may find it more useful. Secondly when I start working on something I don't want to leave it unfinished when I already put so much work in it. Thirdly I wanted to learned to work with the React web library, which I did to some extend.

How to use it?
Navigate to the website: https://macrodroid-wc.web.app/
I also uploaded the companion macro to the template store: https://www.macrodroidlink.com/macrostore?id=22973

The website is open-source. See the source code at: https://github.com/FrameXX/macrodroid-web-controller.
 
Last edited:

Dm114

Well-known member
I know I probably shouldn't post this in this forum section, but I want to grab attention :devilish:.

For last nearly 3 months I have been working on a project which name is the title of this post. It allows you control devices that are running MacroDroid over the internet from any other device that can run a web browser. I call it MDWC 🚽 for short.

How is this useful?
You can already do this on your own using webhooks (MDWC also uses them), but MDWC tries to make the process simpler, clearer, more straightforward and managable without you having to configure much and offers a list of actions available out of the box.
Now this might come as a surprise but I myself don't find a usecase for this. Maybe if I lost my phone I could remotely get its location and control it. What motivates me is that maybe, just maybe some people may find it more useful. Secondly when I start working on something I don't want to leave it unfinished when I already put so much work in it. Thirdly I wanted to learned to work with the React web library, which I did to some extend.

How to use it?
Navigate to the website: https://macrodroid-wc.web.app/
I also uploaded the companion macro to the template store: https://www.macrodroidlink.com/macrostore?id=22739
You should have posted it in the "Share your macros" section. Would you like to move it?
 

sming

New member
Very, very cool. Reminds me a bit of a modern, actually usable version of some of Tasker’s remote-ing functionality which I could never get working reliably. Join or something? Very tough learning curve. Not like this at all.

I’m a senior [read: old] software engineer, who’s dabbled up and down the stack and thus I feel compelled to make a couple of requests - sorry. As I said, this is very, very cool and you should be chuffed (read: proud). My wants are minor, really:

  1. when I invoke an already configured action e.g. Play/Pause media and I’m on the `Actions` page, I’d love it if pressing the Play button just did the action, if that makes sense. Having to select my phone and decide if I want confirmation every time is suboptimal.
  2. related to the above, as I have a single connection, it’d be great if that step was skipped in this case, as I’ve only got one choice and so it feels laborious/senseless.
  3. a super bonus would be a bookmarkable `Action` i.e. a unique URL for each `Action`. Then I could just hit that URL and stop/start music on my phone, which would be… bliss.

I haven’t thought about the security side of things cos… that would be hard work. I’ll leave that to you and folks who are not as lazy as I am.

That’s it really - very, very cool man, props.
PK
 

FrameXX

Well-known member
Thank you for your insight and praise!
when I invoke an already configured action e.g. Play/Pause media and I’m on the `Actions` page, I’d love it if pressing the Play button just did the action, if that makes sense. Having to select my phone and decide if I want confirmation every time is suboptimal.
I have also though about this. I will try to add some senseful way to quickly request the action without going through so much configuration screens.
related to the above, as I have a single connection, it’d be great if that step was skipped in this case, as I’ve only got one choice and so it feels laborious/senseless.
That makes sense. I will fix that.
a super bonus would be a bookmarkable `Action` i.e. a unique URL for each `Action`. Then I could just hit that URL and stop/start music on my phone, which would be… bliss.
I also did think about this. I will do it. I will also give user the ability to jus copy the HTTP GET request URL that the website fetches to trigger the action with the configuration.

I haven’t thought about the security side of things cos… that would be hard work.
It is quite simple at least as far as I know. I am not a server guy. I don't run a server. I don't have a machine to run server constantly on and I am not willing to spend any money on such serer. I have no experience with running servers. So how do I sent information from MacroDroid to a website? It's not a server, it's just a website so there's no way to directly send HTTP request to it. The only reqest you send is the HTTP GET when you load the website. Well I sent the requests to a public utility called ntfy.sh. It does exactly what I want and is simple to use. You can send messages (stringified JSON) to public rooms (they call them topics) with certain ids from any device and websites can listen to these messages using Websockets or EventSource. The thing is that not only the website can listen to these messages, but possibly anyone else. So they are preactically considered public. But to read the messages the intruder would have to know the id of the topic that the website and device running MacroDroid are communicating over which is very improbable. He would also see only the messages coming to the website, not from the website. I use Google Firebase for hosting and I know it offers what they call realtime database. In comparison to standard database this datbase as far as I understand can be also use by serverless websites and you can listen for changes in the database, however I am not sure if any device can write into the database with HTTP requests like any device can send a message to ntfy.sh topic. I would have to play with it to see.
 

AkashiDom

Active member
I know I probably shouldn't post this in this forum section, but I want to grab attention :devilish:.

For last nearly 3 months I have been working on a project which name is the title of this post. It allows you control devices that are running MacroDroid over the internet from any other device that can run a web browser. I call it MDWC 🚽 for short.

How is this useful?
You can already do this on your own using webhooks (MDWC also uses them), but MDWC tries to make the process simpler, clearer, more straightforward and managable without you having to configure much and offers a list of actions available out of the box.
Now this might come as a surprise but I myself don't find a usecase for this. Maybe if I lost my phone I could remotely get its location and control it. What motivates me is that maybe, just maybe some people may find it more useful. Secondly when I start working on something I don't want to leave it unfinished when I already put so much work in it. Thirdly I wanted to learned to work with the React web library, which I did to some extend.

How to use it?
Navigate to the website: https://macrodroid-wc.web.app/
I also uploaded the companion macro to the template store: https://www.macrodroidlink.com/macrostore?id=22739

The website is open-source. See the source code at: https://github.com/FrameXX/macrodroid-web-controller.
You know where chrome allow you to install website? Can you please make that happen to this website?
 

FrameXX

Well-known member
Very, very cool. Reminds me a bit of a modern, actually usable version of some of Tasker’s remote-ing functionality which I could never get working reliably. Join or something? Very tough learning curve. Not like this at all.

I’m a senior [read: old] software engineer, who’s dabbled up and down the stack and thus I feel compelled to make a couple of requests - sorry. As I said, this is very, very cool and you should be chuffed (read: proud). My wants are minor, really:

  1. when I invoke an already configured action e.g. Play/Pause media and I’m on the `Actions` page, I’d love it if pressing the Play button just did the action, if that makes sense. Having to select my phone and decide if I want confirmation every time is suboptimal.
  2. related to the above, as I have a single connection, it’d be great if that step was skipped in this case, as I’ve only got one choice and so it feels laborious/senseless.
  3. a super bonus would be a bookmarkable `Action` i.e. a unique URL for each `Action`. Then I could just hit that URL and stop/start music on my phone, which would be… bliss.

I haven’t thought about the security side of things cos… that would be hard work. I’ll leave that to you and folks who are not as lazy as I am.

That’s it really - very, very cool man, props.
PK
Done.
 

FrameXX

Well-known member
You know where chrome allow you to install website? Can you please make that happen to this website?
I have added this now. In the web browser menu there should be an option to "add to home screen" screen or "install as app" but in both cases the app then should launch in standalone window.
 

MRlooney

Member
I know I probably shouldn't post this in this forum section, but I want to grab attention :devilish:.

For last nearly 3 months I have been working on a project which name is the title of this post. It allows you control devices that are running MacroDroid over the internet from any other device that can run a web browser. I call it MDWC 🚽 for short.

How is this useful?
You can already do this on your own using webhooks (MDWC also uses them), but MDWC tries to make the process simpler, clearer, more straightforward and managable without you having to configure much and offers a list of actions available out of the box.
Now this might come as a surprise but I myself don't find a usecase for this. Maybe if I lost my phone I could remotely get its location and control it. What motivates me is that maybe, just maybe some people may find it more useful. Secondly when I start working on something I don't want to leave it unfinished when I already put so much work in it. Thirdly I wanted to learned to work with the React web library, which I did to some extend.

How to use it?
Navigate to the website: https://macrodroid-wc.web.app/
I also uploaded the companion macro to the template store: https://www.macrodroidlink.com/macrostore?id=22739

The website is open-source. See the source code at: https://github.com/FrameXX/macrodroid-web-controller.
great job man. this should be useful to me, can ease controlling macros for a large group of phones for mining some cryptocurrency
 

FrameXX

Well-known member
great job man. this should be useful to me, can ease controlling macros for a large group of phones for mining some cryptocurrency
Yeah. While developing it I felt like I was creating an ultimate spying tool 😅. You just hatch it onto someone's phone and get a decent amount of control over it. That was of course not a purpose, but everything can be misused.
 

inaraghj

New member
I know I probably shouldn't post this in this forum section, but I want to grab attention :devilish:.

For last nearly 3 months I have been working on a project which name is the title of this post. It allows you control devices that are running MacroDroid over the internet from any other device that can run a web browser. I call it MDWC 🚽 for short.

How is this useful?
You can already do this on your own using webhooks (MDWC also uses them), but MDWC tries to make the process simpler, clearer, more straightforward and managable without you having to configure much and offers a list of actions available out of the box.
Now this might come as a surprise but I myself don't find a usecase for this. Maybe if I lost my phone I could remotely get its location and control it. What motivates me is that maybe, just maybe some people may find it more useful. Secondly when I start working on something I don't want to leave it unfinished when I already put so much work in it. Thirdly I wanted to learned to work with the React web library, which I did to some extend.

How to use it?
Navigate to the website: https://macrodroid-wc.web.app/
I also uploaded the companion macro to the template store: https://www.macrodroidlink.com/macrostore?id=22739

The website is open-source. See the source code at: https://github.com/FrameXX/macrodroid-web-controller
Hey @FrameXX Your project is great:) MDWC seems like a useful tool for remote control of MacroDroid devices; I will check out the website and the source code. Thank you for sharing this!!!
 

MacroDroidDev

Administrator
Staff member
@FrameXX I've been out of the loop on the forum for a while as I was catching up an enormous backlog after holdays, but I've just come across this. I need to dive a lot deeper but on first impressions what you have done here is amazing.
 
Top