Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2023.3.0 #314

Merged
merged 9 commits into from
Mar 7, 2024
9 changes: 1 addition & 8 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,5 @@
"setpoints",
"sysuptime"
],
"python.formatting.provider": "black",
"python.formatting.blackArgs": ["--line-length", "120"],
"cSpell.enabled": false,
"python.linting.flake8Enabled": false,
"python.linting.enabled": true,
"python.linting.flake8Args": ["--config=setup.cfg", "--doctests"],
"python.linting.pylintEnabled": true,

"cSpell.enabled": false,
}
2 changes: 1 addition & 1 deletion README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ In addition the following extra attributes are provided, to allow for a more det
| demand | % of maximum CFM of air demand for the zone. Value is 0-100 |
| fan | Indicates if the fan is currently running. Note: this is true only when the fan is running and there is no active HVAC action (cooling, heating, etc.) |
| heatCoast | This will only appear in non-zoning systems and it indicates the system is set to a single setpoint mode, the system was in heating mode and has turned off to coast to the desired temperature |
| humidityOperation | Current active humidity operation - **Waiting**,**Humidifying**, **Drying** or **Off** |
| humOperation | Current active humidity operation - **Waiting**,**Humidifying**, **Drying** or **Off** |
| ssr | When enabled, smooth set back begins recovery up to two hours before the programmed time so that the programmed temperature is reached at the corresponding programmed event time. Assume 12°F (6.72°C) per hour for first-stage gas/electric heating and 6°F (3.36°C) per hour for first-stage compressor based heating or cooling.With Smooth Set Back disabled, the system will start a recovery at the programmed time. Options are enabled or disabled. Default is enabled. See manual for more details |
| tempOperation | Current active temperature operation heating or cooling |
| ventilation | Indicates if external ventilation is currently active on this zone |
Expand Down
6 changes: 4 additions & 2 deletions custom_components/lennoxs30/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import asyncio
from asyncio.locks import Event
import logging
import re
import time
import voluptuous as vol

Expand Down Expand Up @@ -471,10 +472,11 @@ def __init__(
else:
if ip_address is None:
e_name = email.split("@")
redacted_email: str = e_name[0].replace(".", "_").replace("__","_")
redacted_email: str = re.sub("[^A-Za-z0-9]","_",e_name[0])
self.connection_state = "lennoxs30.conn_" + redacted_email
else:
self.connection_state = "lennoxs30.conn_" + self._ip_address.replace(".", "_").replace(":", "_")
self.connection_state = "lennoxs30.conn_" + re.sub("[^A-Za-z0-9]","_",self._ip_address)
self.connection_state = re.sub("_+","_", self.connection_state)

async def async_shutdown(self, event: Event) -> None:
"""Called when hass shutsdown"""
Expand Down
4 changes: 2 additions & 2 deletions custom_components/lennoxs30/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
"iot_class": "local_push",
"issue_tracker" : "https://github.com/PeteRager/lennoxs30/issues",
"quality_scale": "platinum",
"requirements": ["lennoxs30api==0.2.13"],
"version": "2024.2.1"
"requirements": ["lennoxs30api==0.2.14"],
"version": "2024.3.0"
}
9 changes: 3 additions & 6 deletions tests/test_async_setup_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@
import pytest

from homeassistant.exceptions import HomeAssistantError
from homeassistant.const import (
CONF_TIMEOUT,
EVENT_HOMEASSISTANT_STOP,
)
from homeassistant.const import CONF_TIMEOUT
from homeassistant import config_entries
from homeassistant.core import HomeAssistant

Expand Down Expand Up @@ -320,7 +317,7 @@ async def test_async_setup_entry_multiple(hass, caplog):

data = {
"cloud_connection": True,
"email": "pete[email protected]",
"email": "_pete[email protected]",
"password": "rage",
"app_id": "homeassistant",
"create_sensors": True,
Expand Down Expand Up @@ -354,7 +351,7 @@ async def test_async_setup_entry_multiple(hass, caplog):
assert manager._poll_interval == 1
assert manager._fast_poll_interval == 0.75
assert manager._fast_poll_count == 5
assert manager.api._username == "pete[email protected]"
assert manager.api._username == "_pete[email protected]"
assert manager.api._password == "rage"
assert manager._pii_message_log is False
assert manager._message_debug_logging is True
Expand Down
Loading