Web service that provides a REST API layer over the My Autarco site/API to get statistical data of your solar panels.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Paul van Tilburg 5d4c26789a
Configure lints
1 month ago
src Configure lints 1 month ago
.dockerignore Add support for building and running a Docker image 2 years ago
.gitignore Move the login credentials to a config file 2 years ago
Cargo.lock Update to Rocket 0.5-rc.2; cargo update 1 month ago
Cargo.toml Update to Rocket 0.5-rc.2; cargo update 1 month ago
Dockerfile Just use latest rust 1.x Docker image 10 months ago
LICENSE Add README.md, Rocket.toml.example and LICENSE file 1 month ago
README.md Add README.md, Rocket.toml.example and LICENSE file 1 month ago
Rocket.toml.example Add README.md, Rocket.toml.example and LICENSE file 1 month ago
autarco.toml.example Move the login credentials to a config file 2 years ago
docker-compose.yml Update Rocket env vars for Rocket 0.5 1 year ago

README.md

Autarco Scaper

Autarco Scraper is a web service that provides a REST API layer over the My Autarco site/API to get statistical data of your solar panels.

Building & running

First you need to provide your My Autarco credentials in the file autarco.toml by setting the username and password. You can copy and modify autarco.toml.example for this:

# Put your My Autarco credentials below
username = "foo@domain.tld"
password = "secret"

Then, using Cargo, it is easy to build and run Autarco Scraper, just run:

$ cargo run --release
...
   Compiling autarco-scraper v0.1.1 (/path/to/autarco-scraper)
    Finished release [optimized] target(s) in 9m 26s
     Running `/path/to/autarco-scraper/target/release/autarco-scraper`

(Note that Rocket listens on 127.0.0.1:8000 by default for debug builds, i.e. builds when you don't add --release.)

You can provide Rocket with configuration to use a different address and/or port. Just create a Rocket.toml file that contains (or copy Rocket.toml.example):

[default]
address = "0.0.0.0"
port = 8080

This will work independent of the type of build. For more about Rocket's configuration, see: https://rocket.rs/v0.5-rc/guide/configuration/.

API endpoint

The / API endpoint provides the current statistical data of your solar panels once it has successfully logged into the My Autarco website using your credentials. There is no path and no query parameters, just:

GET /

Response

A response uses the JSON format and typically looks like this:

{"current_w":23, "total_kwh":6159, "last_updated":1661194620}

This contains the current production power (current_w) in Watt, the total of produced energy since installation (total_kwh) in kilowatt-hour and the (UNIX) timestamp that indicates when the information was last updated.

License

Autarco Scraper is licensed under the MIT license (see the LICENSE file or http://opensource.org/licenses/MIT).