Skip to content

Commit 222975b

Browse files
authored
Merge pull request #244 from nickknissen/feat/sensor-translations
feat(translations): add sensor state translations
2 parents f75fffd + c440fa3 commit 222975b

File tree

4 files changed

+301
-80
lines changed

4 files changed

+301
-80
lines changed

custom_components/monta/sensor.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def wallet_extra_attributes(data: list[WalletTransaction]) -> dict[str, Any]:
9292
CHARGE_POINT_ENTITY_DESCRIPTIONS: tuple[MontaSensorEntityDescription, ...] = (
9393
MontaSensorEntityDescription( # pylint: disable=unexpected-keyword-arg
9494
key="charger_visibility",
95-
name="Visibility",
95+
translation_key="charger_visibility",
9696
icon="mdi:eye",
9797
device_class=SensorDeviceClass.ENUM,
9898
options=["public", "private"],
@@ -101,7 +101,7 @@ def wallet_extra_attributes(data: list[WalletTransaction]) -> dict[str, Any]:
101101
),
102102
MontaSensorEntityDescription( # pylint: disable=unexpected-keyword-arg
103103
key="charger_type",
104-
name="Type",
104+
translation_key="charger_type",
105105
icon="mdi:current-ac",
106106
device_class=SensorDeviceClass.ENUM,
107107
options=["ac", "dc"],
@@ -110,7 +110,7 @@ def wallet_extra_attributes(data: list[WalletTransaction]) -> dict[str, Any]:
110110
),
111111
MontaSensorEntityDescription( # pylint: disable=unexpected-keyword-arg
112112
key="charger_state",
113-
name="State",
113+
translation_key="charger_state",
114114
icon="mdi:state-machine",
115115
device_class=SensorDeviceClass.ENUM,
116116
options=[x.value for x in ChargerStatus],
@@ -119,7 +119,7 @@ def wallet_extra_attributes(data: list[WalletTransaction]) -> dict[str, Any]:
119119
),
120120
MontaSensorEntityDescription( # pylint: disable=unexpected-keyword-arg
121121
key="charger_lastMeterReadingKwh",
122-
name="Last meter reading",
122+
translation_key="charger_lastmeterreadingkwh",
123123
icon="mdi:wallet",
124124
device_class=SensorDeviceClass.ENERGY,
125125
native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
@@ -129,7 +129,7 @@ def wallet_extra_attributes(data: list[WalletTransaction]) -> dict[str, Any]:
129129
),
130130
MontaSensorEntityDescription( # pylint: disable=unexpected-keyword-arg
131131
key="charge_state",
132-
name="Last Charge",
132+
translation_key="charge_state",
133133
icon="mdi:ev-station",
134134
value_fn=last_charge_state,
135135
extra_state_attributes_fn=last_charge_extra_attributes,
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
{
2+
"config": {
3+
"step": {
4+
"user": {
5+
"description": "For at få adgang til vores endpoints skal du angive et klient-ID og en klienthemmelighed. Du kan oprette dem i CPMS: https://portal2.monta.app/",
6+
"data": {
7+
"client_id": "Klient-ID",
8+
"client_secret": "Klienthemmelighed",
9+
"scan_interval_charge_points": "Ladepunkter skanningsinterval (sekunder)",
10+
"scan_interval_wallet": "Tegnebog skanningsinterval (sekunder)",
11+
"scan_interval_transactions": "Transaktioner skanningsinterval (sekunder)"
12+
},
13+
"data_description": {
14+
"scan_interval_charge_points": "Hvor ofte ladepunktsdata skal hentes. Anbefalet: 120 sekunder (Monta har en grænse på 10 anmodninger/min)",
15+
"scan_interval_wallet": "Hvor ofte tegnebogsdata skal hentes. Anbefalet: 600 sekunder (10 minutter)",
16+
"scan_interval_transactions": "Hvor ofte transaktionsdata skal hentes. Anbefalet: 600 sekunder (10 minutter)"
17+
}
18+
}
19+
},
20+
"error": {
21+
"auth": "Klient-ID/klienthemmelighed er ugyldige.",
22+
"connection": "Kan ikke oprette forbindelse til serveren.",
23+
"unknown": "Der opstod en ukendt fejl."
24+
},
25+
"abort": {
26+
"already_configured": "Enheden er allerede konfigureret"
27+
}
28+
},
29+
"options": {
30+
"step": {
31+
"init": {
32+
"description": "Konfigurer Monta-integrationsindstillinger. Du kan opdatere dine legitimationsoplysninger eller justere skanningsintervallerne her.",
33+
"data": {
34+
"client_id": "Klient-ID",
35+
"client_secret": "Klienthemmelighed",
36+
"scan_interval_charge_points": "Ladepunkter skanningsinterval (sekunder)",
37+
"scan_interval_wallet": "Tegnebog skanningsinterval (sekunder)",
38+
"scan_interval_transactions": "Transaktioner skanningsinterval (sekunder)"
39+
},
40+
"data_description": {
41+
"client_id": "Dit Monta API klient-ID fra https://portal2.monta.app/applications",
42+
"client_secret": "Din Monta API klienthemmelighed fra https://portal2.monta.app/applications",
43+
"scan_interval_charge_points": "Hvor ofte ladepunktsdata skal hentes. Anbefalet: 120 sekunder (Monta har en grænse på 10 anmodninger/min)",
44+
"scan_interval_wallet": "Hvor ofte tegnebogsdata skal hentes. Anbefalet: 600 sekunder (10 minutter)",
45+
"scan_interval_transactions": "Hvor ofte transaktionsdata skal hentes. Anbefalet: 600 sekunder (10 minutter)"
46+
}
47+
}
48+
},
49+
"error": {
50+
"auth": "Klient-ID/klienthemmelighed er ugyldige.",
51+
"connection": "Kan ikke oprette forbindelse til serveren.",
52+
"unknown": "Der opstod en ukendt fejl."
53+
}
54+
},
55+
"services": {
56+
"start_charging": {
57+
"description": "Start opladning på valgt lader",
58+
"name": "Start opladning",
59+
"fields": {
60+
"charge_point_id": {
61+
"name": "Ladepunkt-ID",
62+
"description": "ID'et for laderen."
63+
}
64+
}
65+
},
66+
"stop_charging": {
67+
"description": "Stop opladning på valgt lader.",
68+
"name": "Stop opladning",
69+
"fields": {
70+
"charge_point_id": {
71+
"name": "Ladepunkt-ID",
72+
"description": "ID'et for laderen."
73+
}
74+
}
75+
}
76+
},
77+
"entity": {
78+
"sensor": {
79+
"charger_visibility": {
80+
"name": "Synlighed",
81+
"state": {
82+
"public": "Offentlig",
83+
"private": "Privat"
84+
}
85+
},
86+
"charger_type": {
87+
"name": "Type",
88+
"state": {
89+
"ac": "AC",
90+
"dc": "DC"
91+
}
92+
},
93+
"charger_state": {
94+
"name": "Tilstand",
95+
"state": {
96+
"available": "Tilgængelig",
97+
"busy": "Optaget",
98+
"busy-blocked": "Optaget - Blokeret",
99+
"busy-charging": "Optaget - Oplader",
100+
"busy-non-charging": "Optaget - Oplader ikke",
101+
"busy-non-released": "Optaget - Ikke frigivet",
102+
"busy-reserved": "Optaget - Reserveret",
103+
"busy-scheduled": "Optaget - Planlagt",
104+
"error": "Fejl",
105+
"disconnected": "Afbrudt",
106+
"passive": "Passiv",
107+
"other": "Anden"
108+
}
109+
},
110+
"charger_lastmeterreadingkwh": {
111+
"name": "Sidste måleraflæsning"
112+
},
113+
"charge_state": {
114+
"name": "Sidste opladning",
115+
"state": {
116+
"pending": "Afventer",
117+
"active": "Aktiv",
118+
"completed": "Fuldført",
119+
"failed": "Mislykkedes",
120+
"cancelled": "Annulleret"
121+
}
122+
}
123+
}
124+
}
125+
}
Lines changed: 123 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,125 @@
11
{
2-
"config": {
3-
"step": {
4-
"user": {
5-
"description": "In order to obtain an access token for our endpoints, you need to provide a Client ID and Client Secret. You can create them in CPMS: https://portal2.monta.app/",
6-
"data": {
7-
"client_id": "Client ID",
8-
"client_secret": "Client Secret",
9-
"scan_interval_charge_points": "Charge Points Scan Interval (seconds)",
10-
"scan_interval_wallet": "Wallet Scan Interval (seconds)",
11-
"scan_interval_transactions": "Transactions Scan Interval (seconds)"
12-
},
13-
"data_description": {
14-
"scan_interval_charge_points": "How often to fetch charge point data. Recommended: 120 seconds (Monta has rate limit of 10 requests/min)",
15-
"scan_interval_wallet": "How often to fetch wallet data. Recommended: 600 seconds (10 minutes)",
16-
"scan_interval_transactions": "How often to fetch transaction data. Recommended: 600 seconds (10 minutes)"
17-
}
18-
}
19-
},
20-
"error": {
21-
"auth": "Client ID/Client Secret are invalid.",
22-
"connection": "Unable to connect to the server.",
23-
"unknown": "Unknown error occurred."
24-
},
25-
"abort": {
26-
"already_configured": "Device is already configured"
27-
}
28-
},
29-
"options": {
30-
"step": {
31-
"init": {
32-
"description": "Configure Monta integration options. You can update your credentials or adjust the scan intervals here.",
33-
"data": {
34-
"client_id": "Client ID",
35-
"client_secret": "Client Secret",
36-
"scan_interval_charge_points": "Charge Points Scan Interval (seconds)",
37-
"scan_interval_wallet": "Wallet Scan Interval (seconds)",
38-
"scan_interval_transactions": "Transactions Scan Interval (seconds)"
39-
},
40-
"data_description": {
41-
"client_id": "Your Monta API Client ID from https://portal2.monta.app/applications",
42-
"client_secret": "Your Monta API Client Secret from https://portal2.monta.app/applications",
43-
"scan_interval_charge_points": "How often to fetch charge point data. Recommended: 120 seconds (Monta has rate limit of 10 requests/min)",
44-
"scan_interval_wallet": "How often to fetch wallet data. Recommended: 600 seconds (10 minutes)",
45-
"scan_interval_transactions": "How often to fetch transaction data. Recommended: 600 seconds (10 minutes)"
46-
}
47-
}
48-
},
49-
"error": {
50-
"auth": "Client ID/Client Secret are invalid.",
51-
"connection": "Unable to connect to the server.",
52-
"unknown": "Unknown error occurred."
53-
}
54-
},
55-
"services": {
56-
"start_charging": {
57-
"description": "Start charge on selected charger",
58-
"name": "Start charging",
59-
"fields": {
60-
"charge_point_id": {
61-
"name": "Charge Point ID",
62-
"description": "The ID of the charger."
63-
}
64-
}
65-
},
66-
"stop_charging": {
67-
"description": "Stop charge on selected charger.",
68-
"name": "Stop charging",
69-
"fields": {
70-
"charge_point_id": {
71-
"name": "Charge Point ID",
72-
"description": "The ID of the charger."
73-
}
74-
}
75-
}
76-
}
2+
"config": {
3+
"step": {
4+
"user": {
5+
"description": "In order to obtain an access token for our endpoints, you need to provide a Client ID and Client Secret. You can create them in CPMS: https://portal2.monta.app/",
6+
"data": {
7+
"client_id": "Client ID",
8+
"client_secret": "Client Secret",
9+
"scan_interval_charge_points": "Charge Points Scan Interval (seconds)",
10+
"scan_interval_wallet": "Wallet Scan Interval (seconds)",
11+
"scan_interval_transactions": "Transactions Scan Interval (seconds)"
12+
},
13+
"data_description": {
14+
"scan_interval_charge_points": "How often to fetch charge point data. Recommended: 120 seconds (Monta has rate limit of 10 requests/min)",
15+
"scan_interval_wallet": "How often to fetch wallet data. Recommended: 600 seconds (10 minutes)",
16+
"scan_interval_transactions": "How often to fetch transaction data. Recommended: 600 seconds (10 minutes)"
17+
}
18+
}
19+
},
20+
"error": {
21+
"auth": "Client ID/Client Secret are invalid.",
22+
"connection": "Unable to connect to the server.",
23+
"unknown": "Unknown error occurred."
24+
},
25+
"abort": {
26+
"already_configured": "Device is already configured"
27+
}
28+
},
29+
"options": {
30+
"step": {
31+
"init": {
32+
"description": "Configure Monta integration options. You can update your credentials or adjust the scan intervals here.",
33+
"data": {
34+
"client_id": "Client ID",
35+
"client_secret": "Client Secret",
36+
"scan_interval_charge_points": "Charge Points Scan Interval (seconds)",
37+
"scan_interval_wallet": "Wallet Scan Interval (seconds)",
38+
"scan_interval_transactions": "Transactions Scan Interval (seconds)"
39+
},
40+
"data_description": {
41+
"client_id": "Your Monta API Client ID from https://portal2.monta.app/applications",
42+
"client_secret": "Your Monta API Client Secret from https://portal2.monta.app/applications",
43+
"scan_interval_charge_points": "How often to fetch charge point data. Recommended: 120 seconds (Monta has rate limit of 10 requests/min)",
44+
"scan_interval_wallet": "How often to fetch wallet data. Recommended: 600 seconds (10 minutes)",
45+
"scan_interval_transactions": "How often to fetch transaction data. Recommended: 600 seconds (10 minutes)"
46+
}
47+
}
48+
},
49+
"error": {
50+
"auth": "Client ID/Client Secret are invalid.",
51+
"connection": "Unable to connect to the server.",
52+
"unknown": "Unknown error occurred."
53+
}
54+
},
55+
"services": {
56+
"start_charging": {
57+
"description": "Start charge on selected charger",
58+
"name": "Start charging",
59+
"fields": {
60+
"charge_point_id": {
61+
"name": "Charge Point ID",
62+
"description": "The ID of the charger."
63+
}
64+
}
65+
},
66+
"stop_charging": {
67+
"description": "Stop charge on selected charger.",
68+
"name": "Stop charging",
69+
"fields": {
70+
"charge_point_id": {
71+
"name": "Charge Point ID",
72+
"description": "The ID of the charger."
73+
}
74+
}
75+
}
76+
},
77+
"entity": {
78+
"sensor": {
79+
"charger_visibility": {
80+
"name": "Visibility",
81+
"state": {
82+
"public": "Public",
83+
"private": "Private"
84+
}
85+
},
86+
"charger_type": {
87+
"name": "Type",
88+
"state": {
89+
"ac": "AC",
90+
"dc": "DC"
91+
}
92+
},
93+
"charger_state": {
94+
"name": "State",
95+
"state": {
96+
"available": "Available",
97+
"busy": "Busy",
98+
"busy-blocked": "Busy - Blocked",
99+
"busy-charging": "Busy - Charging",
100+
"busy-non-charging": "Busy - Non Charging",
101+
"busy-non-released": "Busy - Non Released",
102+
"busy-reserved": "Busy - Reserved",
103+
"busy-scheduled": "Busy - Scheduled",
104+
"error": "Error",
105+
"disconnected": "Disconnected",
106+
"passive": "Passive",
107+
"other": "Other"
108+
}
109+
},
110+
"charger_lastmeterreadingkwh": {
111+
"name": "Last Meter Reading"
112+
},
113+
"charge_state": {
114+
"name": "Last Charge",
115+
"state": {
116+
"pending": "Pending",
117+
"active": "Active",
118+
"completed": "Completed",
119+
"failed": "Failed",
120+
"cancelled": "Cancelled"
121+
}
122+
}
123+
}
124+
}
77125
}

0 commit comments

Comments
 (0)