Compare commits

..

1 Commits
0.8.3 ... 0.8.4

Author SHA1 Message Date
f9df70cf68 Hottis PV Modbus transformation
All checks were successful
ci/woodpecker/tag/build/5 Pipeline was successful
ci/woodpecker/tag/build/6 Pipeline was successful
ci/woodpecker/tag/build/4 Pipeline was successful
ci/woodpecker/tag/namespace Pipeline was successful
ci/woodpecker/tag/build/1 Pipeline was successful
ci/woodpecker/tag/build/7 Pipeline was successful
ci/woodpecker/tag/build/3 Pipeline was successful
ci/woodpecker/tag/config Pipeline was successful
ci/woodpecker/tag/build/2 Pipeline was successful
ci/woodpecker/tag/deploy/2 Pipeline was successful
ci/woodpecker/tag/deploy/1 Pipeline was successful
ci/woodpecker/tag/deploy/6 Pipeline was successful
ci/woodpecker/tag/deploy/4 Pipeline was successful
ci/woodpecker/tag/deploy/5 Pipeline was successful
ci/woodpecker/tag/deploy/3 Pipeline was successful
ci/woodpecker/tag/ingress Pipeline was successful
2025-12-09 11:17:02 +01:00

View File

@@ -23,17 +23,12 @@ def transform_relay_to_vendor(payload: dict[str, Any]) -> str:
def transform_relay_to_abstract(payload: str) -> dict[str, Any]:
"""Transform Hottis Modbus relay payload to abstract format.
Hottis Modbus sends JSON like:
{"status": "Ok", "timestamp": "...", "state": false, "cnt": 528}
Transformations:
- state: true -> power: 'on'
- state: false -> power: 'off'
Hottis Modbus sends plain text 'on' or 'off'.
Example:
- Hottis PV Modbus: 'on'
- Abstract: {'power': 'on'}
"""
data = json.loads(payload)
state = data.get("state", False)
power = "on" if bool(state) else "off"
return {"power": power}
return {"power": payload.strip()}
def transform_three_phase_powermeter_to_vendor(payload: dict[str, Any]) -> str: