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:
ssh charge@<controller-ip>
2.2. Go to the persistency directory
All non-default configuration files are stored in /home/charge/persistency.
cd /home/charge/persistency
2.3. Inspect the available configuration files
To list the available configuration filenames:
ls *_*
To list the available configuration filenames together with their values:
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:
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:
ls -l /home/charge/persistency/ManufacturerPwd_custom
2.7. Make the change persistent
sync
2.8. Reboot the controller
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.
ssh charge@<controller-ip>
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:
scp -O .\<firmware-package>.deb charge@<controller-ip>:/home/charge/
3.2. Install
Install the uploaded package using opkg:
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:
reboot
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:
cat /tmp/.ebee_version_info.txt
- Option 2:
cat /tmp/.ebee_version.txt
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.