Skip to content

Releases: wildmountainfarms/solarthing

Docker installs include netcat

22 Dec 23:14
ffdbfed
Compare
Choose a tag to compare

This patch release only affects Docker installs. If you are migrating from an older SolarThing version, please read the release notes for v2025.1.0 to see if it affects you.

You are now able to use the nc command inside the Docker container like so:

docker compose exec rover nc localhost 5051
batteryVoltage
23.9

This is useful for the config server feature that must be enabled for this to be useful for Rover or Tracer charge controllers.

Closes #223

Additionally, the base image of the docker images is now Ubuntu 24.04 (Ubuntu Noble).

Java 17 Required, Java 21 for solarthing-server

13 Dec 00:29
8cf4593
Compare
Choose a tag to compare

This release is the 2025.1.0 release, as I want to be able to do patch version bumps in 2025 for 2025.1.X if necessary. This release has very few changes since v2023.4.1, other than the version bump. However, the fact that I have upgraded the required Java version means you should see if this update affects you:

Does this change affect me?

  • YES - If you are using a Raspberry Pi 1 or Raspberry Pi Zero
    • These Raspberry Pi models are no longer supported because these use armv6 processors, and it has been difficult to get a modern Java version working on these processors for a long time
  • NO - If you are using a Docker Install
    • The Java version upgrade is handled automatically, and no changes are necessary
  • YES - If you have a native install and do not currently have Java 17 installed
    • You will need to install Java 17 or Java 21 (Java 21 is required if you are running SolarThing Server)
    • Installing Java 17 may be difficult on some Linux distributions
    • Installing Java 21 is likely to be very difficult on many Linux distributions including Debian 12 (Bookworm)
  • NO - If you have a native install with Java 21 installed on your system

"I'm on an old native install of SolarThing on a device that is now unsupported"

  • If this is the case, please note that calling git pull could break things in the future. This is unlikely, but one change that has been made to the repository itself is how java is invoked. You may receive warnings if you run git pull and continue to use SolarThing, but as of writing you should be OK for now.

If these changes affect you, please create an issue or comment in our discussion page.


Changes

  • SolarThing Server's home page automatically updates battery voltage (a319278)
  • Removed rpi-cpu-temp (this has been deprecated for a while in favor of cpu-temp)
  • SolarThing CouchDB Setup now puts a validation document in the database to prevent packets with incorrect dates from being uploaded (ccf7500)
  • Modifications to GraphQL queries for added functionality
  • Started on solarthing analyze. Its behavior is currently undocumented and breaking changes may occur. Documentation and stability will be added for this feature in the future.

Dependency updates

25 Feb 23:26
3712cbb
Compare
Choose a tag to compare

Drafting this release to keep up to date with the numerous tiny changes that have been made since the last release in July 2023. No notable changes, which is why this release is not tagged with 2024.1.0.

Most noteworthy changes are in 846725e, which cleans up log messages for rover and tracer programs.

Changes under the hood

02 Jul 18:19
291c29c
Compare
Choose a tag to compare

No exciting changes in this release. Just lots of under the hood improvements.

Changes

  • No more Google Analytics. All logic for disabling analytics has been kept. I plan to add analytics in the future that does not rely on Google, so please keep your configuration to disable analytics if you do not want a future version of SolarThing to collect usage data.
  • .data directory is no longer created or used.

Breaking changes

  • Configurations must use action_config instead of actions. This is not documented, but neither is actually using actions

Technical changes

  • solarthing-server uses Spring Boot 3.0, which requires lots of changes
  • solarthing-server also undocumented ability to configure a database that replicates to a main instance

In other news, I am working on a different way to setup and configure SolarThing. I believe the current approach of making sure /opt/solarthing has correct permissions and making sure configuration files are gitignore'd is error prone. I'm always open to suggestions or critique as I would really like to get a better way set in stone before really focusing on improving the documentation.

Docker support, upgraded Java versions

29 Mar 01:05
e252f51
Compare
Choose a tag to compare

This release does not have any exciting new features, but it is the first release to have docker support. With the ability to use docker to run SolarThing, I also decided that a minimum Java version bump was overdue. To run the client program (solarthing.jar), you must have Java 11. To run the server program (solarthing-graphql.jar), you must have Java 17. You are responsible for upgrading your Java version. In general, it should be very easy unless you are using a Raspberry Pi 1 or a Raspberry Pi Zero.

Docker support is available with packages published here: https://github.com/orgs/wildmountainfarms/packages?repo_name=solarthing. Documentation for using Docker is not yet complete, but example docker compose files will soon be available. Docker will likely not be the recommended way to run SolarThing client, but may be recommended for SolarThing server. The advantage of docker is that you won't have to manage your Java installation yourself. All you need is a docker installation!

New features:

  • Ability to provide interpolated values in select configuration files. This can make it easier to share configuration between programs running SolarThing while customizing options for each.
  • --validate option. If you are running solarthing directly, you can add the --validate option which will not run any code to upload data or to retrieve data, but will instead tell you if your configuration is valid or not. An exit code of 0 indicates a correctly formatted configuration.

Testing docker support

22 Mar 22:41
17847a2
Compare
Choose a tag to compare
Pre-release
v2023.2.2-rc.2

docker build triggered on tags

Adding doker support

22 Mar 22:34
007bf66
Compare
Choose a tag to compare
Adding doker support Pre-release
Pre-release

This release marks the first release with docker support. Assuming this builds fine, v2023.2.2 will be released.

I plan to add support for older versions of SolarThing with docker in the future. I also plan to document this more in the future.

SolarThing Server Fix

21 Mar 20:09
650ef44
Compare
Choose a tag to compare

This release fixes a bug in the previous SolarThing Server jar (solarthing-graphql-2023.2.0.jar).
This release has also added the feature of automatically filtering out bad temperature data before uploading to PVOutput.

Announcements:

SolarThing will soon support running via docker. Packages will soon be available at: https://github.com/orgs/wildmountainfarms/packages?repo_name=solarthing. Documentation for using SolarThing in docker will likely remain sparse for the time being.

I plan to update the required Java version for SolarThing Server and SolarThing. I would like to upgrade SolarThing Server to use Java17+ and SolarThing to use Java 11. This may make it harder to run SolarThing on armv6 CPUs (like RPi1s), but it will still be possible by using zulu openjdk builds by azul (easy to install with SDKMAN). SolarThing will still support armv6, but it may require some additional setup.

ActionLang and more PVOutput upload options

11 Mar 23:08
fdec444
Compare
Choose a tag to compare

This release contains two main features: The addition of a second way to describe and code actions in SolarThing and options for how temperature and voltage are uploaded to PVOutput (#85).

Automation and request program

  • Actions should now be specified using the action_config property and the entries property inside that object. See: automation_eq_template.json
  • Actions being defined in this new way are, by default, assumed to be in NotationScript format. NotationScript is effectively shorthand for the old JSON format. Examples can be found here: actions-ns
    • Note: While these are shorthand, you may notice that some types of actions have slightly different names in the NotationScript version. This is to maintain kebab case for nodes and snake_case for user defined identifiers.

PVOutput

  • voltage_identifier and temperature_identifier are deprecated. Use voltage_from and temperature_from instead.

Once again, the documentation on these new features is lacking. Hopefully I will get around to it, but if I don't feel free to bug me about it: https://github.com/wildmountainfarms/solarthing/issues

Local actions fixes and rover and tracer modbus command change

08 Jan 21:55
7729e8f
Compare
Choose a tag to compare

Local actions

  • Bug fixes to make sure long running actions have an up to date reference to current data (e84a79f)

Rover and tracer (BREAKING CHANGE)

  • You can no longer attach a specific device to specific commands. You must use the rover-modbus or tracer-modbus actions to encapsulate your actions that send commands to the rover or tracer

Temperature

  • Added 16.0 to the list of "bad" temperature values

Mate

  • Detecting FlexMAX devices should have been fixed. If you were running SolarThing with an outdated MATE and a FLEXmax, SolarThing would crash (#81)