Jump to content

Solar Assistant 64bit


system32

Recommended Posts

Just upgraded to Solar-Assistant 64bit - some nice features
https://solar-assistant.io/help/updates/changelog

2024-04-05Beta

New features:

  • Released 64-bit Raspberry PI SD card image.
  • Add HDMI output configuration option to switch between kiosk and console.
  • Add SSH configuration option to enable/disable SSH key and password based authentication.
  • Add Bluetooth configuration option switch between disabled, hidden and auto pairing.
  • Add power management for Luxpower inverters.
  • Add power management for Growatt TL-XH inverters.
  • Support for GoodWe ET inverters.
  • Support for Seplos V3 via "USB modbus" protocol.
  • Added reading of serial, firmware version and alarms via "USB Narada" protocol.

What I noticed:

  • SA Image is based on Debian 12 64bit - previous was based on Debian 10 32bit
  • Ability to allow ssh into the RPI - previously I had to hack the image to allow ssh
  • Improved security by removal of ssh on frp proxy.
  • Kiosk mode - displays SA on HDMI
    Might be useful to have a local display showing live SA.
    I'm thinking of adding a HDMI display to my RPI4 eg https://www.raspberrypi.com/documentation/accessories/display.html so I can see SA when in the garage.

ssh access is configured via Configure -> Configure Local Access.

The process I followed to go from 32bit to 64bit:

  1. Download the 64bit image and write the image to a new/spare SD card - I used a spare 32GB card
    Using a different SD card allows you to revert if the new image does not work as expected.
  2. Make a note/print-screen of SA settings
    eg USB ports are used for Inverter & Battery, etc.
    mqtt settings: Configuration -> mqtt -> Advanced button
    inverter & battery settings: Configuration -> battery -> Advanced button
  3. Make a backup via Configuration -> Storage -> view detail -> backup
    This will create a backup that you can save to your PC.
    There is a button to download the influxdb backup.zip
  4. Shutdown & poweroff the old 32bit version - Configure -> System -> Shutdown
  5. Install the new SD card with 64bit version and boot the RPI
  6. Check your DHCP server/nmap to locate the 64bit SA on your network
  7. Access the 64bit version with a browser http://192.168.7.189 in my case
  8. Check the site Owner/Site ID under Configure -> System
    Since you are using the same RPI hardware/machine-id, SA will connect to existing site license.
    Might take a minute to retrieve the license from the SA cloud.
  9. Restore your influxdb backup via Configuration -> Storage -> view detail -> upload
    Remember to import the backup as well.
    There is a button to import the backup.
  10. Check your history - mine was fine, but there is a resample history link.
  11. Configure USB ports and other settings as per print-screen (2) above
  12. Check for any updates - I'm on the beta program and on Software version: 2024-04-05

Enjoy.

Edited by system32
Link to comment
Share on other sites

Ja, saw this too in the recent beta update.

TBH, what would the real benefits that I as just a SA user would see from upgrading to the 64bit version?

Marc

Link to comment
Share on other sites

Posted (edited)
58 minutes ago, MdF said:

Ja, saw this too in the recent beta update.

TBH, what would the real benefits that I as just a SA user would see from upgrading to the 64bit version?

Marc

Not 100% sure of all the benefits as I'm just a regular user.
As a regular user, you unlikely to notice any difference as the vendor updates & maintains both 32bit & 64bit versions.

I don't think ssh access and kiosk mode are available on 32bit version.
For me:

  • ssh access
    This is important for me as I use the RPI4 to run some python code that records cell data from my batteries
    Previously I had to hack the device to enable ssh to run my python battery cell app.
  • Improved security by removal of ssh on frp proxy
  • Update to Debian 12 with recent versions of Python
  • Updated versions of InfluxDB, MQTT (mosquito), Grafana
    These are embedded apps, the new versions won't make a difference to regular users.
    Normal SA updates only seems to update the Erlang App

If you have an RPI4 or RPI5 with 4GB of RAM, you have a potent device.
With ssh access you could install Docker and a container to run HA...
I would still recommend a separate home-lab server for Docker/HA and leave the SA device alone.
For me the benefit of SA is the mqtt integration that exposes the collected data to my home-lab.

In conclusion "If it ain't broke, don't fix it" - if it's working for you and has the features you need leave it alone.

Edited by system32
Link to comment
Share on other sites

Posted (edited)

TIP:
Been using 64bit beta versions for a few days
2024-04-05 - 64bit
2024-04-12 - 64bit
2024-04-16 - 64bit
Seems there is a memory leak in beam.smp - growing by ~400MBytes/day.
Depending on how much RAM+SWAP your device has, may be prudent to restart SA to prevent OOM.

Run

$ top
or
$ free -m
or
$ PID=$(pgrep "beam.smp")
$ grep  "^Vm" /proc/$PID/status
or
# pmap -x $PID

over a few hours/days to monitor.
Vendor is looking into this and hopefully fix will be released soon.

Edited by system32
Link to comment
Share on other sites

21 hours ago, educorner said:

How do you access SSH ?
Running beta but have no option under Configure -> Configure Local Access
 

Can someone post a screen shot ?

I have been wondering the same. At some point I thought it might not be available in the Orange PI image...

Link to comment
Share on other sites

  • 4 weeks later...
On 2024/04/25 at 11:33 AM, DawieZA said:

I have been wondering the same. At some point I thought it might not be available in the Orange PI image...

I don't see the SSH option either - perhaps it is only on the 64 bit version [which I haven't gotten around to yet...]

Link to comment
Share on other sites

On 2024/04/11 at 8:32 AM, system32 said:

SA Image is based on Debian 12 64bit - previous was based on Debian 10 32bit

That's very interesting , I was under the impression that the SA had an ad-hoc OS based on Erlang Virtual Machine.  That was an assumption because I remember that the OS was inaccessible at time I checked it out 3 years ago. I  had a conversation with the Pierre the founder of SA , and he told me SA is developed using Elixir programming language and framework.  Because Elixir needs Erlang VM as a host , I assumed they made a proprietary OS  with BuildRoot and Erlang VM . 

But after reading your post I discovered that Erlang VM can also be installed on plain Debian as a package. So  that's probably the route they took. 

My main interest at the time was whether I could host a standalone Linux  app alongside SA on the same PI.  Do you think that's possible.?

Link to comment
Share on other sites

Posted (edited)
23 minutes ago, BritishRacingGreen said:

That's very interesting , I was under the impression that the SA had an ad-hoc OS based on Erlang Virtual Machine.  That was an assumption because I remember that the OS was inaccessible at time I checked it out 3 years ago. I  had a conversation with the Pierre the founder of SA , and he told me SA is developed using Elixir programming language and framework.  Because Elixir needs Erlang VM as a host , I assumed they made a proprietary OS  with BuildRoot and Erlang VM . 

But after reading your post I discovered that Erlang VM can also be installed on plain Debian as a package. So  that's probably the route they took. 

My main interest at the time was whether I could host a standalone Linux  app alongside SA on the same PI.  Do you think that's possible.?

With the 64bit version, there is an option to enable ssh access.

image.png.b9b0a59b1a452af67d828b46ae577fdc.png

I use the ssh access to run some python apps that collect additional metrics from Juntek, Hubble and SunSynk

solar-assistant:~ $ crontab -l
# m h  dom mon dow   command
@reboot $HOME/myapp/sun2mqtt/sun2mqtt.sh > /tmp/sun2mqtt.log 2>&1
@reboot $HOME/myapp/jun2mqtt/jun2mqtt.sh > /tmp/jun2mqtt.log 2>&1
@reboot $HOME/myapp/hub2mqtt/hub2mqtt.sh > /tmp/hub2mqtt.log 2>&1

@reboot $HOME/bin/batch_topio.sh >> /tmp/batch_topio.log 2>&1
@daily  $HOME/bin/batch_topio.sh >> /tmp/batch_topio.log 2>&1

Setup a python virtual env

$ mkdir -p myapp
$ cd myapp
$ python3 -m venv myapp
$ source myapp/bin/activate
(myapp) $ which python3
/home/solar-assistant/myapp/myapp/bin/python3
(myapp) $ pip3 install minimalmodbus
(myapp) $ pip3 install paho-mqtt
(myapp) $ cd jun2mqtt
(myapp) jun2mqtt $ python3 jun2mqtt.py

 

Edited by system32
Link to comment
Share on other sites

  • 2 weeks later...
On 2024/05/23 at 9:35 AM, system32 said:

With the 64bit version, there is an option to enable ssh access.

image.png.b9b0a59b1a452af67d828b46ae577fdc.png

I use the ssh access to run some python apps that collect additional metrics from Juntek, Hubble and SunSynk

solar-assistant:~ $ crontab -l
# m h  dom mon dow   command
@reboot $HOME/myapp/sun2mqtt/sun2mqtt.sh > /tmp/sun2mqtt.log 2>&1
@reboot $HOME/myapp/jun2mqtt/jun2mqtt.sh > /tmp/jun2mqtt.log 2>&1
@reboot $HOME/myapp/hub2mqtt/hub2mqtt.sh > /tmp/hub2mqtt.log 2>&1

@reboot $HOME/bin/batch_topio.sh >> /tmp/batch_topio.log 2>&1
@daily  $HOME/bin/batch_topio.sh >> /tmp/batch_topio.log 2>&1

Setup a python virtual env

$ mkdir -p myapp
$ cd myapp
$ python3 -m venv myapp
$ source myapp/bin/activate
(myapp) $ which python3
/home/solar-assistant/myapp/myapp/bin/python3
(myapp) $ pip3 install minimalmodbus
(myapp) $ pip3 install paho-mqtt
(myapp) $ cd jun2mqtt
(myapp) jun2mqtt $ python3 jun2mqtt.py

 

 

Just setting up mine, what's the SSH default log in? Can't set the .conf file without SSH'ing into it or can I?

ELI5 please, still new at all this.

Link to comment
Share on other sites

Posted (edited)
31 minutes ago, LiFePOWER said:

 

Just setting up mine, what's the SSH default log in? Can't set the .conf file without SSH'ing into it or can I?

ELI5 please, still new at all this.

You can set the password via Configuration -> System Configure -> Local password
Then change Configuration -> System -> ssh-access to "key and password authentication"
Once you able to connect, you can install .ssh/authorized_keys and just use keys.

image.png.c5c48e708ec52f938a5a3e2143c2b09a.png

 

Edited by system32
Link to comment
Share on other sites

6 minutes ago, system32 said:

You can see the password via Configuration -> System -> Local password
Then change Configuration -> System -> ssh-access to "key and password authentication"
Once you able to connect, you can install an authorized_keys and just use keys.

image.png.bc86b3fbba26332d639e8da3ce10ed93.png

 

ahem, yes that makes sense...

Another stupid question, username? Sorry there's 0 documentation I can find on this.

 

Link to comment
Share on other sites

Just now, LiFePOWER said:

 

ahem, yes that makes sense...

Another stupid question, username? Sorry there's 0 documentation I can find on this.

 

image.png.b74f18b223a72b6d13c1b367240f391c.png

Connect with: ssh solar-assistant@the-ip-address

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...