<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="kehm.xsl"?>
<kehm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1" platform="VM606x" desc="Top level Health Status using KEHM" xsi:noNamespaceSchemaLocation="file:///etc/kehm/kehm.xsd">
  <health>ALARM</health>
  <previousHealth>ALARM</previousHealth>
  <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
  <sensorGroup id="0" type="vpd" desc="Vital Product Data">
    <health>WARNING</health>
    <previousHealth>WARNING</previousHealth>
    <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
    <sensor desc="CPU Board Manufacturer">
      <name>Board Manufacturer</name>
      <class>vpd</class>
      <domain>inventory</domain>
      <value>Kontron</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>Kontron</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>Kontron</maxValue>
      <minValue>Kontron</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>System EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetBoardInfo(boardManufacturer)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>CPU Board Manufacturer Name</infoText>
    </sensor>
    <sensor desc="CPU Board Name">
      <name>Board Name</name>
      <class>vpd</class>
      <domain>inventory</domain>
      <value>VM6062</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>VM6062</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>VM6062</maxValue>
      <minValue>VM6062</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>System EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>cat /sys/devices/platform/cpld/boardname</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>CPU Board Name</infoText>
    </sensor>
    <sensor desc="CPU Board Type">
      <name>Board Type</name>
      <class>vpd</class>
      <domain>inventory</domain>
      <value>VM6062-RA2G-10000000X</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>equal</operator>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>VM6062-RA2G-10000000X</maxValue>
      <minValue>VM6062-RA2G-10000000X</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>System EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>vpdtool --boardtype</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Exact CPU Board Type or Order Code</infoText>
    </sensor>
    <sensor desc="CPU Board Manufacturing Date">
      <name>Board Manufacturing Date</name>
      <class>vpd</class>
      <domain>inventory maintenance</domain>
      <value>Year 2020 Week 04</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>Year 2015</operandValue>
        </rule>
        <rule>
          <operator>greater</operator>
          <operandValue>Year 2099</operandValue>
        </rule>
      </warn>
      <maxValue>Year 2020 Week 04</maxValue>
      <minValue>Year 2020 Week 04</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>System EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>Serial=`dmidecode -s system-serial-number`;echo -n "Year 20";echo -n $Serial | cut -c3-4 -n | tr -d '\n';echo -n " Week ";echo -n $Serial | cut -n -c5-6</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Board Manufacturing date deduced from serial number. Format is Year yy Week ww </infoText>
    </sensor>
    <sensor desc="CPU Board Serial Number">
      <name>Board Serial Number</name>
      <class>vpd</class>
      <domain>inventory maintenance</domain>
      <value>1120041090233</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>equal</operator>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>15</operandValue>
        </rule>
      </warn>
      <maxValue>1120041090233</maxValue>
      <minValue>1120041090233</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>System EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>vpdtool --serialnumber</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>CPU Board Serial Number</infoText>
    </sensor>
    <sensor desc="CPU Board Level">
      <name>EC Level</name>
      <class>vpd</class>
      <domain>inventory maintenance</domain>
      <value>10008</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>equal</operator>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>10004A0</operandValue>
        </rule>
      </warn>
      <maxValue>10008</maxValue>
      <minValue>10008</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>System EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>vpdtool --eclevel</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>CPU Board Engineering Change Level. This is the board hardware Revision.</infoText>
    </sensor>
    <sensor desc="CPU Board Variant">
      <name>Variant</name>
      <class>vpd</class>
      <domain>inventory maintenance</domain>
      <value>08801052B0160674C902</value>
      <health>WARNING</health>
      <previousHealth>WARNING</previousHealth>
      <validity>VALID</validity>
      <action>Modify XML accordingly to your board configuration, check with vpdtool command</action>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>notequal</operator>
          <operandValue>00801021701600000000</operandValue>
        </rule>
      </warn>
      <maxValue>08801052B0160674C902</maxValue>
      <minValue>08801052B0160674C902</minValue>
      <alarmCount/>
      <warnCount>1</warnCount>
      <callCount>1</callCount>
      <position>System EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>vpdtool --variant</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>CPU Board variant. The variant indicates all the current board manufacturing options</infoText>
    </sensor>
    <sensor desc="CPU Board CPLD Version">
      <name>CPLD version</name>
      <class>vpd</class>
      <domain>inventory  maintenance</domain>
      <value>0x4</value>
      <health>WARNING</health>
      <previousHealth>WARNING</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>lesser</operator>
          <operandValue>0x5</operandValue>
        </rule>
      </warn>
      <maxValue>0x4</maxValue>
      <minValue>0x4</minValue>
      <alarmCount/>
      <warnCount>1</warnCount>
      <callCount>1</callCount>
      <position>CPLD register</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 0 | sed -n -e 's/.*Version=\(.*\)/\1/p'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Version of the on board logical controller programmable component</infoText>
    </sensor>
    <sensor desc="ETH0 MAC Address">
      <name>MACAdd_ETH0</name>
      <class>vpd</class>
      <domain>inventory maintenance security infrastructure</domain>
      <value>00:00:de:51:d3:de</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>00:00:de</operandValue>
        </rule>
        <rule>
          <operator>greater</operator>
          <operandValue>00:00:df</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>00:00:de:51:d3:de</maxValue>
      <minValue>00:00:de:51:d3:de</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>Ethernet EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>vpdtool --macaddr | grep eth0 | cut -d " " -f 2</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>MAC address of the ETH0 front panel Ethernet</infoText>
    </sensor>
    <sensor desc="ETH1 MAC Address">
      <name>MACAdd_ETH1</name>
      <class>vpd</class>
      <domain>inventory maintenance security infrastructure</domain>
      <value>00:00:de:51:d3:df</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>1</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>00:00:de</operandValue>
        </rule>
        <rule>
          <operator>greater</operator>
          <operandValue>00:00:df</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>00:00:de:51:d3:df</maxValue>
      <minValue>00:00:de:51:d3:df</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>Ethernet EEPROM</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>vpdtool --macaddr | grep eth1 | cut -d " " -f 2</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>MAC address of the ETH1 front panel Ethernet</infoText>
    </sensor>
  </sensorGroup>
  <sensorGroup id="1" type="version" desc="SW revisions">
    <health>SUCCESS</health>
    <previousHealth>SUCCESS</previousHealth>
    <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
    <sensor desc="Board BIOS Version">
      <name>BIOS Version</name>
      <class>version</class>
      <domain>inventory maintenance security safety</domain>
      <value>ID21019PCIEbaseaddr</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>ID16008</operandValue>
        </rule>
      </warn>
      <maxValue>ID21019PCIEbaseaddr</maxValue>
      <minValue>ID21019PCIEbaseaddr</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>BIOS System Flash</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetBoardInfo(firmwareVersion)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>VM6xxx Board BIOS ID Version</infoText>
    </sensor>
    <sensor desc="Board BIOS Date">
      <name>BIOS Date</name>
      <class>version</class>
      <domain>inventory maintenance security safety</domain>
      <value>2021-01-19 01:00:00</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>2021-01-19 01:00:00</maxValue>
      <minValue>2021-01-19 01:00:00</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>BIOS System Flash</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetBoardInfo(firmwareDate)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>BIOS build date format %Y-%m-%d %H:%M:%S</infoText>
    </sensor>
    <sensor desc="ID of Kontron BSP package">
      <name>BSP-ID</name>
      <class>version</class>
      <domain>inventory maintenance security safety</domain>
      <value>22206</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>16350</operandValue>
        </rule>
      </warn>
      <maxValue>22206</maxValue>
      <minValue>22206</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>sed -e 's+.*\([0-9]\{5\}\).*+\1+'   /etc/kvx_bsp_release</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Release ID of the installed BSP (5 digit YYDDD information)</infoText>
    </sensor>
    <sensor desc="kernel version and ID">
      <name>kernelVer</name>
      <class>version</class>
      <domain>inventory maintenance security</domain>
      <value>5.18.13-200.fc36.x86_64</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>3.18.3-15303.VX305x.fc21.x86_64</operandValue>
        </rule>
      </warn>
      <maxValue>5.18.13-200.fc36.x86_64</maxValue>
      <minValue>5.18.13-200.fc36.x86_64</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>uname -r</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Version and ID of the running kernel</infoText>
    </sensor>
    <sensor desc="kehm lib version and ID">
      <name>kehm Version</name>
      <class>version</class>
      <domain>inventory maintenance</domain>
      <value>1.5-22007</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>1.5-22007</maxValue>
      <minValue>1.5-22007</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>LANG=C;rpm -q -f /usr/include/kehm/kehm.h | sed s'/.x86_64//' | sed s'/kehm.//'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Version and ID of the KEHM library</infoText>
    </sensor>
  </sensorGroup>
  <sensorGroup id="2" type="information" desc="system information">
    <health>WARNING</health>
    <previousHealth>WARNING</previousHealth>
    <lastRefresh>2026-05-18 12:30:32:+0000:GMT</lastRefresh>
    <sensor desc="CPU name">
      <name>CPU name</name>
      <class>information</class>
      <domain>inventory maintenance operation</domain>
      <value>Intel(R) Pentium(R) CPU D1508 @ 2.20GHz</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>Intel(R) Pentium(R) CPU D1508 @ 2.20GHz</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>Intel(R) Pentium(R) CPU D1508 @ 2.20GHz</maxValue>
      <minValue>Intel(R) Pentium(R) CPU D1508 @ 2.20GHz</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPU of the Board</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetCpuInfo(cpuName)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>Mother Board CPU reference name</infoText>
    </sensor>
    <sensor desc="number of CPUs">
      <name>CPU count</name>
      <class>information</class>
      <domain>operation maintenance safety</domain>
      <value>1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>1</operandValue>
        </rule>
      </warn>
      <maxValue>1</maxValue>
      <minValue>1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPU of the Board</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetCpuInfo(cpuCount)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>Number of CPU on mother board</infoText>
    </sensor>
    <sensor desc="number of Core per CPUs">
      <name>Core count</name>
      <class>information</class>
      <domain>operation maintenance safety</domain>
      <value>2</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>2</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>2</maxValue>
      <minValue>2</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPU of the Board</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetCpuInfo(cpuCoreCount)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>Number of Core per CPU on mother board</infoText>
    </sensor>
    <sensor desc="number of CPU Threads">
      <name>Thread count</name>
      <class>information</class>
      <domain>operation maintenance safety</domain>
      <value>4</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>2</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>4</maxValue>
      <minValue>4</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetCpuInfo(cpuThreadCount)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>Number of CPU threads</infoText>
    </sensor>
    <sensor desc="Maximal CPU frequency in Hz">
      <name>Max CPU Freq (Hz)</name>
      <class>information</class>
      <domain>operation maintenance safety</domain>
      <value>2200000</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>1500000</operandValue>
        </rule>
      </warn>
      <maxValue>2200000</maxValue>
      <minValue>2200000</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPU of the Board</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetCpuFreq(KEAPI_CPU_FREQUENCY_MAX)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>Maximum supported CPU Frequency in Hz </infoText>
    </sensor>
    <sensor desc="Total RAM Memory size in MB">
      <name>RAM size (MB)</name>
      <class>information</class>
      <domain>operation maintenance safety</domain>
      <value>31894</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>7000</operandValue>
        </rule>
      </warn>
      <maxValue>31894</maxValue>
      <minValue>31894</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetMemoryInfo(memTotal)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>RAM Memory Size in GB</infoText>
    </sensor>
    <sensor desc="RAM Memory Frequency in Mhz">
      <name>Memory Freq (Mhz)</name>
      <class>information</class>
      <domain>operation maintenance safety</domain>
      <value>3200</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>1600</operandValue>
        </rule>
      </warn>
      <maxValue>3200</maxValue>
      <minValue>3200</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetMemoryInfo(memSpeed)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>string</returnType>
      <infoText>RAM Memory Frequency in MHz</infoText>
    </sensor>
    <sensor desc="RAM Memory type">
      <name>Memory Type</name>
      <class>information</class>
      <domain>operation maintenance</domain>
      <value> DDR4</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue> DDR4</maxValue>
      <minValue> DDR4</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>7518</callCount>
      <position>N/A</position>
      <refreshPeriod>600</refreshPeriod>
      <lastRefresh>2026-05-18 12:26:59:+0000:GMT</lastRefresh>
      <systemCall>dmidecode  -t 17 -q  | grep Type: | head -1 | cut -d: -f 2</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>RAM Memory Type</infoText>
    </sensor>
    <sensor desc="System Time Zone">
      <name>Time Zone</name>
      <class>information</class>
      <domain>operation security safety maintenance infrastructure</domain>
      <value>Europe/Paris</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>equal</operator>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>Europe/Paris</maxValue>
      <minValue>Europe/Paris</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>7518</callCount>
      <position>N/A</position>
      <refreshPeriod>600</refreshPeriod>
      <lastRefresh>2026-05-18 12:26:59:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";timedatectl | sed -n -e 's/.*zone: \([^ ]*\) .*$/\1/p'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>System current Time Zone setting</infoText>
    </sensor>
    <sensor desc="System Date">
      <name>UTC-Date</name>
      <class>information</class>
      <domain>operation security safety maintenance infrastructure</domain>
      <value>2026-05-18T12:30:32+00:00</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>2017</operandValue>
        </rule>
      </warn>
      <maxValue>2026-05-18T12:30:32+00:00</maxValue>
      <minValue>2026-03-26T14:05:04+00:00</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451375</callCount>
      <position>RTC of the Board</position>
      <refreshPeriod>0</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:32:+0000:GMT</lastRefresh>
      <systemCall>date --utc --iso-8601=seconds</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>System date format %Y-%m-%dT%H%M%S%z like 2017-05-12T14:38:47+0000</infoText>
    </sensor>
    <sensor desc="Boot string">
      <name>Boot string</name>
      <class>information</class>
      <domain>operation security safety maintenance</domain>
      <value>(hd0,gpt2)/vmlinuz-5.18.13-200.fc36.x86_64 root=UUID=610520e9-4364-45a0-844f-70c1b87c7a84 ro console=ttyS0,115200</value>
      <health>WARNING</health>
      <previousHealth>WARNING</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>notequal</operator>
          <operandValue>(hd0,gpt2)/vmlinuz-5.18.13-200.fc36.x86_64 root=UUID=610530e9-4364-45a0-844f-70c1b87c7a84 ro console=ttyS0,115200</operandValue>
        </rule>
      </warn>
      <maxValue>(hd0,gpt2)/vmlinuz-5.18.13-200.fc36.x86_64 root=UUID=610520e9-4364-45a0-844f-70c1b87c7a84 ro console=ttyS0,115200</maxValue>
      <minValue>(hd0,gpt2)/vmlinuz-5.18.13-200.fc36.x86_64 root=UUID=610520e9-4364-45a0-844f-70c1b87c7a84 ro console=ttyS0,115200</minValue>
      <alarmCount/>
      <warnCount>1</warnCount>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";awk -FGE= '{print $2}' /proc/cmdline</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Linux OS boot string</infoText>
    </sensor>
    <sensor desc="Logged Boots">
      <name>BootCount</name>
      <class>information</class>
      <domain>maintenance</domain>
      <value>10</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>true</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>1</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>10</maxValue>
      <minValue>10</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:21:+0000:GMT</lastRefresh>
      <systemCall>journalctl --list-boots | wc -l</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Counts Boot information blocs in system journal</infoText>
    </sensor>
    <sensor desc="Last Boot TimeStamp">
      <name>LastBootTS</name>
      <class>information</class>
      <domain>operation maintenance</domain>
      <value>2026-03-26 15:29:49</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>2026-03-26 15:29:49</maxValue>
      <minValue>2026-03-26 15:29:49</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:22:+0000:GMT</lastRefresh>
      <systemCall>uptime --since</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Last boot time stamp (this boot session)</infoText>
    </sensor>
    <sensor desc="Last logged in User">
      <name>Last logged in</name>
      <class>information</class>
      <domain>operation maintenance</domain>
      <value>reboot   system boot  5.18.13-200.fc36 Thu Mar 26 15:30   still running</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>reboot   system boot  5.18.13-200.fc36 Thu Mar 26 15:30   still running</maxValue>
      <minValue>reboot   system boot  5.18.13-200.fc36 Thu Mar 26 15:30   still running</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:32:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";last -n 1 | head -n 1</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Last logged in user</infoText>
    </sensor>
    <sensor desc="System Up Time">
      <name>UpTime</name>
      <class>information</class>
      <domain>operation maintenance</domain>
      <value>up 7 weeks, 3 days, 22 hours, 56 minutes</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>up 30 minutes</maxValue>
      <minValue>up 0 minutes</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>225521</callCount>
      <position>N/A</position>
      <refreshPeriod>20</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:22:+0000:GMT</lastRefresh>
      <systemCall>uptime -p</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>System Up Time since last boot</infoText>
    </sensor>
    <sensor desc="SELinux mode">
      <name>SELinux</name>
      <class>information</class>
      <domain>security</domain>
      <value>Enforcing</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>Enforcing</maxValue>
      <minValue>Enforcing</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>7518</callCount>
      <position/>
      <refreshPeriod>600</refreshPeriod>
      <lastRefresh>2026-05-18 12:26:59:+0000:GMT</lastRefresh>
      <systemCall>getenforce</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Current mode of SELinux</infoText>
    </sensor>
    <sensor desc="Firewall state">
      <name>Firewall</name>
      <class>information</class>
      <domain>security</domain>
      <value>running</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>running</maxValue>
      <minValue>running</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>7518</callCount>
      <position/>
      <refreshPeriod>600</refreshPeriod>
      <lastRefresh>2026-05-18 12:26:59:+0000:GMT</lastRefresh>
      <systemCall>(set +o pipefail; firewall-cmd --state; true) | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g"; exit 0</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Current state of the firewall. firewall-cmd(1) uses multiple return code, not following unix cmd conventions. Hence the 'set +o pipefail' in a subshell trick</infoText>
    </sensor>
    <sensor desc="Firewall open ports">
      <name>Firewall Open Ports</name>
      <class>information</class>
      <domain>security</domain>
      <value>7946/tcp 9511/tcp 4789/udp</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>7946/tcp 9511/tcp 4789/udp</maxValue>
      <minValue>7946/tcp 9511/tcp 4789/udp</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>7518</callCount>
      <position/>
      <refreshPeriod>600</refreshPeriod>
      <lastRefresh>2026-05-18 12:27:00:+0000:GMT</lastRefresh>
      <systemCall>(set +o pipefail; firewall-cmd --list-ports; true) | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g"; exit 0 </systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>List of firewalld open port. firewall-cmd(1) uses multiple return code and colored result, not following unix cmd conventions. Hence the 'set +o pipefail' in a subshell trick</infoText>
    </sensor>
  </sensorGroup>
  <sensorGroup id="3" type="temperature" desc="operating temp">
    <health>SUCCESS</health>
    <previousHealth>SUCCESS</previousHealth>
    <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
    <sensor desc="CPU Package Temperature in C">
      <name>ACPI-Core-Temp</name>
      <class>temperature</class>
      <domain>operation safety maintenance</domain>
      <value>42.0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>5</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>+99</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>0</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>5</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>+95</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2</operandValue>
        </rule>
      </warn>
      <maxValue>50.0</maxValue>
      <minValue>33.0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:32:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors coretemp-isa-0000 | sed -n -e 's/Package id 0:[^+*]*+\(.*\) C.* C.* C.*/\1/p'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>CPU Package temperature(Celsius), rules for SA board</infoText>
    </sensor>
    <sensor desc="CPU Core Temperature in C">
      <name>CPU-Temp</name>
      <class>temperature</class>
      <domain>operation safety maintenance</domain>
      <value>+42.0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>5</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>+99</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>0</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>5</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>+95</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2</operandValue>
        </rule>
      </warn>
      <maxValue>+50.0</maxValue>
      <minValue>+33.0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>Inside CPU core</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:32:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors coretemp-isa-0000 | grep "Core 0" | awk '{print $3}' | sed s/°C//</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>CPU (Core 0) temperature in Celsius (rules for SA board)</infoText>
    </sensor>
    <sensor desc="CPU Board Bottom Temperature 1 in C">
      <name>Board-Bottom1Temp</name>
      <class>temperature</class>
      <domain>operation safety maintenance</domain>
      <value>+37.0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>+70</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>0</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>+65</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2</operandValue>
        </rule>
      </warn>
      <maxValue>+42.0</maxValue>
      <minValue>+26.0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>Board Bottom side near center of front panel</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:32:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors nct7802y-i2c-*-28 | grep "LTD" | awk '{print $4}' | sed s/°C//</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>NCT7802y temperature on bottom side near RAM front side in Celsius (rules for SA board)</infoText>
    </sensor>
    <sensor desc="CPU Board Top Temperature (CPU side) in C">
      <name>Board-Top1Temp</name>
      <class>temperature</class>
      <domain>operation safety maintenance</domain>
      <value>+37.0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>+95</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>0</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>+90</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2</operandValue>
        </rule>
      </warn>
      <maxValue>+41.5</maxValue>
      <minValue>+25.8</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>Top of Board near CPU</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors lm73-i2c-*-48 | grep "LM73 sensor Temperature" | awk '{print $4}' | sed s/°C//</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Carrier Board LM73-1 temperature on Top of Board near the CPU SOC (rules for SA board)</infoText>
    </sensor>
    <sensor desc="CPU Board Bottom Temperature 2 in C">
      <name>Board-Bottom2Temp</name>
      <class>temperature</class>
      <domain>operation safety maintenance</domain>
      <value>+37.5</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>greater</operator>
          <operandValue>+95</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>0</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>greater</operator>
          <operandValue>+90</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2</operandValue>
        </rule>
      </warn>
      <maxValue>+42.0</maxValue>
      <minValue>-21.8</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>Bottom of Board near RAM</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors lm73-i2c-*-49 | grep "LM73 sensor Temperature" | awk '{print $4}' | sed s/°C//</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Carrier Board LM73-2 temperature on Bottom of Board near the RAM memory (rules for SA board)</infoText>
    </sensor>
    <sensor desc="CPU Board Top Temperature (XMC Side) in C ">
      <name>Board-Top-XMC-Temp</name>
      <class>temperature</class>
      <domain>operation safety maintenance</domain>
      <value>+30.5</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action>If XMC/PMC is plugged then adjust rules</action>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>greater</operator>
          <operandValue>+65</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>0</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>greater</operator>
          <operandValue>+62</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>+2</operandValue>
        </rule>
      </warn>
      <maxValue>+35.0</maxValue>
      <minValue>-20.2</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>Top of Board near XMC/PMC 1 slot</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors lm73-i2c-*-4a | grep "LM73 sensor Temperature" | awk '{print $4}' | sed s/°C//</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Carrier Board LM73-3 temperature on Top of Board near XMC/PMC 1 slot (rules for SA board), to be adjusted if XMC</infoText>
    </sensor>
  </sensorGroup>
  <sensorGroup id="4" type="voltages_currents" desc="operating voltage and current">
    <health>SUCCESS</health>
    <previousHealth>SUCCESS</previousHealth>
    <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
    <sensor desc="VME 12V Backplane">
      <name>VME 12V</name>
      <class>voltage</class>
      <domain>operation safety maintenance</domain>
      <value>12.13</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>13.32</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>10.44</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>13.10</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>10.6</operandValue>
        </rule>
      </warn>
      <maxValue>12.25</maxValue>
      <minValue>12.01</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>ADS sensor</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors ads7830-i2c-*-4b |  sed -n -e 's/.*12V.*VME.*://p'| awk '{ print $1 }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>12V VME value in Volt </infoText>
    </sensor>
    <sensor desc="VME 5V Backplane">
      <name>VME 5V</name>
      <class>voltage</class>
      <domain>operation safety maintenance</domain>
      <value>4.89</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>5.740</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>4.480</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>5.5</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>4.6</operandValue>
        </rule>
      </warn>
      <maxValue>4.92</maxValue>
      <minValue>4.82</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>ADS sensor</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors ads7830-i2c-*-4b | sed -n -e 's/.*5V.*VME.*://p'| awk '{ print $1 }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>5v VME value in Volt</infoText>
    </sensor>
    <sensor desc="VME 3V3 Backplane">
      <name>VME 3V3</name>
      <class>voltage</class>
      <domain>operation safety maintenance infrastructure</domain>
      <value>3.28</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>3.880</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2.860</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>3.6</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2.9</operandValue>
        </rule>
      </warn>
      <maxValue>3.30</maxValue>
      <minValue>3.26</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>ADS sensor</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors ads7830-i2c-*-4b | sed -n -e 's/.*3V3.*VME.*://p'| awk '{ print $1 }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>3.3v VME value in Volt</infoText>
    </sensor>
    <sensor desc="CPU Board 2V5">
      <name>2V5</name>
      <class>voltage</class>
      <domain>operation safety maintenance</domain>
      <value>2.56</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>2.700</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2.280</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>2.4</operandValue>
        </rule>
        <rule>
          <operator>greater</operator>
          <operandValue>2.6</operandValue>
        </rule>
      </warn>
      <maxValue>2.56</maxValue>
      <minValue>2.56</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>ADS sensor</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors ads7830-i2c-*-4b | sed -n -e 's/.*2V5.*://p'| awk '{ print $1 }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>2V5 CPU Board value in Volt</infoText>
    </sensor>
    <sensor desc="CPU Board 3V3SUS">
      <name>3V3SB</name>
      <class>voltage</class>
      <domain>operation safety maintenance</domain>
      <value>3.26</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>true</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>3.720</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>2.900</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>3.5</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>3.1</operandValue>
        </rule>
      </warn>
      <maxValue>3.28</maxValue>
      <minValue>3.26</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>ADS sensor</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors ads7830-i2c-*-4b | sed -n -e 's/.*3V3 SUS.*://p'| awk '{ print $1 }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>3V3 Standby value in Volt</infoText>
    </sensor>
    <sensor desc="CPU Board 1V5CPU">
      <name>1V5CPU</name>
      <class>voltage</class>
      <domain>operation safety maintenance</domain>
      <value>1.48</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>true</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>1.55</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>1.45</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>1.52</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>1.48</operandValue>
        </rule>
      </warn>
      <maxValue>1.49</maxValue>
      <minValue>1.48</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>ADS sensor</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors ads7830-i2c-*-4b | sed -n -e 's/.*1V5.*://p'| awk '{ print $1 }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>1V5 CPU value in Volt</infoText>
    </sensor>
    <sensor desc="CPU Board 1V05PCH">
      <name>1V05PCH</name>
      <class>voltage</class>
      <domain>operation safety maintenance</domain>
      <value>1.04</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>true</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>1.170</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>0.950</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>1.160</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>0.960</operandValue>
        </rule>
      </warn>
      <maxValue>1.04</maxValue>
      <minValue>1.04</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>ADS sensor</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors ads7830-i2c-*-4b | sed -n -e 's/.*1V05.*://p'| awk '{ print $1 }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>1V05 PCH value in Volt</infoText>
    </sensor>
    <sensor desc="CPU Board 1V7">
      <name>1V7</name>
      <class>voltage</class>
      <domain>operation safety maintenance</domain>
      <value>1.69</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>true</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>1.72</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>1.64</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>1.7</operandValue>
        </rule>
        <rule>
          <operator>lesser</operator>
          <operandValue>1.67</operandValue>
        </rule>
      </warn>
      <maxValue>1.69</maxValue>
      <minValue>1.68</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>ADS sensor</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";sensors ads7830-i2c-*-4b | sed -n -e 's/.*1V7 .*://p'| awk '{ print $1 }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>CPU Board 1V7 value in Volt</infoText>
    </sensor>
  </sensorGroup>
  <sensorGroup id="5" type="performance" desc="Performance">
    <health>SUCCESS</health>
    <previousHealth>SUCCESS</previousHealth>
    <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
    <sensor desc="System Load Average">
      <name>LoadAverage</name>
      <class>performance</class>
      <domain>operation safety</domain>
      <value>0.03</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action>Set your system load warnings and alerts according to min/max values recorded on a long period of system use</action>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>4.00</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>3.70</operandValue>
        </rule>
      </warn>
      <maxValue>2.27</maxValue>
      <minValue>0.00</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position/>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";awk '{printf $1}' /proc/loadavg</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>system load average on last minute according to /proc/loadavg. See https://en.wikipedia.org/wiki/Load_(computing) on how to use loadavg </infoText>
    </sensor>
    <sensor desc="RAM Load">
      <name>RAMLoad(%)</name>
      <class>performance</class>
      <domain>operation safety</domain>
      <value>2</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>98</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>90</operandValue>
        </rule>
      </warn>
      <maxValue>3</maxValue>
      <minValue>2</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";free | awk '/Mem/ {printf "%i\n", (100 - (($7*100)/($2)))}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Global RAM Load in percent from 0 to 100</infoText>
    </sensor>
  </sensorGroup>
  <sensorGroup id="6" type="devices" desc="Devices">
    <health>WARNING</health>
    <previousHealth>WARNING</previousHealth>
    <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
    <sensor desc="memory Correctable Error Type">
      <name>ECC Correction Type</name>
      <class>device</class>
      <domain>safety  maintenance</domain>
      <value>Single-bit</value>
      <health>WARNING</health>
      <previousHealth>WARNING</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>notequal</operator>
          <operandValue>Multi-bit</operandValue>
        </rule>
      </warn>
      <maxValue>Single-bit</maxValue>
      <minValue>Single-bit</minValue>
      <alarmCount/>
      <warnCount>1</warnCount>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";dmidecode -qt memory | grep "Error Correction" | awk '{print $4}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Supported ECC Memory Correctable Error Type on CPU Board</infoText>
    </sensor>
    <sensor desc="PBIT run">
      <name>PBIT Run</name>
      <class>device</class>
      <domain>safety  maintenance</domain>
      <value>NOT_RUN</value>
      <health>WARNING</health>
      <previousHealth>WARNING</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>notequal</operator>
          <operandValue>RUN</operandValue>
        </rule>
      </warn>
      <maxValue>NOT_RUN</maxValue>
      <minValue>NOT_RUN</minValue>
      <alarmCount/>
      <warnCount>1</warnCount>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>a=`cpldtool -d 2 | grep PBIT_RUN | cut -d "x" -f 2`;if [ $a == 0 ]; then echo "NOT_RUN"; else echo "RUN"; fi</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Indicate if PBIT have been launch at BIOS boot time</infoText>
    </sensor>
    <sensor desc="PBIT has FAILED">
      <name>PBIT Failed</name>
      <class>device</class>
      <domain>safety  maintenance</domain>
      <value>-</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>-</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>-</maxValue>
      <minValue>-</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>N/A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>a=`cpldtool -d 2 | grep PBIT_FAIL | cut -d "x" -f 2`;if [ $a == 0 ]; then echo "-"; else echo "FAILED"; fi</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Indicate if PBIT have FAILED at BIOS boot time</infoText>
    </sensor>
    <sensor desc="RTC battery FAIL">
      <name>RTC battery</name>
      <class>device</class>
      <domain>operation safety</domain>
      <value>0x0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action>Check RTC battery</action>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>0x0</operandValue>
        </rule>
      </warn>
      <maxValue>0x0</maxValue>
      <minValue>0x0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPLD register 0x03</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 0x03 | grep POST_RTC | awk -F"=" '{print $2}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>RTC oscillator bit Fail indication. If not zero this means the RTC alimentation has been lost due to low battery or battery absence</infoText>
    </sensor>
    <sensor desc="ETH0 Link Speed">
      <name>ETH0_Link_Speed</name>
      <class>device</class>
      <domain>operation infrastructure</domain>
      <value>1000</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>1000</operandValue>
        </rule>
      </warn>
      <maxValue>1000</maxValue>
      <minValue>1000</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>Front Side</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetNetworkDevice(0)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Current link speed for eth0, -1 means Link Down (front or back, depending on BIOS setting)</infoText>
    </sensor>
    <sensor desc="ETH1 Link Speed">
      <name>ETH1_Link_Speed</name>
      <class>device</class>
      <domain>operation infrastructure</domain>
      <value>-1</value>
      <health>WARNING</health>
      <previousHealth>WARNING</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence>150348</repeatOccurence>
        <rule>
          <operator>lesser</operator>
          <operandValue>1000</operandValue>
        </rule>
      </warn>
      <maxValue>-1</maxValue>
      <minValue>-1</minValue>
      <alarmCount/>
      <warnCount>150348</warnCount>
      <callCount>150348</callCount>
      <position>Front Side</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>KEApiGetNetworkDevice(1)</systemCall>
      <serviceFamily>KEAPI</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Current link speed for eth1, -1 means Link Down (front or back, depending on BIOS setting)</infoText>
    </sensor>
    <sensor desc="ETH0 TX-RX Error Rate">
      <name>ETH0_TX_RX_Error</name>
      <class>device</class>
      <domain>infrastructure maintenance</domain>
      <value>0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>50</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>30</operandValue>
        </rule>
      </warn>
      <maxValue>0</maxValue>
      <minValue>0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>Front Side of CPU Board</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>netstat -i -a | grep em0 | awk '{ if(($3+$7)==0){b=1}else{b=$3+$7}a=10000*($4+$5+$6+$8+$9+$10)/b; print a } END { if (NR==0)print NR }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Rate of TX+RX error on ETH0 (per 10K paquets)</infoText>
    </sensor>
    <sensor desc="ETH1 TX-RX Error Rate">
      <name>ETH1_TX_RX_Error</name>
      <class>device</class>
      <domain>infrastructure maintenance</domain>
      <value>0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>50</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>30</operandValue>
        </rule>
      </warn>
      <maxValue>0</maxValue>
      <minValue>0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>Front Side of CPU Board</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>netstat -i -a | grep em1 | awk '{ if(($3+$7)==0){b=1}else{b=$3+$7}a=10000*($4+$5+$6+$8+$9+$10)/b; print a } END { if (NR==0)print NR }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Rate of TX+RX error on ETH1 (per 10K paquets)</infoText>
    </sensor>
    <sensor desc="XMC1 presence">
      <name>XMC1 presence</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>YES</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>YES</maxValue>
      <minValue>YES</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>XMC slot A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 8 | awk 'BEGIN { ANS="NO" } ; /XMC1_PRESENT/  { ANS="YES" } ; END { print ANS ;}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Indicates if a XMC is connected on slot A</infoText>
    </sensor>
    <sensor desc="XMC2 presence">
      <name>XMC2 presence</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>YES</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>YES</maxValue>
      <minValue>YES</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>XMC slot B</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 8 | awk 'BEGIN { ANS="NO" } ; /XMC2_PRESENT/  { ANS="YES" } ; END { print ANS ;}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Indicates if a XMC is connected on slot B</infoText>
    </sensor>
    <sensor desc="PMC1 presence">
      <name>PMC1 presence</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>YES</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>YES</maxValue>
      <minValue>YES</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>PMC slot A</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 8 | awk 'BEGIN { ANS="NO" } ; /PMC1_PRESENT/  { ANS="YES" } ; END { print ANS ;}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Indicates if a PMC is connected on slot A</infoText>
    </sensor>
    <sensor desc="PMC2 presence">
      <name>PMC2 presence</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>YES</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>YES</maxValue>
      <minValue>YES</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>PMC slot B</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 8 | awk 'BEGIN { ANS="NO" } ; /PMC2_PRESENT/  { ANS="YES" } ; END { print ANS ;}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Indicates if a PMC is connected on slot B</infoText>
    </sensor>
    <sensor desc="Max of %space used in all mounted file systems">
      <name>%maxUsedFS</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value> 51</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>90</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>80</operandValue>
        </rule>
      </warn>
      <maxValue> 52</maxValue>
      <minValue> 51</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";df --output=pcent | sed -e's/%//g' | grep -v Use | awk '$0&gt;x{x=$0};END{print x}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Find max of % used of all Filesystems</infoText>
    </sensor>
    <sensor desc="USB Buffer Error">
      <name>USBBufError</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>-</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>-</operandValue>
        </rule>
      </warn>
      <maxValue>-</maxValue>
      <minValue>-</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>echo -`dmesg -T | grep -i error |  grep -i usb | head -n1`</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Check USB buffer error in dmesg</infoText>
    </sensor>
    <sensor desc="Internal Disk name">
      <name>Internal Disk Name</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>sda</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>equal</operator>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>sda</maxValue>
      <minValue>sda</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>Internal SATA Drive</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>lsblk --nodeps -no name /dev/sda</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Disk 0 reference name</infoText>
    </sensor>
    <sensor desc="Internal Disk model">
      <name>Internal Disk Model</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>M.2 (S42) 3ME4 ATA</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>equal</operator>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>M.2 (S42) 3ME4 ATA</maxValue>
      <minValue>M.2 (S42) 3ME4 ATA</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>Internal SATA Drive</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/block/sda/device/{model,vendor}`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Disk 0 reference model</infoText>
    </sensor>
    <sensor desc="Internal Disk size">
      <name>Internal Disk Size</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>29.8G</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>7.5G</operandValue>
        </rule>
      </warn>
      <maxValue>29.8G</maxValue>
      <minValue>29.8G</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>Internal SATA Drive</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";lsblk --nodeps -no size /dev/sda  | awk '{print $1}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>On board SATA Drive capacity size in GB</infoText>
    </sensor>
    <sensor desc="Logged System Warning">
      <name>SystemWarn</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>-</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>-</operandValue>
        </rule>
      </warn>
      <maxValue>-</maxValue>
      <minValue>-</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>225521</callCount>
      <position>N/A</position>
      <refreshPeriod>20</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:22:+0000:GMT</lastRefresh>
      <systemCall>echo -`dmesg -T | grep -i warning | grep -v "ACPI Warning:" | head -n 1`</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>First detected new warning in system log (dmesg), excluding known ACPI warning</infoText>
    </sensor>
    <sensor desc="Logged System Error">
      <name>SystemError</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>-</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>-</operandValue>
        </rule>
      </warn>
      <maxValue>-</maxValue>
      <minValue>-</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>225521</callCount>
      <position>N/A</position>
      <refreshPeriod>20</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:22:+0000:GMT</lastRefresh>
      <systemCall>echo -`dmesg -T | grep -i error | grep -v RAS | head -n 1`</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>First detected error in system log (dmesg)</infoText>
    </sensor>
    <sensor desc="Spurious Interrupts">
      <name>Spurious Interrupts</name>
      <class>device</class>
      <domain>operation safety security maintenance</domain>
      <value>0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>0</operandValue>
        </rule>
      </warn>
      <maxValue>0</maxValue>
      <minValue>0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";cat /proc/interrupts | grep Spurious | awk '{printf $2+$3+$4+$5}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Number of Spurious interrupts since last boot</infoText>
    </sensor>
  </sensorGroup>
  <sensorGroup id="7" type="states" desc="Other Info">
    <health>ALARM</health>
    <previousHealth>ALARM</previousHealth>
    <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
    <sensor desc="System Controller">
      <name>SYSCON</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>SYSCON</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>SYSCON</maxValue>
      <minValue>SYSCON</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPLD register</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>a=`cpldtool -d 0x5e | grep "SYSCON" | cut -d x -f 2`;if [ $a == 0 ]; then echo "SYSCON"; else echo "NOT SYSCON"; fi</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Indicate if the board is system Controller</infoText>
    </sensor>
    <sensor desc="Geo ID">
      <name>GEO ID</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>1</maxValue>
      <minValue>1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPLD register</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cat /proc/geo_id</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Geographical Slot position of the board</infoText>
    </sensor>
    <sensor desc="Last Reset Source">
      <name>Reset Source</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>POWER-ON</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>equal</operator>
          <operandValue>WATCHDOG RESET</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>equal</operator>
          <operandValue>SYSRESET</operandValue>
        </rule>
      </warn>
      <maxValue>POWER-ON</maxValue>
      <minValue>POWER-ON</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPLD register</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 72 | grep Reset_Source | awk -F"0x" '{if ($2 == 0) {print "POWER-ON"} else if ($2 == 1)  {print "WATCHDOG RESET"} else if ($2 == 2)  {print "SYSRESET"} else {print "LOCAL RESET"}}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Last Reset source: POWER-ON, WATCHDOG RESET, SYSRESET, LOCAL (or normal) RESET</infoText>
    </sensor>
    <sensor desc="Watchdog Mode">
      <name>Watchdog Mode</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>DISABLED</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>DISABLED</maxValue>
      <minValue>DISABLED</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>CPLD register</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>a=`port 0x856 | awk -F" = " '{print $2}'`; echo $(($a &amp; 0x7)) | awk '{if ($1 == 3) {print "RESET MODE"} else if ($1 == 5) {print "INTERRUPT MODE"} else if ($1 == 7) {print "POWERCYCLE MODE"} else  {print "DISABLED"}}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Indicate if watchdog is enabled or not and its mode</infoText>
    </sensor>
    <sensor desc="GPIO 1 Direction and Level Value">
      <name>GPIO1State</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>in 1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>in 1</maxValue>
      <minValue>in 1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <position>P0</position>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/cpld-gpio/gpio1/direction;cat /sys/class/cpld-gpio/gpio1/value`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>GPIO1 Direction and Level value</infoText>
    </sensor>
    <sensor desc="GPIO 2 Direction and Level Value">
      <name>GPIO2State</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>in 1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>in 1</maxValue>
      <minValue>in 1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <position>P0</position>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/cpld-gpio/gpio2/direction;cat /sys/class/cpld-gpio/gpio3/value`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>GPIO2 Direction and Level value</infoText>
    </sensor>
    <sensor desc="GPIO 3 Direction and Level Value">
      <name>GPIO3State</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>in 1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>in 1</maxValue>
      <minValue>in 1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <position>P0</position>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/cpld-gpio/gpio3/direction;cat /sys/class/cpld-gpio/gpio3/value`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>GPIO3 Direction and Level value</infoText>
    </sensor>
    <sensor desc="GPIO 4 Direction and Level Value">
      <name>GPIO4State</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>in 1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>in 1</maxValue>
      <minValue>in 1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <position>P0</position>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/cpld-gpio/gpio4/direction;cat /sys/class/cpld-gpio/gpio4/value`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>GGPIO4 Direction and Level value</infoText>
    </sensor>
    <sensor desc="GPIO 5 Direction and Level Value">
      <name>GPIO5State</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>in 1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>in 1</maxValue>
      <minValue>in 1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <position>P0</position>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/cpld-gpio/gpio5/direction;cat /sys/class/cpld-gpio/gpio5/value`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>GPIO5 Direction and Level value</infoText>
    </sensor>
    <sensor desc="GPIO 6 Direction and Level Value">
      <name>GPIO6State</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>in 1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>in 1</maxValue>
      <minValue>in 1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <position>P0</position>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/cpld-gpio/gpio6/direction;cat /sys/class/cpld-gpio/gpio6/value`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>GPIO6 Direction and Level value</infoText>
    </sensor>
    <sensor desc="GPIO 7 Direction and Level Value">
      <name>GPIO7State</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>in 1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>in 1</maxValue>
      <minValue>in 1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <position>P0</position>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/cpld-gpio/gpio7/direction;cat /sys/class/cpld-gpio/gpio7/value`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>GPIO7 Direction and Level value</infoText>
    </sensor>
    <sensor desc="GPIO 8 Direction and Level Value">
      <name>GPIO8State</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>in 1</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>in 1</maxValue>
      <minValue>in 1</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <position>P0</position>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>a=`cat /sys/class/cpld-gpio/gpio8/direction;cat /sys/class/cpld-gpio/gpio8/value`;echo $a</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>GPIO8 Direction and Level value</infoText>
    </sensor>
    <sensor desc="Micro switch checking">
      <name>Microswitches</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>0x00</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>0x00</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>0x00</maxValue>
      <minValue>0x00</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>1</callCount>
      <position>DIP Switch SW1</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 0xe | head -n 1 | awk -F" = " '{print $2}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Check if Microswitches SW1 are in operational mode (not in debug or factory mode ..) and Check User Micro siwtch are OFF</infoText>
    </sensor>
    <sensor desc="Write Protect">
      <name>Write Protect</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>0x02</value>
      <health>ALARM</health>
      <previousHealth>ALARM</previousHealth>
      <validity>VALID</validity>
      <action>Use cpldtool -H -d 9 for more information about the write protect situation</action>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>notequal</operator>
          <operandValue>0x06</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>0x02</maxValue>
      <minValue>0x02</minValue>
      <alarmCount>1</alarmCount>
      <warnCount/>
      <callCount>1</callCount>
      <position>DIP Switch SW1, SW2 or NVMRO</position>
      <refreshPeriod>-1</refreshPeriod>
      <lastRefresh>2026-03-26 14:30:23:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 0x9 | head -n 1 | awk -F" = " '{print $2}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Check if write protect is set on SSD, Flash or EEPROM and boot is on Master BIOS Flash</infoText>
    </sensor>
    <sensor desc="CPLD Alert">
      <name>CPLD ALert</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>0x00</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action>Enter command cpldtool -d 0x5b to see interpretation</action>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>notequal</operator>
          <operandValue>0x00</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>0x00</maxValue>
      <minValue>0x00</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>CPLD register 0x5b</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>cpldtool -d 0x5b | head -n 1 | awk -F" = " '{print $2}'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Check if there is a CPLD alert CATERR,THERMTRIP,THERM_PROT,PROCHOT,Board PECI alert,PCH_TEMP_ALERT</infoText>
    </sensor>
    <sensor desc="Running Processes">
      <name>Process Number</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>159</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition>1</repeatCondition>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>260</operandValue>
        </rule>
      </warn>
      <maxValue>175</maxValue>
      <minValue>156</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>ps -ef | wc -l</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Number of running processes</infoText>
    </sensor>
    <sensor desc="Free RAM memory Size in MB">
      <name>Free RAM Memory(MB)</name>
      <class>state</class>
      <domain>operation safety</domain>
      <value>31047</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>300</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>lesser</operator>
          <operandValue>600</operandValue>
        </rule>
      </warn>
      <maxValue>31174</maxValue>
      <minValue>30908</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>free -m -l | grep Mem | awk '{ print $7  }'</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Free amount of RAM Memory in MB</infoText>
    </sensor>
  </sensorGroup>
  <sensorGroup id="8" type="security" desc="System security">
    <health>SUCCESS</health>
    <previousHealth>SUCCESS</previousHealth>
    <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
    <sensor desc="Number of Actives network connections">
      <name>ActiveInternet</name>
      <class>state</class>
      <domain>security</domain>
      <value>0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence>1</repeatOccurence>
        <rule>
          <operator>greater</operator>
          <operandValue>2</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence>7</repeatOccurence>
        <rule>
          <operator>greater</operator>
          <operandValue>1</operandValue>
        </rule>
      </warn>
      <maxValue>4</maxValue>
      <minValue>0</minValue>
      <alarmCount>1</alarmCount>
      <warnCount>7</warnCount>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>LANG="C";ss -t -u | grep ESTAB | wc -l</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>string</returnType>
      <infoText>Number of active TCP and UDP connections. Should be 0</infoText>
    </sensor>
    <sensor desc="Number of Actives Users Sessions">
      <name>Active User(s) Session</name>
      <class>state</class>
      <domain>security</domain>
      <value>0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>1</operandValue>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator>greater</operator>
          <operandValue>0</operandValue>
        </rule>
      </warn>
      <maxValue>0</maxValue>
      <minValue>0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>150348</callCount>
      <position>N/A</position>
      <refreshPeriod>30</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <systemCall>who -u | wc -l</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Monitors remote and local logins. No user connection allowed in operation mode</infoText>
    </sensor>
    <sensor desc="Count of KEHM readings via http server">
      <name>kehmReadings</name>
      <class>state</class>
      <domain>security maintenance operation</domain>
      <value>0</value>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible>true</visible>
      <handler>CPU</handler>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <rule>
          <operator/>
          <operandValue/>
        </rule>
      </warn>
      <maxValue>0</maxValue>
      <minValue>0</minValue>
      <alarmCount/>
      <warnCount/>
      <callCount>7518</callCount>
      <position/>
      <refreshPeriod>600</refreshPeriod>
      <lastRefresh>2026-05-18 12:27:00:+0000:GMT</lastRefresh>
      <systemCall>journalctl --since="-d" "_SYSTEMD_UNIT=kehmhttp.service" | grep GET | grep xml | wc -l</systemCall>
      <serviceFamily>system</serviceFamily>
      <returnType>integer</returnType>
      <infoText>Counts of remote kehm RESULT file reads (grep Journal entries left by SimpleHTTPServer GET)</infoText>
    </sensor>
  </sensorGroup>
  <logicalSensor id="9" type="logicalSensor" desc="Logical Rule for Safety">
    <health>SUCCESS</health>
    <previousHealth>SUCCESS</previousHealth>
    <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
    <logicalRule desc="CPU Cooling Verifying">
      <name>CPUcooling</name>
      <class>logicalSensor</class>
      <domain>operation safety maintenance</domain>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible/>
      <log>false</log>
      <alarm>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <sensorID>
          <name>LoadAverage</name>
          <operator>lesser</operator>
          <operandValue>1.00</operandValue>
        </sensorID>
        <sensorID>
          <name>CPU-Temp</name>
          <operator>greater</operator>
          <operandValue>80</operandValue>
        </sensorID>
      </alarm>
      <warn>
        <repeatCondition>10</repeatCondition>
        <repeatOccurence/>
        <sensorID>
          <name>LoadAverage</name>
          <operator>lesser</operator>
          <operandValue>1.00</operandValue>
        </sensorID>
        <sensorID>
          <name>CPU-Temp</name>
          <operator>greater</operator>
          <operandValue>70</operandValue>
        </sensorID>
      </warn>
      <alarmCount/>
      <warnCount/>
      <callCount>225521</callCount>
      <refreshPeriod>20</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:22:+0000:GMT</lastRefresh>
      <infoText>Alarm state if LoadAverage.value less than 1.0 and CPUTemp.value greater than 80 and warn state if LoadAverage.value less than 1.0 and CPUTemp.value greater than 70 for 10 periods</infoText>
    </logicalRule>
    <logicalRule desc="Forbidden IO Combination">
      <name>GPIO_STATE</name>
      <class>logicalSensor</class>
      <domain>operation safety</domain>
      <health>SUCCESS</health>
      <previousHealth>SUCCESS</previousHealth>
      <validity>VALID</validity>
      <action/>
      <visible/>
      <log>false</log>
      <alarm>
        <repeatCondition/>
        <repeatOccurence/>
        <sensorID>
          <name>GPIO3State</name>
          <operator>equal</operator>
          <operandValue>in 0</operandValue>
        </sensorID>
        <sensorID>
          <name>GPIO3State</name>
          <operator>equal</operator>
          <operandValue>in 0</operandValue>
        </sensorID>
        <sensorID>
          <name>GPIO4State</name>
          <operator>equal</operator>
          <operandValue>in 1</operandValue>
        </sensorID>
        <sensorID>
          <name>GPIO5State</name>
          <operator>equal</operator>
          <operandValue>in 1</operandValue>
        </sensorID>
      </alarm>
      <warn>
        <repeatCondition/>
        <repeatOccurence/>
        <sensorID>
          <name>GPIO1State</name>
          <operator>equal</operator>
          <operandValue>in 1</operandValue>
        </sensorID>
        <sensorID>
          <name>GPIO4State</name>
          <operator>equal</operator>
          <operandValue>out 1</operandValue>
        </sensorID>
      </warn>
      <alarmCount/>
      <warnCount/>
      <callCount>451042</callCount>
      <refreshPeriod>10</refreshPeriod>
      <lastRefresh>2026-05-18 12:30:33:+0000:GMT</lastRefresh>
      <infoText>Alarm or warn state if forbidden GPIO level combination occurs. Just an example</infoText>
    </logicalRule>
  </logicalSensor>
</kehm>
