Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
0a9a5f5
Add Tessie integration with initial service setup and UI components
Terdious May 3, 2025
d147ed2
Refactor Tessie service: update API integration, remove unused files,…
Terdious May 17, 2025
bb58c05
Add dashboard type selection and update related constants
Terdious May 19, 2025
7a2090f
Add translations for electric vehicle dashboard types and related terms
Terdious May 19, 2025
b15241a
Add Current Setpoint Device Feature and update related components
Terdious May 19, 2025
770965f
Refactor device feature types for electrical vehicles and remove unus…
Terdious May 21, 2025
0317585
Add support for additional electrical vehicle features and update tra…
Terdious May 21, 2025
2b97d46
Merge branch 'master' into categorie-ve
Terdious May 21, 2025
6060e1c
Refactor electrical vehicle feature definitions and improve CSS for s…
Terdious May 21, 2025
85efee3
Merge remote-tracking branch 'origin/categorie-ve' into categorie-ve
Terdious May 21, 2025
5c574f0
Remove unused temperature property from AIR_CONDITIONING feature type
Terdious May 21, 2025
3dc40b0
Refactor CSS for device features by removing unused setpoint control …
Terdious May 22, 2025
91d59c2
Add energy efficiency and km per kilowatt hour translations to i18n f…
Terdious May 22, 2025
26f5d70
Fix text category feature type reference in constants
Terdious May 22, 2025
c1696c8
Refactor MqttFeatureBox to use DEVICE_FEATURE_CATEGORIES for category…
Terdious May 23, 2025
e53856d
Refactor dashboard and MQTT device setup to simplify feature type che…
Terdious May 23, 2025
db8ec91
Update i18n files to enhance electrical vehicle terminology and struc…
Terdious May 23, 2025
dc0b563
Refactor electrical vehicle feature handling and add battery level di…
Terdious May 24, 2025
0de9132
Merge branch 'master' into categorie-ve
Terdious May 24, 2025
769e2fc
Enhance electrical vehicle feature handling with custom button contro…
Terdious May 25, 2025
60afb0d
Enhance MultiLevelDeviceFeature component with unit display and impro…
Terdious May 25, 2025
630b2bb
Refactor IconBinaryDeviceValue component to simplify icon mapping and…
Terdious May 25, 2025
e87da07
Remove BatteryLevelFeature component and clean up related i18n entrie…
Terdious May 25, 2025
8103552
Create
Terdious May 25, 2025
31bc9fb
Update local API and WebSocket URLs to use 'localhost' for development
Terdious May 25, 2025
8fbd0a4
Refactor MultiLevelDeviceFeature component to simplify layout and rem…
Terdious May 25, 2025
a012398
Merge branch 'categorie-ve' into categorie-ve-2-add-convert-units
Terdious May 25, 2025
640792f
Remove unused import of Text from 'preact-i18n' in MultiLevelDeviceFe…
Terdious May 25, 2025
b864ffb
Remove unused Text import from MultiLevelDeviceFeature component
Terdious May 25, 2025
672e3e1
Refactor RawDeviceValue and BadgeNumberDeviceValue components to remo…
Terdious May 25, 2025
79f7739
Remove CurrentSetpointDeviceFeature component and update related refe…
Terdious May 25, 2025
566094e
Remove unused electrical vehicle feature types and clean up related s…
Terdious May 25, 2025
e0c3a38
Remove unused air conditioning unit from device feature constants and…
Terdious May 25, 2025
7629db0
Remove unused imperial units from DEVICE_FEATURE_UNITS_BY_CATEGORY fo…
Terdious May 25, 2025
ae1f5ef
Add unit conversion tests for distance measurements
Terdious May 25, 2025
2876953
Add missing newline in units test file for consistency
Terdious May 25, 2025
c2d4158
Update distance conversion tests for improved precision
Terdious May 25, 2025
90f3c0c
Add unit tests for distance conversions and implement smart rounding …
Terdious May 25, 2025
67ab6b7
Refactor unit test imports for better readability and add missing new…
Terdious May 25, 2025
34d4694
Update unit conversion tests to reflect preference changes and improv…
Terdious May 25, 2025
bed9462
Update distance conversion tests for improved precision in expected v…
Terdious May 25, 2025
be493f4
Merge branch 'master' into categorie-ve-2-add-convert-units
Terdious May 26, 2025
97ad239
Refactor distance unit conversions: move to separate module and updat…
Terdious May 26, 2025
4624c57
Merge branch 'master' into categorie-ve
Terdious May 26, 2025
bc4025d
Fix feature type and translation keys for electrical vehicle states
Terdious May 26, 2025
7d51ff6
Fix missing newline at end of file in translation JSON files
Terdious May 26, 2025
d307469
Merge branch 'master' into categorie-ve
Terdious Jun 6, 2025
1f806ec
Add default values and step settings for electrical vehicle charge fe…
Terdious Jun 6, 2025
b2a5a6e
Merge branch 'master' into categorie-ve-2-add-convert-units
Terdious Jun 6, 2025
4deaf3b
Merge branch 'master' into categorie-ve
Terdious Jun 6, 2025
06abe89
Add IconBinaryDeviceValue for electrical vehicle state features
Terdious Jun 6, 2025
9617229
Update energy consumption constant description for electrical vehicle…
Terdious Jun 6, 2025
2213408
Update localization strings for last charge energy metrics and plugge…
Terdious Jun 6, 2025
9d59a53
Fix missing newline at end of file in French localization JSON
Terdious Jun 6, 2025
6a3fea1
Merge branch 'categorie-ve' into categorie-ve-3-add-box-display-comma…
Terdious Jun 6, 2025
99c31a1
Merge branch 'master' into categorie-ve-2-add-convert-units
Terdious Jun 6, 2025
0be7fe2
Fix unit conversion references for distance measurements
Terdious Jun 6, 2025
d2ec88b
Refactor unit conversion formatting for improved readability
Terdious Jun 6, 2025
80eb088
Fix value check in BadgeNumberDeviceValue component to handle null va…
Terdious Jun 6, 2025
fb7e2af
Add DistanceSensorDeviceValue component and refactor BadgeNumberDevic…
Terdious Jun 7, 2025
4be701f
Add distance unit conversion to Chart component for user preferences
Terdious Jun 7, 2025
b8212e6
Refactor Chart component for improved readability and fix IconBinaryD…
Terdious Jun 7, 2025
eec2967
Merge branch 'categorie-ve-2-add-convert-units' into categorie-ve-3-a…
Terdious Jun 7, 2025
f6ac749
Update BinaryDeviceValue and translations for door and window states …
Terdious Jun 7, 2025
56c7658
Add distance unit conversion to GaugeBox component based on user pref…
Terdious Jun 7, 2025
2d29d43
Refactor distance unit handling to system units and improve conversio…
Terdious Jun 7, 2025
d533fdf
Enhance unit conversion logic to handle null values and ensure correc…
Terdious Jun 7, 2025
3505d14
Refactor unit conversion logic to streamline null value handling for …
Terdious Jun 7, 2025
d71defb
Merge branch 'categorie-ve-2-add-convert-units' into categorie-ve-3-a…
Terdious Jun 7, 2025
4402c22
Refactor unit conversion logic to improve handling of null values and…
Terdious Jun 7, 2025
9fc9637
Refactor unit conversion logic to improve handling of null values and…
Terdious Jun 7, 2025
04c02e7
Merge branch 'categorie-ve-2-add-convert-units' into categorie-ve-3-a…
Terdious Jun 7, 2025
ef26089
Merge branch 'master' into categorie-ve-2-add-convert-units
Terdious Jun 14, 2025
d2987bd
Refactor unit conversion functions for clarity and consistency
Terdious Jun 14, 2025
129ba3f
Refactor unit conversion logic for improved readability and consistency
Terdious Jun 14, 2025
7bb2d49
Refactor unit conversion constants for clarity and consistency
Terdious Jun 14, 2025
112e776
Merge branch 'categorie-ve-2-add-convert-units' into categorie-ve-3-a…
Terdious Jun 14, 2025
4fbe155
Merge branch 'master' into tessie-integration
Terdious Jun 15, 2025
d528634
Refactor Tessie service: remove unused ESLint config, enhance vehicle…
Terdious Jun 16, 2025
fae7158
Add pressure sensor support and unit conversions for kPa
Terdious Jun 16, 2025
0151f0d
Update unit conversion documentation to include additional units
Terdious Jun 16, 2025
e4c4206
Merge branch 'categorie-ve-add-pressure-tire-and-convert' into tessie…
Terdious Jun 16, 2025
d90c8f7
Fix sensor value mappings for level sensors in DISPLAY_BY_FEATURE_CAT…
Terdious Jun 17, 2025
db3e906
Merge branch 'categorie-ve-2-add-convert-units' into categorie-ve-3-a…
Terdious Jun 17, 2025
ecb3e53
Merge branch 'categorie-ve-2-add-convert-units' into categorie-ve-add…
Terdious Jun 17, 2025
ef64ed7
Merge remote-tracking branch 'upstream/master' into categorie-ve-3-ad…
Terdious Jun 17, 2025
6dd9131
Merge remote-tracking branch 'upstream/master' into categorie-ve-add-…
Terdious Jun 17, 2025
2880548
Add internationalization support to device components
Terdious Jun 18, 2025
c3ff345
Merge branch 'categorie-ve-3-add-box-display-command-and-state' into …
Terdious Jun 18, 2025
1fe465b
Merge branch 'categorie-ve-add-pressure-tire-and-convert' into tessie…
Terdious Jun 18, 2025
5b37e45
Add outside temperature feature and improve vehicle command handling
Terdious Jun 18, 2025
3d8e93e
Fix formatting issues and improve consistency in JSON and JavaScript …
Terdious Jun 19, 2025
55ea2cd
Merge branch 'master' into tessie-integration
Terdious Jun 19, 2025
f60db64
Enhance WebSocket functionality and improve vehicle configuration han…
Terdious Jun 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added front/src/assets/integrations/cover/tessie.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[ZoneTransfer]
ZoneId=3
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions front/src/components/app.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,11 @@ import NetatmoPage from '../routes/integration/all/netatmo/device-page';
import NetatmoSetupPage from '../routes/integration/all/netatmo/setup-page';
import NetatmoDiscoverPage from '../routes/integration/all/netatmo/discover-page';

// Tessie integration
import TessiePage from '../routes/integration/all/tessie/device-page';
import TessieSetupPage from '../routes/integration/all/tessie/setup-page';
import TessieDiscoverPage from '../routes/integration/all/tessie/discover-page';

// Sonos integration
import SonosDevicePage from '../routes/integration/all/sonos/device-page';
import SonosDiscoveryPage from '../routes/integration/all/sonos/discover-page';
Expand Down Expand Up @@ -306,6 +311,10 @@ const AppRouter = connect(
<NetatmoDiscoverPage path="/dashboard/integration/device/netatmo/discover" />
<NetatmoSetupPage path="/dashboard/integration/device/netatmo/setup" />

<TessiePage path="/dashboard/integration/device/tessie" />
<TessieDiscoverPage path="/dashboard/integration/device/tessie/discover" />
<TessieSetupPage path="/dashboard/integration/device/tessie/setup" />

<SonosDevicePage path="/dashboard/integration/device/sonos" />
<SonosDiscoveryPage path="/dashboard/integration/device/sonos/discover" />

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { Text } from 'preact-i18n';
import { checkAndConvertUnit } from '../../../../../../../server/utils/units';

const PressureSensorDeviceValue = ({ deviceFeature, user }) => {
const { last_value: lastValue = null, unit } = deviceFeature;
const { distance_unit_preference: userUnitPreference } = user;

// Convert the value to the user unit if needed
const { value: displayValue, unit: displayUnit } = checkAndConvertUnit(lastValue, unit, userUnitPreference);

return (
<div>
{displayValue === null && <Text id="dashboard.boxes.devicesInRoom.noValue" />}
{displayValue !== null && (
<span>
{`${displayValue} `}
<Text id={`deviceFeatureUnitShort.${displayUnit}`} />
</span>
)}
</div>
);
};

export default PressureSensorDeviceValue;
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import TextDeviceValue from './TextDeviceValue';
import NoRecentValueBadge from './NoRecentValueBadge';
import TemperatureSensorDeviceValue from './TemperatureSensorDeviceValue';
import LevelSensorDeviceValue from './LevelSensorDeviceValue';
import PressureSensorDeviceValue from './PressureSensorDeviceValue';

const DISPLAY_BY_FEATURE_CATEGORY = {
[DEVICE_FEATURE_CATEGORIES.MOTION_SENSOR]: MotionSensorDeviceValue,
Expand All @@ -27,6 +28,7 @@ const DISPLAY_BY_FEATURE_CATEGORY = {
[DEVICE_FEATURE_CATEGORIES.TEXT]: TextDeviceValue,
[DEVICE_FEATURE_CATEGORIES.TEMPERATURE_SENSOR]: TemperatureSensorDeviceValue,
[DEVICE_FEATURE_CATEGORIES.DISTANCE_SENSOR]: DistanceSensorDeviceValue,
[DEVICE_FEATURE_CATEGORIES.PRESSURE_SENSOR]: PressureSensorDeviceValue,
[DEVICE_FEATURE_CATEGORIES.SPEED_SENSOR]: DistanceSensorDeviceValue,
[DEVICE_FEATURE_CATEGORIES.ELECTRICAL_VEHICLE_DRIVE]: DistanceSensorDeviceValue,
[DEVICE_FEATURE_CATEGORIES.ELECTRICAL_VEHICLE_CONSUMPTION]: DistanceSensorDeviceValue
Expand All @@ -45,8 +47,10 @@ const DISPLAY_BY_FEATURE_TYPE = {
[DEVICE_FEATURE_TYPES.ELECTRICAL_VEHICLE_BATTERY.BATTERY_TEMPERATURE]: TemperatureSensorDeviceValue,
[DEVICE_FEATURE_TYPES.ELECTRICAL_VEHICLE_BATTERY.BATTERY_VOLTAGE]: BadgeNumberDeviceValue,
[DEVICE_FEATURE_TYPES.ELECTRICAL_VEHICLE_CLIMATE.INDOOR_TEMPERATURE]: TemperatureSensorDeviceValue,
[DEVICE_FEATURE_TYPES.ELECTRICAL_VEHICLE_CLIMATE.OUTSIDE_TEMPERATURE]: TemperatureSensorDeviceValue,
[DEVICE_FEATURE_TYPES.ELECTRICAL_VEHICLE_BATTERY.BATTERY_RANGE_ESTIMATE]: DistanceSensorDeviceValue,
[DEVICE_FEATURE_TYPES.ELECTRICAL_VEHICLE_STATE.ODOMETER]: DistanceSensorDeviceValue
[DEVICE_FEATURE_TYPES.ELECTRICAL_VEHICLE_STATE.ODOMETER]: DistanceSensorDeviceValue,
[DEVICE_FEATURE_TYPES.ELECTRICAL_VEHICLE_STATE.TIRE_PRESSURE]: PressureSensorDeviceValue
};

const DEVICE_FEATURES_WITHOUT_EXPIRATION = [
Expand Down
8 changes: 6 additions & 2 deletions front/src/config/i18n/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@
"validationError": "Der Name des Zuhauses muss zwischen 1 und 40 Zeichen lang sein",
"validationErrorRoom": "Der Raumname muss zwischen 1 und 40 Zeichen lang sein",
"alarmTitle": "Alarm",
"alarmDescription": "Wenn du den Alarmmodus in Gladys verwendest, kannst du den Deaktivierungscode und die Verzögerung vor der Scharfschaltung des Alarms hier konfigurieren. Diese Verzögerung gilt nur im Fall einer manueller Auslösung und nicht in Szenen.",
"alarmDescription": "Wenn du den Alarmmodus in Gladys verwendest, kannst du den Deaktivierungscode und die Verzögerung vor der Scharfschaltung des Alarms hier konfigurieren. Diese Verzögerung gilt nur im Fall einer manuellen Auslösung und nicht in Szenen.",
"alarmCodeLabel": "Deaktivierungscode",
"alarmCodePlaceholder": "Gib einen numerischen Code zwischen 4 und 8 Ziffern ein",
"alarmDelayBeforeArmingLabel": "Verzögerung vor Scharfschaltung des Alarms",
Expand Down Expand Up @@ -2799,6 +2799,7 @@
"percent": "Prozent (%)",
"pascal": "Pascal (Pa)",
"hPa": "Hektopascal (hPa)",
"kPa": "Kilopascal (kPa)",
"bar": "Bar",
"psi": "Pound-force per square inch (psi)",
"milli-bar": "Millibar (mbar)",
Expand Down Expand Up @@ -2888,6 +2889,7 @@
"percent": "%",
"pascal": "Pa",
"hPa": "hPa",
"kPa": "kPa",
"bar": "bar",
"milli-bar": "mbar",
"psi": "psi",
Expand Down Expand Up @@ -3423,6 +3425,7 @@
"shortCategoryName": "Elektrofahrzeug - Klima",
"climate-on": "Klimaanlagenschalter",
"indoor-temperature": "Innentemperatur",
"outside-temperature": "Außentemperatur",
"target-temperature": "Zieltemperatur"
},
"electrical-vehicle-command": {
Expand All @@ -3444,6 +3447,7 @@
"shortCategoryName": "Elektrofahrzeug - Status",
"door-opened": "Tür geöffnet",
"odometer": "Kilometerzähler",
"tire-pressure": "Reifendruck",
"window-opened": "Fenster geöffnet"
},
"heater": {
Expand Down Expand Up @@ -3860,4 +3864,4 @@
"upgradeYearlyError": "Beim Wechsel in das jährliche Abomodell ist ein Fehler aufgetreten. Bitte kontaktiere uns per E-Mail.",
"upgradeYearlySuccess": "Vielen Dank, dass du in das jährliche Abmodell gewechselt bist!"
}
}
}
93 changes: 92 additions & 1 deletion front/src/config/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -735,6 +735,93 @@
"conflictError": "Current topic is already in use."
}
},
"tessie": {
"title": "Tessie",
"description": "Control Tessie devices",
"deviceTab": "Devices",
"documentation": "Tessie documentation",
"discoverDeviceDescr": "Automatically scan Tessie devices",
"status": {
"notConfigured": "The Tessie service is not configured",
"disconnect": "Gladys is not connected to Tessie",
"notConnected": "Gladys failed to connect to the Tessie account, please verify your credentials on the ",
"setupPageLink": "Tessie Setup Page.",
"connect": "Gladys is connected to Tessie",
"connecting": "Configuration saved. Connecting to your Tessie account...",
"processingToken": "Connecting to your Tessie account... Retrieving access token.",
"getDevicesValues": "Data recovery in progress...",
"dicoveringDevices": "Device recovery in progress...",
"errorConnecting": {
"other_error": "Error during authorization. You can inspect the error in your browser's console with a right click. If the error persists, please post the logs on the forum.",
"access_denied": "Authorization declined, please try again and accept the request for access to your data.",
"invalid_client": "Invalid client ID. Please verify your Tessie account information and that the account is not banned or disabled on <a href=\"https://dev.tessie.com/apps/\" target=\"_blank\" rel=\"noopener noreferrer\">My App</a>.",
"get_access_token_fail": "Incorrect information entered or account disabled. Please check your Tessie account information and that the account is not banned or disabled <a href=\"https://dev.tessie.com/apps/\" target=\"_blank\" rel=\"noopener noreferrer\">My App</a>."
},
"weatherApiNotConfigured": "Please go to the \"Configuration\" tab to activate access to the \"Weather\" API in order to have access to the full information of your station.",
"energyApiNotConfigured": "Please go to the \"Configuration\" tab to activate access to the \"Energy\" API in order to have access to the full information of your devices.",
"descriptionGetApiKey": "You will then need to get your API key from your Tessie account.",
"apiKeyLabel": "Tessie API Key",
"apiKeyPlaceholder": "Enter your Tessie API key",
"websocketLabel": "Enable WebSocket",
"websocketDescription": "Enable WebSocket connection to receive real-time telemetry data",
"connectionInfoLabel": "Connection Information"
},
"device": {
"title": "Tessie Devices in Gladys",
"descriptionInformation": "State retrieval is currently done every 2 minutes (Tessie API limitation).",
"noDeviceFound": "No Tessie devices have been added yet.",
"vinLabel": "Vehicle VIN",
"nameLabel": "Device name",
"namePlaceholder": "Enter your device name",
"modelLabel": "Model",
"roomLabel": "Room",
"connectedPlugLabel": "Connected to bridge",
"roomTessieApiLabel": "Room in Tessie API",
"featuresLabel": "Features",
"saveButton": "Save",
"saveNotAllowButton": "Save not possible",
"deleteButton": "Delete",
"noValueReceived": "No value received."
},
"discover": {
"title": "Your Tessie Devices Compatible with Gladys",
"description": "Your Tessie devices must be added to your Tessie account before being added to Gladys, which currently only supports Thermostats and the valves associated with their Plug (API Energy) as well as weather stations and their modules (API Weather). If you are missing devices, please check that you have selected the correct APIs on the configuration page. The first discovery is automatic. Press 'Refresh' if you wish to retrieve new features of your devices.",
"descriptionCompatibility": "For any requests to add devices and/or features, please visit the <a href=\"https://en-community.gladysassistant.com/c/feature-requests\" target=\"_blank\" rel=\"noopener noreferrer\">Gladys Assistant Forum - Feature Requests Category</a>.",
"descriptionInformation": "State retrieval is currently done every 2 minutes (Tessie API limitation).",
"noDeviceFound": "No Tessie devices were found. If you are certain that you have a Tessie device supported by Gladys, have you completed all the steps in the documentation to register your devices on the Tessie API?",
"alreadyCreatedButton": "Already Created",
"unmanagedModelButton": "Unsupported model",
"updateButton": "Update",
"scan": "Scan",
"refresh": "Refresh"
},
"setup": {
"title": "Tessie Setup",
"description": "You can connect Gladys to your Tessie account to control the associated devices.",
"descriptionCreateAccount": "You need to create an account on <a href=\"https://developer.tessie.com/reference/getting-started\" target=\"_blank\" rel=\"noopener noreferrer\">Tessie Connect</a>.",
"descriptionCreateProject": "You will then need to create an \"application\" in your Tessie developer account via the <a href=\"https://dash.tessie.com/settings/api\" target=\"_blank\" rel=\"noopener noreferrer\">My App</a>.",
"descriptionGetKeys": "You will then have access to two keys: \"client ID\" and \"client secret\" to copy below.",
"descriptionScopeInformation": "When you connect Gladys to your dedicated Tessie App, you grant it permission to access your data in read and write modes (referred to as \"read\" and \"write\" scopes). You don't have to configure anything, these scopes are automatically integrated and will be presented to you during the connection request (see documentation if needed). Of course, since Gladys is installed locally, none of these data is exposed.",
"titleAdditionalInformationEnergyApi": "Additional Information on the Operation of the \"Energy\" API:",
"descriptionAdditionalInformationEnergyApi": "You must select the \"Energy\" API at the bottom of the page to access the corresponding devices. Temperature commands are performed at the room level. Therefore, both pieces of information are available as features for more control. If you have other temperature sensors in the same room as your Thermostat, it's the average temperature of that room that will be considered to trigger the heating control switch.",
"titleAdditionalInformationWeatherApi": "Additional Information on the Operation of the \"Weather\" API:",
"descriptionAdditionalInformationWeatherApi": "You must select the \"Weather\" API at the bottom of the page to access the corresponding devices. If you also have devices belonging to the \"Energy\" API (Plug, thermostat or valve) you will have access to an additional functionality on indoor hygrometer devices to obtain the average temperature of the corresponding room. So don't forget to select the \"Energy\" API to access this functionality.",
"clientIdLabel": "Client ID",
"clientIdPlaceholder": "Client ID from My Apps in Tessie Connect",
"clientSecretLabel": "Client Secret",
"clientSecretPlaceholder": "Client secret from My Apps in Tessie Connect",
"connectionInfoLabel": "When you change this information, a new token is required. Disconnecting will also erase your access token. A new connection request will therefore be made to the Tessie API when you click on these buttons.",
"energyApiLabel": "Enable \"Energy\" API (retrieve Tessie Plug, Thermostat, and Valve devices)",
"weatherApiLabel": "Enable \"Weather\" API (retrieve Tessie Weather Station devices)",
"saveLabel": "Save and connect",
"disconnectLabel": "Disconnect"
},
"error": {
"defaultError": "An error occurred while registering the device.",
"defaultDeletionError": "An error occurred while deleting the device.",
"conflictError": "The current device is already in Gladys."
}
},
"tpLink": {
"title": "TP-Link",
"description": "Control TP-Link Bulbs and Plugs in Gladys",
Expand Down Expand Up @@ -2799,6 +2886,7 @@
"percent": "Percent (%)",
"pascal": "Pascal (Pa)",
"hPa": "Hectopascal (hPa)",
"kPa": "Kilopascal (kPa)",
"bar": "Bar",
"psi": "Pound-force per square inch (psi)",
"milli-bar": "Millibar (mbar)",
Expand Down Expand Up @@ -2888,6 +2976,7 @@
"percent": "%",
"pascal": "Pa",
"hPa": "hPa",
"kPa": "kPa",
"bar": "bar",
"milli-bar": "mbar",
"psi": "psi",
Expand Down Expand Up @@ -3423,6 +3512,7 @@
"shortCategoryName": "Electric Vehicle - Climate",
"climate-on": "Climate switch",
"indoor-temperature": "Indoor temperature",
"outside-temperature": "Outside temperature",
"target-temperature": "Target temperature"
},
"electrical-vehicle-command": {
Expand All @@ -3444,6 +3534,7 @@
"shortCategoryName": "Electric Vehicle - Status",
"door-opened": "Door open",
"odometer": "Odometer",
"tire-pressure": "Tire pressure",
"window-opened": "Window open"
},
"heater": {
Expand Down Expand Up @@ -3860,4 +3951,4 @@
"upgradeYearlyError": "An error occured while switching to the annual plan, please contact us by email.",
"upgradeYearlySuccess": "Thanks for switching to the annual plan!"
}
}
}
Loading
Loading