Retour d'expérience Froggit HP1000SE-PRO / Ajout d'éléments au widget

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 :
image

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.