Skip to content

Releases: wildmountainfarms/solarthing

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)

Local actions revision

09 Nov 05:32
Compare
Choose a tag to compare

Local actions

08 Nov 15:41
d45605c
Compare
Choose a tag to compare

This release adds local actions and removes the legacy rover program (migrate your rover program to the request format).

mate and request programs

  • Added actions field to configurations. Works the same way as in the automation program

request program

  • Deprecated usage of attaching a rover or tracer to commands. Use the rover-modbus or tracer-modbus actions to inject the correct environment into the actions you want to use to command your charge controller.

graphql

  • Added GraphQL Voyager page and Graphiql page to view schema and query schema.