Bonjour,
Petit post afin de partager un retour d’expérience concernant la station Froggit HP1000SE-PRO qui fonctionne parfaitement avec le plugin pws.
Pour me besoins, j’ai souhaité ajouter les informations d’irradiance solaire ainsi que le taux d’humidité du sol fourni par le capteur DP-100.
De plus, je souhaitais pouvoir consulter l’historique en cliquant sur les valeurs affichées.
Ce qui donne :
Si certains sont intéressés, voici ce qui j’ai du modifier (via l’éditeur de fichier jeedom) pour arriver à ce résultat.
Dans le fichier /plugins/pws/core/class/pws.class.php :
[...]
public function toHtml($_version = 'dashboard') {
if ($this->getConfiguration('widgetCore') == 1) {
return parent::toHtml($_version);
}
$replace = $this->preToHtml($_version);
if (!is_array($replace)) {
return $replace;
}
$version = jeedom::versionAlias($_version);
if ($this->getDisplay('hideOn' . $version) == 1) {
return '';
}
$replace['#city#'] = $this->getName();
$temperature = $this->getCmd(null, 'tempc');
$replace['#temperature#'] = is_object($temperature) ? round($temperature->execCmd()) : '';
$replace['#tempid#'] = is_object($temperature) ? $temperature->getId() : '';
$conditionday = $this->getCmd(null, 'projection');
$replace['#condition#'] = is_object($conditionday) ? $conditionday->execCmd() : '';
$replace['#conditionid#'] = is_object($conditionday) ? $conditionday->getId() : '';
$humidity = $this->getCmd(null, 'humidity');
$replace['#humidity#'] = is_object($humidity) ? $humidity->execCmd() : '';
--> $replace['#humidityid#'] = is_object($humidity) ? $humidity->getId() : '';
$uvindex = $this->getCmd(null, 'uv');
$replace['#uvi#'] = is_object($uvindex) ? $uvindex->execCmd() : '';
--> $replace['#uviid#'] = is_object($uvindex) ? $uvindex->getId() : '';
$pressure = $this->getCmd(null, 'absbaromin');
$replace['#pressure#'] = is_object($pressure) ? $pressure->execCmd() : '';
$replace['#pressureid#'] = is_object($pressure) ? $pressure->getId() : '';
$wind_speed = $this->getCmd(null, 'windspeedkmh');
$replace['#windspeed#'] = is_object($wind_speed) ? $wind_speed->execCmd() : '';
--> $replace['#windid#'] = is_object($wind_speed) ? $wind_speed->getId() : '';
$wind_direction = $this->getCmd(null, 'awinddir');
$replace['#wind_direction#'] = is_object($wind_direction) ? $wind_direction->execCmd() : 0;
--> $soil_moisture1 = $this->getCmd(null, 'soilmoisture1');
--> $replace['#soil_moisture1#'] = is_object($soil_moisture1) ? $soil_moisture1->execCmd() : '';
--> $replace['#soil_moisture1id#'] = is_object($soil_moisture1) ? $soil_moisture1->getId() : '';
--> $solar_radiation = $this->getCmd(null, 'solarradiation');
--> $replace['#solar_radiation#'] = is_object($solar_radiation) ? $solar_radiation->execCmd() : '';
--> $replace['#solar_radiationid#'] = is_object($solar_radiation) ? $solar_radiation->getId() : '';
$parameters = $this->getDisplay('parameters');
if (is_array($parameters)) {
foreach ($parameters as $key => $value) {
$replace['#' . $key . '#'] = $value;
}
}
return $this->postToHtml($_version, template_replace($replace, getTemplate('core', $version, 'pws', 'pws')));
}
}
[...]
J’ai aussi modifié le fichier /plugins/pws/core/template/dashboard/pws.html comme tel :
[...]
<div style="position : relative; left : 15px;" class="tooltips" title="#collectDate#">
<div class="pull-right" style="margin-right: 20px;margin-top: 0px;">
<div id="windDirection#uid#" style="width: 80px; height: 80px;" class="cmd noRefresh" data-type="info" data-subtype="numeric" data-cmd_id="#windid#"></div>
</div>
<span style="margin-left: 5px;"class="cmd noRefresh" data-type="info" data-subtype="string" data-cmd_id="#conditionid#">#condition# </span><br/>
<span style="margin-left: 5px;font-size: 0.8em;" class="history cursor" data-type="info" data-subtype="string" data-cmd_id="#tempid#">#temperature# °C / </span>
<span style="margin-left: 5px;font-size: 0.8em;" class="history cursor" data-type="info" data-subtype="string" data-cmd_id="#humidityid#">#humidity# % / </span>
<span style="margin-left: 5px;font-size: 0.8em;" class="history cursor" data-type="info" data-subtype="string" data-cmd_id="#uviid#">#uvi# UV / </span>
<span style="margin-left: 5px;font-size: 0.8em;" class="history cursor" data-type="info" data-subtype="string" data-cmd_id="#solar_radiationid#">#solar_radiation# w/m<sup>2</sup> </span><br/>
<span style="margin-left: 5px;font-size: 0.8em;" class="history cursor" data-type="info" data-subtype="string" data-cmd_id="#windid#">#windspeed# km/h | </span>
<span style="margin-left: 5px;font-size: 0.8em;" class="history cursor" data-type="info" data-subtype="string" data-cmd_id="#pressureid#">#pressure# hPa </span><br/>
<span style="margin-left: 5px;font-size: 0.8em;" class="history cursor" data-type="info" data-subtype="string" data-cmd_id="#soil_moisture1id#">Humidité du sol : #soil_moisture1# % </span><br/>
</div>
<script>
[...]
Voila.