Skip to content

Commit 57f231d

Browse files
authored
Merge pull request #1006 from alandtse/dev
2 parents cc0dbb4 + a84fe07 commit 57f231d

6 files changed

Lines changed: 100 additions & 25 deletions

File tree

.pre-commit-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ repos:
3535
- id: check-yaml
3636
exclude: ^recipes/.*
3737
repo: https://github.com/pre-commit/pre-commit-hooks
38-
rev: v4.4.0
38+
rev: v4.6.0
3939

4040
# --- Commit msg checks ---
4141
- hooks:
4242
- id: commitizen
4343
stages: ["commit-msg"]
4444
repo: https://github.com/commitizen-tools/commitizen
45-
rev: v3.13.0
45+
rev: v3.27.0
4646
# --- Linters ---
4747
- hooks:
4848
- id: dockerfile_lint
@@ -59,9 +59,9 @@ repos:
5959
(?x)^(
6060
CHANGELOG.md
6161
)$
62-
rev: v3.0.0
62+
rev: v4.0.0-alpha.8
6363
- repo: https://github.com/asottile/pyupgrade
64-
rev: v3.9.0
64+
rev: v3.16.0
6565
hooks:
6666
- id: pyupgrade
6767
args: [--py38-plus]
@@ -80,7 +80,7 @@ repos:
8080
- --configfile=tests/bandit.yaml
8181
files: ^(tests)/.+\.py$
8282
- repo: https://github.com/PyCQA/isort
83-
rev: 5.12.0
83+
rev: 5.13.2
8484
hooks:
8585
- id: isort
8686
# - repo: local

custom_components/tesla_custom/climate.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818

1919

2020
KEEPER_MAP = {
21-
"Keep On": 1,
22-
"Dog Mode": 2,
23-
"Camp Mode": 3,
21+
"keep": 1,
22+
"dog": 2,
23+
"camp": 3,
2424
}
2525

2626

@@ -46,8 +46,12 @@ class TeslaCarClimate(TeslaCarEntity, ClimateEntity):
4646
| ClimateEntityFeature.FAN_MODE
4747
)
4848
_attr_hvac_modes = [HVACMode.HEAT_COOL, HVACMode.OFF]
49-
_attr_preset_modes = ["Normal", "Defrost", "Keep On", "Dog Mode", "Camp Mode"]
50-
_attr_fan_modes = ["Off", "Bioweapon Mode"]
49+
_attr_preset_modes = ["normal", "defrost", "keep", "dog", "camp"]
50+
_attr_fan_modes = ["off", "bioweapon"]
51+
52+
@property
53+
def translation_key(self):
54+
return "car_climate"
5155

5256
@property
5357
def hvac_mode(self) -> HVACMode:
@@ -121,29 +125,29 @@ def preset_mode(self):
121125
Requires SUPPORT_PRESET_MODE.
122126
"""
123127
if self._car.defrost_mode == 2:
124-
return "Defrost"
128+
return "defrost"
125129
if self._car.climate_keeper_mode == "dog":
126-
return "Dog Mode"
130+
return "dog"
127131
if self._car.climate_keeper_mode == "camp":
128-
return "Camp Mode"
132+
return "camp"
129133
if self._car.climate_keeper_mode == "on":
130-
return "Keep On"
134+
return "keep"
131135

132-
return "Normal"
136+
return "normal"
133137

134138
async def async_set_preset_mode(self, preset_mode: str) -> None:
135139
"""Set new preset mode."""
136140
_LOGGER.debug("%s: Setting preset_mode to: %s", self.name, preset_mode)
137141

138-
if preset_mode == "Normal":
142+
if preset_mode == "normal":
139143
# If setting Normal, we need to check Defrost And Keep modes.
140144
if self._car.defrost_mode != 0:
141145
await self._car.set_max_defrost(0)
142146

143147
if self._car.climate_keeper_mode != 0:
144148
await self._car.set_climate_keeper_mode(0)
145149

146-
elif preset_mode == "Defrost":
150+
elif preset_mode == "defrost":
147151
await self._car.set_max_defrost(2)
148152

149153
else:
@@ -158,12 +162,12 @@ def fan_mode(self):
158162
Requires SUPPORT_FAN_MODE.
159163
"""
160164
if self._car.bioweapon_mode:
161-
return "Bioweapon Mode"
165+
return "bioweapon"
162166

163-
return "Off"
167+
return "off"
164168

165169
async def async_set_fan_mode(self, fan_mode: str) -> None:
166170
"""Set new fan mode as bioweapon mode."""
167171
_LOGGER.debug("%s: Setting fan_mode to: %s", self.name, fan_mode)
168172

169-
await self._car.set_bioweapon_mode(fan_mode == "Bioweapon Mode")
173+
await self._car.set_bioweapon_mode(fan_mode == "bioweapon")
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"entity": {
3+
"climate": {
4+
"car_climate": {
5+
"state_attributes": {
6+
"fan_mode": {
7+
"state": {
8+
"bioweapon": "mdi:biohazard",
9+
"off": "mdi:power"
10+
}
11+
},
12+
"preset_mode": {
13+
"state": {
14+
"normal": "mdi:fan",
15+
"defrost": "mdi:car-defrost-rear",
16+
"keep": "mdi:infinity",
17+
"dog": "mdi:dog",
18+
"camp": "mdi:tent"
19+
}
20+
}
21+
}
22+
}
23+
}
24+
}
25+
}

custom_components/tesla_custom/strings.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,28 @@
8282
}
8383
}
8484
}
85+
},
86+
"entity": {
87+
"climate": {
88+
"car_climate": {
89+
"state_attributes": {
90+
"fan_mode": {
91+
"state": {
92+
"bioweapon": "Bioweapon Mode",
93+
"off": "Normal"
94+
}
95+
},
96+
"preset_mode": {
97+
"state": {
98+
"normal": "Normal",
99+
"defrost": "Defrost",
100+
"keep": "Keep On",
101+
"dog": "Dog Mode",
102+
"camp": "Camp Mode"
103+
}
104+
}
105+
}
106+
}
107+
}
85108
}
86109
}

custom_components/tesla_custom/translations/en.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,28 @@
8282
}
8383
}
8484
}
85+
},
86+
"entity": {
87+
"climate": {
88+
"car_climate": {
89+
"state_attributes": {
90+
"fan_mode": {
91+
"state": {
92+
"bioweapon": "Bioweapon Mode",
93+
"off": "Normal"
94+
}
95+
},
96+
"preset_mode": {
97+
"state": {
98+
"normal": "Normal",
99+
"defrost": "Defrost",
100+
"keep": "Keep On",
101+
"dog": "Dog Mode",
102+
"camp": "Camp Mode"
103+
}
104+
}
105+
}
106+
}
107+
}
85108
}
86109
}

tests/test_climate.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ async def test_set_fan_mode(hass: HomeAssistant) -> None:
9292
"set_fan_mode",
9393
{
9494
ATTR_ENTITY_ID: DEVICE_ID,
95-
"fan_mode": "Bioweapon Mode",
95+
"fan_mode": "bioweapon",
9696
},
9797
blocking=True,
9898
)
@@ -113,7 +113,7 @@ async def test_set_preset_mode(hass: HomeAssistant) -> None:
113113
"set_preset_mode",
114114
{
115115
ATTR_ENTITY_ID: DEVICE_ID,
116-
"preset_mode": "Normal",
116+
"preset_mode": "normal",
117117
},
118118
blocking=True,
119119
)
@@ -131,7 +131,7 @@ async def test_set_preset_mode(hass: HomeAssistant) -> None:
131131
"set_preset_mode",
132132
{
133133
ATTR_ENTITY_ID: DEVICE_ID,
134-
"preset_mode": "Normal",
134+
"preset_mode": "normal",
135135
},
136136
blocking=True,
137137
)
@@ -144,7 +144,7 @@ async def test_set_preset_mode(hass: HomeAssistant) -> None:
144144
"set_preset_mode",
145145
{
146146
ATTR_ENTITY_ID: DEVICE_ID,
147-
"preset_mode": "Defrost",
147+
"preset_mode": "defrost",
148148
},
149149
blocking=True,
150150
)
@@ -159,7 +159,7 @@ async def test_set_preset_mode(hass: HomeAssistant) -> None:
159159
"set_preset_mode",
160160
{
161161
ATTR_ENTITY_ID: DEVICE_ID,
162-
"preset_mode": "Dog Mode",
162+
"preset_mode": "dog",
163163
},
164164
blocking=True,
165165
)

0 commit comments

Comments
 (0)