1<?php 2 3/* 4 * Sensor State discovery module for the CradlePoint WiPipe Platform 5 * 6 * © 2017 Chris A. Evans <thecityofguanyu@outlook.com> 7 * 8 * This program is free software: you can redistribute it and/or modify it 9 * under the terms of the GNU General Public License as published by the 10 * Free Software Foundation, either version 3 of the License, or (at your 11 * option) any later version. Please see LICENSE.txt at the top level of 12 * the source code distribution for details. 13 */ 14 15echo 'CradlePoint WiPipe'; 16 17foreach ($pre_cache['wipipe_oids'] as $index => $entry) { 18 // Modem Connection Status 19 if ($entry['mdmStatus']) { 20 $cur_oid = '.1.3.6.1.4.1.20992.1.2.2.1.5.'; 21 //Create State Index 22 $state_name = 'mdmStatus'; 23 $states = [ 24 ['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'established'], 25 ['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'establishing'], 26 ['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'ready'], 27 ['value' => 4, 'generic' => 2, 'graph' => 0, 'descr' => 'error'], 28 ['value' => 5, 'generic' => 2, 'graph' => 0, 'descr' => 'disconnected'], 29 ['value' => 6, 'generic' => 1, 'graph' => 0, 'descr' => 'disconnecting'], 30 ['value' => 7, 'generic' => 2, 'graph' => 0, 'descr' => 'suspended'], 31 ['value' => 8, 'generic' => 3, 'graph' => 0, 'descr' => 'empty'], 32 ['value' => 9, 'generic' => 3, 'graph' => 0, 'descr' => 'notconfigured'], 33 ['value' => 10, 'generic' => 1, 'graph' => 0, 'descr' => 'userstopped'], 34 ]; 35 create_state_index($state_name, $states); 36 37 // Get Modem Model & Phone Number for description 38 $modemdesc = $entry['mdmDescr']; 39 $modemmdn = $entry['mdmMDN']; 40 $descr = 'mdmStatus - ' . $modemdesc . ' - ' . $modemmdn; 41 //Discover Sensors 42 discover_sensor($valid['sensor'], 'state', $device, $cur_oid . $index, $index, $state_name, $descr, 1, 1, null, null, null, null, $entry['mdmStatus'], 'snmp', $index); 43 //Create Sensor To State Index 44 create_sensor_to_state_index($device, $state_name, $index); 45 } 46} 47// Device Firmware Upgrade Status 48$upgradestatus = snmpwalk_cache_oid($device, 'devFWUpgradeStatus', [], 'WIPIPE-MIB'); 49foreach ($upgradestatus as $index => $entry) { 50 $cur_oid = '.1.3.6.1.4.1.20992.1.1.4.'; 51 //Create State Index 52 $state_name = 'devFWUpgradeStatus'; 53 $states = [ 54 ['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'idle'], 55 ['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'upgrading'], 56 ['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'uptodate'], 57 ['value' => 4, 'generic' => 1, 'graph' => 0, 'descr' => 'updateAvail'], 58 ['value' => 5, 'generic' => 2, 'graph' => 0, 'descr' => 'failure'], 59 ]; 60 create_state_index($state_name, $states); 61 62 $descr = 'Firmware Upgrade Status'; 63 //Discover Sensors 64 discover_sensor($valid['sensor'], 'state', $device, $cur_oid . $index, $index, $state_name, $descr, 1, 1, null, null, null, null, $entry['devFWUpgradeStatus'], 'snmp', $index); 65 //Create Sensor To State Index 66 create_sensor_to_state_index($device, $state_name, $index); 67} 68