Skip to content

Instantly share code, notes, and snippets.

@ralmn
Last active July 28, 2023 00:33
Show Gist options
  • Star 16 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save ralmn/02de46e193bf111062f15be07d3e9bd2 to your computer and use it in GitHub Desktop.
Save ralmn/02de46e193bf111062f15be07d3e9bd2 to your computer and use it in GitHub Desktop.
Lixee ZLinky_TIC - Zigbee2MQTT

Intégration du Lixee ZLinky_TIC dans Zigbee2MQTT

Le module Zlinky_TIC est maintenant intégré officillement dans Zigbee2MQTT grâce au travail de @vk496 !

Pour archives :

Information

Le temps que je fininalise l'intégration, et que je la propose en PR sur le dépot de zigbee2mqtt pour qu'elle soit intégré officiellement voici une 1er version de l'intégration que vous pouvez ajouter manuellement.

En cas de problème, merci de les indiquer en commentaire ou sur twitter @ralmn45

Depot avec toutes les infos : https://github.com/fairecasoimeme/Zlinky_TIC Achat du module : https://lixee.fr/produits/37-zigate-usb-ttl-3770014375148.html

Instruction

  1. Dans le dossier de votre configuration de zigbee2mqtt, creer un dossier avec converters
  2. Placer le fichier lixee.js dans le dossier converters
  3. Dans le fichier configuration.yaml ajouter:
external_converters:
  - converters/lixee.js
  1. Relancer zigbee2mqtt

A faire avant de proposer l'intégration

  • Faire ajouter dans Z2M le cluster custom (merci @vk496 Koenkk/zigbee-herdsman#464)
  • Traduire en anglais les descriptions
  • Voir si tous les champs sont necessaires
  • Mettre un minimum sur l'option measurement_poll_interval

ChangeLog

  • 5 decembre 2021
    • 21h20
      • Ajout des traduction (merci @Gael67350 :) )
  • 4 decembre 2021
    • 00h17
      • Correction PTEC (utilisation du nom de l'attribut)
  • 3 decembre 2021
    • 21h27
      • Options measurement_poll_interval :
        • Minimum a 60
        • Prise en compte du changement sans reboot Z2M
      • Tentative de bind 2 endpoint
  • 15 nov 2021
    • 21h56
      • Correction pour PTEC qui a un attribut qui n'est pas dans la lib ni dans la norme 🤔
    • 18h55
    • Configuration des attributs reportable en async sans blocage.
  • 13 nov 2021
    • 22h20
      • Remise des valeurs filtré ;) mais en desactivant le reportable
    • 19h06
      • Retrait de toutes les versions
      • Test avec des reportings
      • Retrait des options => recup tout le temps des valeurs
      • Retrait de certainnes valeurs (SMAXN*, EASF,, UMOY)
  • 10 nov 2021
    • 18h55
      • Ajout d'un lixee3.js avec des options pour limité la récupération d'info quand c'est pas necessaire. ATTENTION : il faut restart z2m pour qu'une options soit prise en compte pour le moment !
  • 08 nov 2021
    • 18h22
      • Corrige les données null dans le lixee2.js
    • 15h50
      • Ajout d'un lixee2.js avec l'ensemble des valeurs
  • 07 nov 2021
    • 12h40
      • Ajout des index HP HC
    • 14h05
      • Inversion index HP / HC
    • 16h05
      • Fusion HC/HP dans l'index energy
  • 06 nov 2021
    • 1ere versions
/*
CETTE INTEGRATION NEST PLUS SUPPORTER ! MERCI D'UTILISER L'INTEGRATION OFFICILELLE
*/
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const { repInterval } = require('zigbee-herdsman-converters/lib/constants');
const { precisionRound, postfixWithEndpointName } = require('zigbee-herdsman-converters/lib/utils');
const e = exposes.presets;
const ea = exposes.access;
const options_measurement_poll_interval = exposes.numeric(`measurement_poll_interval`, ea.SET).withValueMin(60).withDescription(`This device does not support reporting electric measurements so it is polled instead. The default poll interval is 120 seconds. Min value is 60 seconds`);
// full list available on https://github.com/fairecasoimeme/Zlinky_TIC/blob/master/README.md
// Thanks for the translation of the descriptions to @Gael67350 (https://github.com/Gael67350)
let dataReportable = [
{"name":"PAPP","unit":"VA","clusterId":2820,"attributId":1295,"description":"Apparent power","cluster":"haElectricalMeasurement","attribut":"apparentPower","standard":false,"reportable":true,"onetime":false},
{"name":"IINST","unit":"A","clusterId":2820,"attributId":1288,"description":"RMS current","cluster":"haElectricalMeasurement","attribut":"rmsCurrent","standard":false,"reportable":true,"onetime":false},
{"name":"IINST1","unit":"A","clusterId":2820,"attributId":1288,"description":"RMS current (phase 1)","cluster":"haElectricalMeasurement","attribut":"rmsCurrent","standard":false,"reportable":true,"onetime":false},
{"name":"IINST2","unit":"A","clusterId":2820,"attributId":2312,"description":"RMS current (phase 2)","cluster":"haElectricalMeasurement","attribut":"rmsCurrentPhB","standard":false,"reportable":true,"onetime":false},
{"name":"IINST3","unit":"A","clusterId":2820,"attributId":2568,"description":"RMS current (phase 3)","cluster":"haElectricalMeasurement","attribut":"rmsCurrentPhC","standard":false,"reportable":true,"onetime":false},
{"name":"EAST","unit":"Wh","clusterId":1794,"attributId":0,"description":"Total active power delivered","cluster":"seMetering","attribut":"currentSummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF10","unit":"Wh","clusterId":1794,"attributId":274,"description":"Total provider active power delivered (index10)","cluster":"seMetering","attribut":"currentTier10SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF01","unit":"Wh","clusterId":1794,"attributId":256,"description":"Total provider active power delivered (index 01)","cluster":"seMetering","attribut":"currentTier1SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF02","unit":"Wh","clusterId":1794,"attributId":258,"description":"Provider active power delivered (index 02)","cluster":"seMetering","attribut":"currentTier2SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF03","unit":"Wh","clusterId":1794,"attributId":260,"description":"Provider active power delivered (index 03)","cluster":"seMetering","attribut":"currentTier3SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF07","unit":"Wh","clusterId":1794,"attributId":268,"description":"Provider active power delivered (index 07)","cluster":"seMetering","attribut":"currentTier7SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF09","unit":"Wh","clusterId":1794,"attributId":272,"description":"Provider active power delivered (index 09)","cluster":"seMetering","attribut":"currentTier9SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF04","unit":"Wh","clusterId":1794,"attributId":262,"description":"Provider active power delivered (index 04)","cluster":"seMetering","attribut":"currentTier4SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF05","unit":"Wh","clusterId":1794,"attributId":264,"description":"Provider active power delivered (index 05)","cluster":"seMetering","attribut":"currentTier5SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF06","unit":"Wh","clusterId":1794,"attributId":266,"description":"Provider active power delivered (index 06)","cluster":"seMetering","attribut":"currentTier6SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"EASF08","unit":"Wh","clusterId":1794,"attributId":270,"description":"Provider active power delivered (index 08)","cluster":"seMetering","attribut":"currentTier8SummDelivered","standard":true,"reportable":true,"onetime":false},
{"name":"CCASN","unit":"W","clusterId":2820,"attributId":1291,"description":"Current point of the active load curve drawn","cluster":"haElectricalMeasurement","attribut":"activePower","standard":true,"reportable":true,"onetime":false},
{"name":"SMAXN","unit":"VA","clusterId":2820,"attributId":1293,"description":"Apparent power delivered peak","cluster":"haElectricalMeasurement","attribut":"activePowerMax","standard":true,"reportable":true,"onetime":false},
{"name":"SMAXN1","unit":"VA","clusterId":2820,"attributId":1293,"description":"Apparent power delivered peak (phase 1)","cluster":"haElectricalMeasurement","attribut":"activePowerMax","standard":true,"reportable":true,"onetime":false},
{"name":"SMAXN2","unit":"VA","clusterId":2820,"attributId":2317,"description":"Apparent power delivered peak (phase 2)","cluster":"haElectricalMeasurement","attribut":"activePowerMaxPhB","standard":true,"reportable":true,"onetime":false},
{"name":"SMAXN3","unit":"VA","clusterId":2820,"attributId":2573,"description":"Apparent power delivered peak (phase 3)","cluster":"haElectricalMeasurement","attribut":"activePowerMaxPhC","standard":true,"reportable":true,"onetime":false},
{"name":"CCASN-1","unit":"W","clusterId":2820,"attributId":2315,"description":"Previous point of the active load curve drawn","cluster":"haElectricalMeasurement","attribut":"activePowerPhB","standard":true,"reportable":true,"onetime":false},
{"name":"SINSTS","unit":"VA","clusterId":2820,"attributId":1295,"description":"Immediate apparent power delivered","cluster":"haElectricalMeasurement","attribut":"apparentPower","standard":true,"reportable":true,"onetime":false},
{"name":"SINSTS1","unit":"VA","clusterId":2820,"attributId":1295,"description":"Immediate apparent power delivered (phase 1)","cluster":"haElectricalMeasurement","attribut":"apparentPower","standard":true,"reportable":true,"onetime":false},
{"name":"SINSTS2","unit":"VA","clusterId":2820,"attributId":2319,"description":"Immediate apparent power delivered (phase 2)","cluster":"haElectricalMeasurement","attribut":"apparentPowerPhB","standard":true,"reportable":true,"onetime":false},
{"name":"SINSTS3","unit":"VA","clusterId":2820,"attributId":2575,"description":"Immediate apparent power delivered (phase 3)","cluster":"haElectricalMeasurement","attribut":"apparentPowerPhC","standard":true,"reportable":true,"onetime":false},
{"name":"UMOY1","unit":"V","clusterId":2820,"attributId":1297,"description":"Average RMS voltage (phase 1)","cluster":"haElectricalMeasurement","attribut":"averageRmsVoltageMeasPeriod","standard":true,"reportable":true,"onetime":false},
{"name":"UMOY3","unit":"V","clusterId":2820,"attributId":2577,"description":"Average RMS voltage (phase 3)","cluster":"haElectricalMeasurement","attribut":"averageRmsVoltageMeasPeriodPhC","standard":true,"reportable":true,"onetime":false},
{"name":"UMOY2","unit":"V","clusterId":2820,"attributId":2321,"description":"Average RMS voltage (phase 2)","cluster":"haElectricalMeasurement","attribut":"averageRmsVoltageMeasurePeriodPhB","standard":true,"reportable":true,"onetime":false},
{"name":"ERQ2","unit":"VArh","clusterId":2820,"attributId":1294,"description":"Total reactive power (Q2)","cluster":"haElectricalMeasurement","attribut":"reactivePower","standard":true,"reportable":true,"onetime":false},
{"name":"ERQ3","unit":"VArh","clusterId":2820,"attributId":2318,"description":"Total reactive power (Q3)","cluster":"haElectricalMeasurement","attribut":"reactivePowerPhB","standard":true,"reportable":true,"onetime":false},
{"name":"ERQ4","unit":"VArh","clusterId":2820,"attributId":2574,"description":"Total reactive power (Q4)","cluster":"haElectricalMeasurement","attribut":"reactivePowerPhC","standard":true,"reportable":true,"onetime":false},
{"name":"IRMS1","unit":"A","clusterId":2820,"attributId":1288,"description":"RMS current (phase 1)","cluster":"haElectricalMeasurement","attribut":"rmsCurrent","standard":true,"reportable":true,"onetime":false},
{"name":"IRMS2","unit":"A","clusterId":2820,"attributId":2312,"description":"RMS current (phase 2)","cluster":"haElectricalMeasurement","attribut":"rmsCurrentPhB","standard":true,"reportable":true,"onetime":false},
{"name":"IRMS3","unit":"A","clusterId":2820,"attributId":2568,"description":"RMS current (phase 3)","cluster":"haElectricalMeasurement","attribut":"rmsCurrentPhC","standard":true,"reportable":true,"onetime":false},
{"name":"URMS1","unit":"V","clusterId":2820,"attributId":1285,"description":"RMS voltage (phase 1)","cluster":"haElectricalMeasurement","attribut":"rmsVoltage","standard":true,"reportable":true,"onetime":false},
{"name":"URMS2","unit":"V","clusterId":2820,"attributId":2309,"description":"RMS voltage (phase 2)","cluster":"haElectricalMeasurement","attribut":"rmsVoltagePhB","standard":true,"reportable":true,"onetime":false},
{"name":"URMS3","unit":"V","clusterId":2820,"attributId":2565,"description":"RMS voltage (phase 3)","cluster":"haElectricalMeasurement","attribut":"rmsVoltagePhC","standard":true,"reportable":true,"onetime":false},
{"name":"ERQ1","unit":"VArh","clusterId":2820,"attributId":773,"description":"Total reactive power (Q1)","cluster":"haElectricalMeasurement","attribut":"totalReactivePower","standard":true,"reportable":true,"onetime":false},
{"name":"EAIT","unit":"Wh","clusterId":1794,"attributId":1,"description":"Total active power injected","cluster":"seMetering","attribut":"currentSummReceived","standard":true,"reportable":true,"onetime":false},
];
let dataNonReportable = [
{"name":"BASE","unit":"Wh","clusterId":1794,"attributId":0,"description":"Base index","cluster":"seMetering","attribut":"currentSummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"PMAX","unit":"W","clusterId":2820,"attributId":1293,"description":"Three-phase power peak","cluster":"haElectricalMeasurement","attribut":"activePowerMax","standard":false,"reportable":false,"onetime":false},
{"name":"IMAX","unit":"A","clusterId":2820,"attributId":1290,"description":"RMS current peak","cluster":"haElectricalMeasurement","attribut":"rmsCurrentMax","standard":false,"reportable":false,"onetime":false},
{"name":"IMAX1","unit":"A","clusterId":2820,"attributId":1290,"description":"RMS current peak (phase 1)","cluster":"haElectricalMeasurement","attribut":"rmsCurrentMax","standard":false,"reportable":false,"onetime":false},
{"name":"IMAX2","unit":"A","clusterId":2820,"attributId":2314,"description":"RMS current peak (phase 2)","cluster":"haElectricalMeasurement","attribut":"rmsCurrentMaxPhB","standard":false,"reportable":false,"onetime":false},
{"name":"IMAX3","unit":"A","clusterId":2820,"attributId":2570,"description":"RMS current peak (phase 3)","cluster":"haElectricalMeasurement","attribut":"rmsCurrentMaxPhC","standard":false,"reportable":false,"onetime":false},
{"name":"ISOUSC","unit":"A","clusterId":2817,"attributId":13,"description":"Subscribed intensity level","cluster":"haMeterIdentification","attribut":"availablePower","standard":false,"reportable":false,"onetime":false},
{"name":"VTIC","unit":"-","clusterId":2817,"attributId":10,"description":"Customer tele-information protocol version","cluster":"haMeterIdentification","attribut":"softwareRevision","standard":true,"reportable":false,"onetime":true},
{"name":"PTEC","unit":"-","clusterId":1794,"attributId":32,"description":"Current pricing period","cluster":"seMetering","attribut":"activeRegisterTierDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"HCHC","unit":"Wh","clusterId":1794,"attributId":256,"description":"HCHC index","cluster":"seMetering","attribut":"currentTier1SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"EJPHN","unit":"Wh","clusterId":1794,"attributId":256,"description":"EJPHN index","cluster":"seMetering","attribut":"currentTier1SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"BBRHCJB","unit":"Wh","clusterId":1794,"attributId":256,"description":"BBRHCJB index","cluster":"seMetering","attribut":"currentTier1SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"BBRHCJW","unit":"Wh","clusterId":1794,"attributId":260,"description":"BBRHCJW index","cluster":"seMetering","attribut":"currentTier3SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"BBRHCJR","unit":"Wh","clusterId":1794,"attributId":264,"description":"BBRHCJR index","cluster":"seMetering","attribut":"currentTier5SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"ADC0","unit":"-","clusterId":1794,"attributId":776,"description":"Serial Number","cluster":"seMetering","attribut":"meterSerialNumber","standard":false,"reportable":false,"onetime":true},
{"name":"HCHP","unit":"Wh","clusterId":1794,"attributId":258,"description":"HCHP index","cluster":"seMetering","attribut":"currentTier2SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"EJPHPM","unit":"Wh","clusterId":1794,"attributId":258,"description":"EJPHPM index","cluster":"seMetering","attribut":"currentTier2SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"BBRHPJB","unit":"Wh","clusterId":1794,"attributId":258,"description":"BBRHPJB index","cluster":"seMetering","attribut":"currentTier2SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"BBRHPJW","unit":"Wh","clusterId":1794,"attributId":262,"description":"BBRHPJW index","cluster":"seMetering","attribut":"currentTier4SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"BBRHPJR","unit":"Wh","clusterId":1794,"attributId":266,"description":"BBRHPJR index","cluster":"seMetering","attribut":"currentTier6SummDelivered","standard":false,"reportable":false,"onetime":false},
{"name":"ADSC","unit":"-","clusterId":1794,"attributId":776,"description":"Secondary meter address","cluster":"seMetering","attribut":"meterSerialNumber","standard":true,"reportable":false,"onetime":true},
{"name":"PREF","unit":"kVA","clusterId":2817,"attributId":13,"description":"Apparent power of reference (PREF)","cluster":"haMeterIdentification","attribut":"availablePower","standard":true,"reportable":false,"onetime":false},
{"name":"PCOUP","unit":"kVA","clusterId":2817,"attributId":14,"description":"Apparent power threshold (PCOUP)","cluster":"haMeterIdentification","attribut":"powerThreshold","standard":true,"reportable":false,"onetime":false},
{"name":"PRM","unit":"-","clusterId":1794,"attributId":775,"description":"PRM","cluster":"seMetering","attribut":"siteId","standard":true,"reportable":false,"onetime":true},
];
// All attributes avaialables
let data = [
...dataReportable,
...dataNonReportable
];
function extractAttribute(cluster, nonReportableOnly){
let attributes = (nonReportableOnly ? dataNonReportable : data).filter(item => item.cluster === cluster);
return attributes
.filter(a => a.onetime == false)
.map(i => i.attribut)
.filter(a=>a != null)
.filter((value, index, self) => self.indexOf(value) === index); // Unique attributs
}
// For HomeAssistant
const indexEnergy = () => exposes.numeric('energy', ea.STATE).withUnit('Wh').withDescription('Index Base').withProperty('currentSummDelivered');
// Generate all metrics from attributs list
let exposesData = data.map(item => {
if(item.unit != null && item.unit != '-' && item.unit != ''){
return exposes.numeric(item.name, ea.STATE).withDescription(item.description).withProperty(item.attribut).withUnit(item.unit);
}else{
return exposes.text(item.name, ea.STATE).withDescription(item.description).withProperty(item.attribut);
}
}).filter(e => e != null);
function parsingResponse(model, msg, entries) {
let payload = {}
console.log(msg.cluster, msg.type);
for (let entry in msg.data) {
if(msg.data[entry] != null){
const val = msg.data[entry]
if(typeof(val) == "number"){
payload[postfixWithEndpointName(entry, msg, model)] = precisionRound(val, 2)
}else {
payload[postfixWithEndpointName(entry, msg, model)] = val;
}
}
}
console.log(payload, msg.data);
return payload;
}
const haMeterIdentificationFZ = {
cluster: 'haMeterIdentification',
type: ['attributeReport', 'readResponse', 'write'],
convert: (model, msg, publish, options, meta) => {
return parsingResponse(model, msg, extractAttribute('haMeterIdentification', false))
}
};
const haElectricalMeasurementFZ = {
cluster: 'haElectricalMeasurement',
type: ['attributeReport', 'readResponse', 'write'],
convert: (model, msg, publish, options, meta) => {
return parsingResponse(model, msg, extractAttribute('haElectricalMeasurement', false))
}
};
const seMeteringFZ = {
cluster: 'seMetering',
type: ['attributeReport', 'readResponse', 'write'],
convert: (model, msg, publish, options, meta) => {
let payload = parsingResponse(model, msg, extractAttribute('seMetering', false))
// merging of off-peak and peak hour meter
if (payload['currentSummDelivered'] == 0 && (payload['currentTier1SummDelivered'] > 0 || payload['currentTier2SummDelivered'] > 0)) {
payload['currentSummDelivered'] = payload['currentTier1SummDelivered'] + payload['currentTier2SummDelivered'];
}
return payload;
}
};
function createChunk(array, chunkSize) {
let R = [];
for (let i = 0; i < array.length; i += chunkSize) {
R.push(array.slice(i, i + chunkSize));
}
return R;
}
// Read attributs when are not reportable
async function poll(endpoint) {
console.log("POLL ");
// let attrs = extractAttribute('haMeterIdentification', true);
// await endpoint.read('haMeterIdentification', attrs);
// let chunks = [
// [
// "rmsCurrent",
// "rmsCurrentPhB",
// "rmsCurrentPhC",
// ],
// [
// "apparentPower",
// // ],
// // [
// "activePower",
// "activePowerPhB",
// ],
// [
// "apparentPowerPhB",
// "apparentPowerPhC",
// ],
// [
// "reactivePower",
// "reactivePowerPhB",
// "reactivePowerPhC",
// ],
// [
// "rmsVoltage",
// "rmsVoltagePhB",
// "rmsVoltagePhC",
// // ],
// // [
// "totalReactivePower"
// ]
// ];
attrs = extractAttribute('haElectricalMeasurement', true).sort((a, b)=> a.localeCompare(b));
let chunks = createChunk(attrs, 5);
for(let chunk of chunks)
await endpoint.read('haElectricalMeasurement', chunk);
// attrs = extractAttribute('seMetering', true).sort((a, b)=> a.localeCompare(b));
// chunks = [
// [
// "currentSummDelivered",
// "currentTier1SummDelivered",
// "currentTier2SummDelivered",
// "currentTier3SummDelivered",
// // ],
// // [
// //"meterSerialNumber",
// "ptec", // 32
// // ],
// // [
// "currentSummReceived",
// //"siteId"
// ]
// ];
// let othersAttrs = attrs.filter(a => !chunks[0].includes(a));
// if(othersAttrs.length > 0)
// chunks.push(othersAttrs);
attrs = extractAttribute('seMetering', true).sort((a, b)=> a.localeCompare(b));
chunks = createChunk(attrs, 5);
for(let chunk of chunks)
await endpoint.read('seMetering', chunk);
}
const definition = {
zigbeeModel: ['ZLinky_TIC'],
model: 'ZLinky_TIC',
vendor: 'LiXee',
description: 'Lixee ZLinky',
fromZigbee: [haMeterIdentificationFZ, seMeteringFZ, haElectricalMeasurementFZ],
toZigbee: [],
exposes: [indexEnergy(), ...exposesData],
configure: async (device, coordinatorEndpoint, logger) => {
const SW1_ENDPOINT = 1;
const endpoint = device.getEndpoint(SW1_ENDPOINT);
// ZLinky don't emit divisor and multiplier
endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', { acCurrentDivisor: 1, acCurrentMultiplier: 1 });
endpoint.saveClusterAttributeKeyValue('seMetering', { divisor: 1, multiplier: 1 });
reporting.bind(endpoint, coordinatorEndpoint, ['haElectricalMeasurement']).then(() => {}).catch(e => {
logger.error(`ZLINKY_TIC : failed to bind haElectricalMeasurement ${e.message}`);
});
reporting.bind(endpoint, coordinatorEndpoint, ['seMetering']).then(() => {}).catch(e => {
logger.error(`ZLINKY_TIC : failed to bind haElectricalMeasurement ${e.message}`);
});
for(let reportable of dataReportable){
logger.debug(`ZLINKY_TIC: Start configure reporting for ${reportable.name} (${reportable.cluster}/${reportable.attribut}).`);
//await endpoint.read(reportable.cluster, [reportable.attribut]);
endpoint.configureReporting(reportable.cluster || reportable.clusterId,
[{
attribute: reportable.attribut || reportable.attributId,
minimumReportInterval: 1,
maximumReportInterval: repInterval.MINUTES_5,
reportableChange: 1,
}]).then(() => {
logger.debug(`ZLINKY_TIC: ${reportable.name} (${reportable.cluster}/${reportable.attribut}) report successfully configured.`);
}).catch(e => { // Bug on firmware v1.0.0 (2021 11 01) -> Some attributs reportable cannot be configured
logger.warning(`ZLINKY_TIC: Failed to configure reporting for ${reportable.name} (${reportable.cluster}/${reportable.attribut}). Adding in polling attributs list.`)
dataNonReportable.push(reportable);
});
}
for(let data of dataNonReportable.filter(d => d.cluster).filter(d => d.attribut).filter(d => d.onetime)){
console.log(data.cluster, data.attribut);
endpoint.read(data.cluster, [data.attribut]);
}
},
options: [options_measurement_poll_interval],
onEvent: async (type, data, device, options) => {
const endpoint = device.getEndpoint(1);
const intervalDefined = globalStore.hasValue(device, 'interval');
if (type === 'stop') {
clearInterval(globalStore.getValue(device, 'interval'));
globalStore.clearValue(device, 'interval');
} else if (!intervalDefined) {
// periodic scan for non-reportable attributs
const seconds = options && options.measurement_poll_interval ? options.measurement_poll_interval : 120;
const interval = setInterval(async () => {
try {
await poll(endpoint);
} catch (error) {/* Do nothing*/ }
}, seconds * 1000);
globalStore.putValue(device, 'interval', interval);
globalStore.putValue(device, 'interval_seconds', seconds);
try{
await poll(endpoint);
}catch(e){ }
}else{
if(intervalDefined){
const seconds = options && options.measurement_poll_interval ? options.measurement_poll_interval : 120;
const defined_seconds = globalStore.getValue(device, 'interval_seconds');
if(seconds != defined_seconds){
clearInterval(globalStore.getValue(device, 'interval'));
const interval = setInterval(async () => {
try {
await poll(endpoint);
} catch (error) {/* Do nothing*/ }
}, seconds * 1000);
globalStore.putValue(device, 'interval', interval);
globalStore.putValue(device, 'interval_seconds', seconds);
}
}
}
},
endpoint: (dev) => {
return {
'haElectricalMeasurement': 1, 'seMetering': 1, 'haMeterIdentification': 1, 'default': 1
}
}
};
module.exports = definition;
@tetiti20
Copy link

tetiti20 commented Jan 5, 2022

ca ne fonctionne pas de mon coté aussi. Je suis en version Z2M 1.22.2-1.
J'ai ça dans les log:
`Error: Cannot find module '../lib/exposes'
Require stack:

  • /app/dist/util/utils.js
  • /app/dist/util/settings.js
  • /app/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:93:18)
    at /app/dist/util/externally-loaded.js:2:17
    at Script.runInContext (vm.js:144:12)
    at Script.runInNewContext (vm.js:149:17)
    at Object.runInNewContext (vm.js:303:38)
    at loadModuleFromText (/app/lib/util/utils.ts:148:8)
    at loadModuleFromFile (/app/lib/util/utils.ts:155:12)
    (Use node --trace-warnings ... to show where the warning was created)
    (node:518) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
    (node:518) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
    [22:42:55] INFO: Handing over control to Zigbee2mqtt Core ...`

@Phenix21
Copy link

Phenix21 commented Jan 5, 2022

Hello

Cf mon post ici vk496/zigbee-herdsman-converters#7
Il faut préalablement installer le dossier "zigbee-herdsman-converters" trouvable sur le github de vk496, au même niveau que le dossier "converters", et remplacer dans le fichier lixee.js les ".." par "zigbee-herdsman-converters" (présents sur les premières lignes, dans les prérequis)

@tetiti20
Copy link

tetiti20 commented Jan 5, 2022

@Phenix21 merci

@seblang
Copy link

seblang commented Jan 5, 2022

Allez sur ce github

https://github.com/vk496/zigbee-herdsman-converters/

Et la reponse se trouve sur l'issue numéro 2 qui est soldé.

Ou alors plus haut dans ce github avec la réponse

for use the @vk496 version as external_converters you need tu edit require('../ by require('zigbee-herdsman-converters/

@capi92
Copy link

capi92 commented Jan 6, 2022

Bonsoir,
Après installation de la solution de @vk496, j'ai l'erreur suivante :
Zigbee2MQTT:error 2022-01-06 19:36:45: Failed to configure 'Linky', attempt 1 (Error: Bind 0x00158d0005be865e/1 seMetering from '0x00124b0024c27794/1' failed (AREQ - ZDO - bindRsp after 10000ms)
at Timeout._onTimeout (/app/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35)
at listOnTimeout (internal/timers.js:557:17)
at processTimers (internal/timers.js:500:7))

J'ai reconfiguré le module mais pas de changement.

Merci

@PJHa
Copy link

PJHa commented Jan 8, 2022

Bonjour,

@ralmn super travail merci beaucoup !!!

je viens de lire tous les messages et je ne trouve pas les différentes version du fichier Lixee2.js et Lixee3.js

Est ce que quelqu'un peux m'aider ? j'ai ajouté le fichier lixee.js mais dans l'intégration hassio energy je suis en tryphasé, le compteur est sur null

merci d'avance !

@BadGones0l
Copy link

Bonjour,
J'ai ajouter l'entité cout dans le module Energy

image

Mais j'ai l'erreur suivant :

Translation Error: The intl string context variable "currency" was not provided to the string "Les entités suivantes n'ont pas les unités de mesure attendues '' {currency} /kWh'' ou '' {currency} /Wh'' :"
sensor.0x00158d0005d28575_energy_cost (EUR)

Avez-vous une idée de comment régler le problème ?

Merci :)

@roumano
Copy link

roumano commented Jan 9, 2022

@BadGones0l , le compteur linky (et donc ton Lixee) ne connaît pas le prix de ton kWh (lié a ton abonnement et a ton provider )
Il te faut donc utiliser :

  • Utiliser un prix statique
  • Ou crée, toi même une variable, avec le prix dedans.

@BadGones0l
Copy link

BadGones0l commented Jan 10, 2022

Merci pour ton retour @roumano

Du coup je vais utiliser utility_meter pour suivre la consommation en €.

Avez-vous s'il est possible de récupérer les valeurs directement en KWh ?
Car actuellement je suis obligé de rajouter un sensor pour faire la conversion Wh --> KWh.


utility_meter:
  energy_total_usage_daily_hp:
    source: sensor.0x00158d0005d28575_hchp
    cycle: daily

  energy_total_usage_daily_hc:
    source: sensor.0x00158d0005d28575_hchc
    cycle: daily
    

template:
 - sensor:
   - name: 'Daily Energy Total Wh'
     device_class: energy
     unit_of_measurement: Wh
     state: >
       {% if is_number(states('sensor.energy_total_usage_daily_hc')) and is_number(states('sensor.energy_total_usage_daily_hp')) %}
         {{ states('sensor.energy_total_usage_daily_hc') | float + states('sensor.energy_total_usage_daily_hp') | float }}
       {% else %}
         None
       {% endif %}

 - sensor:
   - name: 'Daily Energy Total KWh'
     device_class: energy
     unit_of_measurement: 'KWh' 
     state: >
       {{ states('sensor.daily_energy_total_wh') | float / 1000 | float }}

@ralmn
Copy link
Author

ralmn commented Jan 10, 2022

Désolé pour le manque de réponse de ma part (pas mal de perso et de pro a regler)

Chez moi le module energy fonctionne très bien en kWh. Par contre la version de @vk496 est prévu pour convertir a la volé en kWh.

@PJHa : les versions lixee2 et lixee3 ont était rebasculé dans le lixee.js

Pour rappel, je ne maintiens plus cette version au profit de la version de @vk496 Koenkk/zigbee-herdsman-converters#3493. J'ai update le readme avec les infos :)

@BadGones0l
Copy link

@ralmn comment peux ton récupérer le nouveau fichier lixee.js de @vk496 ?
quand je vais sur le lien Koenkk/zigbee-herdsman-converters#3493 je ne trouve pas le fichier... :(

@djsyl
Copy link

djsyl commented Jan 10, 2022

@BadGones0l
C'est le nouveau jeux de piste
https://github.com/vk496/zigbee-herdsman-converters/blob/zlinky-integration/devices/lixee.js
avec une version 1.22.2 !
plus chercher dans les issues ce qu'il faut modifier pour que cela fonctionne

@francois-pasquier
Copy link

Salut la compagnie, l'un de vous pourrait partager son lixee.js ?

Je me tape une sale erreur et aucune issue à ce sujet ...

Vous creez seulement converters/lixee.js et ajout du converter dans le configuration.yml pour que tout marche ?

Est-ce-quíl me manque une etape ?

@ralmn
Copy link
Author

ralmn commented Jan 14, 2022

Bonjour, @francois-pasquier tu utilise quelle version du lixee.js? Peux-tu nous donner ton erreur qu'on puisse t'aider ?

@francois-pasquier
Copy link

J'utilise la dernière version dispo sur https://github.com/vk496/zigbee-herdsman-converters/tree/zlinky-integration mais je ne vois pas trop comment l'utiliser sachant qu'elle depend de modifs presentes dans les repertoires du fork qui ne me semblent pas encore dispo sur la 1.22.2 de zigbee2mqtt.

Notamment cette ligne: fromZigbee: [fz.lixee_metering, fz.haMeterIdentificationFZ, fz.lixee_haElectricalMeasurement, fz.lixeePrivateFZ]

Je ne sais pas si je suis très clair...

@ralmn
Copy link
Author

ralmn commented Jan 14, 2022

Effectivement, en l'état elle est plus trop intégrable facilement. Normalement elle est en phase de relecture. Soit un peu patient et elle sera directement dans Z2M ;)

@francois-pasquier
Copy link

ah ah, je m'étais resigné hier, je me disais bien que ça avait l'air compromis.

Merci :)

@Cyril-E
Copy link

Cyril-E commented Jan 16, 2022

Salut a tous

@ralmn peut tu nous donner la procédure qu'il faudra faire quand l'intégration a ZigBee2MQTT sera fini (supprimer le converter, supprimer le peripherique ?......)

Je viens de tester le fichier converter a l'adresse que @djsyl a founi un peut plus haut. Lien chez moi il bloque le démarrage de ZigBee2MQTT donc je suis revenu sur la version precedente. Lien

J'ai des affichages étranges par endroit, les avez vous aussi ?

Capture d’écran 2022-01-16 à 16 02 30

Capture d’écran 2022-01-16 à 16 06 16

Merci

@ralmn
Copy link
Author

ralmn commented Jan 16, 2022

Quand la PR Koenkk/zigbee-herdsman-converters#3493 sera mergé faudra attendre la verison de Z2M qui va avec puis supprimer votre external_converters. Supprimer le devices et le reconnecter n'est pas nécessaire je pense. .

@ralmn
Copy link
Author

ralmn commented Jan 16, 2022

Pour les problèmes avec la versions de @vk496 ouvrez des tickets sur son dépots svp : https://github.com/vk496/zigbee-herdsman-converters/issues

@seblang
Copy link

seblang commented Jan 17, 2022

@ralmn @djsyl @DamGranger

Bonjour je sollicite votre aide en codage JS!

Par ces 2 lignes ci-dessous mes valeurs me sont remontées en KWH mais arrondi !

val = parseInt(utils.precisionRound(val / 1000, 1)); // from Wh to kWh

result[at] = parseInt(utils.precisionRound((parseInt(val[0]) << 32) + parseInt(val[1]) / 1000, 1)); // from Wh to kWh

Cela fausse mes mesures par heure. Comment puis je retrouver des valeurs avec plus de details (par esemple 64,235Kwh et non 64kwh)

merci de votre aide
seb

@BadGones0l
Copy link

BadGones0l commented Jan 17, 2022

Bonjour @seblang

Pourquoi ne fait tu pas la conversion directement via homeassistant, perso j'ai fait comme cela :

utility_meter:
  energy_total_usage_daily_hp:
    source: sensor.0x00158dxxxxx_hchp
    cycle: daily

  energy_total_usage_daily_hc:
    source: sensor.0x00158dxxxx_hchc
    cycle: daily

template:
 - sensor:
   - name: 'Daily Energy Total Wh'
     device_class: energy
     unit_of_measurement: Wh
     state: >
       {% if is_number(states('sensor.energy_total_usage_daily_hc')) and is_number(states('sensor.energy_total_usage_daily_hp')) %}
         {{ states('sensor.energy_total_usage_daily_hc') | float + states('sensor.energy_total_usage_daily_hp') | float }}
       {% else %}
         None
       {% endif %}

 - sensor:
   - name: 'Daily Energy Total kwh'
     device_class: energy
     unit_of_measurement: 'kwh' 
     state: >
       {{ states('sensor.daily_energy_total_wh') | float / 1000 | float }}

 - sensor:
   - name: 'Daily Energy kwh HC'
     device_class: energy
     unit_of_measurement: 'kwh' 
     state: >
       {{ states('sensor.energy_total_usage_daily_hc') | float / 1000 | float }}

 - sensor:
   - name: 'Daily Energy kwh HP'
     device_class: energy
     unit_of_measurement: 'kwh' 
     state: >
       {{ states('sensor.energy_total_usage_daily_hp') | float / 1000 | float }}

Si ça peux aider :)

@ullrik
Copy link

ullrik commented Jan 24, 2022

Bonjour,
J'avais compris qu'a partir de la version 1.22.2 de Zigbee2MQTT, l'intégration ZLinky_TIC serait opérationnelle.
Je viens donc de faire le test mais je me retrouve avec une erreur dans les logs :
info 2022-01-24 16:15:32: Device '0x00158d0005d29a88' joined ... info 2022-01-24 16:15:32: Starting interview of '0x00158d0005d29a88' ... info 2022-01-24 16:15:35: Successfully interviewed '0x00158d0005d29a88', device has successfully been paired warn 2022-01-24 16:15:35: Device '0x00158d0005d29a88' with Zigbee model 'ZLinky_TIC ' and manufacturer name 'LiXee' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html ... warn 2022-01-24 16:15:47: Received message from unsupported device with Zigbee model 'ZLinky_TIC ' and manufacturer name 'LiXee' warn 2022-01-24 16:15:47: Please see: https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html warn 2022-01-24 16:15:57: Received message from unsupported device with Zigbee model 'ZLinky_TIC ' and manufacturer name 'LiXee' warn 2022-01-24 16:15:57: Please see: https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html warn 2022-01-24 16:16:06: Received message from unsupported device with Zigbee model 'ZLinky_TIC ' and manufacturer name 'LiXee' warn 2022-01-24 16:16:06: Please see: https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

j'imagine qu'il reste encore quelques réglages à faire ?
En attendant je pensais donc mettre ta solution via "external_converters" qui j'imagine fonctionne à l'identique ?

@roumano
Copy link

roumano commented Jan 24, 2022

Salut,
Prend les 4 Fichiers qui sont lister la : https://github.com/Koenkk/zigbee-herdsman-converters/pull/3493/files
Et tout fonctionnera.
Cdt

@Titom59
Copy link

Titom59 commented Jan 24, 2022

@roumano merci peux tu nous dire ou mettre ces 4 fichiers? stp

@roumano
Copy link

roumano commented Jan 24, 2022 via email

@ullrik
Copy link

ullrik commented Jan 24, 2022

@Titom59, sur le lien de @roumano il y a 4 fichiers :
converters/fromZigbee.js
devices/lixee.js
lib/ota/index.js
lib/ota/lixee.js
dans le répertoire : /opt/zigbee2mqtt/node_modules/zigbee-herdsman-converters/

@Titom59
Copy link

Titom59 commented Jan 24, 2022

Ok impec je trouvais pas l'emplacement c'est tout bon maintenant merki

Edit par contre j'ai une erreur depuis les 4 fichiers
Exception while calling fromZigbee converter: tuya.firstDpValue is not a function}

@ullrik
Copy link

ullrik commented Jan 24, 2022

A titre personnelle en appliquant les 4 fichiers à la main, j'ai une erreur au démarrage :

(node:7125) UnhandledPromiseRejectionWarning: TypeError: require is not a function or its return value is not iterable
at Object. (/opt/zigbee2mqtt/node_modules/zigbee-herdsman-converters/index.js:116:30)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object. (/opt/zigbee2mqtt/lib/model/device.ts:3:1)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
(node:7125) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:7125) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Pour "converters/fromZigbee.js" j'ai juste appliqué le delta entre le fichier dans la version 1.22.2 et celle en cours de dev.

@capi92
Copy link

capi92 commented Feb 2, 2022

Avec la version zigbee2mqtt 1.23.0, j’ai l’impression que le merge n’est pas passé. Je le trompe ?

@francois-pasquier
Copy link

Exact, la pr est toujours en attente.

@vk496
Copy link

vk496 commented Feb 8, 2022

Hello,

The integration is merged in Z2M dev :)

However, is not fully functional because there are still issues with reading custom cluster 0xFF66 (fairecasoimeme/Zlinky_TIC#46)

@roumano
Copy link

roumano commented Feb 10, 2022

Pour info on peut maintenant faire une mis a jour du firmware via l'ota, (perso, j'ai galérer et du le refaire plusieurs fois, car le zlinky se déconnecter avant les 100% ).
La dernière version est la :
Date Firmware : 20220117
Version Firmware : 4000-0004

Par contre, je suis pas sur de comprendre, j'ai plusieurs champs qui sont en double (dans z2m ) (dont un où les valeurs ne sont pas identique, apparentPower vs apparent_power )

"apparentPower": 710,
"apparent_power": 3280,
"availablePower": 30,
"available_power": 30,
"currentSummDelivered": 37849.372,
"currentTier1SummDelivered": 37849.372,
"current_summ_delivered": 38193,
"meterSerialNumber": "031764648881",
"meter_serial_number": "031764648881",

@vk496
Copy link

vk496 commented Feb 10, 2022

Could be that you didn't removed the external converter?

@roumano
Copy link

roumano commented Feb 10, 2022

Nope, i'm sure i don't use external converter.
I'm juste reinstall the z2m in dev version (do be sure i don't make any mistake as before, i was installed lixee.js manually ... )

  • At start of z2m i see the dev version :
févr. 10 14:14:14 rasp npm[23284]: > zigbee2mqtt@1.23.0-dev start /data/zigbee2mqtt
  • files which have lixee information :
grep -Rl lixee * 2> /dev/null
node_modules/zigbee-herdsman-converters/devices/lixee.js
node_modules/zigbee-herdsman-converters/lib/ota/index.js

* The state after the restart :  ( http://XXXXX:8081/#/device/0xYYYY/state
{
    "activeRegisterTierDelivered": "TH..",
    "active_register_tier_delivered": "TH..",
    "apparentPower": 710,
    "apparent_power": 450,
    "availablePower": 30,
    "available_power": 30,
    "currentSummDelivered": 37849.372,
    "currentTier1SummDelivered": 37849.372,
    "current_summ_delivered": 38195,
    "current_tier1_summ_delivered": null,
    "last_seen": "2022-02-10T13:16:39.441Z",
    "linkquality": 255,
    "meterSerialNumber": "031764648881",
    "meter_serial_number": "031764648881",
    "rmsCurrent": 3,
    "rmsCurrentMax": 90,
    "rms_current": 2,
    "rms_current_max": 90,
    "update": {
        "state": "idle"
    },
    "update_available": false,
    "current_tarif": null,
    "warn_d_p_s": null
}

ps : on my global z2m configuration, i set retain: false

@capi92
Copy link

capi92 commented Feb 10, 2022

De mon côté, l'update OTA fonctionne pas :-(

1.23.0-dev commit: 6394d0f

@ralmn
Copy link
Author

ralmn commented Feb 10, 2022

Maintenant que l'intégration est officillement dans Z2M je vais archiver ce GIST ! Si vous avez des problèmes avec : https://github.com/Koenkk/zigbee-herdsman-converters/issues & https://github.com/Koenkk/zigbee2mqtt/issues

@jerome6994
Copy link

Offciel ?? pas en stable

@ullrik
Copy link

ullrik commented Feb 12, 2022

Est-ce qu'en mettant la version 1.23.0 + ajouter les modifications à la main de la branche https://github.com/Koenkk/zigbee-herdsman-converters/pull/3493/files ça fonctionne ?
Je l'ai tenté en 1.22.2 mais j'avais des erreurs.

@olfx
Copy link

olfx commented Feb 12, 2022

@ullrik Le plus simple est de passer sur la version de dev qui intégre les patchs (1.23.0-dev) : https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html

@ullrik
Copy link

ullrik commented Feb 13, 2022

Je viens de faire la mise à jour vers la 1.23.0 et j'ai appliqué les deltas à la main uniquement pour le Linky, bref ça fonctionne :)
Par contre je me rend compte que ça spam toutes les secondes, y a-t-il des properties à mettre en place pour limiter la remonté ? Personnellement je pensais remonter des informations toutes les 30 min.

Edit : Je viens de faire une mise à jour OTA du TIC, j'ai l'impression qu'il spam un peu moins et j'ai aussi indiqué en properties : 'measurement_poll_interval: 60'

@djsyl
Copy link

djsyl commented Mar 2, 2022

Bonjour,
sur la version 1.24.0 qui integre lixee
EAIT ne me renvoie pas de valeur d'injection
avez vous ce problème aussi ?
y a t'il une issue quel que part ?

@capi92
Copy link

capi92 commented Mar 9, 2022

Bonjour,

Je viens de passer à la version 1.24 et tout refonctionne comme avant.

J'ai par contre le pb d'explosion de base de données qui est de retour.
Même en filtrant sur les données utiles, je ne comprends toujours pas pourquoi on retrouve dans les attribues de chaque sensors, les valeurs de tous les sensors y compris ceux qui ne change jamais ou ceux qui ne nous intéresse pas.

Avez vous une idée de l'endroit ou est implémenté la liste des attributs qui sont stockés dans HA: firmware lixee, zigbee2mqtt, MQTT, HA ?

Merci pour votre aide.

Pierre

exemple des attributs d'un enregistrement EASD01 qui ne devrait donc contenir que les données liées à EASD01:
Tous les elements en gras sont non pertinents

{"state_class":"measurement",
"active_enerfy_out_d01":7791.507,
"active_enerfy_out_d02":15970.036,
"active_enerfy_out_d03":null,
"active_enerfy_out_d04":null,
"active_power":2098,
"active_power_max":6663,
"active_power_ph_b":3250,
"apparent_power":6002,
"available_power":9,
"average_rms_voltage_meas_period":240,
"current_date":"H220306224851",
"current_index_tarif":1,
"current_price":"HEURE CREUSE",
"current_summ_delivered":23761.519,
"current_tarif":"H PLEINE/CREUSE",
"current_tier10_summ_delivered":0,
"current_tier1_summ_delivered":7791.483,
"current_tier2_summ_delivered":15970.036,
"current_tier3_summ_delivered":0,
"current_tier4_summ_delivered":0,
"current_tier5_summ_delivered":0,
"current_tier6_summ_delivered":0,
"current_tier7_summ_delivered":0,
"current_tier8_summ_delivered":0,
"current_tier9_summ_delivered":0,
"days_number_current_calendar":null,
"days_number_next_calendar":null,
"days_profile_current_calendar":null,
"days_profile_next_calendar":null,
"drawn_v_a_max_n1":5563,
"linkquality":75,
"message1":"PAS DE MESSAGE",
"message2":"",
"meter_serial_number":"06206118xxx",
"power_threshold":9,"relais":1,
"rms_current":25,
"rms_current_max":65535,
"rms_voltage":240,
"site_id":"2145658453xxxx",
"software_revision":2,
"start_mobile_point1":null,
"start_mobile_point2":null,
"start_mobile_point3":null,
"status_register":"003A0000",
"stop_mobile_point1":null,
"stop_mobile_point2":null,
"stop_mobile_point3":null,
"tomorrow_color":"",
"update":{"state":"idle"},
"update_available":false,

"unit_of_measurement":"kWh",
"device_class":"energy",
"friendly_name":"Linky EASD02",
"last_reset":"1970-01-01T00:00:00+00:00"}

@roumano
Copy link

roumano commented Mar 9, 2022

@capi92 ,
dans HA, c'est au niveau du recorder qu'il faut paramétrer ça.

Moi, par exemple, j'ai mis ça comme exclusion (attention je suis en mode standard et non historique donc je doit pas avoir les mêmes nom de champs :

recorder:
  commit_interval: 60
  purge_keep_days: 7
  exclude:
    entity_globs:
      - sensor.zlinky_urms1
      - sensor.zlinky_irms1
      - sensor.zlinky_easf01
      - sensor.zlinky_current_tarif
      - sensor.zlinky_meter_serial_number
      - sensor.zlinky_umoy1
      - sensor.zlinky_smaxn
      - sensor.zlinky_ccasn
      - sensor.zlinky_ccasn_1
      - sensor.zlinky_status_register
      - sensor.zlinky_easf07
      - sensor.zlinky_easf08
      - sensor.zlinky_easf09
      - sensor.zlinky_easf10
      - sensor.zlinky_pcoup
      - sensor.zlinky_site_id
      - sensor.zlinky_vtic
      - sensor.zlinky_current_date
      - sensor.zlinky_current_price
      - sensor.zlinky_dpm1
      - sensor.zlinky_dpm2
      - sensor.zlinky_dpm3
      - sensor.zlinky_easd01
      - sensor.zlinky_easd02
      - sensor.zlinky_easd03
      - sensor.zlinky_easd04
      - sensor.zlinky_easf02
      - sensor.zlinky_easf03
      - sensor.zlinky_easf04
      - sensor.zlinky_easf05
      - sensor.zlinky_easf06
      - sensor.zlinky_fpm1
      - sensor.zlinky_fpm2
      - sensor.zlinky_fpm3
      - sensor.zlinky_message1
      - sensor.zlinky_message2
      - sensor.zlinky_njourf
      - sensor.zlinky_ntarf
      - sensor.zlinky_pref
      - sensor.zlinky_relais
      - sensor.zlinky_smaxn_1
  include:
    domains:
      - sensor

@capi92
Copy link

capi92 commented Mar 9, 2022

@capi92 , dans HA, c'est au niveau du recorder qu'il faut paramétrer ça.

Moi, par exemple, j'ai mis ça comme exclusion (attention je suis en mode standard et non historique donc je doit pas avoir les mêmes nom de champs :

recorder:
  commit_interval: 60
  purge_keep_days: 7
  exclude:
    entity_globs:
      - sensor.zlinky_urms1
      - sensor.zlinky_irms1
      - sensor.zlinky_easf01
      - sensor.zlinky_current_tarif
      - sensor.zlinky_meter_serial_number
      - sensor.zlinky_umoy1
      - sensor.zlinky_smaxn
      - sensor.zlinky_ccasn
      - sensor.zlinky_ccasn_1
      - sensor.zlinky_status_register
      - sensor.zlinky_easf07
      - sensor.zlinky_easf08
      - sensor.zlinky_easf09
      - sensor.zlinky_easf10
      - sensor.zlinky_pcoup
      - sensor.zlinky_site_id
      - sensor.zlinky_vtic
      - sensor.zlinky_current_date
      - sensor.zlinky_current_price
      - sensor.zlinky_dpm1
      - sensor.zlinky_dpm2
      - sensor.zlinky_dpm3
      - sensor.zlinky_easd01
      - sensor.zlinky_easd02
      - sensor.zlinky_easd03
      - sensor.zlinky_easd04
      - sensor.zlinky_easf02
      - sensor.zlinky_easf03
      - sensor.zlinky_easf04
      - sensor.zlinky_easf05
      - sensor.zlinky_easf06
      - sensor.zlinky_fpm1
      - sensor.zlinky_fpm2
      - sensor.zlinky_fpm3
      - sensor.zlinky_message1
      - sensor.zlinky_message2
      - sensor.zlinky_njourf
      - sensor.zlinky_ntarf
      - sensor.zlinky_pref
      - sensor.zlinky_relais
      - sensor.zlinky_smaxn_1
  include:
    domains:
      - sensor

Ce n’est pas mon point. J’ai déjà filtré dans le recorder! Dans les attributs de chaque enregistrement de l’une des valeurs tu as toutes les autres valeurs! Complètement inutile…

@Pofilo
Copy link

Pofilo commented Mar 9, 2022

En historique, j'ai ça de mon côté:

+  exclude:
+    entity_globs:
+      - sensor.zlinky_active_register_tier_delivered  # PTEC
+      - sensor.zlinky_adps  # ADPS
+      - sensor.zlinky_current_tarif  # OPTARIF
+      - sensor.zlinky_iinst  # IINST
+      - sensor.zlinky_imax  # IMAX
+      - sensor.zlinky_isousc  # ISOUSC
+      - sensor.zlinky_meter_serial_number  # ADCO
+      - sensor.zlinky_papp  # PAPP

Par contre, côté Z2M, la valeur dans measurement_poll_interval n'a pas l'air de marcher. J'ai mis toutes les 180s, et j'ai des valeurs toutes les minutes en moyenne.

@Pofilo
Copy link

Pofilo commented Mar 9, 2022

Ce n’est pas mon point. J’ai déjà filtré dans le recorder! Dans les attributs de chaque enregistrement de l’une des valeurs tu as toutes les autres valeurs! Complètement inutile…

On parle bien de ZHA ?
De quelle table parles-tu ?
Je ne stocke que sensor.zlinky_base et dans les tables statistics_short_term, statistics, tout est bien filtré par le recorder.

Dans la table states, je n'ai que {"state_class":"total_increasing","unit_of_measurement":"kWh","device_class":"energy","friendly_name":"ZLinky BASE"} pour chaque mesure.

De plus, les purges nettoient bien les vieilles valeurs.

@capi92
Copy link

capi92 commented Mar 9, 2022

Ce n’est pas mon point. J’ai déjà filtré dans le recorder! Dans les attributs de chaque enregistrement de l’une des valeurs tu as toutes les autres valeurs! Complètement inutile…

On parle bien de ZHA ? De quelle table parles-tu ? Je ne stocke que sensor.zlinky_base et dans les tables statistics_short_term, statistics, tout est bien filtré par le recorder.

Dans la table states, je n'ai que {"state_class":"total_increasing","unit_of_measurement":"kWh","device_class":"energy","friendly_name":"ZLinky BASE"} pour chaque mesure.

De plus, les purges nettoient bien les vieilles valeurs.

On ne se comprend pas...

Mon installation : zigb2mqtt 1.24, MQTT, Home assistant.

1/ Extrait de la base de données :
SELECT
entity_id,
COUNT() AS cnt
FROM states
GROUP BY
entity_id
ORDER BY
COUNT(
) DESC;

entity_id cnt
sensor.linky_easd02 58071
sensor.linky_easd01 56867
sensor.processor_temperature 46013

Le recorder est donc bien filtré !

2/ Affichons 2 enregistrements pour illustrer le pb

SELECT
*
FROM states
where
entity_id = "sensor.linky_easd02";

state_id domain entity_id state attributes
35275309 sensor sensor.linky_easd02 15970.036 ** {"state_class":"measurement", "active_enerfy_out_d01":7791.507,"active_enerfy_out_d02":15970.036,"active_enerfy_out_d03":null,"active_enerfy_out_d04":null,"active_power":2098,"active_power_max":6663,"active_power_ph_b":3250,"apparent_power":6002,"available_power":9,"average_rms_voltage_meas_period":240,"current_date":"H220306224851","current_index_tarif":1,"current_price":"HEURE CREUSE","current_summ_delivered":23761.519,"current_tarif":"H PLEINE/CREUSE","current_tier10_summ_delivered":0,"current_tier1_summ_delivered":7791.483,"current_tier2_summ_delivered":15970.036,"current_tier3_summ_delivered":0,"current_tier4_summ_delivered":0,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"current_tier7_summ_delivered":0,"current_tier8_summ_delivered":0,"current_tier9_summ_delivered":0,"days_number_current_calendar":null,"days_number_next_calendar":null,"days_profile_current_calendar":null,"days_profile_next_calendar":null,"drawn_v_a_max_n1":5563,"linkquality":75,"message1":"PAS DE ###MESSAGE","message2":"","meter_serial_number":"06206118xxxx","power_threshold":9,"relais":1,"rms_current":25,"rms_current_max":65535,"rms_voltage":240,"site_id":"2145658453xxxx","software_revision":2,"start_mobile_point1":null,"start_mobile_point2":null,"start_mobile_point3":null,"status_register":"003A0000","stop_mobile_point1":null,"stop_mobile_point2":null,"stop_mobile_point3":null,"tomorrow_color":"","update":{"state":"idle"},"update_available":false,"unit_of_measurement":"kWh","device_class":"energy","friendly_name":"Linky EASD02","last_reset":"1970-01-01T00:00:00+00:00"}
35275336 sensor sensor.linky_easd02 15970.036 {"state_class":"measurement","active_enerfy_out_d01":7791.507,"active_enerfy_out_d02":15970.036,"active_enerfy_out_d03":null,"active_enerfy_out_d04":null,"active_power":2098,"active_power_max":6663,"active_power_ph_b":3250,"apparent_power":6002,"available_power":9,"average_rms_voltage_meas_period":240,"current_date":"H220306224851","current_index_tarif":1,"current_price":"HEURE CREUSE","current_summ_delivered":23761.519,"current_tarif":"H PLEINE/CREUSE","current_tier10_summ_delivered":0,"current_tier1_summ_delivered":7791.483,"current_tier2_summ_delivered":15970.036,"current_tier3_summ_delivered":0,"current_tier4_summ_delivered":0,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"current_tier7_summ_delivered":0,"current_tier8_summ_delivered":0,"current_tier9_summ_delivered":0,"days_number_current_calendar":null,"days_number_next_calendar":null,"days_profile_current_calendar":null,"days_profile_next_calendar":null,"drawn_v_a_max_n1":5563,"linkquality":78,"message1":"PAS DE MESSAGE","message2":"","meter_serial_number":"06206118xxxx","power_threshold":9,"relais":1,"rms_current":25,"rms_current_max":65535,"rms_voltage":240,"site_id":"2145658453xxxx","software_revision":2,"start_mobile_point1":null,"start_mobile_point2":null,"start_mobile_point3":null,"status_register":"003A0000","stop_mobile_point1":null,"stop_mobile_point2":null,"stop_mobile_point3":null,"tomorrow_color":"","update":{"state":"idle"},"update_available":false,"unit_of_measurement":"kWh","device_class":"energy","friendly_name":"Linky EASD02","last_reset":"1970-01-01T00:00:00+00:00"}

Ce ne sont que les 2 premiers enregistrements, il y en a 50k...
Tout ce qui n'est pas en gras n'est pas utile !
On retrouve donc en state l'info utile (i.e. la valeur de la variable) et dans attributes des info complémentaires... incluant toutes les autres variables.

Résultat la taille de la base de données explose inutilement...

Ma question : ou peut on agir pour corriger cela : zigbee2mqtt ou home assistant pour filtrer ce qui est enregistré dans attributes pour chaque enregistrement de la base de données?

@Pofilo
Copy link

Pofilo commented Mar 9, 2022

Ah oui d'accord.
Est-ce que ça peut venir du mode standard ? Je suis en historique et comme monté dans mon dernier message, même si j'ai du "blabla inutile", je suis loin d'avoir autant de champs .. (je suis aussi en 1.24)

@capi92
Copy link

capi92 commented Mar 9, 2022

Ah oui d'accord.
Est-ce que ça peut venir du mode standard ? Je suis en historique et comme monté dans mon dernier message, même si j'ai du "blabla inutile", je suis loin d'avoir autant de champs .. (je suis aussi en 1.24)

Je ne sais pas dire... mais en l'état, j'ai 1 Go par semaine rien pour que 2 capteurs...

@capi92
Copy link

capi92 commented Mar 9, 2022

@roumano
Pourrais tu regarder de ton côté dans ta base de données si tu as le même phénomène ?
i.e. des attributs aussi verbeux ?
dans ce cas ce serait un pb spécifique au mode standard...

@roumano
Copy link

roumano commented Mar 9, 2022

Je confirme que j'ai aussi toutes les infos inutiles: ( je suis en mode standard)

sqlite> SELECT * FROM states WHERE entity_id = 'sensor.zlinky_sinsts' LIMIT 1;
15441937|sensor|sensor.zlinky_sinsts|241|{"active_enerfy_out_d01":34712,"active_enerfy_out_d02":9554.38,"active_enerfy_out_d03":2685.37,"active_enerfy_out_d04":3766.97,"active_power":198,"active_power_max":2705,"active_power_ph_b":164,"apparent_power":241,"available_power":6,"average_rms_voltage_meas_period":230,"current_date":"H220302041146","current_index_tarif":1,"current_price":"BASE","current_summ_delivered":50718.73,"current_tarif":"BASE","current_tier10_summ_delivered":0,"current_tier1_summ_delivered":38569.44,"current_tier2_summ_delivered":12149.28,"current_tier3_summ_delivered":0,"current_tier4_summ_delivered":0,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"current_tier7_summ_delivered":0,"current_tier8_summ_delivered":0,"current_tier9_summ_delivered":0,"days_number_current_calendar":null,"days_number_next_calendar":null,"days_profile_current_calendar":null,"days_profile_next_calendar":null,"drawn_v_a_max_n1":3221,"last_seen":"2022-03-02T03:12:18.430Z","linkquality":224,"message1":"PAS DE MESSAGE","message2":"","meter_serial_number":"031764648881","power_threshold":6,"relais":null,"rms_current":1,"rms_current_max":65535,"rms_voltage":227,"site_id":"19346888530116","software_revision":2,"start_mobile_point1":null,"start_mobile_point2":null,"start_mobile_point3":null,"status_register":"003A8001","stop_mobile_point1":null,"stop_mobile_point2":null,"stop_mobile_point3":null,"update":{"state":"idle"},"update_available":false,"unit_of_measurement":"VA","friendly_name":"zlinky SINSTS"}|40682930|2022-03-02 03:11:23.187893|2022-03-02 03:12:18.450129|2022-03-02 03:12:18.450129|

Je pense qu'il faudrait crée un bug dans zigbee2mqtt pour éviter d'avoir ça

@capi92
Copy link

capi92 commented Mar 10, 2022

@roumano

Il est probable que le problème soit dans zigbee2mqtt et oui on pourrait ouvrir un bug.
En revanche, il est peut être possible de filtrer les attributs au niveau de HA pour la l'insertion en base de données, notamment en créant un nouveau capteur calculé ne reprenant que la variable utile. Une solution rapide alternative...

Cdt,
Pierre

@capi92
Copy link

capi92 commented Mar 11, 2022

CQFD....
Capture d’écran 2022-03-11 à 19 53 30

1/ Pas de linky -- > pas d'augmentation significative de la base --> 40 Mo / jour
2/ linky en mode standard sans filtrage --> 3 Go / jour
3/ linky en mode standard filtré sur 3 sensors --> 350 Mo / jour
4/ linky avec 2 sensors filtrés sur un seul attribut --> 50 Mo / jour

sachant que le Linky n'est pas le seul à enregistrer des données...

A noter : le réglage du polling à 5 minutes sous zigbee2mqtt ne fonctionne pas, le pooling est toutes les minutes

Bref, 2 bugs à ouvrir : le pooling interval, les attributs inutiles...

Si besoin, je peux partager la solution palliative pour 4/

@capi92
Copy link

capi92 commented Mar 11, 2022

First bug: ZLinky measurement_poll_interval parameter not working
Koenkk/zigbee2mqtt#11805
Second bug: ZLinky attributes sent to MQTT are not restricted to sensor value filling HA database at 3 Go / day !
Koenkk/zigbee2mqtt#11806

@capi92
Copy link

capi92 commented Mar 12, 2022

J'ai publié les solutions de contournement pour les 2 problèmes sur les 2 bug reports ci-dessus.

@djsyl
Copy link

djsyl commented Mar 12, 2022

Tu n'a pas un contournement pour
"EAIT ne me renvoie pas de valeur d'injection" ?

@capi92
Copy link

capi92 commented Mar 12, 2022

Les 2 problèmes sont résolus de mon côté plus besoin de solution de contournement .
Cf bug reports.

@francois-pasquier
Copy link

Les 2 problèmes sont résolus de mon côté plus besoin de solution de contournement . Cf bug reports.

Je suis un peu étonné que sur les deux bug reports, aucun n'a abouti à une PR de fix.

Pour moi ils n'auraient pas du être fermés...

@Phenix21
Copy link

Hello !
J'ai le même souci de BDD qui explose depuis le passage sur la dernière version, malgré un recorder hyper restrictif (qui fonctionnait nickel auparavant).
Autre souci : en triphasé et mode standard, avez vous une entité qui somme la puissance consommée sur les 3 phases ? (équivalent au PAPP en mode historique) ?
Merci, et désolé si la question n'a pas sa place ici...

@capi92
Copy link

capi92 commented Mar 12, 2022

Hello !
J'ai le même souci de BDD qui explose depuis le passage sur la dernière version, malgré un recorder hyper restrictif (qui fonctionnait nickel auparavant).
Autre souci : en triphasé et mode standard, avez vous une entité qui somme la puissance consommée sur les 3 phases ? (équivalent au PAPP en mode historique) ?
Merci, et désolé si la question n'a pas sa place ici...

Je ne suis pas en triphase. J’ai réglé mes problèmes en monophasé comme indiqué dans les 2 bug report ci-dessus.

@batchmanfr
Copy link

Bonjour @Phenix21
Même problème en triphasé et mode standard, je n'ai pas d'entité pour la puissance consommée sur les 3 phases, même si je retrouve la valeur current_summ_delivered: 48825.459 dans les attributs de chacune de mes entités.
Cf. fairecasoimeme/Zlinky_TIC#59
Selon ce qui se dit là bas, j'essayerai peut-être d'ouvrir une issue sur https://github.com/Koenkk/zigbee-herdsman-converters/issues ou https://github.com/Koenkk/zigbee2mqtt/issues

@abstract-entity
Copy link

``Hello,
@capi92 je rencontre ce même soucis sur le measurement_poll_interval qui n'est pas en compte, c'est assez frustrant car toutes les 60 secondes je reçois un burst d'infos (une douzaine de messages identique d'un seul coup)

J'ai essayé de les supprimer dans l'onglet rapports, et il y a en a un que je n'arrive pas a supprimer ou modifier :

ConfigureReporting 0x00158d0005d29916/1 liXeePrivate([{"attribute":"warnDPS","minimumReportInterval":"3600","maximumReportInterval":"3600","reportableChange":1}], {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":4151,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Status 'UNSUPPORTED_ATTRIBUTE')

suis-je le seul ?

zigbee2mqtt/Linky : msg.payload : string[491]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":12,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[491]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":12,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":9,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[491]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":12,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[491]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":12,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":6,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":9,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":6,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[491]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":12,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:37[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":9,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:38[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":9,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:38[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":9,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:38[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":6,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:38[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":9,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:38[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":6,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:38[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":9,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"
01/04/2022, 11:36:38[node: c24176bb3d337b0a](http://192.168.1.21:1880/#)
zigbee2mqtt/Linky : msg.payload : string[490]
"{"apparent_power":1852,"available_power":12,"current_summ_delivered":31389,"current_tarif":"H PLEINE/CREUSE","current_tier1_summ_delivered":10075,"current_tier2_summ_delivered":21254,"current_tier3_summ_delivered":14,"current_tier4_summ_delivered":46,"current_tier5_summ_delivered":0,"current_tier6_summ_delivered":0,"linkquality":9,"meter_serial_number":"021975223610","rms_current":8,"rms_current_max":65535,"status_register":"003A4401","tomorrow_color":"","update":{"state":"available"}}"```

@batchmanfr
Copy link

Bonjour,
@Phenix21 le problème devrait être résolu avec la version 1.25.0-1 de Z2M. C'est le cas pour moi.
L'entité EAST (Total active power delivered) reprend la somme consommée (heure pleine + creuse en l'occurrence).
Florian

@djsyl
Copy link

djsyl commented Apr 2, 2022

Bonjour,
Dans la version 1.25
EAIT valeur d'injection fonctionne t'il ?

@SilentT-FR
Copy link

@Phenix21 (standard) en effet j'ai moi même fait la modif dans le script de zigbee2mqtt https://github.com/Koenkk/zigbee-herdsman-converters/pull/3950/files#diff-b8ac9ade6e7ce3d01aa9354bbe562e0277f0d1d9826fcc041ea9cd55a63313cbR339 il était dispo uniquement en single phase

@djsyl
(standard) Pour moi EAIT qui est la valeur d'injection était disponible uniquement en monophasé j'ai corriger pour le rendre disponible en triphasé
https://github.com/Koenkk/zigbee-herdsman-converters/pull/3946/files#diff-b8ac9ade6e7ce3d01aa9354bbe562e0277f0d1d9826fcc041ea9cd55a63313cbR354 il faut bien évidement activer le mode producteur

@Phenix21
Copy link

Phenix21 commented Apr 3, 2022

Hello
Suite à vos retours, j'ai mis à jour Z2M et effectivement j'ai récupéré pas mal d'infos supp dont le EAST. A suivre pour voir si ça fonctionne correctement !
J'ai l'impression aussi que la liste des attributs de chaque entité a été fortement réduite. Ca sera mieux pour les BDD ;)
Merci

@capi92
Copy link

capi92 commented Apr 3, 2022

A chaque mise à jour, son lot de corrections... et de bugs ! Disparition de EASD2...

@SilentT-FR
Copy link

@capi92 {cluster: clustersDef._0xFF66, att: 'activeEnerfyOutD02', reportable: false, report: {change: 100}, onlyProducer: false, linkyPhase: linkyPhaseDef.all, linkyMode: linkyModeDef.standard, exposes: exposes.numeric('EASD02', ea.STATE).withUnit('kWh').withProperty('active_enerfy_out_d02').withDescription('Active energy withdrawn Distributor (index 02)')},

il est fournis à tout le monde mais aucun dés tarif ne le présente

À partir de ligne 251 il est exclus des HC/HP et de l’offre Sam We Mecre

https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices/lixee.js

J’ai fait le tarif de HCHP j’ai pas remarquer cette valeur elle contient quoi ?

@SilentT-FR
Copy link

Ah oui sa me revient si elle était remplis mais ne corréler pas avec ce que m’afficher le compteur,

je remarque dans le pdf de enedis que C’est l’énergie active soutirer distributeur en index 02 et il y en a 4

J’ai pas vraiment compris la différence entre distributeur/fournisseur

@SilentT-FR
Copy link

SilentT-FR commented Apr 3, 2022

A titre d’exemple
mon out_d02 n’est pas égale à
current_tier1_summ_delivered
Mais en effet ce ressemble
{
"active_enerfy_out_d01": 7327.651,
"active_enerfy_out_d02": 6184,
"active_power": 310,
"active_power_max": 974,
"active_power_max_ph_b": 1100,
"active_power_max_ph_c": 986,
"active_power_ph_b": 390,
"apparent_power": 235,
"apparent_power_ph_b": 95,
"apparent_power_ph_c": 98,
"available_power": 9,
"average_rms_voltage_meas_period": 237,
"average_rms_voltage_meas_period_ph_c": 235,
"average_rms_voltage_measure_period_ph_b": 230,
"current_date": "H220302075330",
"current_index_tarif": 2,
"current_price": "HEURE PLEINE",
"current_summ_delivered": 13511.803,
"current_tarif": "H PLEINE/CREUSE",
"current_tier10_summ_delivered": 0,
"current_tier1_summ_delivered": 6246.159,
"current_tier2_summ_delivered": 7265.644,
"current_tier3_summ_delivered": 0,
"current_tier4_summ_delivered": 0,
"current_tier5_summ_delivered": 0,
"current_tier6_summ_delivered": 0,
"current_tier7_summ_delivered": 0,
"current_tier8_summ_delivered": 0,
"current_tier9_summ_delivered": 0,
"drawn_v_a_max_n1": 1064,
"drawn_v_a_max_n1_p2": 3115,
"drawn_v_a_max_n1_p3": 2451,
"last_seen": "2022-03-03T10:07:18+01:00",
"linkquality": 114,
"message1": "PAS DE MESSAGE",
"message2": "",
"meter_serial_number": "HIDE",
"power_threshold": 9,
"rms_current": 1,
"rms_current_max": 65535,
"rms_current_max_ph_b": 65535,
"rms_current_max_ph_c": 65535,
"rms_current_ph_b": 1,
"rms_current_ph_c": 1,
"rms_voltage": 240,
"rms_voltage_ph_b": 235,
"rms_voltage_ph_c": 235,
"site_id": "HIDE",
"software_revision": 2,
"status_register": "HIDE",
"tomorrow_color": "",
"update": {
"state": "idle"
},
"update_available": false
}

@SilentT-FR
Copy link

SilentT-FR commented Apr 3, 2022

Si tu le juge utile je le sors de l’exclusion @capi92 ?

@SilentT-FR
Copy link

SilentT-FR commented Apr 3, 2022

Pour celle et ce, qui sont en standard et ne sont pas en HC HP ni en Sam we Mecredis, si vous pouvez extraire votre State pour que je rajoute votre tarif a Z2M il manque : Heure pleine , les tempo et certainement d’autre que je connais pas

@Phenix21
Copy link

Phenix21 commented Apr 4, 2022

@SilentT-FR c'est cela qu'il te faut ? Triphasé en strandard et tarif classique

"activePower": 1168,
"activePowerMax": 1874,
"activePowerMaxPhB": 2806,
"activePowerMaxPhC": 2024,
"activePowerPhB": 606,
"activeRegisterTierDelivered": "TH..",
"active_enerfy_out_d01": 8428.9,
"active_power": 628,
"active_power_max": 2248,
"active_power_max_ph_b": 2339,
"active_power_max_ph_c": 2437,
"active_power_ph_b": 982,
"apparentPower": 336,
"apparentPowerPhB": 144,
"apparentPowerPhC": 111,
"apparent_power": 332,
"apparent_power_ph_b": 280,
"apparent_power_ph_c": 1587,
"availablePower": 9,
"available_power": 9,
"averageRmsVoltageMeasPeriod": 229,
"averageRmsVoltageMeasPeriodPhC": 225,
"averageRmsVoltageMeasurePeriodPhB": 237,
"average_rms_voltage_meas_period": 228,
"average_rms_voltage_meas_period_ph_c": 234,
"average_rms_voltage_measure_period_ph_b": 228,
"currentSummDelivered": null,
"currentSummReceived": [
    0,
    0
],
"currentTier10SummDelivered": 1,
"currentTier1SummDelivered": null,
"currentTier2SummDelivered": 256,
"currentTier3SummDelivered": 0,
"currentTier4SummDelivered": 0,
"currentTier5SummDelivered": 0,
"currentTier6SummDelivered": 0,
"current_date": "E220404204326",
"current_index_tarif": 1,
"current_price": "BASE",
"current_summ_delivered": 8428.9,
"current_summ_received": 0,
"current_tarif": "BASE",
"current_tier10_summ_delivered": 0,
"current_tier1_summ_delivered": 8428.9,
"current_tier2_summ_delivered": 0,
"current_tier3_summ_delivered": 0,
"current_tier4_summ_delivered": 0,
"current_tier5_summ_delivered": 0,
"current_tier6_summ_delivered": 0,
"current_tier7_summ_delivered": 0,
"current_tier8_summ_delivered": 0,
"current_tier9_summ_delivered": 0,
"drawn_v_a_max_n1": 2187,
"drawn_v_a_max_n1_p2": 2379,
"drawn_v_a_max_n1_p3": 1766,
"last_seen": "2022-04-04T18:43:41.117Z",
"linkquality": 57,
"message1": "PAS DE MESSAGE",
"message2": "",
"meterSerialNumber": "XXXXXXXXXXXX",
"meter_serial_number": "XXXXXXXXXXXX",
"powerThreshold": 0,
"power_threshold": 9,
"reactivePower": -32768,
"reactivePowerPhB": -32768,
"reactivePowerPhC": -32768,
"reactive_power": -32768,
"reactive_power_ph_b": -32768,
"reactive_power_ph_c": -32768,
"rmsCurrent": 1,
"rmsCurrentMax": 60,
"rmsCurrentMaxPhB": 60,
"rmsCurrentMaxPhC": 60,
"rmsCurrentPhB": 1,
"rmsCurrentPhC": 1,
"rmsVoltage": 232,
"rmsVoltagePhB": 231,
"rmsVoltagePhC": 234,
"rms_current": 1,
"rms_current_ph_b": 1,
"rms_current_ph_c": 7,
"rms_voltage": 227,
"rms_voltage_ph_b": 230,
"rms_voltage_ph_c": 231,
"siteId": {},
"site_id": "XXXXXXXXXXXXXX",
"softwareRevision": 0,
"software_revision": 2,
"status_register": "003A0001",
"totalReactivePower": 0,
"update": {
    "state": "idle"
},
"update_available": false,
"active_enerfy_out_d02": null,
"active_enerfy_out_d03": null,
"active_enerfy_out_d04": null,
"days_number_current_calendar": null,
"days_number_next_calendar": null,
"days_profile_current_calendar": null,
"days_profile_next_calendar": null,
"device": {
    "applicationVersion": 1,
    "dateCode": "20220217",
    "friendlyName": "ZLinkyTIC",
    "hardwareVersion": 1,
    "ieeeAddr": "0x0015XXXXXXX",
    "manufacturerID": 4151,
    "manufacturerName": "LiXee",
    "model": "ZLinky_TIC",
    "networkAddress": XXXXX,
    "powerSource": "Mains (single phase)",
    "softwareBuildID": "4000-0005",
    "stackVersion": 2,
    "type": "Router",
    "zclVersion": 3

@Phenix21
Copy link

Phenix21 commented Apr 4, 2022

C'est ça @SilentT-FR

@SilentT-FR
Copy link

SilentT-FR commented Apr 4, 2022

C'est ça @SilentT-FR

J'avais pas vu le début du texte avec ta précision

le souci étant que être en BASE en standard ou en BASE en historique dans le script il y a conflict car pour le script c'est la même... @vk496 une idée ?

@SilentT-FR
Copy link

@vk496

Pour chercher le tarif et donc les valeur a présenter on cherche

current_tarif qui peut être OPTARIF ou NGTF
Il y a t'il moyen de le savoir au moment de faire la déclaration de tarifsDef ?

sinon ce qui différencie un standard d'un historique c'est que la valeur LTARF est remplis en standard avec BASE écris dedans

@SilentT-FR
Copy link

@vk496 Je vient de comprendre que tu récupère déjà le linkymode donc je rajoute que le new tarif alors ?

@capi92
Copy link

capi92 commented Apr 4, 2022

Si tu le juge utile je le sors de l’exclusion @capi92 ?

Je viens de rechanger tout pour utiliser easf02 & easf01. Du coup, pourquoi garder easd01 et supprimer easd02 ?

Savez vous si il est possible de changer le capteur sans perdre tout l'historique (surpression puis création = perte des données).

@SilentT-FR
Copy link

Je viens de rechanger tout pour utiliser easf02 & easf01. Du coup, pourquoi garder easd01 et supprimer easd02 ?

En effet mais je vais le rendre disponible quand même pour être propre et réparer cette erreur, pour les BASE il n'y a que easd01 de dispo forcement

@SilentT-FR
Copy link

@ullrik
Copy link

ullrik commented Apr 4, 2022

Bonjour,
depuis que je viens de faire l'update sur la dernière version Zigbee2mqtt, la valeur de ma consommation ne semble plus s'actualiser.
Je suis sur Standard, single_phase et production false.
J'ai tenté un rollback sur mon ancienne version (celle de mars) à voir si cela revient.
Edit : le retour arrière me permet de bien retrouver l'actualisation de la valeur ... Suis-je le seul à qui le problème est arrivé en montant la version ?

@djsyl
Copy link

djsyl commented Apr 5, 2022

@SilentT-FR merci pour les infos

Après test je confirme que les infos de production remontent bien
config: standard, mono phasé, producteur
Petit détail cela n'a bien fonctionner qu'après la mise a jour OTA version 4000-0005

@vk496
Copy link

vk496 commented Apr 5, 2022

Hello,

@SilentT-FR is not clear for me what is your question/issue. Could you please clarify it to me?

Have a nice day,
Valentín

@Phenix21
Copy link

Phenix21 commented Apr 6, 2022

Tiens, j'ai une phase qui ne remonte pas bien et reste fixe. Les puissances des phases 2 et 3 sont OK

image

@Cyril-E
Copy link

Cyril-E commented Apr 12, 2022

@ullrik meme probleme chez moi, la valeur n'etait pas actualisé, j'ai reboot zigbee2mqtt et depuis je n'ai plus aucune valeur (mis a part le linkquality)
Y a t'il un reglage particulier a faire ?, ou faut'il attendre la prochaine mise a jour de ZB2MQTT ?

@ullrik
Copy link

ullrik commented Apr 24, 2022

@Cyril-E tu es en quelle version sur Zlinky ?
J'ai fait un rollback sur ma version zigbee2mqtt perso

@Cyril-E
Copy link

Cyril-E commented Apr 24, 2022

@ullrik Zlinky est en version 4000-005 et zigbee2mqtt est en 1.25

@ullrik
Copy link

ullrik commented Apr 25, 2022

@Cyril-E je viens de voir que lors de mon passage en 1.25 mon Zlinky était passé en version 4000-0005. Malgré un test de reboot c'était ko chez moi.
En repassant sur zigbee2mqtt en version 1.24 (et donc en Zlinky 4000-0005) c'est bien revenu.
Est-ce que de ton coté c'est toujours ko ?
Est-ce que tu es aussi en paramétrage "Standard, Single_phase, false, historique - BASE" ?
`
devices:
'0x00158d0005d29a88':
friendly_name: ZLinky_TIC
energy_phase: single_phase
linky_mode: standard
kWh_precision: 3
tarif: Historique - BASE
production: 'false'

`

@vk496 Est-ce que des modifications pourraient expliquer que cela ne fonctionne plus en 1.25 ?

@SilentT-FR
Copy link

@ullrik tu est bien en historique BASE Monophase ?
dans ce cas ce sont les valeur IINST en A ou PAPP en VA qui sont remplis

@ullrik
Copy link

ullrik commented Apr 25, 2022

@SilentT-FR j'imagine, je sais que cela fonctionne sur la version zigbee2mqtt 1.24 en "Historique - base", je suis dans une maison avec un forfait "classique".
Il faut que je regarde les modifications qu'il y aurait eu sur ces champs ?

@SilentT-FR
Copy link

SilentT-FR commented Apr 25, 2022

@SilentT-FR j'imagine, je sais que cela fonctionne sur la version zigbee2mqtt 1.24 en "Historique - base", je suis dans une maison avec un forfait "classique". Il faut que je regarde les modifications qu'il y aurait eu sur ces champs ?

Je te conseille d'aller voir ton compteur, il on changer mon mode (histo à standard) sans aucune demande de ma part,

Aucune modification sur le profile Histo Base a part un changement sur indentation mais il y eu la même modification sur tout les profil

@SilentT-FR
Copy link

n’hésite pas a sortir puis a re-integrer ton lixee dans Z2M il va certainement ce re-config pour prendre bien en compte les valeur a récupérer

@Cyril-E
Copy link

Cyril-E commented May 2, 2022

Je viens de faire la mise a jour vers la 1.25.1 , le probleme ne semble pas etre reglé, je vais essayer dans la soirée (semaine ??) de le supprimer et de le remettre dans la config

@ullrik
Copy link

ullrik commented May 9, 2022

@Cyril-E as-tu pu faire le test ?
Si je comprends bien la manipulation, il faut faire la MAJ vers 1.25.1. Supprimer le device TIC, refaire la synchronisation (j'imagine en allant sur le TIC pour l'appairage).

@Cyril-E
Copy link

Cyril-E commented May 9, 2022

@ullrik, oui j'ai fait le test ce week-end
Effectivement après la mise a jour, j'ai supprimé puis réintégré et ça fonctionne a nouveau
J'ai certains retour de donnée qui n'on pas de valeur, mais je pense que c'est ma config qui n'est pas bonne

@ullrik
Copy link

ullrik commented May 9, 2022

@Cyril-E pour la réintégration, tu as été appuyer sur le bouton de ton TIC ou tu as juste autorisé les appairages au niveau de Zigbee2MQTT qui à retrouver le TIC ?
Je vais faire le teste suite à ton retour.

@Cyril-E
Copy link

Cyril-E commented May 9, 2022

@ullrik il faut faire les deux
Je met Zigbee2MQTT en mode appairage, puis je vais au garage mettre le module en appairage en appuyant 10s sur le bouton, faut faire attention le bouton est pas pile poil en face du trou :-)

Attention aussi avec la MAJ 1.25.1 ya un espèce de bug d'affichage, si la page s'affiche vide, vide le cache de ton navigateur ou essaye avec un autre qui n'a jamais ouvert la page

@ullrik
Copy link

ullrik commented May 16, 2022

@Cyril-E merci pour tes informations.

Petit retour pour ma part :
J'ai arrêté le service Zigbee2MQTT et j'ai fait une sauvegarde du répertoire zigbee2mqtt (tar.gz)
J'ai fait l'update Zigbee2MQTT. Attention suite à l'observation de warning, j'ai du faire un update de node et npm (puis re update de Zigbee2MQTT).
Ensuite depuis l'interface de Zigbee2MQTT, j'ai supprimé mon appareil "TIC". Activation de l'autorisation d'appairage, puis la manipe de 10 sec sur le TIC branché sur mon Linky. Au passage, j'en ai profité pour regarder mes informations de forfait : message 1 -> Nom du contrat = BASE et message 2 -> Mode TIC = HISTORIQUE (pour aide lien Linky)
Une fois l'ajout de l'appareil confirmé, j'ai pu renommer et modifier les "paramètres (spécifique)" avec :

friendly_name: ZLinky_TIC
tarif: Historique - BASE
production: 'false'
energy_phase: single_phase
linky_mode: historique
kWh_precision: 3

Un petit reboot et un changement de variable coté HA pour prendre la bonne valeur dans énergie, à savoir le sensor : sensor.zlinky_tic_base.

J'imagine que suite à l'update de Zigbee2MQTT lors de ma 1ère tentative, le soucis venait que j'avais une configuration en linky_mode = standard.

@TROM83
Copy link

TROM83 commented Jun 5, 2022

Bonjour.
Je ne sais pas si je poste au bon endroit pour exposer mon problème...
Jusqu'alors j'utilisais le ZLinky en mode Historique (je suis en triphasé) et tout fonctionnait bien (carte énergie et carte visualisation puissance apparente instantanée). Je voulais aussi visualiser la puissance apparente instantanée de chacune des 3 phases, et je suis donc passé en mode Standard.
Depuis, les 3 valeurs SINSTS ne correspondent pas du tout avec celles affichées sur mon Linky.
Pour info, Zigbee2mqtt Current version: 1.25.2-1, ZLinky V5, et version HA core-2022.6.2
{
"active_enerfy_out_d01": 29394,
"active_power": 478,
"active_power_max": 3340,
"active_power_max_ph_b": 1790,
"active_power_max_ph_c": 1130,
"active_power_ph_b": 870,
"apparent_power": 21776,
"apparent_power_ph_b": 42998,
"apparent_power_ph_c": 18031,
"available_power": 15,
"average_rms_voltage_meas_period": 236,
"average_rms_voltage_meas_period_ph_c": 235,
"average_rms_voltage_measure_period_ph_b": 236,
"current_date": "E220605141516",
"current_index_tarif": 1,
"current_price": "BASE",
"current_summ_delivered": 33854,
"current_tarif": "BASE",
"current_tier1_summ_delivered": 28785,
"current_tier2_summ_delivered": 3686,
"drawn_v_a_max_n1": 1700,
"drawn_v_a_max_n1_p2": 2250,
"drawn_v_a_max_n1_p3": 2420,
"linkquality": 255,
"message1": "PAS DE MESSAGE",
"message2": "",
"meter_serial_number": "xxx",
"power_threshold": 15,
"rms_current": 6,
"rms_current_max": 65535,
"rms_current_ph_c": 1,
"rms_voltage": 234,
"rms_voltage_ph_b": 234,
"rms_voltage_ph_c": 234,
"site_id": "xxx",
"software_revision": 2,
"status_register": "003A0001",
"update": {
"state": "idle"
},
"update_available": false
}
Alors que sur le Linky : Pui App : 1800VA, Pui1 : 1460VA, P2VA, Pui3 : 300VA (valeurs au moment du log).

Voilà, j'espère que je pourrai trouver une aide ici, ou alors que l'on m'aiguille sur un site qui me permettre de résoudre ce problème.

Merci par avance

@SilentT19
Copy link

SilentT19 commented Jun 5, 2022 via email

@TROM83
Copy link

TROM83 commented Jun 5, 2022

Bonjour.
Oui, je suis bien passé en mode standard sur le compteur Linky suite à ma demande auprès d'Enedis. J'ai bien vérifié sur l'écran du Linky.

@SilentT19
Copy link

SilentT19 commented Jun 5, 2022 via email

@TROM83
Copy link

TROM83 commented Jun 6, 2022

C'est que j'avais fait aussi. Supression du Linky dans Z2mqtt, relance de Z2mqtt et réintégration. Plusieurs fois. Mais j'ai toujors ce même problème...

@SilentT19
Copy link

SilentT19 commented Jun 6, 2022 via email

@TROM83
Copy link

TROM83 commented Jun 6, 2022

Merci pour ton aide. Ce sont bien ces valeurs que je regarde, j'avais édité mon message ;-)
Quand je regarde sur le log que j'ai publié, il y a bien une incohérence puisque ma puissance max est de 15kVA et que les valeurs sont bien supérieures
"apparent_power": 21776,
"apparent_power_ph_b": 42998,
"apparent_power_ph_c": 18031,

@SilentT19
Copy link

SilentT19 commented Oct 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment