EUROTRONIC - Capteur de qualité d'air Z-Wave+

Bonjour,
Est ce que ce matériel est compatible Jeedom (V3 et/ou V4) pour exploiter les mesures (COV (en ppm), CO2, température (° C) et humidité (%), point de rosée (° C))?

Voici le descriptif trouvé
Le capteur de qualité de l’air Eurotronic au design ultra-fin fournit des informations complètes sur la qualité de l’air de la pièce (température, humidité, COV (ppm) et CO2). Les informations permettent d’assurer un climat intérieur sain.

Température en °C et humidité en%

Utilisez le capteur de qualité de l’air Eurotronic et la passerelle Z-Wave pour évaluer la température et l’humidité relative de la pièce afin de créer un climat intérieur confortable. À l’aide de capteurs de qualité de l’air, gardez le climat intérieur sous contrôle.

COV en PPM

Les «composés organiques volatils» sont des substances gazeuses ou vaporeuses qui contiennent du carbone. Certains COV peuvent provoquer des maladies, en plus de l’évaporation des matériaux de construction (sols, plafonds), les peintures, vernis, adhésifs et solvants s’évaporent également. Avec le capteur de qualité de l’air Eurotronic et une passerelle Z-Wave, vous pouvez facilement surveiller les niveaux de COV pour garantir un environnement intérieur sain à tout moment.

CO2

Tout le monde émet continuellement du dioxyde de carbone lorsqu’il respire. Une concentration excessive de CO2 peut provoquer des maux de tête, de l’inattention et une dégradation des performances. Avec le capteur de qualité de l’air Eurotronic et la passerelle Z-Wave, vous pouvez toujours voir la teneur en CO2 et vous pouvez toujours garantir un climat intérieur sain.

FONCTIONS

  • Boîtier de conception ultra-plat
  • Utilisation de la technologie de capteur Suisse de haute précision
  • Fournit les valeurs suivantes: COV (en ppm), CO2, température (° C) et humidité (%), point de rosée (° C)
  • LED multicolore pour signaler les recommandations de ventilation
  • Fonctionnement avec alimentation électrique enfichable
  • Supporte la technologie Z-Wave Plus S2-Security (cryptage)
  • Fonction répéteur Z-Wave

CARACTERISTIQUES TECHNIQUES

  • Couleur blanche
  • Alimentation: USB 5VDC
  • Fréquence radio: 868,42 MHz
  • Degré de protection: IP20
  • Dimensions (LxHxP): 68 x 68 x 17 mm
  • Poids: 47,7g

Hello,

réponse très tardive, mais je l’ai chez moi sur jeedom V4.1, ça marche bien.

bonne journée
Mulb

Bonjour,

Tu l’as intégré comment ? Car pour le moment il n’est pas reconnu donc il faut se faire la config à la main et créer soit même ses commande.

Et perso je ne vois pas la mesure COV dans les valeurs reçues. Mais j’ai pas trop creusé encore car capteurs reçu que hier.

Si tu as des infos vu que tu l’utilise depuis quelques mois je suis preneur, merci.

Suis preneur également (j’ai passé commande de ce module) !

Merci

Bonjour à tous,

Un petit retour d’expérience (je viens d’acquérir ce module) :

  • si le module est inclus en « non-sécurisé », les valeurs de température, point de rosé, humidité et CO2 remontent dans l’interface ;
  • si le module est inclus en « sécurisé », seules la température et l’humidité remontent dans l’interface.

Perso, comme @meute , la valeur de COV n’est pas visible (j’ai un peu cherché et je ne la trouve nul part)… :man_shrugging:

Bonjour

Pour la VOC sur un Forum domoticz, il est dit qu’elle est visible depuis les logs à la suite du CO2. À voir comment faire sous jeedom:

Z-Wave factfile: EUROtronic Air Quality Sensor Z-Wave Plus - Domoticz

Vor le fichier en bas du premier post qui donne des infos qui pourrait permettre de créer la commande manquante. une copie d’écran de la commande CO2 serait utile pour confirmer l’hypothèse. 49/1/39?

Antoine

Sous zwavejs2mqtt tout y est en sécurisé ou non.

C’est en partie la raison pour laquelle j’ai décidé d’abandonner récemment le plugin officiel zwave jeedom qui n’évoluera plus à mon avis … et j’ai donc tout switché sur zwavejs2mqtt … sans attendre que jeedom sorte enfin un nouveau plugin …

Eurotronic AQC.json.txt (16,4 Ko)

Voici le json extrait de mon zwave2mqtt, toutes les classes y sont.

La commande de CO2 :

Sur le même principe, j’ai essayé de créer une commande pour le COV sur l’index 39 :

Mais la commande ne remonte aucune valeur…

Par contre méfiez-vous des mesures, ces sondes sont pas forcément justes ni niveau humidité, ni niveau T° … je suis occupé de calibrer les miennes …

Et niveau CO2 j’ai des gros écarts du simple au double par rapport à Netatmo mais il y a 4 mètres entre les deux.
Dans mon séjour actuellement Netatmo mesure 829ppm alors que l’AQC me donne 487ppm.

Il faut celle ou on voit classe, Index et instance.

Antoine

On les voit dans la partie « configuration » en bas…

Sinon :


Ok…
Ah voir si la méthode domoticz est transposable sous jeedom alors.

Depuis jeexplorer on trouve le fichier xml sous >plugins>openzwave>data
A voir si il contient bien l’info voulue puis trouver comment l’exploiter.

Antoinet

Pour info sur 2 sondes AQC calibrées dans les règles de l’art :
Boite étanche avec ventilation interne pour homogénéiser l’air, placée en plus dans un sac isotherme pour ne pas subir les radiations thermiques externes.
Le tout stabilisé sur au moins 8H.
Référence utilisée pour RH 75% : Chlorure de sodium NaCl (sel de cuisine pur à 99.98%)
Référence utilisée pour RH 33% : Chlorure de magnésium cristallisé MgCl2

Sonde 1 :
RH Référence : 33%, mesuré par la sonde : 30%
RH Référence : 75%, mesuré par la sonde : 71%
Correction en 2 points ( mx+p) : 1.024 * x + 2.268

T° référence : 21.2°c, mesuré par la sonde : 19.6°c
Correction en 1 point : offset de +1.6°c (ou 1 * x + 1.6)

Sonde 2 :
RH Reférence : 33%, mesuré par la sonde : 30%
RH Référence : 75%, mesuré par la sonde : 70%
Correction en 2 points ( mx+p) : 1.05 * x + 1.5

T° référence : 20.4°c, mesuré par la sonde : 19.1°c
Correction en 1 point : offset de +1.3°c (ou 1 * x + 1.3)

J’ai un scenario codé en PHP pour calculer les paramètres de calibration de toutes mes sondes.
J’introduis les références et les mesures en paramètre et il me calcule des variables « m » et « p » pour toutes mes sondes que j’utilise ensuite dans le champs « Formule de calcul » de chaque commande à corriger :

Comme ça lorsque je refais une calibration d’une sonde j’ai juste à changer ses valeurs dans le scenario, le relancer et la correction est automatiquement updatée.

Elles sont donc surtout mauvaises en therme de température, 1.3° et 1.6° d’erreur c’est juste pas permis, surtout si on s’en sert pour réguler le chauffage.
Et comme elles sont pas calibrables en interne il vaut mieux pas les coupler directement avec des vannes zwave comme sonde de T° externe.
Niveau RH dans la plage 33/75 c’est pas trop mauvais.

Remarquez, j’ai calibré en même temps

  • Une aquara et elle était bien pire,

    • surtout en RH : 33=>53 et 75=>82, grosse correction en 2 points … (1.448 * x - 43.758)
    • 21.2 => 20.2, correction de +1°c
  • 2 Oregons, qui bien qu’elles sont les plus anciennes, s’avèrent être les plus précise, très peu de correction nécessaire, à peine 0.2°c sur la t° et quasi rien sur le RH.

2 « J'aime »

Bonjour,

Avec jeexplorer, j’arrive effectivement sur un répertoire avec plusieurs fichiers xml. Un seul de ces fichiers contient des infos sur le capteur (cf plus bas).
Ce que je trouve étonnant, c’est que j’ai moins d’infos que dans le fichier partagé sur le forum domoticz… notamment, les différentes variables du capteur ne semblent pas définies dans mon xml… :thinking:

Olivier

<Node id="10" name="" location="" basic="4" generic="33" specific="1" type="Routing Multilevel Sensor" listening="true" frequentListening="false" beaming="false" routing="false" max_baud_rate="0" version="0" query_stage="ProtocolInfo">
		<Manufacturer id="0" name="">
			<Product type="0" id="0" name="" />
		</Manufacturer>
		<CommandClasses>
			<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" after_mark="true" mapping="49">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="94" name="COMMAND_CLASS_ZWAVE_PLUS_INFO" version="1" request_flags="6" innif="true">
				<Instance index="1" />
				<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
				<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
			</CommandClass>
			<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="1" request_flags="6" innif="true">
				<Instance index="1" />
				<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="byte" genre="user" instance="1" index="3" label="Alarm Notification" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			</CommandClass>
			<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="6" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Normal" value="0" />
					<Item label="-1dB" value="1" />
					<Item label="-2dB" value="2" />
					<Item label="-3dB" value="3" />
					<Item label="-4dB" value="4" />
					<Item label="-5dB" value="5" />
					<Item label="-6dB" value="6" />
					<Item label="-7dB" value="7" />
					<Item label="-8dB" value="8" />
					<Item label="-9dB" value="9" />
				</Value>
				<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Normal" value="0" />
					<Item label="-1dB" value="1" />
					<Item label="-2dB" value="2" />
					<Item label="-3dB" value="3" />
					<Item label="-4dB" value="4" />
					<Item label="-5dB" value="5" />
					<Item label="-6dB" value="6" />
					<Item label="-7dB" value="7" />
					<Item label="-8dB" value="8" />
					<Item label="-9dB" value="9" />
				</Value>
				<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
				<Value type="button" genre="system" instance="1" index="6" label="Test" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="button" genre="system" instance="1" index="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Failed" value="0" />
					<Item label="Success" value="1" />
					<Item label="In Progress" value="2" />
				</Value>
				<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
			</CommandClass>
			<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="6" innif="true">
				<Instance index="1" />
				<Associations num_groups="0" />
			</CommandClass>
			<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="6" 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="Unknown" />
				<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="Unknown" />
				<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="Unknown" />
			</CommandClass>
			<CommandClass id="152" name="COMMAND_CLASS_SECURITY" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="bool" genre="system" instance="1" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
			</CommandClass>
		</CommandClasses>
	</Node>

Edit : a priori, il y a sur github un xml qui semble plus complet (que celui que j’ai) : added support for new eurotronic sensors (#2153) · OpenZWave/open-zwave@9aa9205 · GitHub
Du coup, je me demande s’il ne faudrait pas plutôt utiliser ce fichier… mais je ne sais pas comment modifier le fichier zwcfg_0xc859c339.xml…

1 « J'aime »

Bonjour,

Chez moi la sonde fonctionne quelques heures après l’inclusion mais ensuite plus rien. Elle se retrouve en NOK :

Si je fais une exclusion puis une réinclusion cela fonctionne à nouveau quelques heures puis de nouveau NOK…

Est-ce que quelqu’un a de meilleur résultat ? J’utilise le plugin zwave officiel, problème identique en stable et beta.

Bonjour,
Chez moi, la sonde reste bien connectée depuis la première inclusion…
Par hasard, est-ce que l’alimentation électrique est stable ?
Olivier

Bonjour,

Le module est branché à un port USB sur une télévision mais je vais tester sur une autre source.

Est-ce que vous utilisez le pulgin zwave officiel ou via MQTT ?

Bonjour,
Chez moi, branché sur un adapteur secteur / USB et utilisation via le plugin officiel Zwave.

1 « J'aime »