this post was submitted on 22 Jan 2024
12 points (100.0% liked)

Android

28142 readers
421 users here now

DROID DOES

Welcome to the droidymcdroidface-iest, Lemmyest (Lemmiest), test, bestest, phoniest, pluckiest, snarkiest, and spiciest Android community on Lemmy (Do not respond)! Here you can participate in amazing discussions and events relating to all things Android.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules


1. All posts must be relevant to Android devices/operating system.


2. Posts cannot be illegal or NSFW material.


3. No spam, self promotion, or upvote farming. Sources engaging in these behavior will be added to the Blacklist.


4. Non-whitelisted bots will be banned.


5. Engage respectfully: Harassment, flamebaiting, bad faith engagement, or agenda posting will result in your posts being removed. Excessive violations will result in temporary or permanent ban, depending on severity.


6. Memes are not allowed to be posts, but are allowed in the comments.


7. Posts from clickbait sources are heavily discouraged. Please de-clickbait titles if it needs to be submitted.


8. Submission statements of any length composed of your own thoughts inside the post text field are mandatory for any microblog posts, and are optional but recommended for article/image/video posts.


Community Resources:


We are Android girls*,

In our Lemmy.world.

The back is plastic,

It's fantastic.

*Well, not just girls: people of all gender identities are welcomed here.


Our Partner Communities:

[email protected]


founded 2 years ago
MODERATORS
 

Hey folks,

Does anyone know of an app (FOSS or otherwise) that has a built-in REST-server to get current device info?

I'd like to be able to hit the API from within my local network to get info including:

  • Free space vs used space
  • Battery percentage

Why?

I have an old Android device that sits in the closet as a Syncthing node. It does some other random stuff too. I don't really want to have to get up and look at it to find out certain information. I already have a VNC server running on it. I even have a (sketchy) SSH server on it that I currently call df -h on to programmatically get free space info. The SSH server has some weirdness where it seems to stop working after some time, among other oddities. Also it can't get battery level afaict.

I imagine this is possible using ADB, but I don't really want to have to always leave the device in wireless ADB mode or manually put it in that mode each time; unless that is easier than I think.

Thanks!

top 5 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 11 months ago (1 children)

You can enable permanent adb in the developer options. I forget what it's called. And you need to check the remember box when allowing the connection.

[–] csm10495 1 points 10 months ago (1 children)

I'm giving this a try. If it can remember the server that talks to it and does not need a re-pair each time, this might be ok.

At first I tried adb_shell with Python and found it didn't seem to be able to pair or connect over wifi. So I fell back to creatively shelling out to the adb cli. So far so good.

Thanks for the suggestion!

[–] csm10495 1 points 10 months ago

Unfortunately this doesn't work well. You can enable wireless debugging, but it'll get disabled if the wifi disconnects/reconnects.. ever more annoying is that it'll come back up with a new port making automation basically impossible here.

Still on the hunt for something better.

[–] [email protected] 2 points 10 months ago (1 children)

I looked into this, and it turned out to be a lot harder to do than I expected. I thought it should be pretty easy to stand up a simple web server and reply with that info, but ... No.

I think if this were my project, I would instead make an app that always runs in the background and updates an MQTT server periodically, and I'd have my other system check that server instead. Alternatively, that app could just hit a web endpoint somewhere and POST the data to it, and that server could do whatever you want.

But as far as existing apps, I don't see anything that does what you want.

[–] csm10495 2 points 10 months ago* (last edited 10 months ago)

Maybe tasker can do something like this. In theory I could tell tasker to POST every 5 minutes or so, then use that data.. hmm I guess this is the next thing to try. Thanks!

Edit. Just found this gem: https://www.reddit.com/r/tasker/comments/13i9p3l/dev_tasker_62_beta_were_back_in_business_i_can/

I think this would do exactly what I want! Will give it a whirl in the coming days.