May 3, 2023 | 3 min read How I set up condition-based maintenance in under two days By: Eric Wallace, C.E.T. Back to blog Note: this article was originally written by Jeffrey Dutschke and was updated in March 2023 by Eric Wallace, C.E.T. It’s easy to put condition-based maintenance on a pedestal. The idea that you can leave behind reactive maintenance and start scheduling work based on the real-time condition of assets is enticing, but also intimidating. How do you go from A to B, and is it worth the work? I decided to find out by challenging myself to connect a temperature sensor to the Fiix CMMS using the platform’s open API. Here’s the kicker— I wanted to complete the project in two days. Step 1: Gathering the tools for condition-based maintenance I wanted to mock up a simple machine integration using inexpensive equipment that might be realistically used in an industrial environment. I settled on a Beaglebone Black, a Linux-based microcontroller similar to an Arduino or Raspberry Pi, and an off-the-shelf TMP36 temperature sensor. The total combined cost came in at just under $60. My goal was straightforward: To send temperature data from the sensor to the CMMS and then use that data to trigger maintenance. TMP36 and BeagleBone Black setup Step 2: Connecting everything to Fiix First, I connected the temperature sensor to the Beaglebone with the help of a breadboard. Then I adapted some JavaScript code from Adafruit’s website to have the Beaglebone measure the temperature data outputted by the sensor, which has an output voltage proportional to temperature. And then came the critical part: Connecting the Beaglebone to the Fiix CMMS using the API client library. I followed the API instructions in the Fiix Developer’s Guide and configured Fiix to pull temperature data from the Beaglebone once every three seconds. After creating a dummy asset called “My Office” and assigning the temperature meter reading there, the integration was complete. The result was a continuous stream of temperature values recorded in the CMMS, each separated by about three seconds as shown in the image below: The stream of temperature readings A high-frequency sampling rate could cause slowdowns when deployed at scale (imagine hundreds of assets all pushing new readings every few seconds), but I wanted to see how well Fiix would work with the sensor so I selected an ambitious rate of three seconds. I didn’t get any slowdowns or missed readings, which was a good sign. Step 3: Scheduling maintenance with asset condition data These readings were a great proof-of-concept, but to make them really useful I wanted to setup a scheduled maintenance (SM) that would be automatically triggered by a high temperature. In the real world, this might be used to indicate that an air conditioner unit in my office had failed and should be inspected. I created a scheduled maintenance work order for “My Office” and set it to trigger anytime the temperature rose above 35 °C. The work instruction was fairly simple: “Inspect air conditioner – CMMS API experiment.” An SM set to trigger a work order when the temperature exceeds 35 degrees Celsius Step 4: Testing the final product To fool the sensor into thinking it was warmer than it really was, I pointed a hair dryer right at the sensor. Under the blast of hot air, the measured temperature rose and rose until, just as expected, a work order was generated. Success! In a real work environment, the technician would instantly receive a notification for the work order and could inspect the temperature readings directly from the CMMS mobile app. This happens automatically, without the involvement of a maintenance manager, operator, or office tenant at any time. The integration was working. Temperature datapoints quickly rising due to the hair dryer. The datapoint that triggers the scheduled maintenance is highlighted in yellow. The details of the datapoint that triggered the scheduled maintenance. More possibilities for Fiix integrations Spurred on by my success, I stared to think more about what was possible. In addition to temperature sensor integrations, other common integrations include voltage sensors, vibration sensors, and of course, PLCs. When it comes to vehicle sensor integrations, the possibilities are endless, with the potential to trigger work based on odometer readings, engine fault codes, or even GPS location. But besides using the meter readings to trigger work, maintenance technicians and reliability engineers could use the measurements records to help diagnose issues during a root cause analysis. In our air conditioner example, data from other sensors on the unit such as inlet/outlet air pressure sensors or humidity sensors could be pulled in to provide more information and help make a rapid diagnosis. And these are just the hardware integrations. I haven’t yet explored the software integrations with Fiix, like ERPs and MES systems. (Perhaps I’ll explore those in a future article.) For now, I hope you’ve found my little foray into Fiix sensor integrations helpful. I was happy with the result, and I appreciated the flexibility of the API and the way it made the question less “Can I integrate this?” and more “How can I integrate this?” Imagination and technical know-how are the only limit here. Here are the top three resources I relied on for my integrations project: Developer guide Step-by-step instructions to get started with the Fiix API. Client API reference Complete documentation on the inner workings of the API. Software developer kit API libraries to help with your development. To learn more, the Fiix Integrations page is a great place to start. (opens in new tab) (opens in new tab)