Waste station ============= A Waste Station is a stationary combination of multiple bins in one unit for collecting and separating different types of waste. For this purpose, a Waste Station consists of an amount of bins. Each bin can be color marked. A Waste Station is a device with one integrated sensor per bin to detect number of usage, filling level, and other data. Each sensor communicates with a server to send real-time raw data. The server collects, aggregates, analyzes and interprets this raw data and outputs detailed reports. Definitions ----------- - Total combined volume The sum of the individual bin volumes in liters *70l 110l* - Component specifications A list of bin specifications for each individual bin/ container - Average filling level Average filling level of the single bin in percentage *78%, 100%, 0%* - Average battery level Average battery level of the single bin in percentage *100%, 50%, 0%, ...* - Total input count The total of the waste input in the waste station *1002 times* - Component statuses A list of bin statuses for each individual bin/ container - Station expected next service The date when the complete waste station must be emptied *24.01.2020 15.27* - Average expected filling level The expected average filling level when the waste station must be emptied *98%, 100%* - Component diagnostics: A list of bin diagnostics for each individual bin/ container FDS compliance requirements --------------------------- Object model ^^^^^^^^^^^^ Specification object for the waste station device type """""""""""""""""""""""""""""""""""""""""""""""""""""" - the device information provider must provide a specification object that contains a device_type_specific object defined in the following diagram .. figure:: ../../_static/waste_station_specification_object_model.png :width: 100% - The channel element must be one of - "left" - "middle_left" - "middle_right" - "right" - "total" - When provided, the content_category element can be one of - "residual waste" - "paper waste" - "plastic waste" - "bio waste" Status object for the waste station device type """"""""""""""""""""""""""""""""""""""""""""""" - the device information provider must provide a status object that contains a device_type_specific object defined in the following diagram .. figure:: ../../_static/waste_station_status_object_model.png :width: 100% - When provided, the channel element, in the filling_level object, must be one of - "left" - "middle_left" - "middle_right" - "right" - "total" Statistic object for the waste station device type """""""""""""""""""""""""""""""""""""""""""""""""" .. note:: The Statistic object is not being defined for waste stations in FDS Version 2 Diagnostic object for the waste station device type """"""""""""""""""""""""""""""""""""""""""""""""""" - the device information provider must provide a status object that contains a device_type_specific object defined in the following diagram .. figure:: ../../_static/waste_station_diagnostic_object_model.png :width: 100% Web API (Pull Model) ^^^^^^^^^^^^^^^^^^^^ - The device information provider must expose the **specifications** endpoint to get the list of available devices and their specifications .. code-block:: GET https://{Device Information Provider URL}/fds/v2/specifications - The device information provider must expose the **statuses** endpoint to get the latest status for one or multiple devices .. code-block:: GET https://{Device Information Provider URL}/fds/v2/statuses .. note:: the **statistics** endpoint to expose the statistic information is not being defined for waste stations in FDS Version 2 A call to: .. code-block:: GET https://{Device Information Provider URL}/fds/v2/statistics must return an error object .. code-block:: json { "status": 204, "message": "not_implemented" } - The device information provider must expose the **diagnostics** endpoint to get the diagnostics object for one or multiple devices .. code-block:: GET https://{Device Information Provider URL}/fds/v2/diagnostics - The device information provider must expose the **POST** request on the **tag** endpoint to let a client application create a new tag .. code-block:: POST https://{Entity Information Provider URL}/fds/v2/tag - The device information provider must expose the **GET** request on the **tag** endpoint to provide the content of a tag .. code-block:: GET https://{Entity Information Provider URL}/fds/v2/tag - The device information provider must expose the **DELETE** request on the **tag** endpoint .. code-block:: DELETE https://{Entity Information Provider URL}/fds/v2/tag/ - The device information provider must expose the **PUT** request on the **tag//entities** endpoint .. code-block:: PUT https://{Entity Information Provider URL}/fds/v2/tag//entities - The device information provider must expose the **DELETE** request on the **tag//entities** endpoint .. code-block:: DELETE https://{Entity Information Provider URL}/fds/v2/tag//entities Publish/Subscribe (Push model) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Events """""" - The device information provider must publish the following alerts and notifications +--------------------------------+---------------------------------------+------------------+--------------------------------+ | Message code | Description | Message category | Message code specific object | +================================+=======================================+==================+================================+ | offline | The device is not communicating | notification | **last_contact** | +--------------------------------+---------------------------------------+------------------+--------------------------------+ | bin_overflow | The bin filling level is more than | Alert | None | | | 100% | | | +--------------------------------+---------------------------------------+------------------+--------------------------------+ | mold_detected | The device detected mold | Alert | None | +--------------------------------+---------------------------------------+------------------+--------------------------------+ Publish status information """""""""""""""""""""""""" The following data must be published by the manufacturer fds/v2///waste_station//status/average_filling_level payload: *average_filling_level* Publish diagnostics information """"""""""""""""""""""""""""""" The following data must be published by the manufacturer fds/v2///waste_station//diagnostics/last_service payload: *last_service* fds/v2///waste_station//diagnostics/station_expected_next_service payload: *station_expected_next_service*