Command line tool
skycharge-cli is a command line tool allowing remote monitoring and management of your Skycharge system. Skycharge-cli can be invoked from the system's Linux OS, from a Linux computer connected to the same LAN of the system, and from the cloud.
For example, the following command will show all the charging process information:
$ skycharge-cli monitor --pretty
Timestamp: 2021-11-17 10:29:54.706
Dev state: SCANNING
Voltage: 19.197V
Current: 0.000A
Power: 0.000W
Energy: 0.000Wh
Charge: 0.000Ah
Source temp: 26C
Sink temp: 0C
Charging: 00h:00m:00s
To remote manage the system, you can append the charging device address or the Skycharge broker server address to the end of each command. Example:
$ skycharge-cli monitor --pretty broker.skycharge.de
List of all commands
Usage:
skycharge-cli list-devs [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli monitor [(--pretty | --json)] [--link-stat] [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli show-dev-params [--json] [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli set-dev-param <key> <value> [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli set-dev-params <key-value-pairs-string> [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli stop-scan [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli resume-scan [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli open-droneport [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli close-droneport [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli show-droneport-state [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli show-charging-state [(--no-pretty | --json)] [--link-stat] [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli dev-info [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli sink-info [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli show-sink-params [--json] [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli set-sink-param <key> <value> [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli set-sink-params <key-value-pairs-string> [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli sink-start-charge [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
skycharge-cli sink-stop-charge [(--id <dev-id>)] [(--conffile <conff>)] [(<addr> [<port>])]
Options:
--id <dev-id> - short ID of the device, is used when 'list-devs' command outputs many devices
--conffile - path to the configuration file, default path is /etc/skycharge.conf
--pretty - outputs in pretty human readable format.
--no-pretty - the opposite of 'pretty', when 'pretty' is default.
--json - outputs in json format.
--link-stat - includes data link statistics in the output.
Description:
Skycharge console client communicates with local and remote devices.
Almost each command has non obligatory <addr> and <port> to execute
command remotely on a server. If <addr> and <port> are not specified
local device will be used.
list-devs
Shows a list of all the systems owned by the user. If the address of the broker server is used, the "user-uuid" value specified in the configuration file uniquely identifies the user. Example:
$ skycharge-cli list-devs
Found sky devices:
DEV-ID TYPE DEV-NAME FW HW
49C2B3F4 MUX-HW2 abbysavo v1.0.0 v1.1.0
show-charging-state [(--no-pretty | --json)] [--link-stat]
The command outputs the Source board state in a human-readable format. In order to parse the output using a script '--no-pretty' or '--json' options can be used. If the '--no-pretty' option is specified, the command outputs the charging state in a tab separated values. If the '--json' options is specified, the output is in JSON. If the '--link-stat' option is specified, the command adds data link counters which can be useful to debug the 'PLC' detect mode, understanding for example how many bytes or packages are sent/received, and how many errors are generated on the data link.
$ skycharge-cli show-charging-state
Timestamp: 2021-11-24 17:55:38.663
Dev state: SCANNING
Voltage: 12.008V
Current: 0.000A
Power: 0.000W
Energy: 0.000Wh
Charge: 0.000Ah
Source temp: 27C
Sink temp: 0C
Charging: 00h:00m:00s
monitor [(--pretty | --json)] [--link-stat]
The command is similar to the 'show-charging-state' command, but it does not quit and continues outputting the charging state to the console, fetching a new state from the Source board each second.
show-dev-params [--json]
The command outputs the settings list of the Source board. For a detailed description, please see the Source board settings page. The command supports the '--json' option, which allows you to output settings in JSON format and easily parse them with any script. Example:
$ skycharge-cli show-dev-params
Source has the following parameters:
psu-type RSP-750-48 (0x01)
detect-mode CAPACITY (0x02)
psu-fixed-voltage-mv 0
psu-fixed-current-ma 0
psu-use-fixed-v-i false
nr-bad-heartbeats 20
ignore-inval-charging-settings false
ignore-low-batt-voltage true
error-indication-timeout-secs 5
keep-silence false
ignore-voltage-on-output true
min-sense-current-ma 50
repeat-charge-after-mins 10
sense-voltage-calib-point1-mv 15000:15000
sense-voltage-calib-point2-mv 50000:50000
sense-current-calib-point1-ma 1000:1000
sense-current-calib-point2-ma 10000:10000
psu-voltage-calib-point1-mv 10000:10000
psu-voltage-calib-point2-mv 20000:20000
psu-current-calib-point1-ma 1000:1000
psu-current-calib-point2-ma 5000:5000
set-dev-param <key> <value>
The command updates the configuration parameter with the of the charge source. The configuration parameter is written to the charge source EEPROM and the change becomes immediately effective.
Updating the configuration with set-dev-param
If you update a parameter with set-dev-param and in the configuration file /etc/skycharge.conf the parameter has a different value, on the next skycharged restart the charge source configuration will be overwritten with the one stored in /etc/skycharge.conf.
Likewise, if you update a parameter in the configuration file /etc/skycharge.conf the change won't become effective until skycharged is restarted.
To make the configuration persistent, please update the configuration file with the corresponding value and manually restart skycharged with the following command:
systemctl restart skycharged
$ skychare-cli set-dev-param detect-mode capacity
set-dev-params <key-value-pairs-string>
The command is similar to the 'set-dev-param' command, but it simultaneously updates a Source board configuration parameters' batch. The configuration parameter 'key' is separated from the 'value' with the colon ':' sign, key-value pairs are separated with the comma ',' sign. Example:
$ skycharge-cli set-dev-params psu-type:rsp-750-48,detect-mode:capacity
resume-scan
The command resumes the scanning operation, which can be indicated by the blinking 'SCAN' led and the 'SCANNING' state in the charging state output (see 'monitor' or 'show-charging-state' commands). The command should be invoked after the scanning operation has been suspended by the 'stop-scan' command.
stop-scan
The command suspends the scanning operation, which can be indicated by the blinking of all status LEDs and the 'STOPPED' charging state in the charging state output (see 'monitor' or 'show-charging-state' commands).
open-droneport
The command opens the Skyport cover.
close-droneport
The command closes the Skyport cover.
show-droneport-state
The command shows the Skyport's current state.
Example:
$ skycharge-cli show-droneport-state
Skycharge Drone Port:
IS READY yes
IS OPENED no
IS CLOSED yes
IN PROGRESS no
LANDING ERROR no
dev-info
The command outputs the Source board information: firmware version, hardware version, PLC protocol version and unique ID of the Source board. Example:
$ skycharge-cli dev-info
Source info:
FW: v1.0.3
HW: v1.1.0
PLC proto: v1.0.0
UID: 05d0ff363234584743125232
sink-info
The command outputs information about the Sink board if the 'detect-mode' is set to 'plc' and the data link with the Sink board PLC is established. The information includes: firmware version, hardware version, PLC protocol version and unique ID of the Sink board.
$ skycharge-cli sink-info
Sink info:
FW: v1.0.0
HW: v1.0.0
PLC proto: v1.0.0
UID: 003c001a2031393200007f30
show-sink-params [--json]
The command outputs the Sink board settings list. For a detailed description, please see the sink board settings page. The command supports the '--json' option, which allows you to output settings in JSON format and easily parse them with any script.
Be aware
If the 'detect-mode' is set to 'plc' the command will only work if the data link with the Sink board is successfully established. If the 'detect-mode' is set to 'capacity' the command outputs the Sink board settings which belong to the Source board.
Example:
$ skycharge-cli show-sink-params
Sink has the following parameters:
capabilties PLC_WHILE_CHARGING (0x01)
batt-type Li-Po (0x00)
batt-capacity-mah 5000
batt-min-voltage-mv 18000
batt-max-voltage-mv 25200
charging-max-current-ma 15000
cutoff-min-current-ma 500
cutoff-timeout-ms 5000
precharge-current-ma 1000
precharge-delay-secs 0
precharge-secs 0
total-charge-secs 3600
user-data1 0x00000000
user-data2 0x00000000
user-data3 0x00000000
user-data4 0x00000000
set-sink-param <key> <value>
The command updates the charge sink configuration parameter with the .
If the 'detect-mode' is set to 'plc' and the data link is established, the configuration parameter is written to the charge sink EEPROM.
If the 'detect-mode' is set to 'capacity' the parameter is written to the charge source EEPROM.
Updating the configuration with set-sink-param
If you update a parameter with set-sink-param and in the configuration file /etc/skycharge.conf the parameter has a different value, on the next skycharged restart the charge source configuration will be overwritten with the one stored in /etc/skycharge.conf.
Likewise, if you update a parameter in the configuration file /etc/skycharge.conf the change won't become effective until skycharged is restarted.
To make the configuration persistent, please update the configuration file with the corresponding value and manually restart skycharged with the following command:
systemctl restart skycharged
Updating the configuration
The sink board settings can be only updated from the configuration file if the 'detect-mode' is set to 'capacity'.
$ skycharge-cli set-sink-param batt-max-voltage-mv 25200
set-sink-params <key-value-pairs-string>
The command is similar to the 'set-sink-param' command, but updates simultaneously batch of configuration parameters of the Sink board ('detect-mode' is 'plc') or the Source board ('detect-mode' is 'capacity'). The configuration parameter 'key' is separated from the 'value' with the the colon ':' sign, key-value pairs are separated with the comma ',' sign. Example:
$ skycharge-cli set-sink-params batt-max-voltage-mv:25200,batt-min-voltage-mv:18000
sink-start-charge
If the state of the Source board is 'CHARGING_FINISHED' the command starts charging and switches the Source board to the 'CHARGING' or 'PRECHARGING' state (depends on the Sink board configuration settings). In all other Source board states, the command does nothing.
sink-stop-charge
If the state of the Source board is 'CHARGING', 'PRECHARGING' or 'PRECHARGING_DELAYED' the command stops charging and switches the Source board to the 'CHARGING_FINISHED' state. In all other Source board states, the command does nothing.
Updated almost 3 years ago