예제 #1
0
 public static function createFromDef($_def)
 {
     if (!isset($_def['packettype']) || !isset($_def['subtype']) || !isset($_def['id'])) {
         log::add('rfxcom', 'error', 'Information manquante pour ajouter l\'équipement : ' . print_r($_def, true));
         return;
     }
     $device = self::devicesParameters($_def['packettype']);
     if (!isset($device['subtype'][$_def['subtype']])) {
         log::add('rfxcom', 'info', 'Sous-type non trouvé : ' . print_r($_def, true) . ' dans : ' . print_r($device, true));
         return;
     }
     $rfxcom = rfxcom::byLogicalId($_def['id'], 'rfxcom');
     if (count($rfxcom) > 0) {
         $rfxcom = $rfxcom[0];
     }
     if (!is_object($rfxcom)) {
         $eqLogic = new rfxcom();
         $eqLogic->setName($_def['id']);
     }
     $eqLogic->setLogicalId($_def['id']);
     $eqLogic->setEqType_name('rfxcom');
     $eqLogic->setIsEnable(1);
     $eqLogic->setIsVisible(1);
     $eqLogic->setConfiguration('device', $_def['packettype'] . '::' . $_def['subtype']);
     $eqLogic->save();
     $eqLogic->applyModuleConfiguration();
 }