1.1.2. Admin API - Command References

Commands are implemented in each applications and plugins. These are accessible throught the commandline, or Admin core RPC endpoint.

1.1.2.1. AdminEmbedded commands (core admin)

Command

Description

example

hello(STRINGFORCALLBACK)

test communication, permit to validate the communication with the admin embedded

hello(‘world’)

get_application_list()

list available applications

get_application_list()

get_machine_id()

get the machine id, this is string taken from the CPUID is it exists

get_machine_id()

list_services()

list all available services

call_service(SERVICENAME, SERVICEMETHOD, args …)

call service command with following arguments

call_service(“wifi”, “hello”, “world”)

send_event(SENDER, EVENTNAME, EVENTDATA)

broacast an event to all services

deploy_app(BUNDLEID)

deploy an application

take the application from the BUNDLEID folder from the “bundled_factory_apps” and deploy it to the deployed_application folder, to permit the configuration

undeploy_app(APPLICATION_ID)

undeploy an application

remove the application

activate_app(APPLICATION_ID, PARAMETERS)

activate by configuring the application

PARAMETERS are overloading the factory ones

deactivate_app(APPLICATION_ID)

deactivate the application

deactivate a deployed application, using its applicationid

start_app(APPLICATION_ID)

start the application

once the application is deployed and activated, start ir (start the process and monitor it),
Optional parameter (managed (booolean)), this parameter explain the process must not be managed

stop_app(APPLICATION_ID)

stop the application

get_app_status()

get current app running status (from the last inspection)

get_app_status()

execute_command(COMMAND)

execute the command contained in the string, and give the result back

../../target/debug/admincli -c “execute_command(‘hello('baba')’)”

=== AdminCli ===

connect to adminembedded and send command: execute_command(‘hello('baba')’)

Received response : Handler function says: Hello, baba!

reset_factory(FILE_WITH_COMMANDS)

stop all services, clean the deployed elements, and execute the given command file

describe_plugin(PLUGIN_OR_SERVICE)

This function will return the methods and parameters associated to a plugin.

Note : some plugin / service might not implement the describe_plugin endpoint

1.1.2.2. RTCTime (service “time”)

Command

Description

example

get_time()

get the rtc time

query_remote_time()

return the remote time (ntp driven)

See RTCTime Service

1.1.2.3. Powermanagement (service “power”)

Command

Description

example

switch_battery_mode()

powerdown(next_awake_date)

schedule the next wake up and powerdown

get_power_mode()

get the current power management mode (powered / battery)
0 -> Powered mode
1 -> Battery mode

watchdog()

tell the powermanagement to credit more time to stay alive

get_power_consumption()

retrieve the battery accumulator register

1.1.2.4. Wifiservice commands (service “wifi”)

Command

Description

example

activate(ssid, password)

activate wifi

deactivate()

deactivate wifi

list_networks()

return the network list

call_service(‘wifi’,’list_networks’)

[{“signal”:”-13.00 dBm”,”ssid”:”freebox_pf”},{“signal”:”-41.00 dBm”,”ssid”:”FreeWifi_secure”},{“signal”:”-58.00 dBm”,”ssid”:”Livebox-C400”},{“signal”:”-74.00 dBm”,”ssid”:”SoundBarSetup_CC0D”},{“signal”:”-75.00 dBm”,”ssid”:”Livebox-3FD0”},{“signal”:”-64.00 dBm”,”ssid”:”Livebox-E4B8_wifi_invite”},{“signal”:”-65.00 dBm”,”ssid”:”Freebox-41EC5A”},{“signal”:”-74.00 dBm”,”ssid”:”FreeWifi_secure”},{“signal”:”-79.00 dBm”,”ssid”:”Livebox-5730”},{“signal”:”-78.00 dBm”,”ssid”:”ECOVACS0000”},{“signal”:””,”ssid”:”Bbox-D2BCDF74”}]

get_ip_address()

return the wifi wlan ipaddress

call_service(‘wifi’, ‘get_ip_address’)
String(“192.168.4.193”)

activate_ap(AP_SSID, AP_PASSWORD)

create an access point for the enrollment

1.1.2.5. Transfers service commands (service “transfer”)

Transfert service permit to transfert some elements from local to remote and associated

Command

Description

example

download(source_ref, sink_path)

download file from the remote repository to local sink_path

upload(source_ref, sink_path)

upload file/folder from the source_ref to remote sink_path

remove_on_remote(sink_path)

remove some file/folder on remote (used for message passing)

download_single_file(remote_ref, local_ref)

download a single file (without any browsing on remote)

http_request(url, method, headers, body)

send a single http request

1.1.2.6. eink commands (service eink)

Command

Description

example

hello

hello / test method to check connectivity

eink_display

first parameter is the BMP file to send to the screen

eink_display_svg(SVG_CONTENT)

render a given svg onto the screen

eink_display_template(SVG_FILE, JSON_ENCODED_PARAMETERS)

this render a templated svg, with the following parameters

eink_display_draw(DRAWINSTRUCTIONS, OUTPUT_EINK_FILE_PATH)

execute the json DRAWINSTRUCTIONS and generate an output eink file (that can be displayed using the eink_display function)

eink_display_test_colors()

display a test image

Several command example :

./admincli -c 'call_service("eink","eink_display_template","/home/use/projets/2024-07-17_rsiotnode/output/x64/apps/deployed_applications/supervisor-1.0/enrollment.svg", "[]")'

1.1.2.7. Scheduler commands (service “scheduler”)

the scheduler plugin is responsible for getting jobs to be done at a specific time, and monitoring the result.

Command

Description

example

get_jobs(ONLY_ACTIVES_JOBS)

return the job description, takes a boolean in parameter

get_jobs(False)

get_next_execution_time(JOBID)

return the next date for the job execution

get_next_execution_time(1)

get_next_execution_time_for_all_jobs()

return all the next execution date for all active jobs

get_next_execution_time_for_all_jobs()

commit_job_execution(job_id, executiontime, status, result)

commit the execution of a job,
job_id is a string identifying the job
execution time is the executed time, in string format (2024-09-19T00:00Z)
status is an integer

update_or_create_job(job_name, executed_expression,cron, activated )

Create or update a job with the associated elements

remove_job(job_name)

remove the given existing job

1.1.2.8. Monitoring commands (service “monitoring”)

Monitor plugin is responsible to grab actions from the central, and apply them , using the admin API.

Command

Description

example

upload_monitoring()

ask the service the status, and upload the monitoring status to the transmitted content.

process_administrative_commands()

download the administrative commands to process and execute them, the result will be located in the status folder, uploaded

1.1.2.9. NetworkManager commands (service “networkmanager”)

Command

Description

example

check_connectivity()

check if network is connected, by a specific mean

1.1.2.10. Bluetooth(BT), serial connection

there are no associated commands, the bluetooth is activated as the service is running (started), one can then connect to the device and send some commands.

1.1.2.11. GPIO Service, (service “gpio”)

The gpio service permit to activate some general purpose input/output from the device

Command

Description

example

set_gpio(gpio_number, gpio_value)

Define a gpio value (output)

get_gpio(gpio_number)

return the read value from gpio (configured as read pin)