Difference between revisions of "Commands: Functional Specification Openplat1.2"

From Gvp-public
Jump to navigation Jump to search
(Created page with "=== Commands === Commands will enable TV Open Platform operators to send orders toward selected STBs, ordering them to execute an action from a pre-defined command set. They w...")
 
(No difference)

Latest revision as of 12:14, 30 April 2020

Commands

Commands will enable TV Open Platform operators to send orders toward selected STBs, ordering them to execute an action from a pre-defined command set. They will be a powerful tool for operation and troubleshooting teams. The following are general requirements that apply to all commands supported by TV Open Platform. In next subsections we provide a description of the logic that must be implemented by each command and its specific parameters.

Generic requirements

These requirements are described with more detail at the following US:OPENPLAT-349 (Message Manager multi-OB support), OPENPLAT-312 (Message Manager validations), OPENPLAT-313, OPENPLAT-457 (Data transformation through TV Open Platform Enablers components) and OPENPLAT-342 (Command Cancellation).

  1. Message Manager must support sending toward OpenIPTV STBs the set of commands specified in this xls sheet (Commands tab).
  2. OB operators must be able to send commands toward OpenIPTV STBs from the following UIs:
    • E2E diagnosis tool (for CAT operators). Commands will be sent toward Message Manager through GVP DataHub (QoS).
    • QoS - Mariner (for local operation teams). Commands will be sent toward Message Manager through GVP DataHub (QoS).
    • GAL BSS component, for a limited set of commands which are currently published in UNICA API toward the OSS/BSS: ResetPin and ResetDevice, plus ReloadAccountStatus which will be used when the status of an account is changed in the OSS/BSS. GAL BSS is able to send these commands to unique STBs identified through their GUID.
  3. Each possible origin of commands (GVP DataHuB, MiB, GAL BSS) must identify itself, when creating the request toward TV Open Platform, using a unique SourceID so that the rest of the components involved (Message Manager, STB, DataHub) are able to track from which component the request came and process it accordingly. SourceID will be a single character, excluding special characters.
  4. When creating a command, all the sources will be able to configure a start and end time for the command (in UTC ISO-8601).
    Most requests coming from DataHub or GAL-BSS will be targeted to a specific STB and must be executed immediately. However, there are situations in which engineering teams might want to send a command to multiple STBs (eg. to regularize a local variable in the STBs). For these scenarios it might be useful to have an extended end time so that multiple STBs in the platform have time to receive and execute it.
  5. When creating the request toward Message Manager all sources must inform about the instance (OB) for which the command is configured. This will determine which InfoPush/Sprayer servers are to be used to deliver it.
  6. When creating the request toward Message Manager, all sources must generate a commandID which must be unique throughout the system. This ID will be used to track this specific command through all the components involved. The commandID will be an alphanumeric string of exactly 24 characters, excluding special characters, with zeros to the left.
  7. Message manager will return an error if any component tries to create two commands with the same commandID for the same instance and from the same component.
  8. Message Manager will support sending a command to two different device types (OpenIPTV and Hybrid) with the following limitation:
    • If an operator tries to send a command to an Hybrid STB and the delivery mechanism calculated by Message Manager is InfoPush, an error will be returned (InfoPush is not supported for Hybrid STBs).
    • If an operator tries to send a command to OpenIPTV and Hybrid STBs simultaneously and the delivery mechanisms calculated by Message Manager is InfoPush, the response will be OK but no Hybrid STB will receive the command.
  9. Once a command is sent toward Message Manager it won’t be possible to modify it.
  10. All commands must register, in GVP DataHub, the result of its execution through a BI event. Common data to be registered for all commands are the SourceID, STB ID, command type, command ID, success/error code and time (timestamp when the event happened at the STB; fixed-size;string with ISO 8601 datetime format, with precision up to miliseconds - if available - and time zone information as UTC offset) when the command was executed.
  11. For commands sent from GVP DataHub it is necessary to receive feedback, in real time, about the command execution. For commands sent from other modules it is not necessary to know their execution result in real time.
    As a consequence, it must be possible to configure, in the request sent toward Message Manager, whether the result of the command execution is to be stored in the BI event queue in the STB (and uploaded to the GVP DataHub following the usual BI event management process) or if it must be sent immediately toward the GVP DataHub.
  12. It must be possible to cancel a command once it is sent. In this scenario:
    • All the STBs that have already executed the command won’t execute it again.
    • All the STBs that are executing the command will finish its execution.
    • STBs that are in stand-by mode and have read the command from Sprayer/InfoPush will execute it (see this section).
    • STBs that are off won’t execute the command if they are turned on.
  13. When creating the request toward Message Manager, all parameters must be encoded in Form Data.

MIB BE Tools UI Requirements

The tool to manage IPTV Service will be TV QoS Tool; MiB BE Tools will be left to manage commercial offering exclusively. Therefore it is not necessary to provide, in MiB BE Tools, mechanisms to send commands toward OpenIPTV STBs.

MiB currently supports resetting PIN (parental, rental) for OTT devices. This operation is not synchronized with Mediaroom STBs. Operation and engineering teams have requested GVP development team to keep this behavior for OpenIPTV STBs. Pin reset for OpenIPTV STBs can be requested from OSS/BSS (through UNICA API) and TV QoS Tool only.

MIB GAL BSS Requirements

  1. MiB must support sending reset device requests from the OSS/BSS toward OpenIPTV STBs. When MiB receives a restartRequest from UNICA API, it must forward the request toward Message Manager. An OK response from Message Manager doesn't imply that the device has been restarted; it will just mean that the request has been forwarded successfully.
  2. MiB must support sending reset pin requests from the OSS/BSS toward OpenIPTV STBs.
    1. When MiB receives a rememberPasswordRequest from UNICA API, it must forward the request toward Message Manager.
    2. rememberPasswordRequests in UNICA API are sent for an account. MiB must obtain the list of active OpenIPTV STBs for the account and send this list in the request toward Message Manager.
    3. An OK response from Message Manager doesn't imply that the PINs have been reset successfully in all the STBs; it will just mean that the request has been forwarded successfully.

Client Software Upgrade

Command name: client_software_upgrade

Command-specific entry parameters:

  • version: information about the client software versions per STB model to be downloaded. Every version must included in token ClientCDNURL, into fw_list, to find bootcast-id xml file to download binary file. If this value is empty, it means that the STB must download the software version available in OPCH. Optional.
  • custom_spread_time: time value (in seconds) that STBs will use to randomly spread in time their download requests. If this value is empty, ClientUpgradeSpreadTime global value configured in OPCH will be used. Optional.

Command-specific parameters sent to GVP DataHub: This information depends on the results of the upgrade command.

  • In case an upgrade/downgrade of client version is done, no data is sent to DataHub
  • In case there is no need to change the client version, in the CMD/* event sent to DataHub the STB will inform about this situation.
  • In case an error occurs during the upgrade, in the CMD/* event sent to DataHub the STB will inform about the error.

Supported targets: it must be possible to send this command to one STB or to a list of STBs

Description: This command triggers the upgrade of the software version running in the STB to the one specified as an entry parameter in the request.

  • If the version is included into fw_list field of token ClientCDNURL and it's a different version than current in flash, STB will invalidate current flashed client, it will change boot mode to 7363 (download by HTTP) and will program an automatic reboot to allow bootloader to perform the update.
  • If the version is not included into fw_list, this command will have no effect.
  • If no software version is specified or it is then the STB must download the software version available in OPCH. STB will change boot mode to 7313 (download by OPCH) and will program an automatic reboot to allow bootloader to perform the update.

Detailed description of the upgrade process is to be found in STB Boot and Configurations.

Update Audio for Live Channel

Command name: update_audio_for_live_channel

Command-specific entry parameters:

  • channel_id: ID of the channel on which to force a specific audio language. Mandatory.
  • audio language in ISO 639-1 format. If this value is empty, this channel will return to its default audio language, specified in a local configuration variable; if this local configuration variable doesn’t exist then DefaultAudioLanguage will be used. Optional.

Command-specific parameters sent to GVP DataHub:

  • Audio language established for the channel.
  • ChannelID which audio language has been changed.

Supported targets: it must be possible to send this command to one STB.

Description: This command changes the configuration of the STB enforcing a certain audio language for a certain channel. It overwrites the configuration that might have been eventually set by the end user in the STBs UI. This configuration is stored in /tmp/ChannelSettings.ini internal file, so it is stored in volatile memory and it will be lost in every STB reboot.
Message Manager won’t validate that the channel_id corresponds to a valid id configured in the instance; it is the responsibility of the source of the command to perform this validation.

Update Variable

Command name: update_variable

Command-specific entry parameters:

  • variable: name of the STB’s local variable to be modified. Mandatory. List of available variables can be found here.
  • scope: remote, local. Mandatory.
  • value: new value to be assigned to the variable. Optional.

Command-specific parameters sent to GVP DataHub:

  • Name of the variable modified.
  • Value established for the variable.

Supported targets: it must be possible to send this command to one STB or to a list of STBs.

Description: This command enables external applications to manage variables in the STB. With a single command it is possible to create, update and/or remove a variable from the STB.

  • In case the variable already exists and a value is configured, then the local variable must be updated in the STB. This parameter configuration covers the “modify value” scenario.
  • In case the variable already exists and the value configured in the command is left empty, then the local variable must be removed from the STB. In this scenario, when a local variable is removed from the STB, the STB will apply the remote value when available, given the precedence rules defined in STB Boot and Configurations. This parameter configuration covers the “remove variable” scenario.
  • In case the variable name specified in the command doesn’t exist, a new local variable must be created with the name specified by the command and its value must be set to the one configured in the command. In this scenario both variable and value must be specified. This parameter configuration covers the “create variable” scenario.
  • Message Manager won’t validate that the variable is supported in the system. It is the responsibility of the source of the command to ensure to be managing a supported variable in the OpenIPTV STB. This way we are able to manage new variables that might eventually be added to the STB without having to generate a new version of this component.

Get Variable

Command name: get_variable

Command-specific entry parameters:

  • variable: name of the STB’s local variable to be retrieved; All. Mandatory. List of available variables can be found here.
  • scope: Remote, Local. Mandatory.

Command-specific parameters sent to GVP DataHub:

  • List of comma-separated values (name - value - scope).

Supported targets: it must be possible to send this command to one STB or to a list of STBs.

Description: This command enables TV Open Platform operators to retrieve the values of different variables existing in the STB. It is flexible to enable operators get the value of a single variable under study, or all the variables in the STB. It also enables operators to retrieve the variable’s value for different scopes, getting an snapshot of the STB’s current configuration (which might be useful for troubleshooting). Remote scope will return variable values contained in the STB file /flash/var/OpenSTB/DefaultSettings.ini and Local scope will return variable values contained in the STB file /flash/var/OpenSTB/CurrentSettings.ini.
Message Manager won’t validate that the variable is supported in the system. It is the responsibility of the source of the command to ensure to be managing a supported variable in the OpenIPTV STB. This way we are able to manage new variables that might eventually be added to the STB without having to generate a new version of this component.

Pendiente de analizar mecanismos de securización para esta comunicación, ya que puede ser que se envíe información sensible del usuario (p.ej. los valores de los PINes). Para IPTV puede no ser un requisite fuerte por tratarse de una red gestionada, pero para otro tipo de STBs (ej. hybrid) sí.

Reset Device

Command name: reset_device

Command-specific entry parameters: None

Command-specific parameters sent to GVP DataHub: None

Supported targets: it must be possible to send this command to one STB only.

Description:This command allows resetting a specific STB. Detailed description of the reset process is to be found in STB Boot and Configurations and STB boot sequence.

Channel Tune

Command name: channel_tune.

Command-specific entry parameters:

  • channel_id: ID of the channel to be tuned.

Command-specific parameters sent to GVP DataHub:

  • Channel id effectively tuned by the STB after the command execution.

Supported targets: it must be possible to send this command to one STB only.

Description: This command forces a STB to tune a specific channel. The channel can be specified either by its id. If the channel specified doesn’t exist in the channel map or if the end user doesn’t have playback grants then the command must return and error, and the UI will remain unchanged. Message Manager won’t validate that the channel_id corresponds to a valid id configured in the instance; it is the responsibility of the source of the command to perform this validation.

Open UI State

Command name: open_ui_state

Command-specific entry parameters:

  • ui_state: UI state to be loaded by the STB. Mandatory.
  • parameter: depends on the state selected (e.g. VoD asset number, category number, interactive app URL, etc). Optional.

Command-specific parameters sent to GVP DataHub:

  • ui_state and parameter effectively loaded by the STB.

Supported targets: it must be possible to send this command to one STB only.

Description: This command forces a STB to load a UI state; the page might be an internal page in the STB (list of supported pages to be provided by the STB development team) or a third party application.
Message Manager won’t validate that the ui_state corresponds to a page for which direct launch is supported; it is the responsibility of the source of the command to perform this validation. This way we can decouple this component from the STB evolution and order the opening of new ui states without generating a new version of the Message Manager. Additionally, Message Manager won't perform any validations on parameters; all of them are optional and it is the responsibility of the source of the command to provide them if necessary.

Available values for ui_state:

UI State Description Parameter
WELCOME_STATE Open Welcome Home page with focus on TV window N/A
ACCOUNT_STATE Open My Account section (former Settings section) with focus on first left side item (Subscriptions), and its content loaded on right side MenuIndex: Integer value indicating the left menu index (starting at 0) to be opened. The section this menu item corresponds to is determined by the content in the OPCH token OPCHToken_SettingsMenuLayout.
MINIGUIDE_STATE Open miniguide view with current program and channel selected N/A
GUIDE_STATE Open full guide (Grid view) with current program and channel selected channelId: MiB ID of the channel that will be focused after navigating to full guide page.
ONNOWGUIDE_STATE Open On Now Guide view with current program and channel selected N/A
INFO_STATE Open Information page for LIVE and VOD contents contentId: ID of the content
CONTENT_TREE_STATE Open Content Areas (Tematic Areas, Providers, Rentals, Recommendations) with default focus as defined in the UI vodCategory: Identifies the MiB channel that contains the content to be shown.
ISERVICES_STATE Open Applications main board or load external Third Party applications applicationUrl: URL for QML application.
To open a specific application url, parameter should be sent without http:// prefix (ex. files.paytvlabs.com.br/snake/snake.qml).
To open the container, just omit the applicationUrl parameter.
SEARCH_STATE Open Search page N/A
MYCONTENT_STATE Open My Content section MenuIndex: Integer value indicating the left menu index (starting at 0) to be opened. Current supported options are:
0: My Rented
1: My List
2: Recent
3: My Recordings
4: My Channels
5: Adult
SUBSCRIPTION_DETAIL_STATE Open Suscription page SubscriptionPid: String value with SUB prefix as exported by ContentAPI (SUB[ID] see this link)

Remote Certification

Command name: remote_certification
Command-specific entry parameters:

  • index: identifies the multicast address, from those configured in OPCH variable CertificationConfig => testChannels, the STB must use for multicast test. Mandatory.

Command-specific parameters sent to GVP DataHub: N/A
Supported targets: it must be possible to send this command to one STB only.
Description: This command triggers the remote certification process in the STB. This process will execute two actions: tune a multicast channel for a specified time (defined in OPCH variable CertificationConfig => liveTestTime) and download an image. The purpose of these two actions is to test that both multicast and unicast interfaces work correctly. As a result, a CER/execution event will be sent toward GVP Data Hub with the appropriate data.

Pin Reset

Command name: pin_reset
Command-specific entry parameters:

  • Type of PIN to be updated: parental, rental. Mandatory.
  • New value for each PIN. If not specified, the corresponding PIN will be set to its default value (which can be retrieved by the STB from MiB using UNIAPI GetDefaultOBPinNumber). Optional.

Command-specific parameters sent to GVP DataHub: None
Supported targets: it must be possible to send this command to one STB or one account (to reset the PINs from all the STBs in the account)

Description:

  1. Message Manager should validate that the mandatory entry parameters are properly filled. The only mandatory parameter is the type of PIN(s) to be updated. In case it is not filled the request must be rejected with the proper error code.
  2. In case the request is sent to an account, it must be forwarded to all STBs in the account. This filtering will be done before creating the request toward Message Manager; in any case, Message Manager will receive the list of STBs.
  3. When the STB receives the command, in case the new value for a PIN is not sent, then the STB must retrieve the default value from UNIAPI using GetDefaultOBPinNumber method.

Flush Event Queue

Command name: flush_event_queue

Command-specific entry parameters:

  • reset_qos_counters: specifies if the STB has to reset the QoS counters after executing the command. Optional.
  • custom_spread_time: time value (in seconds) that STBs will use to randomly spread in time the data push toward GVP Data Hub. If this value is empty data will be sent immediately. Optional.

Command-specific parameters sent to GVP DataHub: None

Supported targets: it must be possible to send this command to one or many STBs.

Description: This command can be used to retrieve, in near-real time, complete information about the status of a STB or a set of STBs. When OpenIPTV STBs receive this command they will send the BI events stored in their local buffer toward GVP Data Hub together with the QoS counters.

Once the BI events are sent, the local BI Event buffer must be emptied and the STB counters related to BI events must be reset (number of events, load period). Regarding QoS counters, depending on the command configuration the STB will reset them or not. If not configured, default behaviour will be not to reset the QoS counters.

It will be possible to configure a spread time to avoid collapsing GVP Data Hub with BI and QoS data from multiple STBs. If spread time is not configured, the STBs will send the information immediately; otherwise they will apply a randomly spread delay before sending data to GVP Data Hub.

Get QoS Status

Command name: get_qos_status

Command-specific entry parameters:

  • counter_type: specifies the set of static data counters to be sent to Data Hub. Mandatory
    • config: (STA/device-kpis-config)
Event Name Description
parental_pin Parental PIN configured
vsa_fcc_prim_server VSA primary server used for FCC. Empty or zero value disables FCC.
vsa_ret_prim_server VSA primary server used for RET. Empty or zero value disables RET.
vsa_fcc_sec_server VSA secondary server used for FCC
vsa_ret_sec_server VSA secondary server used for RET
volume Current volume, in percentage
Mute Mute status (true=enable;false=disabled)
zoom_mode How to scale content. Possible values are ORIGINAL, ZOOM or FULLSCREEN
analog_video_mode Standard used for analog video
dolby_enabled Indicates that we should bypass Dolby audio data to HDMI instead of downmixing it
default_audio User selection for default audio language
default_subtitle User selection for default subtitle
parental_rating User selected parental rating
hdmi_connected This parameter indicates if HDMI output is in use (true/false).
rca_connected This parameter indicates if RCA output is in use (true/false)
    • state: (STA/device-kpis-state)
Event Name Description
ui_state Current UI state. Screen currently displayed on TV
last_channel_tuned Last channel that has been tuned by the end user (identified by MiB’s channel_id;
must be the same id than the one sent in LIV/netw-play event).
reminders Number of scheduled reminders
load_avg CPU load average for 1, 5 and 10 minutes
memory_total System total amount of memory in bytes
memory_free System free memory in bytes
allocated_physycal_memory Total amount of memory allocated in bytes
active_network_if Network interface currently active
epg_file_id Last EPG FileID received
dvbipi_last_notify Date/time from last DVB-IPI notification
boot_rom_version Version number of the boot ROM (bootloader)
sw_version Current software version
uptime Number of seconds since last boot
standby Indicates if the STB is in standby or not (boolean; true = standby on; false = standby off)
geographic_area Geographic area the account belongs to. Received from GVP
    • hdmi: (STA/device-kpis-hdmi)
Event Name Description
format Current HDMI output format
hdmi_preferedformat Prefered format reported by TV
audio_mode Indicates how audio is handled by HDMI (downmix or bypass)
aspect_ratio Aspect ratio used
model Device TV model, as reported by HDMI
manufacturer Device TV manufacturer, as reported by HDMI
    • pvr: (STA/device-kpis-pvr)
Event Name Description
is_local_pvr If current STB is an enabled PVR, announcing itself in LAN
pvr_capability True if STB is connected to the Master DVR of the account
schedules Total number of schedule objects in middleware. Includes both series and single events.
Episodes are counted as a single entry. Returns data from multiroom PVR
hdd_usage HDD usage in percentage. Returns data from multiroom PVR
hdd_free Indicates the remaining free space in the hard disk
hdd_size Indicates total size of the hard disk
    • wifi: (STA/STA/device-kpis-wifi)
Event Name Description
rssi Router RSSI connection
channel_interference Wifi interferences in the same channel or adjacents
physical_rate Transfer physical rate


    • all (STA/device-kpis-config, STA/device-kpis-state, STA/device-kpis-hdmi, STA/device-kpis-pvr, STA/device-kpis-wifi)
  • reset_qos_counters: specifies if the STB has to reset the QoS counters after executing the command. Optional.
  • custom_spread_time: time value (in seconds) that STBs will use to randomly spread in time the data push toward GVP Data Hub. If this value is empty data will be sent immediately. Optional.

Command-specific parameters sent to GVP DataHub: None

Supported targets: it must be possible to send this command to one or many STBs.

Description: This command can be used to retrieve, in near-real time, QoS information from a STB or a set of STBs. When OpenIPTV STBs receive this command they will send the requested QoS counters toward GVP Data Hub. Depending on the command configuration (resetQoSCounters) the STB will afterwards reset the affected counters or not. If not specified default behaviour will be not to reset the QoS counters.

It will be possible to configure a spread time to avoid collapsing GVP Data Hub with QoS data from multiple STBs. If spread time is not configured, the STBs will send the information immediately; otherwise they will apply a randomly spread delay before sending data to GVP Data Hub.

Message Manager won’t validate the the counter_type requested belongs to a pre-defined list. This way we enable defining new counters sets without having to evolve this component.

Reload Account Status

Command name: reload_account_status

Command-specific entry parameters:

  • custom_spread_time: time value (in seconds) that STBs will use to randomly spread in time the requests toward UNIAPI. If this value is empty the request will be done immediately. Optional.

Command-specific parameters sent to GVP DataHub: None

Supported targets: it must be possible to send this command to one or many STBs.

Description: This command instructs a STB to refresh its account data (using UNIAPI) and update its behaviour accordingly. It will be possible to configure a spread time to avoid collapsing UNIAPI with multiple requests in case the command is sent to a high number of STBs.

Pendiente disponer de una lista de parámetros de cuenta que se podrán cambiar en caliente y cuáles no. Lo tiene que proporcionar el equipo de GVT.

Get Recordings (from STB R2 onwards)

Command name: get_recordings

Command-specific entry parameters: None

Command-specific parameters sent to GVP DataHub: List of finished recordings stored in the STB.

Supported targets: it must be possible to send this command to one STB.

Description: This command can be used to retrieve the list of finished recordings available in a DVR-enabled STB. When invoked on a diskless STB it won’t send data toward GVP Data Hub but an error code in the command’s result. When invoked on a DVR STB it will send a BI record toward GVP Data Hub containing the list of finished recordings available in the hard disk. Each recording will be identified by a recording ID and will contain information about its duration.

Delete Recording (from STB R2 onwards)

Command name: delete_recording

Command-specific entry parameters:

  • recording_id: unique identifier of the recording to be removed from the STB. Mandatory

Command-specific parameters sent to GVP DataHub: None

Supported targets: it must be possible to send this command to one STB.

Description: This command can be used to remove a recording (identified by a recording ID previously retrieved using GetRecordings command) from a DVR-enabled STB. When invoked on a diskless STB the corresponding error code will be returned.

Schedule Manual Recording (from STB R2 onwards)

Command name: schedule_manual_recording
Command-specific entry parameters:

  • channel_id: unique identifier of the channel to be recorded. Mandatory.
  • start_recording: start time of the recording in UTC ISO-8601 format (%Y-%m-%dT%H:%M:%SZ). Mandatory.
  • end_recording: end time of the recording in UTC ISO-8601 format (%Y-%m-%dT%H:%M:%SZ). Mandatory.

Command-specific parameters sent to GVP DataHub: None

Supported targets: it must be possible to send this command to one STB.

Description: This command can be used to instruct a DVR-enabled STB to record a channel during the period specified between start and end time. In case the command is sent to a diskless STB no recording will be scheduled and an error code will be returned; in case the command orders a recording on a channel without DVR grants the corresponding error code will be returned. The command result will be sent as soon as the recording is scheduled; it is not necessary to wait until the recording is finished to send this information.
Message Manager won’t validate that the channel_id is effectively configured for the instance.
Both start and end recording dates are sent in UTC ISO-8601 format. It is the STB's responsibility to translate this UTC time to the local time where the STB is effectively located.

Flush EPG

Command name: flush_epg

Command-specific entry parameters: None

Command-specific parameters sent to GVP DataHub: None

Supported targets: it must be possible to send this command to one STB or to a small list of STBs. It doesn’t make sense sending this command through multicast (although the platform will support it).

Description: This command can be used to instruct a STB to remove all EPG data and retrieve it again from the multicast DVB-IPI channels. The STB will send an event toward DataHub once the EPG data is removed, and other event when new data is loaded again; the second event will carry information about the EPGFileId loaded.


Commands behavior depending on the STB's status

When receiving a command, the STB might be in one of these statuses: ON, OFF, STBY.
If the STB is ON it will execute the command as soon as possible (this will depend on the tasks the STB might be performing when receiving the request).
If the STB is OFF it won't execute anything. When the STB is turned on, if the command is still active, it will be executed as soon as possible (once the startup process is finished and other might-be more important tasks have been executed).
If the STB is in STBY the proposal is to execute the command without exiting STBY status (i.e. the end user must be unaware of the command being executed). The exceptions to this general rule are the channel_tune and the open_ui_state commands. The following table presents the behavior defined for the commands currently supported by Graphene devices.

Command STB Behavior in STBY
client_software_upgrade As requested by product team in GTV-84 the upgrade must be executed once the recordings that might be taking place are over, without any warning to the end user.
update_audio_for_live_channel The command is executed without any change in the UI (the STB remains in STBY)
update_variable The command is executed without any change in the UI (the STB remains in STBY)
get_variable The command is executed without any change in the UI (the STB remains in STBY)
reset_device As requested by product team in GTV-84 the reset must be done immediately, regardless recording status of the STB, and without any warning to the end user.
open_ui_state The command is not executed if the STB is in STBY.
remote_certification The command is executed without any change in the UI (the STB remains in STBY)
pin_reset The command is executed without any change in the UI (the STB remains in STBY)
flush_event_queue The command is executed without any change in the UI (the STB remains in STBY)
reload_account_status The command is executed without any change in the UI (the STB remains in STBY)
get_qos_status The command is executed without any change in the UI (the STB remains in STBY)
flush_epg The command is executed without any change in the UI (the STB remains in STBY)