Add Wifi Planning API

This commit is contained in:
alphayax 2016-06-08 19:39:33 +02:00
parent f8abc7a9c4
commit 93bb59165d
4 changed files with 101 additions and 2 deletions

View File

@ -88,6 +88,7 @@ Jusqu'a présent, les fonctionalités suivantes ont été implémentées :
- Radar
- Channel Usage
- BSS
- Planning
## Utilisation

View File

@ -15,9 +15,9 @@ print_r( $a);
*/
/*
$WiFiAccessPointService = new \alphayax\freebox\api\v3\services\config\WiFi\AccessPoint( $App);
$AccessPoints = $WiFiAccessPointService->getAll();
/*
print_r( $AccessPoints);
$AllowedComb = $WiFiAccessPointService->getAllowedCombFromId( $AccessPoints[0]->getId());
@ -28,7 +28,6 @@ print_r( $Stations);
$Neighbors = $WiFiAccessPointService->getNeighborsFromId( $AccessPoints[1]->getId());
print_r( $Neighbors);
*/
$ChannelUsages = $WiFiAccessPointService->getChannelUsageFromId( $AccessPoints[1]->getId());
print_r( $ChannelUsages);
@ -41,3 +40,8 @@ print_r( $Bsss);
$Bss = $WiFiBssService->getFromId( $Bsss[0]->getId());
print_r( $Bss);
*/
$WiFiPlanningService = new \alphayax\freebox\api\v3\services\config\WiFi\Planning( $App);
$Planning = $WiFiPlanningService->getPlanning();
print_r( $Planning);

View File

@ -0,0 +1,59 @@
<?php
namespace alphayax\freebox\api\v3\models\WiFi;
use alphayax\freebox\api\v3\Model;
/**
* Class Planning
* @package alphayax\freebox\api\v3\models\WiFi
*/
class Planning extends Model {
/** @var bool : is the planning enabled */
protected $use_planning;
/** @var int (Read-only) : planning resolution (number of slots per day) */
protected $resolution;
/**
* @var string[] : mapping for planning
* “on” or “off” mapping[0] is monday at 0:0 mapping[7 * resolution - 1] is sunday last slot
* (each slot has a duration of 60 * 24 / resolution minutes)
*/
protected $mapping = [];
/**
* @return boolean
*/
public function isUsePlanning() {
return $this->use_planning;
}
/**
* @param boolean $use_planning
*/
public function setUsePlanning( $use_planning) {
$this->use_planning = $use_planning;
}
/**
* @return int
*/
public function getResolution() {
return $this->resolution;
}
/**
* @return \string[]
*/
public function getMapping() {
return $this->mapping;
}
/**
* @param \string[] $mapping
*/
public function setMapping( $mapping) {
$this->mapping = $mapping;
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace alphayax\freebox\api\v3\services\config\WiFi;
use alphayax\freebox\api\v3\Service;
use alphayax\freebox\api\v3\models;
/**
* Class Planning
* @package alphayax\freebox\api\v3\services\config\WiFi
*/
class Planning extends Service {
const API_WIFI_PLANNING = '/api/v3/wifi/planning/';
/**
* @return \alphayax\freebox\api\v3\models\WiFi\Planning
*/
public function getPlanning(){
$rest = $this->getAuthService( self::API_WIFI_PLANNING);
$rest->GET();
return $rest->getResult( models\WiFi\Planning::class);
}
/**
* @param \alphayax\freebox\api\v3\models\WiFi\Planning $planning
* @return \alphayax\freebox\api\v3\models\WiFi\Planning
*/
public function update( models\WiFi\Planning $planning){
$rest = $this->getAuthService( self::API_WIFI_PLANNING);
$rest->PUT( $planning);
return $rest->getResult( models\WiFi\Planning::class);
}
}