yozik04 / vallox_websocket_api

Async API for Vallox ventilation units. Is used in HomeAssistant.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Share implementations - adjust fan speed and target air temperature depending on outdoor air temperature

Blazerinho opened this issue · comments

Hi,
i would like to share my implementation. Can we create a new folder "implementations" or "templates".
Here is my coding to adjust fan speed and target air temperature depending on outdoor air temperature.

import asyncio
from vallox_websocket_api import Client
#"Exhaust Air = Raumluft
#"Outdoor Air = aussenluft
#"Supply Air = zuluft
client = Client('192.168.3.2')
async def run():
metrics = await client.fetch_metrics([
'A_CYC_TEMP_EXHAUST_AIR',
'A_CYC_TEMP_OUTDOOR_AIR',
'A_CYC_TEMP_SUPPLY_AIR',
'A_CYC_HOME_AIR_TEMP_TARGET',
'A_CYC_HOME_SPEED_SETTING',
])
from pprint import pprint
raumluft = metrics.get('A_CYC_TEMP_EXHAUST_AIR')
aussenluft = metrics.get('A_CYC_TEMP_OUTDOOR_AIR')
zuluft = metrics.get('A_CYC_TEMP_SUPPLY_AIR')
zieltemp = metrics.get('A_CYC_HOME_AIR_TEMP_TARGET')
pprint(raumluft)
pprint(aussenluft)
pprint(zuluft)
pprint(zieltemp)
if aussenluft > 23:
await client.set_values({'A_CYC_HOME_SPEED_SETTING': 10})
home_fanspeed = 10
await client.set_values({'A_CYC_HOME_AIR_TEMP_TARGET': 16})
elif aussenluft > 22 and raumluft > 22:
await client.set_values({'A_CYC_HOME_SPEED_SETTING': 20})
home_fanspeed = 20
await client.set_values({'A_CYC_HOME_AIR_TEMP_TARGET': 16})
elif aussenluft > 21 and raumluft > 22:
await client.set_values({'A_CYC_HOME_SPEED_SETTING': 30})
home_fanspeed = 30
await client.set_values({'A_CYC_HOME_AIR_TEMP_TARGET': 16})
elif aussenluft > 20 and raumluft > 22:
await client.set_values({'A_CYC_HOME_SPEED_SETTING': 50})
home_fanspeed = 50
await client.set_values({'A_CYC_HOME_AIR_TEMP_TARGET': 16})
elif aussenluft > 19 and raumluft > 22:
await client.set_values({'A_CYC_HOME_SPEED_SETTING': 60})
home_fanspeed = 60
await client.set_values({'A_CYC_HOME_AIR_TEMP_TARGET': 16})
elif aussenluft < 19 and raumluft > 22:
await client.set_values({'A_CYC_HOME_SPEED_SETTING': 70})
home_fanspeed = 70
await client.set_values({'A_CYC_HOME_AIR_TEMP_TARGET': 16})
elif aussenluft < 19 and raumluft > 20:
await client.set_values({'A_CYC_HOME_SPEED_SETTING': 70})
home_fanspeed = 70
await client.set_values({'A_CYC_HOME_AIR_TEMP_TARGET': 20})
elif aussenluft < 10 and raumluft > 20:
await client.set_values({'A_CYC_HOME_SPEED_SETTING': 10})
home_fanspeed = 10
await client.set_values({'A_CYC_HOME_AIR_TEMP_TARGET': 20})
Beschreibung=str(" Fanspeed ") + str(home_fanspeed)
Temperatur=str("Aussenluft ") + str(aussenluft) + str(" Raumluft ") + str(raumluft)

You need at least format it properly (code) and translate to English.