J’ai des doutes là-dessus …
Ces variables sont bien répertoriées pourtant, par défaut à False mais je supose que du coup ça nous laisse la possibilité de les passer à True si on le souhaite… Quoi qu’il en soit j’ai testé malgré tout en les passant une par une à False et même toutes les trois, avec le même « name client is not defined ».
J’ai même supprimé l’image docker et l’ai retéléchargée au cas où…
Tant qu’à me prendre la tête sur un truc pour lequel je viens de dire que je ne me prendrais plus la tête, je viens de tester sur une autre machine et là, ça fonctionne.
Celle où ça fonctionne est sous Debian Bullseye AmD64, tandis que là où ça ne fonctionne pas c’est un Odroid N2+ sous Armbian Buster.
Peut-être un problème avec l’architecture aarch64 ?
Cela dit ça fonctionne, jusqu’à cette erreur :
Traceback (most recent call last):
File "/app/main.py", line 631, in <module>
run()
File "/app/main.py", line 540, in run
my_enedis_data = myenedis.myEnedis(cur, con, client, last_activation_date, offpeak_hours)
File "/app/myenedis.py", line 379, in myEnedis
attributes[f'offpeak_hours_enedis'] = query_result[1]
TypeError: 'NoneType' object is not subscriptable
ça semble être au moment de la génération de l’entity pour la card linky.
Je ne crois pas car je suis sur cette archi et cela fonctionne. Et dans le container il ne devrait pas y avoir de pb de dépendances.
Tu as donc maintenant la même erreur que mentionné par Balooforever.
Attendons le boss ^^
Les docker-compose ou autre sont des exemples, ils ne faut pas forcément définir toutes les variables, juste celle dont vous avez besoin.
Pour le OFFPEAK_HOURS, inutile de le définir normalement c’est juste pour surcharger les valeurs par défaut que je récupère en retour des APIs.
Traceback (most recent call last):
File « /app/main.py », line 631, in
)
File « /app/main.py », line 416, in run
ha_discovery_consumption = day.getDaily(cur, con, client, « consumption », last_activation_date)
File « /app/daily.py », line 109, in getDaily
if key in lastData:
UnboundLocalError: local variable ‹ lastData › referenced before assignment
J’ai ce genre d’erreur de mon côté actuellement.
Forcer ces valeurs à « True » va augmenter le nombre de call API à chaque appel (3 par appel) et donc à éviter.
Elles sont uniquement la pour forcer le refresh du cache en cas de changement d’adresse, de contrat ou autre.
OFFPEAK_HOURS permet de forcer un horaires sur les HC/HP, de base je vais récupérer l’information dans votre contrat.
Si vous ne désirez pas les forcer, et prendre les valeurs de base, il vous faut les retirer complétement (docker-compose y comprit)
Et le format est bien renseigner dans la doc :
Tu peut me donner ta config sur les variables d’env stp ?
Si besoin, je suis disponible sur Discord pour débugger peut être plus facilement
ACCESS_TOKEN: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
PDL: "xxxxxxxxxxxxxx"
MQTT_HOST: "x.x.x.x"
MQTT_PORT: "1883"
MQTT_PREFIX: "enedis_gateway"
MQTT_CLIENT_ID: "enedis_gateway"
MQTT_USERNAME: 'xxx'
MQTT_PASSWORD: 'xxx'
RETAIN: "True"
QOS: 0
GET_CONSUMPTION: "True"
GET_PRODUCTION: "False"
HA_AUTODISCOVERY: "True"
HA_AUTODISCOVERY_PREFIX: 'homeassistant'
CYCLE: 86400
OFFPEAK_HOURS: ""
CONSUMPTION_PRICE_BASE: 0.xxxx
CONSUMPTION_PRICE_HC: 0.xxxx
CONSUMPTION_PRICE_HP: 0.xxxx
REFRESH_CONTRACT: "False"
REFRESH_ADDRESSES: "False"
WIPE_CACHE: "False"
DEBUG: "False"
CARD_MYENEDIS: "True"
CURRENT_PLAN: "HP/HC"
INFLUXDB_ENABLE: "False"
INFLUXDB_HOST: ""
INFLUXDB_TOKEN: ""
INFLUXDB_ORG: ""
INFLUXDB_BUCKET: ""
Oui, le format est renseigné dans la doc mais une petite précision serait de mise car vu que mes heures creuses successives sont à cheval sur deux jours je ne suis pas certain de la façon don je dois les renseigner.
22h36-23h59;00h00-06h36
?
22h36-24h00;00h00-06h36
?
22h36-00h00;00h00-06h36
?
Si elles étaient de 0h07 à 06h07 et de 14h32 à 16h32 je n’aurais absolument aucun déficite de la compréhension
Je géré directement dans le code le saut de jour, donc si tu as 22h30-06h00 tu met 22h30-06h00 tt simplement.
Après je rappelle qu’il n’est pas nécessaire de définir cette valeur !
Je récupère déjà les seuil HC/HP via les API via la demande de contrat.
Cette option est juste la pour surcharger une valeur par défaut.
Bonsoir,
Merci @M4dm4rtig4n pour ton travail. Est ce qu’il existe un addon supervisor pour EnedisGateway2MQTT ?
Pas encore, c’est dans ma todo
Hello
J’ai enfin progressé sur mes docker, j’ai mis un mqtt comme indiqué, j’ai mis un telegraf / influxdb / grafana
J’ai donc mis en place ton container mais il me semble que j’ai la même erreur que les personnes du dessus :
2021-10-28 19:29:54.366965 - INFO : Connected to MQTT Broker!
2021-10-28 19:29:54.369196 - INFO : InfluxDB : Connection success
2021-10-28 19:29:54.369303 - INFO : Check database
2021-10-28 19:29:54.369378 - INFO : => Connect to SQLite Database
2021-10-28 19:29:54.377596 - INFO : Get contract :
2021-10-28 19:29:54.377684 - INFO : => Query API
Traceback (most recent call last):
File "/app/main.py", line 631, in <module>
)
File "/app/main.py", line 383, in run
contract = cont.getContract(client, cur, con)
File "/app/contract.py", line 41, in getContract
contract = queryApi(url, headers, data)
File "/app/contract.py", line 16, in queryApi
contract = f.apiRequest(cur, con, type="POST", url=f"{url}", headers=headers, data=json.dumps(data))
File "/app/function.py", line 99, in apiRequest
query_result = json.loads(query_result[0][1])
IndexError: list index out of range
Voici mes variables :
ACCESS_TOKEN: "token_acces"
PDL: "pdl"
MQTT_HOST: "Mqtt"
MQTT_PORT: "1883"
MQTT_PREFIX: "enedis_gateway"
MQTT_CLIENT_ID: "enedis_gateway"
MQTT_USERNAME: 'user'
MQTT_PASSWORD: 'pwd'
RETAIN: "True"
QOS: 0
GET_CONSUMPTION: "True"
GET_PRODUCTION: "False"
HA_AUTODISCOVERY: "False"
HA_AUTODISCOVERY_PREFIX: 'homeassistant'
CONSUMPTION_PRICE_BASE: 0.091
CONSUMPTION_PRICE_HC: 0
CONSUMPTION_PRICE_HP: 0
CARD_MYENEDIS: "False"
DEBUG: "true"
CURRENT_PLAN: "BASE"
INFLUXDB_ENABLE: "True"
INFLUXDB_HOST: "InfluxDB"
INFLUXDB_PORT: "8086"
INFLUXDB_TOKEN : "Tokeinfdb"
INFLUXDB_ORG : "Maison"
INFLUXDB_BUCKET : "InfData"
Hello,
Tu as mis la version dev du docker enedisgateway2mqtt ? Me semble que cela fonctionne avec la dév pour l’instant.
je viens de tester avec la m4dm4rtig4n/enedisgateway2mqtt:latest-dev mais cela semble être le même message
je verrai ça après avoir réussi a réactiver la Collecte de la consommation horaire, sur le site d’enedis ça fait une semaine que j’essaye d’activer l’option et il ne se passe rien
Tu doit avoir une information qui est remonté dans ton contrat qui a priori pose soucis, pour debugger plus facilement et afin de diagnostiquer et traiter le cas, serait tu m’envoyer en privé ton pdl et ton token stp ?
Tu pourras le renouveller en refaisant une demande de consentement.
Pour information l’addon HassOS est disponble :
https://github.com/alexbelgium/hassio-addons/tree/master/enedisGateway2MQTT
Merci à @foXaCe qui à fait la demande sur le forum officiel et un contributeur c’est occupé de le créer
Le lien ne fonctionne pas