From 71919fc406bf44f54bf8dfaf50ad0ee865e15a5d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Odd=20Str=C3=A5b=C3=B8?= <oddstr13@openshell.no>
Date: Sun, 10 Dec 2023 23:50:34 +0100
Subject: [PATCH] Make consumer aware of the charge controller

---
 srnemqtt/__main__.py           | 5 +++++
 srnemqtt/consumers/__init__.py | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/srnemqtt/__main__.py b/srnemqtt/__main__.py
index 9fc1c3b..6d3a1bf 100755
--- a/srnemqtt/__main__.py
+++ b/srnemqtt/__main__.py
@@ -33,6 +33,11 @@ def main():
                     log("Connected.")
 
                     cc = ChargeController(dev)
+                    log(f"Controller model: {cc.model}")
+                    log(f"Controller version: {cc.version}")
+                    log(f"Controller serial: {cc.serial}")
+                    for consumer in consumers:
+                        consumer.controller = cc
 
                     # write(dev, construct_request(0, 32))
 
diff --git a/srnemqtt/consumers/__init__.py b/srnemqtt/consumers/__init__.py
index f1b8cf9..bd21596 100644
--- a/srnemqtt/consumers/__init__.py
+++ b/srnemqtt/consumers/__init__.py
@@ -2,9 +2,12 @@
 from abc import ABC, abstractmethod
 from typing import Any, Dict
 
+from ..protocol import ChargeController
+
 
 class BaseConsumer(ABC):
     settings: Dict[str, Any]
+    controller: ChargeController | None = None
 
     @abstractmethod
     def __init__(self, settings: Dict[str, Any]) -> None: