Skip to main content
v5.33
operator
manufacturer
Last updated on

Tutorial

This page contains guided SSH-based Provisioning walkthroughs for common tasks.

1. Audience and assumptions

We assume the following:

  • you are a mid- or senior-level software engineer with linux command line knowledge
  • you are working on Windows 11
  • you are using PowerShell
  • SSH access to the controller is already available

The SSH-based provisioning method will work on other host operating systems and with other terminal applications as well, but the instructions in this documentation are tailored to the above assumptions for simplicity. Minor adjustments may be needed.

2. Configuration

Goal: Set the manufacturer password over SSH.

2.1. Connect to the controller

Open PowerShell and connect to the controller:

Local PowerShell
ssh charge@<controller-ip>

2.2. Go to the persistency directory

All non-default configuration files are stored in /home/charge/persistency.

Controller shell
cd /home/charge/persistency

2.3. Inspect the available configuration files

To list the available configuration filenames:

Controller shell
ls *_*

To list the available configuration filenames together with their values:

Controller shell
head -n 1 *_*

2.4. Prepare the password file locally

Create the password file locally on your Windows machine by following the related password generation and encoding recipe in the cookbook.

For the manufacturer password, the target filename is ManufacturerPwd_custom.

2.5. Upload the password file to the controller

From PowerShell on your Windows machine, upload the prepared file to the controller:

Local PowerShell
scp -O .\ManufacturerPwd_custom charge@<controller-ip>:/home/charge/persistency/ManufacturerPwd_custom

2.6. Verify that the file is present on the controller

Verify that the file exists on the controller:

Controller shell
ls -l /home/charge/persistency/ManufacturerPwd_custom

2.7. Make the change persistent

Controller shell
sync

2.8. Reboot the controller

Controller shell
reboot

2.9. Result

After the reboot, the manufacturer password is active.

2.10. Verify the change

To verify the change, log in to the controller through SSH using the new manufacturer password.

Local PowerShell
ssh charge@<controller-ip>
info

The manufacturer password also functions as the password for the charge SSH user.

3. Firmware update

Goal: Install a firmware package over SSH and verify the installed firmware version.

3.1. Upload to controller

Upload the firmware package to /home/charge on the controller:

Local PowerShell
scp -O .\<firmware-package>.deb charge@<controller-ip>:/home/charge/

3.2. Install

Install the uploaded package using opkg:

Controller shell
opkg install /home/charge/<firmware-package>.deb

If the package version is already installed, opkg may report that it matches the installed version.

3.3. Reboot the controller

After the installation, reboot the controller:

Controller shell
reboot
tip

The Charge Controller is usually responsive again within a couple seconds after the green LED has started blinking.

3.4. Verify the installed firmware version

Read the firmware version from the controller:

  • Option 1:
Controller shell
cat /tmp/.ebee_version_info.txt
  • Option 2:
Controller shell
cat /tmp/.ebee_version.txt
tip

If neither option works for you, the firmware version can also be checked through the Controller's Config UI or an OCPP Backend if available.