loading
CHAUFFE-EAU SOLAIRE
Deuxième installation

gestion et suivi informatisé de la production des panneaux chauffe-eau solaire

ou comment ne pas s'ennuyer avec un Pi et Domoticz !

Le système électronique de commande du Rotex possède une interface RS232, pour la configuration et la sortie des données de température et d'état des pompes etc..
Nous n'avons pas trouvé de documentation sur internet, mais en connectant un PC en écoute sur le RS232, nous avons pu afficher une chaine de caractères qui après analyses et déductions correspondent aux données recherchées (Voir tableau).
De quoi donner des idées de le connecter sur un Raspberry PI2 sur lequel il y a Domoticz d'installé...

Partie électronique:
Attention la console RPS3 de Rotex délivre un signal en TTL en 5v alors que le Raspberry n’accepte que du 3,3V.
La console ne génère que les sorties de données RXD, ne raccorder que les contacts 6 et 10 du Raspberry.
Un petit montage électronique à base de 2 résistances permet de faire chuter la tension de sortie de 5v à 3.3v. Voir Schéma
Pour ne pas avoir de problèmes de conflit d’accès au port série, l’accès par la console série sur le Raspberry Pi a été désactivée dans le fichier de configuration du Raspberry PI (erreurs lors du chargement des données Rotex).
(Dans Raspberry Pi Configuration, onglet Interfaces, mettre en Desabled la ligne Serial )

Partie programme:
Pour tester la liaison, un petit programme proto en Python a été développé dans le Raspberry Pi (Voir ci-après)
Nota : Vérifier que le module Sérail est bien installé sur le Pi avec la commande:
apt-get install python3-serial

#!/usr/bin/env python
import serial, time
### Prg proto. pour tester en lecture le port serie du Raspberry Pi -- Rotex

xSerialPort='/dev/ttyAMA0'	# Port
xSerialSpeed=19200			# vitesse en bauds
xSerialTimeout=15			# Time out en s None 0

RotexPort = serial.Serial(
   xSerialPort,
   baudrate=xSerialSpeed,
   parity=serial.PARITY_NONE,
   stopbits=serial.STOPBITS_ONE,
   bytesize=serial.EIGHTBITS,
   timeout=xSerialTimeout
)

### Boucle de tentatives de lecture du port serie
xCompteur = 1
while xCompteur <= 10:
#	 print('test reception N ' + str(xCompteur) + ':')
	try:
		RotexData = RotexPort.readline()
		if len(RotexData) == 0:
			time.sleep(0.5)
			print('erreur Longueur 0')
		elif RotexData.find(";") == -1:
			print('erreur Pas de ;')
			time.sleep(0.5)
		else:
			print('%%%%%%%%%%%%%%%%%%%%%%%%%%%')
			print str(RotexData)
			xTabData = RotexData.split(";")
			print xTabData
#			Exemple de valeurs
			print xTabData[4]
			gValeur = xTabData[4]
			print("Temprature panneau = " + xTabData[4] + " Degre C")
			print("Temprature point bas = " + xTabData[5] + " Degre C")
			print("Temprature point milieu = " + xTabData[6] + " Degre C")
			print("Temprature arrivee panneaux = " + xTabData[7] + " Degre C")
			print("Debit circuit = " + xTabData[8] + " l/m	")
			break<
	except OSError as e:
	   if e.errno == 11:
#			 print('erreur 11 ...')
			time.sleep(0.5)
	xCompteur += 1
RotexPort.close()

Dans Domoticz, nous avons configuré des dispositifs correspondants aux différentes données en sorties
Tout ceci nous permet de suivre la production du Chauffe-eau, et même de piloter la partie appoint chauffage en fonction des prévisions de couverture nuageuse sur 3 jours
(Peut-être le détail dans une prochaine publication)
Le but de cette page n'était que de partager le principe de la connexion Raspberry Pi avec un chauffe-eau solaire Rotex. Vous trouverez sur internet toutes les réponses à vos questions à propos de DomoticZ et Raspberry Pi.

A propos

Je cherche, comme vous, très souvent sur internet des solutions ou des réponses à des problèmes simples ou complexes. Parmi certains domaines, comme la photo, le photovoltaïque, solaire, l'informatique, la domotique..., je souhaitai mettre simplement en ligne mes retours d'expériences au cas où cela pouvait servir à un internaute curieux. Si vous lisez cet à propos c'est surement le cas, alors bonne lecture – Merci -