tnmendes / watt

iOS App for TP-Link Devices (Kasa Smart & Tapo) | Support page for issues related to Watt iOS App
48 stars 4 forks source link

Energy consumption hour by hour #11

Open SteffenSauerbrunn opened 4 years ago

SteffenSauerbrunn commented 4 years ago

Hello,

great app.

When will the app provide energy consumption hour by hour? It's on the roadmap, just keen to get an idea whether this is added anytime soon.

Thanks

Steffen

tnmendes commented 4 years ago

Thank you Steffen :)

TP-Link devices natively do not have the ability to see consumption hourly, I can only see consumption for the day. This means that I will need a server to query hourly what is the consumption and make a chart over that information.

This has not yet been developed because I will need to develop a server project that asks the TP-Link server what is the consumption of each device every hour.

I've been wondering how to do this but I realized that maybe there will be a problem. Let's imagine that I have 5000 unique users of the app and that each user on average has 8 devices. So in an hour I will do 40000 (5000 8) requests to TP-LInk servers. And in one day 40000 24 = 960000 requests.

These numbers are a little scary I can't make so many requests so I will have to think of a solution :-|

So in relation to your question of when it will be ready never before the next 4 months and will have some kind of limitation. But before that, I want to see if I can improve the experience using smart bulbs that is my next goal.

tnmendes commented 2 years ago

Hey @atGordo, Watt is not able to poll directly from the devices (Kasa Smart app does that). Watt is polling from TP-Link servers. If you have some mini server or raspberry pie there is some free project on Github that does that but you have to have the mini server running 24 hours (raspberry pie for a month has like the electric cost of +/- 8kWh)

wjcroft commented 2 years ago

@SteffenSauerbrunn here are some related resources,

https://community.tp-link.com/en/home/forum/topic/169586

Mike's server can either run on an Android, or just the Java version on Mac, Windows or Linux / Pi. In the solution mentioned above his Android server program uses an extension that dumps the data into a Google Drive file. The links below document his general framework.

https://sites.google.com/site/mppsuite/ https://sites.google.com/site/mppsuite/downloads/wemoserver-java?authuser=0

His Android server,

https://play.google.com/store/apps/details?id=mpp.android.wemo&hl=en_US&gl=US https://play.google.com/store/apps/developer?id=MikeP&hl=en_US&gl=US [MikeP, the developer]

His Java server creates a text log file with new data samples every 3 minutes. The simplest approach might be to just read and parse his log file.