Page 1 sur 1

Teleinfo et abonnement Tempo : pourquoi seulement 3 compteurs

Publié : 07 déc. 2023, 09:08
par Belial
Bonjour,

j'ai récemment mis a jour mon système avec une connexion au linky. Il s'agit d'une lien filaire, avec un petit adaptateur teleinfo - usb.

Des compteurs sont bien apparus, mais je ne comprends pas trop la logique d'avoir fusionné les heures pleines et les heures creuses. Perso,, j'aimerai pouvoir avoir un compteur dédié pour les heures pleines, jours rouges, car le tarif du kWh est très différent des autres.

En regardant ce qui est recu, (linky mode historique), j'ai bien 6 lignes, mais je constate que le plugin additionne les heures creuses et les heures pleines pour chaque couleur, par ex, j'ai un comtpeur unique pour les jours rouges.

Est-il possible d'avoir 6 compteurs ? ou a défaut, au moins avec un compteur dédié pour les heures pleines période rouge ?

Merci d'avance

Re: Teleinfo et abonnement Tempo : pourquoi seulement 3 compteurs

Publié : 07 déc. 2023, 12:43
par Keros
Tu peux retrouver le détail HP/HC dans les compteurs dédiés aux couleurs. Mais tu n'auras pas 6 compteurs.

Re: Teleinfo et abonnement Tempo : pourquoi seulement 3 compteurs

Publié : 07 déc. 2023, 15:18
par Belial
Merci pour l'info. C'est ce que je craignais.

J'ai regardé rapidement le plugin, et on voit bien que les deux sont regroupés sous un compteur unique. Je vais faire quelques essais pour essayer de voir comment on se sert de ces infos.

Re: Teleinfo et abonnement Tempo : pourquoi seulement 3 compteurs

Publié : 08 déc. 2023, 10:09
par Flying Domotic
Quel est le plug-in en question, la modif ne devrait pas être très compliquée ...

Re: Teleinfo et abonnement Tempo : pourquoi seulement 3 compteurs

Publié : 08 déc. 2023, 10:34
par Belial
Bonjour et merci pour les retours.

En analysant le code du plugin, on remarque qu'on stocke bien les deux compteurs de manières séparées, et que la conso est consolidée. Du coup, j'ai fait quelques essais hier soir, et via un script dzVents, je peux accèder au tableau rawData. A l'indice 1, j'ai la conso Heures Creuses, a l'indice 2, la conso heures pleines, et a l'incide 5, la puissance instantanée.

Du coup, je doit encore un peu expérimenté, mais je pense que je vais pouvoir m'en sortir assez facilement en recopiant la données qui m'interresse vers un compteur virtuel.

Donc, pour le moment, ca va, je vous mettrai mon script si j'arrive a quelque chose.

Sinon, pour le plugin, je ne suis pas 100 % sur, mais je pense qu'il est la : https://github.com/domoticz/domoticz/bl ... foBase.cpp et le principe est la mise a jour des powerusage1 et powerusage2 en reprenant l'info de la trame teleinfo. J'imagine qu'il doit être assez simple de changer cela en dupliquant les compteurs, mais j'aime autant resté avec le plugin standard, ca evitera les surprise en cas de mise a jour.

Re: Teleinfo et abonnement Tempo : pourquoi seulement 3 compteurs

Publié : 08 déc. 2023, 10:54
par Belial
Ajout : je n'ai pas encore testé, mais je pense utiliser la méthode updateElectricity(power, energy) sur le device virtuel.

https://www.domoticz.com/wiki/DzVents:_ ... counter.29

Re: Teleinfo et abonnement Tempo : pourquoi seulement 3 compteurs

Publié : 09 déc. 2023, 09:13
par Belial
Voila ce que donne le premier jet. Il faut créer des devices virtuels de type smart meter. Pour l'exemple et pour me faire la main, j'ai créé six compteurs; mais pour mon cas, il suffit de créer le compteurs rouges - heures pleines.

Quelques idées :
J'ai préféré ne pas mettre a jour tous les devices tout le temps, ca me permet de voir plus facilement celui qui est actif, les autres devenant rouges. Je pense qu'on peut facilement faire l'update tout le temps

Le compteur d'origine doit être suffisant car on retrouve bien les deux infos séparées, et donc,; il conviet bien pour tous les scripts. Je n'avais pas réussi a avoir la consommation Heures pleines rouges du jour dans un compteur séparé en favori.

Code : Tout sélectionner

-- Check the wiki for dzVents
-- remove what you don't need
return {

	-- optional active section,
	-- when left out the script is active
	-- note that you still have to check this script
	-- as active in the side panel
	active = {

		true,  -- either true or false, or you can specify a function
	},
	-- trigger
	-- can be a combination:
	on = {
		-- timer triggers
		timer = {
			-- timer triggers.. if one matches with the current time then the script is executed
			'every minute'
		}
	},


	-- actual event code
	-- the second parameter is depending on the trigger
	-- when it is a device change, the second parameter is the device object
	-- similar for variables, scenes and groups and httpResponses
	-- inspect the type like: triggeredItem.isDevice
	execute = function(domoticz, _)
	    
	    -- (1) Jour Bleu
	    -- (2) Jour Blanc
	    -- (3) Jour Rouge
	    
	    -- (1) Heures Creuses
	    -- (2) Heures Pleines
	    
	    if '(1) Heures Creuses' == domoticz.devices("Teleinfo Tarif en cours").state then
	        if '(1) Jour Bleu' == domoticz.devices("Teleinfo Couleur du jour").state then
	            -- domoticz.log('(1) Jour Bleu - Heures creuses')
    	        domoticz.devices("Heures creuses - Bleu").updateP1(domoticz.devices("TeleinfokWh Jours Bleus").rawData[2], 0, 0, 0, domoticz.devices("TeleinfokWh Jours Bleus").rawData[5], 0)
    	    end
	        if '(2) Jour Blanc' == domoticz.devices("Teleinfo Couleur du jour").state then
	            -- domoticz.log('(2) Jour Blanc - Heures creuses')
    	        domoticz.devices("Heures creuses - Blanc").updateP1(domoticz.devices("TeleinfokWh Jours Blancs").rawData[2], 0, 0, 0, domoticz.devices("TeleinfokWh Jours Blancs").rawData[5], 0)
    	    end
	        if '(3) Jour Rouge' == domoticz.devices("Teleinfo Couleur du jour").state then
	            -- domoticz.log('(3) Jour Rouge - Heures creuses')
    	        domoticz.devices("Heures creuses - Rouge").updateP1(domoticz.devices("TeleinfokWh Jours Rouges").rawData[2], 0, 0, 0, domoticz.devices("TeleinfokWh Jours Rouges").rawData[5], 0)
    	    end
    	end


	    if '(2) Heures Pleines' == domoticz.devices("Teleinfo Tarif en cours").state then
	        if '(1) Jour Bleu' == domoticz.devices("Teleinfo Couleur du jour").state then
	            -- domoticz.log('(1) Jour Bleu - Heures pleines')
    	        domoticz.devices("Heures pleines - Bleu").updateP1(domoticz.devices("TeleinfokWh Jours Bleus").rawData[1], 0, 0, 0, domoticz.devices("TeleinfokWh Jours Bleus").rawData[5], 0)
    	    end
	        if '(2) Jour Blanc' == domoticz.devices("Teleinfo Couleur du jour").state then
	            -- domoticz.log('(2) Jour Blanc - Heures pleines')
        	    domoticz.devices("Heures pleines - Blanc").updateP1(domoticz.devices("TeleinfokWh Jours Blancs").rawData[1], 0, 0, 0, domoticz.devices("TeleinfokWh Jours Blancs").rawData[5], 0)
    	    end
	        if '(3) Jour Rouge' == domoticz.devices("Teleinfo Couleur du jour").state then
	            -- domoticz.log('(3) Jour Rouge - Heures pleines')
        	    domoticz.devices("Heures pleines - Rouge").updateP1(domoticz.devices("TeleinfokWh Jours Rouges").rawData[1], 0, 0, 0, domoticz.devices("TeleinfokWh Jours Rouges").rawData[5], 0)
    	    end
    	end
	end
}