Skip to content

SolarNetwork/sn-cli

Repository files navigation

SolarNetwork Command Line Tool

This project contains a command line (CLI) tool for interacting with the SolarNetwork API. The tool allows you to do things like:

  • discover available nodes
  • discover available datum streams
  • list persisted datum
  • update SolarNode control values
  • toggle SolarNode operating modes
  • manage SolarNode metadata
  • stream datum from SolarFlux
  • and more! See the documentation for more information.

Get

Download the latest release, either as an executable binary for your operating system or an executable Java JAR you can run anywhere you have Java 21+ installed.

Logging

Logging can be enabled by creating an application.yml file in your working directory. You can then configure standard Spring Boot Logging settings. For example if you would like HTTP exchange traces, add the --http-trace option and then configure logging something like this:

logging:
  file.name: "/var/tmp/s10k.log"
  level:
    net.solarnetwork.http: "TRACE"
  threshold:
    console: "INFO"
    file: "TRACE"

Building from source

To build the executable JAR application from source, run:

# Unix
./gradlew build -x test

# Windows
.\gradlew.bat build -x test

The application will be built to build/libs/s10k-VERSION.jar.

Building the native binary

To build the native binary, you must have the GraalVM version 24+ or later installed. Then add GRAALVM_HOME to your environment. For example in sh:

# macOS install
export GRAALVM_HOME=/Library/Java/JavaVirtualMachines/graalvm-21.jdk/Contents/Home

Then you can run:

# Unix
./gradlew nativeCompile

# Windows
.\gradlew.bat nativeCompile

The native binary will be built to app/build/native/nativeCompile/s10k.

About

CLI tool to interact with the SolarNetwork API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages