Skip to content

Commit

Permalink
feat : add ecowatt j1/2/3
Browse files Browse the repository at this point in the history
  • Loading branch information
m4dm4rtig4n committed Aug 21, 2023
1 parent 6437f05 commit c91b8cb
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 18 deletions.
30 changes: 14 additions & 16 deletions app/models/export_home_assistant.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,36 +232,34 @@ def tempo(self):
)

def ecowatt(self):
uniq_id = f"myelectricaldata_{self.usage_point_id}_ecowatt"
self.ecowatt_delta("", 0)
self.ecowatt_delta("_J0", 0)
self.ecowatt_delta("_J1", 1)
self.ecowatt_delta("_J2", 2)

def ecowatt_delta(self, name, delta):
delta = delta - 1
uniq_id = f"myelectricaldata_{self.usage_point_id}_ecowatt{name}"
logging.info(f"- sensor.{uniq_id}")
end = datetime.combine(datetime.now(), datetime.min.time())
begin = end - timedelta(days=1)
ecowatt_data = self.db.get_ecowatt_range(begin, end, "asc")
fetch_date = datetime.combine(datetime.now(), datetime.min.time()) + timedelta(days=delta)
ecowatt_data = self.db.get_ecowatt_range(fetch_date, fetch_date, "asc")
if ecowatt_data:
max_history = 11
now = datetime.now().replace(minute=0, second=0, microsecond=0)
forecast = {}
i = 0
begin = ""
end = ""
for data in ecowatt_data:
for date, value in json.loads(data.detail.replace("'", '"')).items():
date = datetime.strptime(date, self.date_format_detail)
if date >= now and i <= max_history:
end = date + timedelta(hours=1)
end = end.strftime(self.date_format_detail)
if not begin:
begin = date.strftime(self.date_format_detail)
forecast[f'{date.strftime("%H")} h'] = value
i = i + 1
forecast[f'{date.strftime("%H")} h'] = value
attributes = {
"date": fetch_date.strftime(self.date_format),
"forecast": forecast,
"begin": begin,
"end": end
}
self.sensor(
topic=f"myelectricaldata_ecowatt/{self.usage_point_id}",
name=f"{self.usage_point_id}.EcoWatt",
topic=f"myelectricaldata_ecowatt{name}/{self.usage_point_id}",
name=f"{self.usage_point_id}.EcoWatt{name}",
uniq_id=uniq_id,
attributes=attributes,
state=123456.00
Expand Down
4 changes: 2 additions & 2 deletions app/models/query_ecowatt.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ def __init__(self):
self.config = CONFIG
self.db = DB
self.url = URL
self.valid_date = datetime.combine(datetime.now() + relativedelta(days=1), datetime.min.time())
self.valid_date = datetime.combine(datetime.now() + relativedelta(days=2), datetime.min.time())

def run(self):
start = (datetime.now() - relativedelta(years=3)).strftime("%Y-%m-%d")
end = (datetime.now() + relativedelta(days=2)).strftime("%Y-%m-%d")
end = (datetime.now() + relativedelta(days=3)).strftime("%Y-%m-%d")
target = f"{self.url}/rte/ecowatt/{start}/{end}"
query_response = Query(endpoint=target).get()
if query_response.status_code == 200:
Expand Down

0 comments on commit c91b8cb

Please sign in to comment.