Il y a deux situations dans laquelle la wemos renvoi un index à 0 :
- soit il y a eu une erreur de lecture avec entre la wemos et le pzem (ce qui arrive assez fréquement)
- soit l'index interne du pzem a fait un tour
Le problème c'est que, dans la première situation il faut ignorer le 0, et attendre gentiment la mesure correcte suivante, alors que dans le deuxième cas il faut prendre en compte le 0. Comme le 1er cas est fréquent et le second rare, j'ai pris le parti de mettre les variables à jour dans le test et non à l'extérieur. Mais du coup ça provoque la situation que tu as rencontré.
La mise à jour du pzem_upt, elle, peut se faire sans problème à l'extérieur du test. Mais si on sort également la mise à jour du pzem_idx, le compteur de consommation sera faussé à chaque erreur de comm' avec le pzem. Pour bien faire, il faudrait corriger le plugin 171 d'espeasy pour renvoyer -1 au lieu de 0 en cas d'erreur de comm'. Comme ça on pourrait le gérer correctement dans domoticz. Mais c'est une autre histoire