Jeedom & De Dietrich Diematic 3 Modbus RTC

Interfacer (en lecture/écriture) une chaudière De Dietrich (GTU 1205V par ex.) avec contrôleur Diematic 3 à Jeedom en filaire (via Modbus).

Interfacer (en lecture/écriture) une chaudière De Dietrich (GTU 1205V par ex.) avec contrôleur Diematic 3 à Jeedom en filaire (via Modbus).

Attention : Cet article contient des instructions techniques dont un mauvais usage pourrait au mieux dérégler votre chaudière au pire la rendre inutilisable. Je ne pourrais en aucun cas être tenu responsable et n’assure aucun support technique. De même vous pourrez sans doute oublier votre garantie De Dietrich / contrat de maintenance.

Pour information cette chaudière n’est pas compatible avec les thermostats connectés type « Netatmo » etc, …

Exemple non exhaustif de résultat. Le Modbus De Dietrich contient absolument tout !
Et en version statistique

Prérequis

Connaissances

  • Informatique général (dont dev PHP)
  • Raspberry PI (installation et configuration générale; dont shell linux)
  • Jeedom (installation et configuration générale)
  • Electricité & électronique général (base)

Matériel

Logiciel

  • Jeedom (ma version actuelle: 4.0.25)
    • Plugin Modbus RTU – en beta (5€)

Procédure

Branchement

Avertissement: Coupez l’interrupteur différentiel général avant toute intervention électrique!

Schéma Min DIN Modbus De Dietrich
Schéma de raccordement du Mini DIN
  • Couper votre câble Mini DIN sur une extrémité et connecter à l’adaptateur Modbus
Adpatateur modbus USB
En situation (chez moi: Rouge +, Blanc -, Noir GND )
  • Connecter l’autre extrémité du câble à votre chaudière
Prise Modbus De Dietrich

Vérification liaison Modbus

Depuis Windows

  • Brancher l’adaptateur Modbus à votre machine et recherchez son port COM. Note : Sous Windows 10 pas besoin d’installer de pilote
  • Installer et lancer le logiciel « Modscan » (version démo) sur votre PC
  • Faire Connection => Connect et suivre la configuration de l’image ci-dessous
Modscan De Dietrich
  • Vous devriez voir les valeurs du « Holding Register » évoluer (ne pas s’inquiéter des erreurs éventuelles) – Note: la chaudière a le Device ID « 10 »

Depuis Linux

  • Brancher l’adaptateur Modbus à votre machine et rechercher son port tty. Note : pas besoin d’installer de pilote normalement
  • Installer https://github.com/epsilonrt/mbpoll (non conseillé sur le raspberry Pi du Jeedom; surcharge de dépendance inutile)
  • Adapter la commande suivante pour afficher le réseau modbus (ne pas s’inquiéter des erreurs éventuelles)

mbpoll -a 10 -b 9600 -d 8 -s 1 -P none -t 3 -o 5.00 -l 100 -r 1 -c 100 /dev/ttyUSB0

Configuration Jeedom

  • Brancher l’adaptateur RTU à votre Jeedom
  • Installer le plugin « Modbus RTU » depuis le store Jeedom (payant)
  • Lancer l’installation des dépendances
    • Si après l’installation le statut ne passe pas au vert malgré un log « Installation terminée »
      • Modifier la fonction dependancy_info dans /var/www/html/plugins/modbusrtu/core/class/modbusrtu.class.php. Ajouter $return[‘state’] = ‘ok’ sur la ligne avant return $return;
        • Cette modification est une rustine en attendant une mise à jour du plugin
  • Démarrer le Daémon
Jeedom Modbus RTC configuration
  • Ajouter un nouvel équipement dans le plugin et configurer ainsi:
    • Note: Sélectionner le « modèle » va écraser la zone « Communication »
    • Note 2: Il est possible de se connecter à un linux distant également (non testé)
Jeedom Modbus RTC De Dietrich

Voici la table des données que vous allez pouvoir récupérer et écrire à partir de maintenant:

Jeedom Modbus RTC De Dietrich
Exemple de configuration Lecture / Ecriture pour 1 et 2 decimal

Si l’écriture ne fonctionne pas

  • Modifier la fonction « execute » dans /var/www/html/plugins/modbusrtu/core/class/modbusrtu.class.php
    • trim(str_replace(***)) semble inutile dans le switch $this- >getSubType()
    • Je n’utilise que des sliders ; voici donc mon code de remplacement:
      • Cette modification est une rustine en attendant une mise à jour du plugin
switch ($this->getSubType()) 
{
	case 'slider':		
		$value = trim($_options['slider']);				
 		break;
	default:
		$value=$this->getConfiguration('request');
		if (!is_numeric($value)) {
			$value=cmd::cmdToValue($value);
		}
                break;
}	

Source et remerciements :

Cette article s’inspire principalement des sources ci-dessous. L’objectif étant de faire « l’état de l’art » sur le sujet. Du hardware au software en passant par le contenu du BUS.

7 réflexions sur « Jeedom & De Dietrich Diematic 3 Modbus RTC »

  1. super boulot effectivement !
    j’ai pu enfin comprendre pourquoi je n’arrivais pas à recevoir les infos de ma chaudière.
    par contre je rencontre un problème avec l’écriture…
    de base cela ne fonctionne pas. j’ai donc ouvert le fichier décrit, trouvé la fonction execute, modifié le code (sauvegardé l’ancien fichier,au cas où). et la réponse de jeedom est sans appel : modbusrtu does not exist ! (en rouge, en bandeau en haut, et le plugin n’apparait plus sur le dashboard)
    bref, je ne vois pas trop où je me plante :/

    j’ai essayé les coil/input/discrete/holding , rien n’y fait, je n’arrive pas à changer ma consigne .

    Si toutefois quelqu’un saurait m’aider ca serait super 🙂

  2. Bon bah rien à dire si ce n’est merci beaucoup ! Ça fonctionne impeccable !! Je vais enfin pouvoir créer mes scénarios de présence pour faire de vraies économies et avoir un meilleur confort pour la petite famille !
    Merci encore pour la réactivité et le partage, et bonne journée
    Ps : je vais quand même aller voir ce sur quoi je me suis planté dans la soirée, histoire de… 😅

  3. Bonjour,
    Merci pour ce super travail. J ai pu connecter ma chaudiere sans soucis et récupérer quelques infos. Par contre, j ai vu sur une de tes captures d ecran que tu avais calculé la consommation en fioul de ta chaudière (en litre), est ce que tu pourrais m en dire plus sur le calcul que tu as fait ?
    Merci et bonne soirée

    1. Bonjour Damien,

      J’ai essayé différentes techniques.

      La plus efficace dans mon cas étant celle-ci :
      (durationBetween(#[Chaufferie][Chaudière (avancé)][Bruleur]#,1,Yesterday 00:00,Today 00:00))/60*4.1023384

      En clair; je demande à Jeedom le temps d’allumage du bruleur pendant 24h et je multi par la consommation du bruleur.

      Comment connaitre la consommation du bruleur ? Excellente question !
      – En mode calcul: http://compteurfioul.free.fr/?/Consommation/consommation-fioul
      – Sinon ma technique; j’utilise le temps de fonctionnement du bruleur entre 2 recharges de fioul… C’est hyper précis en pratique…

      La valeur a le gros avantage d’être comparable d’un jour à l’autre (si T° intérieur constante de 00h00 à 00h00). Permettant de jouer sur les réglages et constater les changements de consommation. A noter que je ne regarde pas l’évolution de la consommation mais plutôt le résultat du calcul suivant:

      conso/20-(Temperature extérieur moyenne sur la même période)

      Permettant de lisser en fonction de la température extérieure. Ce n’est pas parfait mais permet de comparer des choux et des choux.

      Autre avantage; plus besoin de contrôler la citerne de fioul. Jeedom connais à chaque instant le niveau de combustible.

      David

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *