diff --git a/core/class/gsh.class.php b/core/class/gsh.class.php
index 267c85d..9824b18 100644
--- a/core/class/gsh.class.php
+++ b/core/class/gsh.class.php
@@ -101,8 +101,9 @@ public static function getSupportedType() {
'action.devices.types.REMOTECONTROL' => array('name' => __('Télécommande', __FILE__), 'traits' => array('OnOff', 'MediaState', 'InputSelector', 'AppSelector', 'TransportControl', 'Volume')),
'action.devices.types.ROUTER' => array('name' => __('Routeur', __FILE__), 'traits' => array('Modes', 'Toggles', 'Reboot', 'SoftwareUpdate', 'NetworkControl')),
'action.devices.types.SCENE' => array('name' => __('Scène', __FILE__), 'class' => 'gsh_scene'),
- 'action.devices.types.SECURITYSYSTEM' => array('name' => __('Alarme', __FILE__), 'traits' => array('ArmDisarm', 'StatusReport', 'Modes')),
+ 'action.devices.types.SECURITYSYSTEM' => array('name' => __('Alarme', __FILE__), 'traits' => array('ArmDisarm', 'StatusReport')),
'action.devices.types.SENSOR' => array('name' => __('Capteur', __FILE__), 'traits' => array('OnOff', 'SensorState', 'TemperatureControl', 'Brightness', 'HumiditySetting', 'OccupancySensing')),
+ 'action.devices.types.SETTOP' => array('name' => __('Décodeur', __FILE__), 'traits' => array('AppSelector', 'InputSelector', 'MediaState', 'OnOff', 'TransportControl', 'Volume', 'Channel')),
'action.devices.types.SHOWER' => array('name' => __('Douche', __FILE__), 'traits' => array('Modes', 'Toggles', 'OnOff', 'TemperatureControl')),
'action.devices.types.SHUTTER' => array('name' => __('Volet', __FILE__), 'traits' => array('Modes', 'OpenClose', 'Rotation')),
'action.devices.types.SMOKE_DETECTOR' => array('name' => __('Détecteur de fumée', __FILE__), 'traits' => array('SensorState')),
diff --git a/core/class/gsh_FanSpeed.class.php b/core/class/gsh_FanSpeed.class.php
index 5f55b64..281762f 100644
--- a/core/class/gsh_FanSpeed.class.php
+++ b/core/class/gsh_FanSpeed.class.php
@@ -156,7 +156,7 @@ public static function query($_device, $_infos){
if (isset($_infos['customData']['FanSpeed_cmdGet'])) {
$cmd = cmd::byId($_infos['customData']['FanSpeed_cmdGet']);
if (is_object($cmd)) {
- $return['currentFanSpeedPercent'] = $cmd->execCmd()/ 100 * ($cmd->getConfiguration('maxValue', 100) - $cmd->getConfiguration('minValue', 0));
+ $return['currentFanSpeedPercent'] = intval($cmd->execCmd())/ 100 * ($cmd->getConfiguration('maxValue', 100) - $cmd->getConfiguration('minValue', 0));
if($return['currentFanSpeedPercent'] > 75){
$return['currentFanSpeedSetting'] = '100';
}elseif($return['currentFanSpeedPercent'] > 50){
diff --git a/core/class/gsh_TemperatureSetting.class.php b/core/class/gsh_TemperatureSetting.class.php
index 8b63ddc..2f95fff 100644
--- a/core/class/gsh_TemperatureSetting.class.php
+++ b/core/class/gsh_TemperatureSetting.class.php
@@ -277,7 +277,13 @@ public static function query($_device, $_infos){
$return['thermostatTemperatureSetpoint'] = 0;
}
if (!isset($return['thermostatMode'])) {
- $return['thermostatMode'] = ($_device->getOptions('TemperatureSetting::heat') == '') ? 'cool' : 'heat';
+ $cmd = cmd::byId($_infos['customData']['TemperatureSetting_cmdGetMode']);//Récupération du mode actuel
+ if (is_object($cmd)) {
+ $mode = $cmd->execCmd();
+ } else {// Mode par défaut si non spécifié dans les generics
+ $mode = 'heat';
+ }
+ $return['thermostatMode'] = $mode;
}
$return['activeThermostatMode'] = $return['thermostatMode'];
if($return['activeThermostatMode'] == 'off'){
diff --git a/core/i18n/de_DE.json b/core/i18n/de_DE.json
index 6055408..f9a2e72 100644
--- a/core/i18n/de_DE.json
+++ b/core/i18n/de_DE.json
@@ -182,6 +182,7 @@
"Scène": "Szene",
"Alarme": "Alarm",
"Capteur": "Sensor",
+ "Décodeur": "Decoder",
"Douche": "Dusche",
"Volet": "Klappe",
"Détecteur de fumée": "Rauchmelder",
diff --git a/core/i18n/en_US.json b/core/i18n/en_US.json
index 43375b6..b675d5a 100644
--- a/core/i18n/en_US.json
+++ b/core/i18n/en_US.json
@@ -182,6 +182,7 @@
"Scène": "Scene",
"Alarme": "Alarm",
"Capteur": "Sensor",
+ "Décodeur": "Decoder",
"Douche": "Shower",
"Volet": "Shutter",
"Détecteur de fumée": "Smoke detector",
diff --git a/core/i18n/es_ES.json b/core/i18n/es_ES.json
index a296d7b..db7a1e1 100644
--- a/core/i18n/es_ES.json
+++ b/core/i18n/es_ES.json
@@ -182,6 +182,7 @@
"Scène": "Escena",
"Alarme": "Alarma",
"Capteur": "Sensor",
+ "Décodeur": "Descifrador",
"Douche": "Ducha",
"Volet": "Persiana",
"Détecteur de fumée": "Detector de humo",
diff --git a/core/i18n/fr_FR.json b/core/i18n/fr_FR.json
index 149785d..d90bcfb 100644
--- a/core/i18n/fr_FR.json
+++ b/core/i18n/fr_FR.json
@@ -182,6 +182,7 @@
"Scène": "Scène",
"Alarme": "Alarme",
"Capteur": "Capteur",
+ "Décodeur": "Décodeur",
"Douche": "Douche",
"Volet": "Volet",
"Détecteur de fumée": "Détecteur de fumée",
diff --git a/core/i18n/id_ID.json b/core/i18n/id_ID.json
index 2f5db25..4dc0970 100644
--- a/core/i18n/id_ID.json
+++ b/core/i18n/id_ID.json
@@ -182,6 +182,7 @@
"Scène": "Scene",
"Alarme": "Alarme",
"Capteur": "Capteur",
+ "Décodeur": "Décodeur",
"Douche": "Douche",
"Volet": "Penutup",
"Détecteur de fumée": "Détecteur de fumée",
diff --git a/core/i18n/it_IT.json b/core/i18n/it_IT.json
index c02b5b4..d496ec1 100644
--- a/core/i18n/it_IT.json
+++ b/core/i18n/it_IT.json
@@ -182,6 +182,7 @@
"Scène": "Scene",
"Alarme": "Alarme",
"Capteur": "Capteur",
+ "Décodeur": "Décodeur",
"Douche": "Douche",
"Volet": "Falda",
"Détecteur de fumée": "Détecteur de fumée",
diff --git a/core/i18n/ja_JP.json b/core/i18n/ja_JP.json
index 2ea9afb..db4a832 100644
--- a/core/i18n/ja_JP.json
+++ b/core/i18n/ja_JP.json
@@ -182,6 +182,7 @@
"Scène": "Scene",
"Alarme": "Alarme",
"Capteur": "Capteur",
+ "Décodeur": "Décodeur",
"Douche": "Douche",
"Volet": "フラップ",
"Détecteur de fumée": "Détecteur de fumée",
diff --git a/core/i18n/pt_PT.json b/core/i18n/pt_PT.json
index 1b9b8bd..979533b 100644
--- a/core/i18n/pt_PT.json
+++ b/core/i18n/pt_PT.json
@@ -182,6 +182,7 @@
"Scène": "Cena",
"Alarme": "Alarme",
"Capteur": "Sensor",
+ "Décodeur": "Decodificador",
"Douche": "Chuveiro",
"Volet": "Aba",
"Détecteur de fumée": "Detector de fumaça",
diff --git a/core/i18n/ru_RU.json b/core/i18n/ru_RU.json
index 7a0772f..41fdae1 100644
--- a/core/i18n/ru_RU.json
+++ b/core/i18n/ru_RU.json
@@ -182,6 +182,7 @@
"Scène": "Scene",
"Alarme": "Alarme",
"Capteur": "Capteur",
+ "Décodeur": "Décodeur",
"Douche": "Douche",
"Volet": "створка",
"Détecteur de fumée": "Détecteur de fumée",
diff --git a/core/i18n/tr.json b/core/i18n/tr.json
index 5142b16..8c12d2f 100644
--- a/core/i18n/tr.json
+++ b/core/i18n/tr.json
@@ -182,6 +182,7 @@
"Scène": "Scene",
"Alarme": "Alarme",
"Capteur": "Capteur",
+ "Décodeur": "Décodeur",
"Douche": "Douche",
"Volet": "Kepenek",
"Détecteur de fumée": "Détecteur de fumée",
diff --git a/core/php/jeeGshOauth.php b/core/php/jeeGshOauth.php
index 67ad167..6383c5a 100644
--- a/core/php/jeeGshOauth.php
+++ b/core/php/jeeGshOauth.php
@@ -15,6 +15,8 @@
* along with Jeedom. If not, see
