3.2. Cleaning machine
This section provides the API specifications for cleaning machines in a facility environment.
3.2.1. Definitions
3.2.1.1. Moving Equipment Generic Definitions
- Machine
A piece of mechanized mobile equipment with the purpose of executing a task
This scrubber is a great machine to clean our floor
This forklift is a powerful machine that requires training
A mop is not considered a machine because it doesn’t have any mechanical parts that performs cleaning on behalf of the cleaner
- Machine Type
- The task that the machine is built for
The type of machines this manufacturer builds is a cleaning machine
- Operating Mode
- The way that operators move and direct the machine
In this tender, the customer is only asking for machines with a ride-on operating mode
- Walk-behind
- A machine designed to be controlled by the operator walking behind and guiding the machine using its handle
Due to all the places I have to go where I can’t bring the machine, a walk-behind machine is the best option for me
- Ride-on
- A machine designed to be controlled by the operator sitting on the machine and using a steering and speed control mechanism to guide the machine
The seat on this ride-on machine is very comfortable
- Stand-on
- A machine designed to be controlled by the operator standing up on the machine and using a steering and speed control mechanism to guide the machine
Being able to stand on this machine instead of walking behind really helps my knees and my back.
- Canister
- A machine designed to be on wheels and manually pulled by the operator
This canister vacuum is so easy to drag behind me
- Backpack
- A machine designed to be carried by the operator
This backpack vacuum is so light that I don’t even feel I am carrying it on
- Upright
- A small machine designed to be pushed by the operator using a single-hand handle
This upright vacuum lets me vacuum the floor while I am pulling my cleaning cart
- Propel Mode
- The mechanism used to move a machine
I will use this machine only 5 minutes per day, so I think this manual-propelled version is the best propel mode for me
- Self-propelled
- The machine uses one or more drive motors and a speed-control mechanism to propel itself
Since I switched to a self-propelled walk-behind, my arms are not tired anymore
- Manual-propelled
- The machine is moved by an operator physically pushing, pulling, or carrying the machine
If you are looking for a truly zero-emission solution, this manual-propelled machine is your best option
- Power Mode
- The mechanism used to power all the mechanical functions on a machine
The specifications of this machine indicate that the power mode is battery-powered
- Battery-powered
- The power source of the machine is provided by batteries installed on the machine
I need a cordless machine so I will buy this 18V Li-Ion battery-powered version
- Electrical grid
- The power source of the machine is provided by a cord being plugged on the building’s electrical grid
I will always forget to charge the batteries, so I will stick with the corded version and plug it to the electrical grid
- Internal Combustion
- The power source of the machine is provided by an internal combustion engine
For this indoor application, propane is your only internal combustion option available
- Fuel Cell
- The power source of the machine is provided by fuel cells installed on the machine
The specifications of this machine indicate that the power mode is fuel cell
- Hybrid
- The machine is powered by a combination of multiple power sources
This machine is powered by a hybrid system of combustion engine and batteries
- Battery Type
- The type of battery installed on a machine
Wet Lead Acid Battery
AGM
Lithium Ion
The machine is manufactured with a wet lead acid battery pack
- Fuel Type
- The type of fuel for internal combustion engines
Gasoline
Diesel
LPG
This machine only runs on diesel fuel type
- Geolocation
- The last reported longitude and latitude coordinates of a machine
The last reported location of the machine was 44.9874N and 93.3521W
- Geolocation Timestamp
- The date-time the geolocation was last reported by the machine
As the machine records its geolocation hourly, the reported geolocation timestamp was 23:00 yesterday when the machine last contacted the back office at 23:30
- Geolocation Accuracy
- A pair of distances indicating that the reported geolocation is guaranteed to not be better than the shortest distance and to not be worse than the longest distance
In this building the geolocation accuracy won’t be better than 10m but for sure within 100m
- Health Status Timestamp
- The date-time the health status was last reported by the machine
As the machine records its health status hourly, the reported health status timestamp was 23:00 yesterday when the machine last contacted the back office at 23:30
- Health Status
- The overall health condition of the machine
Make sure that the status of the machine is operational before using it
- Operational
- The machine status indicating that the machine is in working order
I am happy to report that the machine has been operational for one year and counting
- Maintenance Required
- The machine status indicating that the machine has recorded some issues that don’t prevent the machine to perform its cleaning functions, and should require attention during the next service maintenance
The health status indicated that maintenance is required because the machine recorded that the vacuum air filter should be changed
- Defective
- The machine status indicating that the machine cannot be operated and requires assistance
Since the machine reported a defective status, I called the customer service immediately
- Unknown
- The machine status cannot be assessed properly at the time the status was recorded
Since the machine reported an unknown status, I contacted the operator to make sure everything was working correctly
- Charge Cycle
- An incrementing counter of continuous time periods when the batteries on a machine are being charged for battery-powered machines
We should start monitoring the batteries after 500 charge cycles
- Last Beginning of Charge
- The last date-time when the batteries are plugged to a charger and power is actively being delivered to the batteries (the charger is plugged to an electrical outlet)
The last charge cycle began at 22:30
- Last End of Charge
- The last date-time when the batteries are unplugged from a charger and power is no longer being delivered to the batteries (the charger is unplugged from an electrical outlet)
The last charge cycle ended at 6:00
- Last Charge Initial Level
- The percentage of charge at the beginning of the last charge cycle for battery powered machines
When the battery charger was plugged in, the initial charge level was 30%
- Last Charge Final Level
- The percentage of charge at the end of the last charge cycle for battery-powered machines
Always verify that the batteries are fully charged before operation every day with a 100% charge level
- Last Charge Start Time
- The date-time the last charge cycle reported by the machine started
The battery charger was plugged in to the machine at 8:25 this morning
- Last Charge End Time
- The date-time the last charge cycle reported by the machine ended
The battery charger was unplugged from the machine at 16:00 today
- Engine Health
- The health condition of the internal combustion engine
The engine health indicates that regular maintenance is required
- Oil Pressure
- The pressure measured in Pascal of the oil lubricant in an internal combustion engine
The normal oil pressure in the engine should be around 20,000 Pascal
- Coolant Temperature
- The temperature measured in degrees Celsius of the coolant fluid in an internal combustion engine
The normal coolant temperature of a running engine should be around 90 degrees Celsius
- RPM (Revolutions Per Minute)
- The RPM measures how fast an engine is running
The RPM of this engine should be kept below 5000
3.2.1.2. Cleaning machine definitions
- Cleaning Machine
A piece of mechanized mobile equipment with the purpose of executing a cleaning task
This scrubber is a great machine to clean our floor
My Roomba is a machine that is both a vacuum cleaner and a cat toy
- Cleaning Mode
- The specific method or methods provided by the machine to perform a cleaning task
The cleaning function of this machine is to vacuum
- Scrubber
- A machine with the cleaning function to separate and remove substances from a hard-surface floor by using the combination of brushes/pads and liquid to agitate and collect the substances
Look at how shiny this concrete floor is since I have been using this scrubber to clean it every night
- Sweeper
- A machine with the cleaning function to remove debris and residues form the floor by using counter-rotating brushes to collect and transfer debris from the floor to a hopper
This event was very messy. I have never seen so many cups, cans, paper towels and confetti but thanks to this industrial sweeper, we were able to clean this place in less than an hour
- Vacuum
- A machine with the cleaning function to remove debris, dust and residues from surfaces by using a suction mechanism
I love my cat but when she’s shedding, I must vacuum at least twice a day
- Wet-dry Vacuum
- A machine with the cleaning function to remove debris, dust, residues and liquids from surfaces by using a suction mechanism
This wet-dry vacuum is ideal to use in the locker room’s showers
- Extractor
- A machine with the cleaning function to restore carpet surface by using the combination of liquid, brushes, and strong suction to extract dirt incrusted in the carpet
With all the drinks and coffee spills, the greasy food that falls, and all the foot traffic that happen on a casino carpet, we need to use an extractor every day to restore the carpet
- Burnisher
- A machine with the cleaning function to polish a hard-surface floor by using pads rotating at high speed
For the gala tomorrow, we need the marble floor to be glossy, so don’t forget to use the burnisher tonight
- Pressure Washer
- A machine with the cleaning function to restore a hard surface by using very high-pressure sprayers
With all the rain and wet weather we had the last couple months, mold and moss is growing on the terrace. The pressure washer should clean all that in no time
- Steam Cleaner
- A machine with the cleaning function to separate and remove substances from a hard-surface floor by blowing high temperature steam
The scrubber could not remove the stain on the concrete floor. Fortunately, we also had a steam cleaner that took care of it in few minutes
- Multi-function Machine
- A machine that incorporates multiple cleaning functions
This new sweeper-scrubber will replace both the current sweeper and scrubber machines for our convention center
- Operating Period
- A continuous time sequence during which at least one motor is actuated
The scrubber has been operating non-stop for a period of 45 minutes before a dump & fill was required
- Productivity Period
- A continuous time sequence during which at least one drive motor and one cleaning function motor is actuated if it is a self-propelled machine, or a continuous time sequence during which at least one cleaning function motor if it is a manual-propelled machine
Although the machine had an operating period of 45 minutes, the productivity period during which it was cleaning the floor was only 30 minutes
- Propel Period
- A continuous time sequence during which only at least one drive motor is actuated and no cleaning function motor is actuated
The machine usually has to propel for a 15 minutes propel period from storage to where it needs to clean
- Idle Period
- A continuous time sequence during which no motors are actuated. Note: The Idle Period is independent to whether the machine is powered on or off
The machine was operating for 20 minutes, then stopped for an idle period of 10 minutes, and resumed operation for another operating period of 30 minutes
- Short Interruption Threshold
- A time threshold below which short motor interruptions are incorporated within an operating or productivity period
The operating period reported was 1 hour even though the machine had few short interruptions of about 10s during this hour. Since these interruptions were less than the short interruption threshold of 30s, they were not reported as idle periods
- Runtime
- The aggregation of all operating periods during a statistic date range
On Friday, the machine runtime was 3 hours 10 minutes 20 seconds between 6:00 and 17:00
- Cleaning Time
- The aggregation of all productivity periods during a statistic date range
Even though the machine runtime was 3 hours 10 minutes 20 seconds between 6:00 and 17:00, the actual cleaning time was 2 hours and 55 minutes during the same period
- Propel Time
- The aggregation of all propel periods during a statistic date range
The propel time was 10 minutes between 6:00 and 17:00
- Hour Meter
- The accumulated operating periods over the life of the machine
The machine reached 10,000 hours of good and reliable service on the hour meter
- Operating Start Time
- The beginning date-time of an operating period
There were 3 operating periods during this shift. The start time of the first operating period was 7:05:10…
- Operating End Time
- The end date-time of an operating period
… and the end time of the first operating period was 8:12:25
- Productivity Start Time
- The beginning date-time of a productivity period
The operator started cleaning right away since the productivity start time was also 7:05:10…
- Productivity End Time
- The end date-time of a productivity period
… but the productivity end time was 7:58:43 when the operator stopped cleaning to drive to the filling station
- Idle Start Time
- The beginning date-time of an idle period
The machine stopped for 12 minutes between the first and second operating period, therefore the idle start time was 8:12:25…
- Idle End Time
- The end date-time of an idle period
… and the idle end time was 8:24:25
- Start Runtime
- The first operating start time within the statistic date range. If the query start time is within an operating period, then the start runtime is the same as the query start time
The shift started at 7:00:00, and since the first operating start time was 7:05:10, then it was also the start runtime
- End Runtime
- The last operating end time within the statistic date range. If the query end time is within an operating period, then the end runtime is the same as the query end time
The shift ended at 15:00 and the runtime end was the time the last operating period ended which occurred at 14:17:00.
- Start Cleaning time
- The first productivity start time within the statistic date range. If the query start time is within a productivity period, then the start cleaning time is the same as the query start time
As previously mentioned, the operator started cleaning right away at 7:05:10
- End Cleaning time
- The last productivity end time within the statistic date range. If the query end time is within a productivity period, then the end cleaning time is the same as the query end time
Even though the last operating period ended at 14:17:00, the cleaning time ended 10 minutes earlier at 14:07:00
- Tank
- A container installed on a machine designed to hold liquids or solids
This scrubber has a fresh water tank of 50 liters
- Fresh Water
- A tank holding the fresh water or chemical solution used to clean the floor
This system can fill the fresh water tank in 30 seconds
- Dirty Water
- A tank holding dirty water retrieved from the floor
Please clean the dirty water tank thoroughly after a dump
- Detergent
- A tank holding detergent chemicals
Make sure to check the detergent tank before starting
- Hopper
- A tank holding debris and dirt from the floor collected by a sweeper
The hopper should be emptied in the dumpster
- Bag
- A tank holding debris and dirt from the floor usually collected by a vacuum
When the bag is full the machine stops vacuuming
- Fuel
- A tank holding fuel for Internal Combustion engine or fuel cell machines
Please replace the propane fuel tank at the end of your shift
- Tank Max Volume
- The maximum capacity of the tank
The max volume of the fresh water tank is 100 liters
- Tank Filling Volume
- The volume of the tank that is currently filled
There is a volume of 50 liters of dirty water in the tank
- Tank Filling Level
- The percentage of the tank that is currently filled
The fresh water tank level is 25% full
- Tank Status
- The operational status of the machine based on the tank level. It can be one of:
Operational: the tank has an appropriate operational level
Warning: action to refill or empty the tank required soon
Not Operational: action to refill or empty the tank required now and prevents operation of the machine
The status of the detergent tank should always be operational
- Tank Filling Timestamp
- The date-time the tank filling level and volume was last reported by the machine
The tank level reported was recorded by the machine with a tank filling timestamp of 15:30
3.2.2. Use cases
Note
Join FDS to get access to examples and use cases.
3.2.3. FDS compliance requirements
3.2.3.1. Object Model
3.2.3.1.1. Specification object for the cleaning machine device type
the device information provider must provide a specification object that contains a device_type_specific object defined in the following diagram

When provided, the operating mode must be one of
“walk_behind”
“ride_on”
“stand_on”
“canister”
“backpack”
“upright”
When provided, the propel mode must be one of
“self_propelled”
“manual_propelled”
When provided, the power mode must be one of
“battery”
“electrical_grid”
“internal_combustion”
“fuel_cell”
“hybrid”
When provided, the cleaning mode must be at least one of
“scrubber”
“sweeper”
“vacuum”
“extractor”
“burnisher”
“pressure_washer”
“steam”
When provided, the battery_type must be one of
“lead_acid”
“agm”
“lithium_ion”
When provided, the fuel type must be one of
“gasoline”
“diesel”
“lpg”
When provided, the tank type must be one of
“fresh_water”
“dirty_water”
“detergent”
“hopper”
“bag”
“fuel”
3.2.3.1.2. Status object for the cleaning machine device type
the device information provider must provide a status object that contains a device_type_specific object defined in the following diagram

3.2.3.1.3. Statistic object for the cleaning machine device type
the device information provider must provide a statistic object that contains a device_type_specific object defined in the following diagram

3.2.3.1.4. Diagnostic object for the cleaning machine device type
Note
The Diagnostic object is not being defined for cleaning machines in FDS Version 2
3.2.3.2. Web API (Pull Model)
The device information provider must expose the specifications endpoint to get the list of available devices and their specifications
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
GET https://{Device Information Provider URL}/fds/v2/statuses
The device information provider must expose the statistics endpoint to get the statistics for one or multiple devices
GET https://{Device Information Provider URL}/fds/v2/statistics
Note
the diagnostics endpoint to expose the prognostic and predictive information is not being defined for cleaning machines in FDS Version 2
A call to:
GET https://{Device Information Provider URL}/fds/v2/diagnostics
must return an error object
{
"status": 204,
"message": "not_implemented"
}
The device information provider must expose the POST request on the tag endpoint to let a client application create a new tag
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
GET https://{Entity Information Provider URL}/fds/v2/tag
The device information provider must expose the DELETE request on the tag endpoint
DELETE https://{Entity Information Provider URL}/fds/v2/tag/<tag_id>
The device information provider must expose the PUT request on the tag/<tag_id>/entities endpoint
PUT https://{Entity Information Provider URL}/fds/v2/tag/<tag_id>/entities
The device information provider must expose the DELETE request on the tag/<tag_id>/entities endpoint
DELETE https://{Entity Information Provider URL}/fds/v2/tag/<tag_id>/entities
3.2.3.3. Publish/Subscribe (Push model)
3.2.3.3.1. Events
The device information provider must publish the following alerts and notifications
Message code |
Description |
Message category |
Message code specific object |
---|---|---|---|
out_of_order |
The device is out of order and needs service intervention |
alert |
out_of_order_details property - array of information provider codes |
out_of_order_recovery |
The device is operational again following an out of order problem |
notification |
correlation_id property - UUID of out of order event |
regular_maintenance |
The device is due for its regular maintenance service |
notification |
None |
regular_maintenance_completed |
The regular device maintenance was performed |
notification |
correlation_id property - UUID of regular maintenance event |
impact |
An impact on the machine was detected |
notification |
None |
opportunity_charging |
An opportunity charging of a lead acid battery has been detected (battery not fully charged) |
notification |
opportunity_charge - Charge object |
offline |
The device is not communicating |
notification |
last_contact property |
charging_cycle_started |
The device has been put on charge |
notification |
charging_cycle property |
charging_cycle_stopped |
The device has been disconnected from the charger, or the charger provided an end of charge signal |
notification |
battery_level property |
3.2.3.3.2. Publish status information
Note
No status information is being published by cleaning machine device information providers in FDS Version 2
3.2.3.3.3. Publish predictive and prognostic information
Note
No predictive and prognostic information is being published by cleaning machine device information providers in FDS Version 2