Skip to content

Commit

Permalink
Netatmo integration (#1951)
Browse files Browse the repository at this point in the history
  • Loading branch information
Terdious authored Jan 30, 2024
1 parent d87cabc commit d6dfdc9
Show file tree
Hide file tree
Showing 99 changed files with 7,997 additions and 0 deletions.
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 @@ -139,6 +139,11 @@ import TuyaEditPage from '../routes/integration/all/tuya/edit-page';
import TuyaSetupPage from '../routes/integration/all/tuya/setup-page';
import TuyaDiscoverPage from '../routes/integration/all/tuya/discover-page';

// Netatmo integration
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';

// Sonos integration
import SonosDevicePage from '../routes/integration/all/sonos/device-page';
import SonosDiscoveryPage from '../routes/integration/all/sonos/discover-page';
Expand Down Expand Up @@ -284,6 +289,10 @@ const AppRouter = connect(
<TuyaDiscoverPage path="/dashboard/integration/device/tuya/discover" />
<TuyaSetupPage path="/dashboard/integration/device/tuya/setup" />

<NetatmoPage path="/dashboard/integration/device/netatmo" />
<NetatmoDiscoverPage path="/dashboard/integration/device/netatmo/discover" />
<NetatmoSetupPage path="/dashboard/integration/device/netatmo/setup" />

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

Expand Down
76 changes: 76 additions & 0 deletions front/src/config/i18n/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,82 @@
"rotation18O": "180°",
"rotation27O": "270°"
},
"netatmo": {
"title": "Netatmo",
"description": "Netatmo-Geräte steuern",
"deviceTab": "Geräte",
"discoverTab": "Netatmo-Entdeckung",
"setupTab": "Konfiguration",
"documentation": "Netatmo-Dokumentation",
"discoverDeviceDescr": "Netatmo-Geräte automatisch scannen",
"status": {
"notConfigured": "Der Netatmo-Dienst ist nicht konfiguriert",
"disconnect": "Gladys ist nicht mit Netatmo verbunden",
"notConnected": "Gladys konnte keine Verbindung zum Netatmo-Konto herstellen, bitte überprüfen Sie Ihre Anmeldeinformationen auf der ",
"setupPageLink": "Netatmo-Konfigurationsseite.",
"connect": "Gladys ist mit Netatmo verbunden",
"connecting": "Konfiguration gespeichert. Verbindung zu Ihrem Netatmo-Konto wird hergestellt...",
"processingToken": "Verbindung zu Ihrem Netatmo-Konto... Zugriffstoken wird abgerufen.",
"getDevicesValues": "Datenwiederherstellung läuft...",
"dicoveringDevices": "Gerätewiederherstellung läuft...",
"errorConnecting": {
"other_error": "Fehler bei der Autorisierung. Sie können den Fehler in der Konsole Ihres Browsers mit einem Rechtsklick untersuchen. Wenn der Fehler weiterhin besteht, posten Sie bitte die Protokolle im Forum.",
"access_denied": "Autorisierung abgelehnt, bitte versuchen Sie es erneut und akzeptieren Sie den Zugriff auf Ihre Daten.",
"invalid_client": "Ungültige Kunden-ID. Bitte überprüfen Sie Ihre Netatmo-Kontoinformationen und dass das Konto nicht gesperrt oder deaktiviert ist <a href=\"https://dev.netatmo.com/apps/\" target=\"_blank\" rel=\"noopener noreferrer\">Meine App</a>.",
"get_access_token_fail": "Falsche Informationen eingegeben oder Konto deaktiviert. Bitte überprüfen Sie Ihre Netatmo-Kontoinformationen und dass das Konto nicht gesperrt oder deaktiviert ist <a href=\"https://dev.netatmo.com/apps/\" target=\"_blank\" rel=\"noopener noreferrer\">Meine App</a>."
}
},
"device": {
"title": "Netatmo-Geräte in Gladys",
"descriptionInformation": "Der Statusabruf erfolgt derzeit alle 2 Minuten (Einschränkung der Netatmo-API).",
"noDeviceFound": "Noch keine Netatmo-Geräte hinzugefügt.",
"sidLabel": "Netatmo-SID des Geräts",
"nameLabel": "Gerätename",
"namePlaceholder": "Geben Sie den Namen Ihres Geräts ein",
"modelLabel": "Modell",
"roomLabel": "Raum",
"connectedPlugLabel": "Mit der Brücke verbunden",
"roomNetatmoApiLabel": "Raum in der Netatmo-API",
"featuresLabel": "Funktionen",
"saveButton": "Speichern",
"deleteButton": "Löschen",
"noValueReceived": "Kein Wert empfangen."
},
"discover": {
"title": "Ihre mit Gladys kompatiblen Netatmo-Geräte",
"description": "Ihre Netatmo-Geräte müssen zuerst zu Ihrem Netatmo-Konto hinzugefügt werden, bevor sie zu Gladys hinzugefügt werden können, das derzeit nur Thermostate unterstützt, die mit ihrem Plug verbunden sind. Die erste Entdeckung erfolgt automatisch. Drücken Sie 'Aktualisieren', wenn Sie die neuen Funktionen Ihrer Geräte abrufen möchten.",
"descriptionCompatibility": "Für alle Anfragen zur Hinzufügung von Geräten und/oder Funktionen, besuchen Sie bitte das <a href=\"https://en-community.gladysassistant.com/c/feature-requests\" target=\"_blank\" rel=\"noopener noreferrer\">Gladys Assistant Forum - Kategorie \"Funktionsanfragen\"</a>.",
"descriptionInformation": "Der Statusabruf erfolgt derzeit alle 2 Minuten (Einschränkung der Netatmo-API).",
"noDeviceFound": "Keine Netatmo-Geräte gefunden. Haben Sie alle Schritte der Dokumentation befolgt, um Ihre Geräte in der Netatmo-API zu registrieren?",
"alreadyCreatedButton": "Bereits erstellt",
"updateButton": "Aktualisieren",
"unmanagedModelButton": "Nicht unterstütztes Modell",
"scan": "Scannen",
"refresh": "Aktualisieren"
},
"setup": {
"title": "Netatmo-Konfiguration",
"description": "Sie können Gladys mit Ihrem Netatmo-Konto verbinden, um die zugehörigen Geräte zu steuern.",
"descriptionCreateAccount": "Sie müssen ein Konto auf <a href=\"https://auth.netatmo.com/de-de/access/login\" target=\"_blank\" rel=\"noopener noreferrer\">Netatmo Connect</a> erstellen.",
"descriptionCreateProject": "Danach müssen Sie eine \"Anwendung\" in Ihrem Netatmo-Entwicklerkonto über das Menü <a href=\"https://dev.netatmo.com/apps/\" target=\"_blank\" rel=\"noopener noreferrer\">Meine App</a> erstellen.",
"descriptionGetKeys": "Dann haben Sie Zugriff auf zwei Schlüssel: \"Kunden-ID\" und \"Kundengeheimnis\", die Sie unten kopieren können.",
"descriptionScopeInformation": "Wenn Sie Gladys mit Ihrer dedizierten Netatmo-App verbinden, erteilen Sie ihr die Berechtigung, auf Ihre Daten zum Lesen und Schreiben zuzugreifen (genannt Scopes \"read\" und \"write\"). Sie müssen nichts konfigurieren, diese Scopes sind automatisch integriert und werden Ihnen bei der Verbindungsanfrage angezeigt (siehe Dokumentation bei Bedarf). Da Gladys lokal installiert ist, werden keine dieser Daten preisgegeben.",
"titleAdditionalInformation": "Weitere Informationen über die Funktionsweise der \"Energy\"-API:",
"descriptionAdditionalInformation": "Temperaturbefehle werden auf Raumniveau ausgeführt. Daher sind beide Informationen als Funktionen für mehr Kontrolle verfügbar. Wenn Sie andere Temperatursensoren im gleichen Raum wie Ihr Thermostat haben, wird die Durchschnittstemperatur dieses Raums berücksichtigt, um den Heizungssteuerschalter auszulösen.",
"clientIdLabel": "Kunden-ID",
"clientIdPlaceholder": "Kunden-ID von My Apps in Netatmo Connect",
"clientSecretLabel": "Kundengeheimnis",
"clientSecretPlaceholder": "Kundengeheimnis von My Apps in Netatmo Connect",
"connectionInfoLabel": "Wenn Sie diese Informationen ändern, ist ein neues Token erforderlich. Durch das Trennen der Verbindung wird auch Ihr Zugriffstoken gelöscht. Wenn Sie auf diese Schaltflächen klicken, wird daher eine neue Verbindungsanfrage an die Netatmo-API gestellt.",
"saveLabel": "Speichern und verbinden",
"disconnectLabel": "Trennen"
},
"error": {
"defaultError": "Ein Fehler ist bei der Registrierung des Geräts aufgetreten.",
"defaultDeletionError": "Ein Fehler ist bei der Löschung des Geräts aufgetreten.",
"conflictError": "Das aktuelle Gerät ist bereits in Gladys."
}
},
"tasmota": {
"title": "Tasmota",
"description": "Steuere deine Tasmota-Geräte über HTTP oder MQTT.",
Expand Down
76 changes: 76 additions & 0 deletions front/src/config/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,82 @@
"rotation18O": "180°",
"rotation27O": "270°"
},
"netatmo": {
"title": "Netatmo",
"description": "Control Netatmo equipment",
"deviceTab": "Devices",
"discoverTab": "Netatmo Discovery",
"setupTab": "Setup",
"documentation": "Netatmo Documentation",
"discoverDeviceDescr": "Automatically scan Netatmo devices",
"status": {
"notConfigured": "The Netatmo service is not configured",
"disconnect": "Gladys is not connected to Netatmo",
"notConnected": "Gladys failed to connect to the Netatmo account, please verify your credentials on the ",
"setupPageLink": "Netatmo Setup Page.",
"connect": "Gladys is connected to Netatmo",
"connecting": "Configuration saved. Connecting to your Netatmo account...",
"processingToken": "Connecting to your Netatmo 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 Netatmo account information and that the account is not banned or disabled on <a href=\"https://dev.netatmo.com/apps/\" target=\"_blank\" rel=\"noopener noreferrer\">My App</a>.",
"get_access_token_fail": "Incorrect information entered or account disabled. Please check your Netatmo account information and that the account is not banned or disabled <a href=\"https://dev.netatmo.com/apps/\" target=\"_blank\" rel=\"noopener noreferrer\">My App</a>."
}
},
"device": {
"title": "Netatmo Devices in Gladys",
"descriptionInformation": "State retrieval is currently done every 2 minutes (Netatmo API limitation).",
"noDeviceFound": "No Netatmo devices have been added yet.",
"sidLabel": "Netatmo device SID",
"nameLabel": "Device name",
"namePlaceholder": "Enter your device name",
"modelLabel": "Model",
"roomLabel": "Room",
"connectedPlugLabel": "Connected to bridge",
"roomNetatmoApiLabel": "Room in Netatmo API",
"featuresLabel": "Features",
"saveButton": "Save",
"deleteButton": "Delete",
"noValueReceived": "No value received."
},
"discover": {
"title": "Your Netatmo Devices Compatible with Gladys",
"description": "Your Netatmo devices must be added to your Netatmo account before being added to Gladys, which currently only supports Thermostats associated with their Plug. The first discovery is done automatically. Press 'Refresh' if you want 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 (Netatmo API limitation).",
"noDeviceFound": "No Netatmo devices were found. If you own a Netatmo Thermostat, have you completed all the steps in the documentation to register your devices on the Netatmo API?",
"alreadyCreatedButton": "Already Created",
"unmanagedModelButton": "Unsupported model",
"updateButton": "Update",
"scan": "Scan",
"refresh": "Refresh"
},
"setup": {
"title": "Netatmo Setup",
"description": "You can connect Gladys to your Netatmo account to control the associated devices.",
"descriptionCreateAccount": "You need to create an account on <a href=\"https://auth.netatmo.com/en-us/access/login\" target=\"_blank\" rel=\"noopener noreferrer\">Netatmo Connect</a>.",
"descriptionCreateProject": "You will then need to create an \"application\" in your Netatmo developer account via the <a href=\"https://dev.netatmo.com/apps/\" 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 Netatmo 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.",
"titleAdditionalInformation": "Additional Information on the Operation of the \"Energy\" API:",
"descriptionAdditionalInformation": "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.",
"clientIdLabel": "Client ID",
"clientIdPlaceholder": "Client ID from My Apps in Netatmo Connect",
"clientSecretLabel": "Client Secret",
"clientSecretPlaceholder": "Client secret from My Apps in Netatmo 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 Netatmo API when you click on these buttons.",
"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."
}
},
"tasmota": {
"title": "Tasmota",
"description": "Control your Tasmota devices in HTTP or MQTT.",
Expand Down
Loading

0 comments on commit d6dfdc9

Please sign in to comment.