Les secrets du Secure SRT321 (et SRT323)

Les paramètres du SRT321 (ou SRT323)

Dans le menu Plugins –> Protocol domotique -> Z-Wave, cliquez sur votre SRT

Cliquez sur le bouton Configuration.

Dans l’onglet « Systèmes », réglez le paramètre « Wake-up Interval » qui sert à réveiller le STR pour qu’il récupère la consigne de température que vous aurez réglé dans Jeedom. Mettez le sur 300 pour 5mn ou beaucoup plus grand si vous ne désirez pas contrôler la température dans Jeedom (plus ce paramètre est petit, plus la durée de vie des piles seront faibles)

Dans l’onglet « Paramètres », réglez « Temperature sensor reading » sur Enable, et le « Temperature Delta T » sur 1 si vous désirez que le thermostat envoie les températures de la pièce à Jeedom à chaque changement de 0,1 degrès, sur 5 un changement de 0,5 degrès, ou sur 10 pour un changement de 1 degrès. Idem, + la valeur est petite, et + le SRT va envoyer des informations à Jeedom et consommer de sa batterie.

Pour que les paramètres soient pris en comptes par le SRT, basculez le Switch 1 sur On, et placer le curseur sur n, et cliquez. nP va s’afficher et les paramètres devraient être reçus (si ce n’est pas le cas et qu’ils restent avec un fond de couleur dans Jeedom, recommencez la manip en plaçant le SRT au plus près de votre Jeedom). Puis, vous pouvez rebasculer le Switch 1 sur Off.


Association directe du SRT avec un module actionneur

Placez le Switch 1 du SRT sur On, et mettez vous sur l’option A, et cliquez (le A clignote)

Placez votre module actionneur en mode Inclusion (selon les marques, la procédure change. Pour Qubino, cliquez 3 fois sur le bouton)

Attendez un peu, et sur le SRT, vous allez voir apparaître AP. L’appairage direct est terminé.
Vous pouvez rebasculer le Switch 1 sur Off.

Ce qui est très intéressant, c’est qu’on ne perd pas le lien entre le SRT et Jeedom, et qu’en cas de panne du Jeedom, le SRT pilote en direct le chauffage.

Pour dissocier, c’est la même procédure, avec l’option D sur le SRT


Problème d’inclusion du SRT321 dans Jeedom (version SECURE SRT321-Z+ GEN5)

ATTENTION, ces modifications sont délicates et peuvent casser votre Jeedom ! Pensez à faire un backup de la configuration openzwave et de jeedom avant toute modification !

Dans un premier temps il faut inclure le SRT321 dans Jeedom :

Dans le plugins zwave, cliquez sur inclusion. Sur le SRT321, placez le premier switch 1 sur On, Mettre sur L, quand Lp s’affiche, basculer rapidement sur N et faire des Np Np Np plusieurs fois.

Le SRT321 va apparaître dans Jeedom.

Vous pouvez rebasculer le Switch 1 sur Off.

Dans Plugins –> Protocol domotique -> Z-Wave, cliquez sur Configuration, cliquez sur Synchroniser. Si après réactualisation de la page il n’a pas le logo du thermostat, suivre les consignes suivantes :

Cliquez sur le thermostat pour récupérer son Node ID :

ici c’est 135 (nous allons continuer l’exemple avec ce nombre)

Arrêter le service ZWave, allez dans Plugins –> Protocol domotique -> Z-Wave, cliquez sur Configuration : Désactivez la gestion automatique, et cliquez sur Stop.
on aura cela si tout est arrêté :

s’il ne s’arrête pas, redémarrer le Jeedom ou aller en SSH et exécutez :

kill -9 $(ps aux | grep 'openzwave' | awk '{print $2}')

Ensuite, on va aller ouvrir le fichier de configuration Z-Wave.
Pour cela, j’utilise WinSCP et je vais dans le dossier : /var/www/html/plugins/openzwave/data (je suis sur RPI, et ce chemin peut varier selon votre installation)

On aura une liste de fichiers :

Le fichier que l’on ouvre est le fichier zwcfg_xxxxxxxx.xml

Ensuite, il faut aller chercher dans le fichier le <node … qui correspond au thermostat. Pour cela le plus simple et de faire Ctrl + F et de taper <Node id= »xx » pour rechercher l’équipement par son ID (pour moi c’était <Node id= »135″)
On va trouver des lignes comme celles là :

	<Node id="135" name="Thermostat Chauffage Central" location="Chauffage" basic="1" generic="8" specific="0" type="Thermostat" listening="false" frequentListening="false" beaming="true" routing="false" max_baud_rate="40000" version="3" query_stage="Complete">
.....etc.....
	</Node>

Supprimez toutes ces lignes pour les remplacer par : (Notez qu’il y a seulement deux éléments à remplacer en première ligne dans ce copier coller)

 <Node id="VOTRE NODE ID ICI" name="VOTRE NOM DE THERMOSTAT ICI" location="Chauffage" basic="1" generic="8" specific="0" type="Thermostat" listening="false" frequentListening="false" beaming="true" routing="false" max_baud_rate="40000" version="3" query_stage="Complete">
 <Manufacturer id="59" name="Horstmann">
 <Product type="1" id="3" name="HRT4-ZW Thermostat Transmitter"/>
 </Manufacturer>
 <CommandClasses>
 <CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" mapping="37">
 <Instance index="1"/>
 </CommandClass>
 <CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY" version="1" request_flags="4" after_mark="true" innif="true">
 <Instance index="1"/>
 <Value type="bool" genre="user" instance="1" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False"/>
 </CommandClass>
 <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="1" innif="true">
 <Instance index="1"/>
 <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="C" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="22.3"/>
 </CommandClass>
 <CommandClass id="64" name="COMMAND_CLASS_THERMOSTAT_MODE" version="1" request_flags="4" after_mark="true" innif="true">
 <Instance index="1"/>
 <Value type="list" genre="user" instance="1" index="0" label="Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="1" size="1">
 <Item label="Off" value="0"/>
 <Item label="Heat" value="1"/>
 </Value>
 <SupportedModes>
 <Mode index="0" label="Off"/>
 <Mode index="1" label="Heat"/>
 </SupportedModes>
 </CommandClass>
 <CommandClass id="66" name="COMMAND_CLASS_THERMOSTAT_OPERATING_STATE" version="1" request_flags="4" innif="true">
 <Instance index="1"/>
 <Value type="string" genre="user" instance="1" index="0" label="Operating State" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="Idle"/>
 </CommandClass>
 <CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="1" request_flags="4" innif="true" base="0">
 <Instance index="1"/>
 <Value type="decimal" genre="user" instance="1" index="1" label="Heating 1" units="C" read_only="false" write_only="false" verify_changes="true" poll_intensity="0" min="0" max="0" value="22.0"/>
 </CommandClass>
 <CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
 <Instance index="1"/>
 <Value type="list" genre="config" instance="1" index="1" label="Temperature sensor reading" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="1" size="1">
 <Item label="Disable" value="0"/>
 <Item label="Enable" value="255"/>
 </Value>
 <Value type="list" genre="config" instance="1" index="2" label="Temperature Scale" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
 <Item label="Celsius" value="0"/>
 <Item label="Fahrenheit" value="255"/>
 </Value>
 <Value type="byte" genre="config" instance="1" index="3" label="Temperature Delta T" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1">
 <Help>Delta T in steps of 0.1 degree.</Help>
 </Value>
 </CommandClass>
 <CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
 <Instance index="1"/>
 </CommandClass>
 <CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
 <Instance index="1"/>
 <Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="100"/>
 </CommandClass>
 <CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="2" innif="true">
 <Instance index="1"/>
 <Value type="int" genre="system" instance="1" index="0" label="Wake-up Interval" units="Seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="300"/>
 <Value type="int" genre="system" instance="1" index="1" label="Minimum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="256"/>
 <Value type="int" genre="system" instance="1" index="2" label="Maximum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="131071"/>
 <Value type="int" genre="system" instance="1" index="3" label="Default Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="86400"/>
 <Value type="int" genre="system" instance="1" index="4" label="Wake-up Interval Step" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1"/>
 </CommandClass>
 <CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" innif="true">
 <Instance index="1"/>
 <Associations num_groups="5">
 <Group index="1" max_associations="4" label="Thermostat Mode Set" auto="true">
 <Node id="1"/>
 </Group>
 <Group index="2" max_associations="4" label="Binary Switch Set" auto="true">
 <Node id="1"/>
 <Node id="46"/>
 </Group>
 <Group index="3" max_associations="4" label="Unsolicited Battery Level Reports" auto="true">
 <Node id="1"/>
 <Node id="46"/>
 </Group>
 <Group index="4" max_associations="4" label="Thermostat Set Point Reports" auto="true">
 <Node id="1"/>
 </Group>
 <Group index="5" max_associations="4" label="Unsolicited Sensor Multilevel Reports" auto="true">
 <Node id="1"/>
 </Group>
 </Associations>
 </CommandClass>
 <CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" innif="true">
 <Instance index="1"/>
 <Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="2"/>
 <Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="2.78"/>
 <Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="6.00"/>
 </CommandClass>
 </CommandClasses>
 </Node>
 

Voilà, enregistrez les modifications, et retournez dans Jeedom pour relancer le service Z-Wave (pensez à cliquer sur Activer dans Gestion automatique).

Bien attendre la fin de l’initialisation du plugins (pour le vérifier cliquez sur le bouton « Réseau ZWave » et attendre que « Queue sortante » soit à 0)

Cliquez sur le bouton « Synchronisation » et vérifier que le STR321 apparaît avec sa photo maintenant.

Cliquez sur le SRT321, et s’il vous manque les commandes (onglet commandes), cliquez sur le bouton « Recharger configuration » -> « En recréant les commandes »

La liste des commandes sera à adapter comme l’image ci-dessous (sans Etat de chauffe/Batterie que l’on va créer plus bas) :
Supprimer « Consigne pending », Renommer « ConsigneEtat » en « Consigne actuelle » (pour plus de compréhension)
La phrase dans commande sur la consigne est : type=setvalue&value=#slider#

Création de la commande « Batterie » :
Ajoutez une commande et complétez comme ci-dessous :

Création de la commande « Etat de chauffe » :

Enregistrez et cliquez sur la Roue Crantée pour paramétrer la formule de calcul et le type générique :

#value#=='Heating'

Enregistrez et le tour est joué !