Merge PR #634: Netatmo: Update login mechanism and add missing modules

This commit is contained in:
jenkins 2022-12-14 23:58:27 +01:00
commit 4774851c58
21 changed files with 2951 additions and 3032 deletions

View File

@ -2,25 +2,41 @@
This plugin integrates the Netatmo Smart Home Weather Station.
## Supported Things
Once you add your Netatmo account, all connected and supported devices will appear automatically in your system.
* Netatmo Connection
* Netatmo account
* Username and password login
* Indoor Station
* Appears automatically
## Supported modules
* Indoor main station
* Temperature
* Temperature minimum & maximum
* Humidity
* Pressure
* Noise
* CO2
* Noise
* WiFi signal strength
* Outdoor Station
* Appears automatically
* Outdoor module
* Temperature
* Temperature minimum & maximum
* Humidity
* Humidity
* Battery information
* Signal strength
* Additional indoor module
* Temperature
* Temperature minimum & maximum
* Humidity
* Pressure
* CO2
* Battery information
* Signal strength
* Smart Anemometer (Wind module):
* Wind direction
* Wind speed
* Battery information
* Signal strength
* Rain gauge:
* Rainfall last hour
* Rainfall last 24 hours
* Battery information
* Signal strength
## Requirements

View File

@ -1,6 +1,6 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2020, nymea GmbH
* Copyright 2013 - 2022, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
@ -29,9 +29,12 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "integrationpluginnetatmo.h"
#include "integrations/thing.h"
#include "netatmoconnection.h"
#include "plugininfo.h"
#include "network/networkaccessmanager.h"
#include <plugintimer.h>
#include <integrations/thing.h>
#include <network/networkaccessmanager.h>
#include <QDebug>
#include <QUrlQuery>
@ -44,60 +47,85 @@ IntegrationPluginNetatmo::IntegrationPluginNetatmo()
void IntegrationPluginNetatmo::init()
{
updateClientCredentials();
connect(this, &IntegrationPlugin::configValueChanged, this, &IntegrationPluginNetatmo::updateClientCredentials);
connect(apiKeyStorage(), &ApiKeyStorage::keyAdded, this, &IntegrationPluginNetatmo::updateClientCredentials);
connect(apiKeyStorage(), &ApiKeyStorage::keyUpdated, this, &IntegrationPluginNetatmo::updateClientCredentials);
}
void IntegrationPluginNetatmo::startPairing(ThingPairingInfo *info)
{
// Checking the client credentials
if (m_clientId.isEmpty() || m_clientSecret.isEmpty()) {
qCWarning(dcNetatmo()) << "Pairing failed, client credentials are not set";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("No API key installed"));
if (!loadClientCredentials()) {
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("No API key installed."));
return;
}
// Checking the internet connection
NetworkAccessManager *network = hardwareManager()->networkManager();
QNetworkReply *reply = network->get(QNetworkRequest(QUrl("https://api.netatmo.net")));
// Compose url
NetatmoConnection *connection = new NetatmoConnection(hardwareManager()->networkManager(), m_clientId, m_clientSecret, this);
QUrl loginUrl = connection->getLoginUrl();
// Checking the internet connect^ion
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(QUrl("https://api.netatmo.net")));
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, info, [reply, info] {
connect(reply, &QNetworkReply::finished, info, [this, reply, info, connection, loginUrl]() {
//The server replies usually 404 not found on this request
//int status = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
if (reply->error() == QNetworkReply::NetworkError::HostNotFoundError) {
qCWarning(dcNetatmo()) << "Netatmo server is not reachable";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Netatmo server is not reachable."));
} else {
info->finish(Thing::ThingErrorNoError, QT_TR_NOOP("Please enter the login credentials for your Netatmo account."));
info->finish(Thing::ThingErrorSetupFailed, QT_TR_NOOP("The Netatmo server is not reachable."));
return;
}
ThingId thingId = info->thingId();
m_pendingSetups.insert(thingId, connection);
connect(info, &ThingPairingInfo::aborted, connection, [thingId, this]() {
qCWarning(dcNetatmo()) << "ThingPairingInfo aborted, cleaning up pending setup connection.";
m_pendingSetups.take(thingId)->deleteLater();
});
qCDebug(dcNetatmo()) << "Netatmo server is reachable. Start the OAuth pairing process";
info->setOAuthUrl(loginUrl);
info->finish(Thing::ThingErrorNoError);
});
}
void IntegrationPluginNetatmo::confirmPairing(ThingPairingInfo *info, const QString &username, const QString &password)
void IntegrationPluginNetatmo::confirmPairing(ThingPairingInfo *info, const QString &username, const QString &secret)
{
OAuth2 *authentication = new OAuth2(m_clientId, m_clientSecret, this);
authentication->setUrl(QUrl("https://api.netatmo.net/oauth2/token"));
authentication->setUsername(username);
authentication->setPassword(password);
authentication->setScope("read_station read_thermostat write_thermostat");
Q_UNUSED(username)
connect(authentication, &OAuth2::authenticationChanged, info, [this, info, username, password, authentication](){
if (authentication->authenticated()) {
pluginStorage()->beginGroup(info->thingId().toString());
pluginStorage()->setValue("username", username);
pluginStorage()->setValue("password", password);
pluginStorage()->endGroup();
m_pairingAuthentications.insert(authentication, info->thingId());
info->finish(Thing::ThingErrorNoError);
} else {
qCWarning(dcNetatmo()) << "Wrong username or password";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Wrong username or password"));
qCDebug(dcNetatmo()) << "Confirm pairing" << info->thingName();
if (info->thingClassId() == netatmoConnectionThingClassId) {
QUrl url(secret);
QUrlQuery query(url);
QByteArray authorizationCode = query.queryItemValue("code").toLocal8Bit();
if (authorizationCode.isEmpty()) {
qCWarning(dcNetatmo()) << "Error while pairing to netatmo server. No authorization code received.";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Failed to log in to the Netatmo server."));
return;
}
});
authentication->startAuthentication();
connect(info, &ThingPairingInfo::aborted, authentication, &OAuth2::deleteLater);
NetatmoConnection *connection = m_pendingSetups.value(info->thingId());
if (!connection) {
qWarning(dcNetatmo()) << "No NetatmoConnect connection found for device:" << info->thingName();
m_pendingSetups.remove(info->thingId());
info->finish(Thing::ThingErrorHardwareFailure);
return;
}
connect(connection, &NetatmoConnection::receivedRefreshToken, info, [info, this](const QByteArray &refreshToken){
qCDebug(dcNetatmo()) << "Received token:" << NetatmoConnection::censorDebugOutput(refreshToken);
pluginStorage()->beginGroup(info->thingId().toString());
pluginStorage()->setValue("refresh_token", refreshToken);
pluginStorage()->endGroup();
info->finish(Thing::ThingErrorNoError);
});
qCDebug(dcNetatmo()) << "Authorization code" << NetatmoConnection::censorDebugOutput(authorizationCode);
if (!connection->getAccessTokenFromAuthorizationCode(authorizationCode)) {
qCWarning(dcNetatmo()) << "Failed to get token from authorization code.";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Failed to log in to the Netatmo server."));
return;
}
}
}
void IntegrationPluginNetatmo::setupThing(ThingSetupInfo *info)
@ -107,300 +135,280 @@ void IntegrationPluginNetatmo::setupThing(ThingSetupInfo *info)
if (thing->thingClassId() == netatmoConnectionThingClassId) {
qCDebug(dcNetatmo) << "Setup Netatmo connection" << thing->name() << thing->params();
QString username;
QString password;
if (pluginStorage()->childGroups().contains(thing->id().toString())) {
pluginStorage()->beginGroup(thing->id().toString());
username = pluginStorage()->value("username").toString();
password = pluginStorage()->value("password").toString();
pluginStorage()->endGroup();
} else {
/* username and password have been stored as thingParams,
* this is to migrate the params to plug-in storage. */
ParamTypeId usernameParamTypeId = ParamTypeId("763c2c10-dee5-41c8-9f7e-ded741945e73");
ParamTypeId passwordParamTypeId = ParamTypeId("c0d892d6-f359-4782-9d7d-8f74a3b53e3e");
username = thing->paramValue(usernameParamTypeId).toString();
password = thing->paramValue(passwordParamTypeId).toString();
pluginStorage()->beginGroup(info->thing()->id().toString());
pluginStorage()->setValue("username", username);
pluginStorage()->setValue("password", password);
pluginStorage()->endGroup();
// Delete username and password so it wont be visible in the things.conf file.
thing->setParamValue(ParamTypeId("763c2c10-dee5-41c8-9f7e-ded741945e73"), "");
thing->setParamValue(ParamTypeId("c0d892d6-f359-4782-9d7d-8f74a3b53e3e"), "");
}
if (username.isEmpty() || password.isEmpty()) {
qCWarning(dcNetatmo()) << "Setup failed because of missing login credentials";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Login credentials not found."));
return;
}
if (m_clientId.isEmpty() || m_clientSecret.isEmpty()) {
qCWarning(dcNetatmo()) << "Setup failed because of missing client credentials";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("No API key installed"));
if (!loadClientCredentials()) {
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("No API key installed."));
return;
}
if (m_authentications.values().contains(thing->id())) {
NetatmoConnection *connection = nullptr;
// Handle reconfigure
if (m_connections.contains(thing)) {
qCDebug(dcNetatmo()) << "Setup after reconfiguration, cleaning up";
OAuth2 *auth = m_authentications.key(thing->id());
m_authentications.remove(auth);
if (auth) {
auth->deleteLater();
}
m_connections.take(thing)->deleteLater();
}
OAuth2 *authentication;
if (m_pairingAuthentications.values().contains(thing->id())) {
authentication = m_pairingAuthentications.key(thing->id());
m_pairingAuthentications.remove(authentication);
qCDebug(dcNetatmo()) << "Authenticated from pairing process, not creating a new authentication";
} else {
authentication = new OAuth2(m_clientId, m_clientSecret, this);
authentication->setUrl(QUrl("https://api.netatmo.net/oauth2/token"));
authentication->setUsername(username);
authentication->setPassword(password);
authentication->setScope("read_station read_thermostat write_thermostat");
}
if (authentication->authenticated()) {
thing->setStateValue(netatmoConnectionConnectedStateTypeId, true);
thing->setStateValue(netatmoConnectionLoggedInStateTypeId, true);
thing->setStateValue(netatmoConnectionUserDisplayNameStateTypeId, authentication->username());
m_authentications.insert(authentication, thing->id());
refreshData(thing, authentication->token());
if (m_pendingSetups.keys().contains(thing->id())) {
// This thing setup is after a pairing process
qCDebug(dcNetatmo()) << "Netatmo available after successful OAuth2 setup. Using the existing object";
connection = m_pendingSetups.take(thing->id());
m_connections.insert(thing, connection);
info->finish(Thing::ThingErrorNoError);
} else {
authentication->startAuthentication();
// Report thing setup finished when authentication reports success
connect(authentication, &OAuth2::authenticationChanged, info, [this, info, thing, authentication](){
if (!authentication->authenticated()) {
authentication->deleteLater();
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Error logging in to Netatmo server."));
return;
}
thing->setStateValue(netatmoConnectionConnectedStateTypeId, true);
thing->setStateValue(netatmoConnectionLoggedInStateTypeId, true);
thing->setStateValue(netatmoConnectionUserDisplayNameStateTypeId, authentication->username());
m_authentications.insert(authentication, thing->id());
info->finish(Thing::ThingErrorNoError);
thing->setStateValue("connected", true);
thing->setStateValue(netatmoConnectionLoggedInStateTypeId, true);
connect(connection, &NetatmoConnection::authenticatedChanged, thing, [thing](bool authenticated){
thing->setStateValue(netatmoConnectionLoggedInStateTypeId, authenticated);
});
} else {
// The thing should have been already set up before, lets refresh the token if we have a refresh token,
// otherwise the user has to perform a reconfigure and login using OAuth2... (also old username password user end up here)
if (doingLoginMigration(info))
return;
// No migration needed...
setupConnection(info);
return;
}
// Update thing connected state based on OAuth connected state
connect(authentication, &OAuth2::authenticationChanged, thing, [this, thing, authentication](){
thing->setStateValue(netatmoConnectionLoggedInStateTypeId, authentication->authenticated());
if (authentication->authenticated()) {
refreshData(thing, authentication->token());
}
});
return;
} else if (thing->thingClassId() == indoorThingClassId) {
qCDebug(dcNetatmo) << "Setup Netatmo indoor base station" << thing->params();
NetatmoBaseStation *indoor = new NetatmoBaseStation(thing->paramValue(indoorThingNameParamTypeId).toString(),
thing->paramValue(indoorThingMacParamTypeId).toString(),
this);
m_indoorDevices.insert(indoor, thing);
connect(indoor, SIGNAL(statesChanged()), this, SLOT(onIndoorStatesChanged()));
return info->finish(Thing::ThingErrorNoError);
info->finish(Thing::ThingErrorNoError);
return;
} else if (thing->thingClassId() == outdoorThingClassId) {
qCDebug(dcNetatmo) << "Setup netatmo outdoor module" << thing->params();
// Migrate thing parameters after changing param type UUIDs in 0.14.
QMap<QString, ParamTypeId> migrationMap;
migrationMap.insert("a97d256c-e159-4aa0-bc71-6bd7cd0688b3", outdoorThingNameParamTypeId);
migrationMap.insert("157d470a-e579-4d0e-b879-6b5bfa8e34ae", outdoorThingMacParamTypeId);
ParamList migratedParams;
foreach (const Param &oldParam, thing->params()) {
QString oldId = oldParam.paramTypeId().toString();
oldId.remove(QRegExp("[{}]"));
if (migrationMap.contains(oldId)) {
ParamTypeId newId = migrationMap.value(oldId);
QVariant oldValue = oldParam.value();
qCDebug(dcNetatmo()) << "Migrating netatmo outdoor station param:" << oldId << "->" << newId << ":" << oldValue;
Param newParam(newId, oldValue);
migratedParams << newParam;
} else {
migratedParams << oldParam;
}
}
thing->setParams(migratedParams);
// Migration done
NetatmoOutdoorModule *outdoor = new NetatmoOutdoorModule(thing->paramValue(outdoorThingNameParamTypeId).toString(),
thing->paramValue(outdoorThingMacParamTypeId).toString(),
thing->paramValue(outdoorThingBaseStationParamTypeId).toString(),
this);
m_outdoorDevices.insert(outdoor, thing);
connect(outdoor, SIGNAL(statesChanged()), this, SLOT(onOutdoorStatesChanged()));
return info->finish(Thing::ThingErrorNoError);
}
info->finish(Thing::ThingErrorThingClassNotFound);
qCWarning(dcNetatmo()) << "Unhandled thing class in setupDevice";
}
void IntegrationPluginNetatmo::thingRemoved(Thing *thing)
{
if (thing->thingClassId() == netatmoConnectionThingClassId) {
OAuth2 * authentication = m_authentications.key(thing->id());
m_authentications.remove(authentication);
authentication->deleteLater();
} else if (thing->thingClassId() == indoorThingClassId) {
NetatmoBaseStation *indoor = m_indoorDevices.key(thing);
m_indoorDevices.remove(indoor);
indoor->deleteLater();
} else if (thing->thingClassId() == outdoorThingClassId) {
NetatmoOutdoorModule *outdoor = m_outdoorDevices.key(thing);
m_outdoorDevices.remove(outdoor);
outdoor->deleteLater();
}
if (myThings().isEmpty()) {
if (m_pluginTimer3s) {
hardwareManager()->pluginTimerManager()->unregisterTimer(m_pluginTimer3s);
m_pluginTimer3s = nullptr;
}
if (m_pluginTimer10m) {
hardwareManager()->pluginTimerManager()->unregisterTimer(m_pluginTimer10m);
m_pluginTimer10m = nullptr;
}
info->finish(Thing::ThingErrorNoError);
return;
} else if (thing->thingClassId() == windModuleThingClassId) {
qCDebug(dcNetatmo) << "Setup netatmo wind module" << thing->params();
info->finish(Thing::ThingErrorNoError);
return;
} else if (thing->thingClassId() == rainGaugeThingClassId) {
qCDebug(dcNetatmo) << "Setup netatmo wind module" << thing->params();
info->finish(Thing::ThingErrorNoError);
return;
} else if (thing->thingClassId() == indoorModuleThingClassId) {
qCDebug(dcNetatmo) << "Setup netatmo indoor module" << thing->params();
info->finish(Thing::ThingErrorNoError);
return;
} else {
Q_ASSERT_X(false, "setupThing", QString("Unhandled thingClassId: %1").arg(info->thing()->thingClassId().toString()).toUtf8());
}
}
void IntegrationPluginNetatmo::postSetupThing(Thing *thing)
{
if (thing->thingClassId() == indoorThingClassId) {
if (thing->thingClassId() == netatmoConnectionThingClassId) {
refreshConnection(thing);
} else if (thing->thingClassId() == indoorThingClassId) {
QString stationId = thing->paramValue(indoorThingMacParamTypeId).toString();
if (m_indoorStationInitData.contains(stationId) && m_indoorDevices.values().contains(thing)) {
m_indoorDevices.key(thing)->updateStates(m_indoorStationInitData.take(stationId));
if (m_temporaryInitData.contains(stationId)) {
updateModuleStates(thing, m_temporaryInitData.take(stationId));
}
} else if (thing->thingClassId() == outdoorThingClassId) {
QString stationId = thing->paramValue(outdoorThingMacParamTypeId).toString();
if (m_outdoorStationInitData.contains(stationId) && m_outdoorDevices.values().contains(thing)) {
m_outdoorDevices.key(thing)->updateStates(m_outdoorStationInitData.take(stationId));
if (m_temporaryInitData.contains(stationId)) {
updateModuleStates(thing, m_temporaryInitData.take(stationId));
}
}
if (!m_pluginTimer3s) {
m_pluginTimer3s = hardwareManager()->pluginTimerManager()->registerTimer(3);
connect(m_pluginTimer3s, &PluginTimer::timeout, this, [this] {
// Checking the connection to the Netatmo server
NetworkAccessManager *network = hardwareManager()->networkManager();
QNetworkReply *reply = network->get(QNetworkRequest(QUrl("https://api.netatmo.net")));
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, this, [reply, this] {
bool connected = (reply->error() != QNetworkReply::NetworkError::HostNotFoundError);
Q_FOREACH(Thing *thing, myThings().filterByThingClassId(netatmoConnectionThingClassId)) {
thing->setStateValue(netatmoConnectionConnectedStateTypeId, connected);
}
});
if (!m_pluginTimer) {
m_pluginTimer = hardwareManager()->pluginTimerManager()->registerTimer(600);
connect(m_pluginTimer, &PluginTimer::timeout, this, [this](){
foreach (Thing *connectionThing, myThings().filterByThingClassId(netatmoConnectionThingClassId)) {
refreshConnection(connectionThing);
}
});
}
if (!m_pluginTimer10m) {
m_pluginTimer10m = hardwareManager()->pluginTimerManager()->registerTimer(600);
connect(m_pluginTimer10m, &PluginTimer::timeout, this, &IntegrationPluginNetatmo::onPluginTimer);
}
}
void IntegrationPluginNetatmo::refreshData(Thing *thing, const QString &token)
void IntegrationPluginNetatmo::thingRemoved(Thing *thing)
{
QUrlQuery query;
query.addQueryItem("access_token", token);
if (thing->thingClassId() == netatmoConnectionThingClassId) {
m_connections.take(thing)->deleteLater();
}
QUrl url("https://api.netatmo.com/api/getstationsdata");
url.setQuery(query);
if (myThings().isEmpty() && m_pluginTimer) {
if (m_pluginTimer) {
hardwareManager()->pluginTimerManager()->unregisterTimer(m_pluginTimer);
m_pluginTimer = nullptr;
}
}
}
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(url));
connect(reply, &QNetworkReply::finished, this, [this, reply, thing] {
reply->deleteLater();
void IntegrationPluginNetatmo::setupConnection(ThingSetupInfo *info)
{
Thing *thing = info->thing();
qCDebug(dcNetatmo()) << "Setup netatmo account" << thing->name();
// Load refresh token
pluginStorage()->beginGroup(thing->id().toString());
QByteArray refreshToken = pluginStorage()->value("refresh_token").toByteArray();
pluginStorage()->endGroup();
if (refreshToken.isEmpty()) {
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Could not authenticate on the server. Please reconfigure the connection."));
return;
}
// Create new connection
NetatmoConnection *connection = new NetatmoConnection(hardwareManager()->networkManager(), m_clientId, m_clientSecret, thing);
connect(connection, &NetatmoConnection::authenticatedChanged, info, [this, info, thing, connection](bool authenticated){
if (authenticated) {
m_connections.insert(thing, connection);
qCDebug(dcNetatmo()) << "Authenticated successfully the netatmo connection.";
info->finish(Thing::ThingErrorNoError);
thing->setStateValue("connected", true);
} else {
qCDebug(dcNetatmo()) << "Authentication process failed.";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Authentication failed. Please reconfigure the connection."));
}
});
connect(info, &ThingSetupInfo::aborted, connection, [this, thing, connection] {
if (m_connections.contains(thing))
m_connections.remove(thing);
connection->deleteLater();
});
connect(connection, &NetatmoConnection::authenticatedChanged, thing, [thing](bool authenticated){
thing->setStateValue(netatmoConnectionLoggedInStateTypeId, authenticated);
});
connection->getAccessTokenFromRefreshToken(refreshToken);
}
void IntegrationPluginNetatmo::refreshConnection(Thing *thing)
{
qCDebug(dcNetatmo()) << "Refresh connection" << thing;
NetatmoConnection *connection = m_connections.value(thing);
if (!connection) {
qCWarning(dcNetatmo()) << "Failed to refresh data. The connection object does not exist";
return;
}
QNetworkReply *reply = connection->getStationData();
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, this, [this, reply, thing]() {
int status = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
// check HTTP status code
if (status != 200) {
qCWarning(dcNetatmo) << "Refresh data reply HTTP error:" << status << reply->errorString();
thing->setStateValue(netatmoConnectionConnectedStateTypeId, false);
if (reply->error() != QNetworkReply::NoError) {
qCWarning(dcNetatmo()) << "Failed to refresh station data. Network reply returned with error" << status << reply->errorString();
thing->setStateValue("connected", false);
return;
}
thing->setStateValue(netatmoConnectionConnectedStateTypeId, true);
// check JSON file
thing->setStateValue("connected", true);
QJsonParseError error;
QJsonDocument jsonDoc = QJsonDocument::fromJson(reply->readAll(), &error);
if (error.error != QJsonParseError::NoError) {
qCWarning(dcNetatmo) << "Refresh data reply JSON error:" << error.errorString();
qCWarning(dcNetatmo()) << "OAuth2: Failed to get token. Refresh data reply JSON error:" << error.errorString();
return;
}
qCDebug(dcNetatmo) << qUtf8Printable(jsonDoc.toJson());
processRefreshData(jsonDoc.toVariant().toMap(), thing);
QVariantMap responseMap = jsonDoc.toVariant().toMap();
if (responseMap.value("status") != "ok") {
qCWarning(dcNetatmo()) << "Refresh station data returned status not ok:" << responseMap.value("status").toString();
return;
}
qCDebug(dcNetatmo()) << qUtf8Printable(jsonDoc.toJson(QJsonDocument::Indented));
QVariantMap bodyMap = responseMap.value("body").toMap();
thing->setStateValue("username", bodyMap.value("user").toMap().value("mail").toString());
processRefreshData(thing, bodyMap.value("devices").toList());
});
}
void IntegrationPluginNetatmo::processRefreshData(const QVariantMap &data, Thing *connectionDevice)
void IntegrationPluginNetatmo::processRefreshData(Thing *connectionThing, const QVariantList &devices)
{
// Process the data
if (data.contains("body")) {
// check devices
if (data.value("body").toMap().contains("devices")) {
QVariantList deviceList = data.value("body").toMap().value("devices").toList();
// check devices
foreach (QVariant deviceVariant, deviceList) {
QVariantMap deviceMap = deviceVariant.toMap();
// we support currently only NAMain devices
if (deviceMap.value("type").toString() == "NAMain") {
Thing *indoorDevice = findIndoorDevice(deviceMap.value("_id").toString());
// check if we have to create the thing (auto)
if (!indoorDevice) {
ThingDescriptor descriptor(indoorThingClassId, deviceMap.value("module_name").toString(), deviceMap.value("station_name").toString(), connectionDevice->id());
foreach (QVariant deviceVariant, devices) {
QVariantMap deviceMap = deviceVariant.toMap();
if (deviceMap.value("type").toString() == "NAMain") {
Thing *existingThing = findIndoorStationThing(deviceMap.value("_id").toString());
// Check if we have to create the thing (auto)
if (!existingThing) {
ThingDescriptor descriptor(indoorThingClassId, deviceMap.value("module_name").toString() + " " + deviceMap.value("station_name").toString(), QString(), connectionThing->id());
ParamList params;
params.append(Param(indoorThingMacParamTypeId, deviceMap.value("_id").toString()));
descriptor.setParams(params);
m_temporaryInitData.insert(deviceMap.value("_id").toString(), deviceMap);
emit autoThingsAppeared({descriptor});
} else {
// Update the indoor station states
updateModuleStates(existingThing, deviceMap);
}
}
/* Check modules of this station...
*
* NAMain: Indoor station ("Temperature", "CO2", "Humidity", "Noise", "Pressure")
* NAModule1: Outdoor module ("Temperature, Humidity")
* NAModule2: Wind module ("Wind")
* NAModule3: Rain gauge module ("Rain")
* NAModule4: Indoor module ("Temperature, Humidity, CO2")
*/
if (deviceMap.contains("modules")) {
QVariantList modulesList = deviceMap.value("modules").toList();
foreach (QVariant moduleVariant, modulesList) {
QVariantMap moduleMap = moduleVariant.toMap();
if (moduleMap.value("type").toString() == "NAModule1") {
Thing *existingThing = findOutdoorModuleThing(moduleMap.value("_id").toString());
if (!existingThing) {
ThingDescriptor descriptor(outdoorThingClassId, moduleMap.value("module_name").toString() + " " + moduleMap.value("station_name").toString(), QString(), connectionThing->id());
ParamList params;
params.append(Param(indoorThingNameParamTypeId, deviceMap.value("station_name").toString()));
params.append(Param(indoorThingMacParamTypeId, deviceMap.value("_id").toString()));
params.append(Param(outdoorThingMacParamTypeId, moduleMap.value("_id").toString()));
params.append(Param(outdoorThingBaseStationParamTypeId, deviceMap.value("_id").toString()));
descriptor.setParams(params);
m_indoorStationInitData.insert(deviceMap.value("_id").toString(), deviceMap);
m_temporaryInitData.insert(moduleMap.value("_id").toString(), moduleMap);
emit autoThingsAppeared({descriptor});
} else {
if (m_indoorDevices.values().contains(indoorDevice)) {
m_indoorDevices.key(indoorDevice)->updateStates(deviceMap);
}
updateModuleStates(existingThing, moduleMap);
}
}
// check modules
if (deviceMap.contains("modules")) {
QVariantList modulesList = deviceMap.value("modules").toList();
foreach (QVariant moduleVariant, modulesList) {
QVariantMap moduleMap = moduleVariant.toMap();
// we support currently only NAModule1
if (moduleMap.value("type").toString() == "NAModule1") {
Thing *outdoorDevice = findOutdoorDevice(moduleMap.value("_id").toString());
// check if we have to create the thing (auto)
if (!outdoorDevice) {
ThingDescriptor descriptor(outdoorThingClassId, "Outdoor Module", moduleMap.value("module_name").toString(), connectionDevice->id());
ParamList params;
params.append(Param(outdoorThingNameParamTypeId, moduleMap.value("module_name").toString()));
params.append(Param(outdoorThingMacParamTypeId, moduleMap.value("_id").toString()));
params.append(Param(outdoorThingBaseStationParamTypeId, deviceMap.value("_id").toString()));
descriptor.setParams(params);
m_outdoorStationInitData.insert(moduleMap.value("_id").toString(), moduleMap);
emit autoThingsAppeared({descriptor});
} else {
if (m_outdoorDevices.values().contains(outdoorDevice)) {
m_outdoorDevices.key(outdoorDevice)->updateStates(moduleMap);
}
}
}
} else if (moduleMap.value("type").toString() == "NAModule2") {
Thing *existingThing = findWindModuleThing(moduleMap.value("_id").toString());
if (!existingThing) {
ThingDescriptor descriptor(windModuleThingClassId, moduleMap.value("module_name").toString() + " " + moduleMap.value("station_name").toString(), QString(), connectionThing->id());
ParamList params;
params.append(Param(windModuleThingMacParamTypeId, moduleMap.value("_id").toString()));
params.append(Param(windModuleThingBaseStationParamTypeId, deviceMap.value("_id").toString()));
descriptor.setParams(params);
m_temporaryInitData.insert(moduleMap.value("_id").toString(), moduleMap);
emit autoThingsAppeared({descriptor});
} else {
updateModuleStates(existingThing, moduleMap);
}
} else if (moduleMap.value("type").toString() == "NAModule3") {
Thing *existingThing = findRainGaugeModuleThing(moduleMap.value("_id").toString());
if (!existingThing) {
ThingDescriptor descriptor(rainGaugeThingClassId, moduleMap.value("module_name").toString() + " " + moduleMap.value("station_name").toString(), QString(), connectionThing->id());
ParamList params;
params.append(Param(rainGaugeThingMacParamTypeId, moduleMap.value("_id").toString()));
params.append(Param(rainGaugeThingBaseStationParamTypeId, deviceMap.value("_id").toString()));
descriptor.setParams(params);
m_temporaryInitData.insert(moduleMap.value("_id").toString(), moduleMap);
emit autoThingsAppeared({descriptor});
} else {
updateModuleStates(existingThing, moduleMap);
}
} else if (moduleMap.value("type").toString() == "NAModule4") {
Thing *existingThing = findIndoorModuleThing(moduleMap.value("_id").toString());
if (!existingThing) {
ThingDescriptor descriptor(indoorModuleThingClassId, moduleMap.value("module_name").toString() + " " + moduleMap.value("station_name").toString(), QString(), connectionThing->id());
ParamList params;
params.append(Param(indoorModuleThingMacParamTypeId, moduleMap.value("_id").toString()));
params.append(Param(indoorModuleThingBaseStationParamTypeId, deviceMap.value("_id").toString()));
descriptor.setParams(params);
m_temporaryInitData.insert(moduleMap.value("_id").toString(), moduleMap);
emit autoThingsAppeared({descriptor});
} else {
updateModuleStates(existingThing, moduleMap);
}
}
}
@ -408,102 +416,244 @@ void IntegrationPluginNetatmo::processRefreshData(const QVariantMap &data, Thing
}
}
Thing *IntegrationPluginNetatmo::findIndoorDevice(const QString &macAddress)
Thing *IntegrationPluginNetatmo::findIndoorStationThing(const QString &macAddress)
{
foreach (Thing *thing, myThings()) {
if (thing->thingClassId() == indoorThingClassId) {
if (thing->paramValue(indoorThingMacParamTypeId).toString() == macAddress) {
return thing;
}
foreach (Thing *thing, myThings().filterByThingClassId(indoorThingClassId)) {
if (thing->paramValue(indoorThingMacParamTypeId).toString() == macAddress) {
return thing;
}
}
return nullptr;
}
Thing *IntegrationPluginNetatmo::findOutdoorDevice(const QString &macAddress)
Thing *IntegrationPluginNetatmo::findOutdoorModuleThing(const QString &macAddress)
{
foreach (Thing *thing, myThings()) {
if (thing->thingClassId() == outdoorThingClassId) {
if (thing->paramValue(outdoorThingMacParamTypeId).toString() == macAddress) {
return thing;
}
foreach (Thing *thing, myThings().filterByThingClassId(outdoorThingClassId)) {
if (thing->paramValue(outdoorThingMacParamTypeId).toString() == macAddress) {
return thing;
}
}
return nullptr;
}
void IntegrationPluginNetatmo::onPluginTimer()
Thing *IntegrationPluginNetatmo::findIndoorModuleThing(const QString &macAddress)
{
foreach (OAuth2 *authentication, m_authentications.keys()) {
Thing *thing = myThings().findById(m_authentications.value(authentication));
if (!thing) {
qCWarning(dcNetatmo()) << "Authentication without an associated Netatmo connection thing" << authentication->username();
m_authentications.remove(authentication);
continue;
foreach (Thing *thing, myThings().filterByThingClassId(indoorModuleThingClassId)) {
if (thing->paramValue(indoorModuleThingMacParamTypeId).toString() == macAddress) {
return thing;
}
if (authentication->authenticated()) {
refreshData(thing, authentication->token());
}
return nullptr;
}
Thing *IntegrationPluginNetatmo::findWindModuleThing(const QString &macAddress)
{
foreach (Thing *thing, myThings().filterByThingClassId(windModuleThingClassId)) {
if (thing->paramValue(windModuleThingMacParamTypeId).toString() == macAddress) {
return thing;
}
}
return nullptr;
}
Thing *IntegrationPluginNetatmo::findRainGaugeModuleThing(const QString &macAddress)
{
foreach (Thing *thing, myThings().filterByThingClassId(rainGaugeThingClassId)) {
if (thing->paramValue(rainGaugeThingMacParamTypeId).toString() == macAddress) {
return thing;
}
}
return nullptr;
}
void IntegrationPluginNetatmo::updateModuleStates(Thing *thing, const QVariantMap &data)
{
// check data timestamp
if (data.contains("last_message"))
thing->setStateValue("updateTime", data.value("last_message").toInt());
// update dashboard data
if (data.contains("dashboard_data")) {
QVariantMap measurments = data.value("dashboard_data").toMap();
if (measurments.contains("Temperature"))
thing->setStateValue("temperature", measurments.value("Temperature").toDouble());
if (measurments.contains("min_temp"))
thing->setStateValue("temperatureMin", measurments.value("min_temp").toDouble());
if (measurments.contains("max_temp"))
thing->setStateValue("temperatureMax", measurments.value("max_temp").toDouble());
if (measurments.contains("Humidity"))
thing->setStateValue("humidity", measurments.value("Humidity").toInt());
if (measurments.contains("AbsolutePressure"))
thing->setStateValue("pressure", measurments.value("AbsolutePressure").toDouble());
if (measurments.contains("CO2"))
thing->setStateValue("co2", measurments.value("CO2").toInt());
if (measurments.contains("Noise"))
thing->setStateValue("noise", measurments.value("Noise").toInt());
// Wind speed (given in km/s, we need m/s)
if (measurments.contains("WindStrength"))
thing->setStateValue("windSpeed", measurments.value("WindStrength").toDouble() / 3.6);
if (measurments.contains("WindAngle"))
thing->setStateValue("windDirection", measurments.value("WindAngle").toInt());
// Rain
if (measurments.contains("sum_rain_1"))
thing->setStateValue("rainfallLastHour", measurments.value("sum_rain_1").toInt());
if (measurments.contains("sum_rain_24"))
thing->setStateValue("rainfallLastDay", measurments.value("sum_rain_24").toInt());
}
// Battery
if (thing->thingClass().hasStateType("batteryLevel")) {
if (data.contains("battery_percent")) {
thing->setStateValue("batteryLevel", data.value("battery_percent").toInt());
} else {
authentication->startAuthentication();
// Fallback for older versions, calculate from voltage
if (data.contains("battery_vp")) {
int battery = data.value("battery_vp").toInt();
if (battery >= 6000) {
thing->setStateValue("batteryLevel", 100);
} else if (battery <= 3600) {
thing->setStateValue("batteryLevel", 0);
} else {
int delta = battery - 3600;
thing->setStateValue("batteryLevel", qRound(100.0 * delta / 2400));
}
}
}
thing->setStateValue("batteryCritical", thing->stateValue("batteryLevel").toInt() < 10);
}
// Signal strength (RF, 90 low, 60 highest)
if (data.contains("rf_status")) {
int signalStrength = data.value("rf_status").toInt();
if (signalStrength <= 60) {
thing->setStateValue("signalStrength", 100);
} else if (signalStrength >= 90) {
thing->setStateValue("signalStrength", 0);
} else {
int delta = 30 - (signalStrength - 60);
thing->setStateValue("signalStrength", qRound(100.0 * delta / 30.0));
}
}
}
void IntegrationPluginNetatmo::onIndoorStatesChanged()
{
NetatmoBaseStation *indoor = static_cast<NetatmoBaseStation *>(sender());
Thing *thing = m_indoorDevices.value(indoor);
// Wifi status (86=bad, 56=good)"
thing->setStateValue(indoorUpdateTimeStateTypeId, indoor->lastUpdate());
thing->setStateValue(indoorTemperatureStateTypeId, indoor->temperature());
thing->setStateValue(indoorTemperatureMinStateTypeId, indoor->minTemperature());
thing->setStateValue(indoorTemperatureMaxStateTypeId, indoor->maxTemperature());
thing->setStateValue(indoorPressureStateTypeId, indoor->pressure());
thing->setStateValue(indoorHumidityStateTypeId, indoor->humidity());
thing->setStateValue(indoorCo2StateTypeId, indoor->co2());
thing->setStateValue(indoorNoiseStateTypeId, indoor->noise());
thing->setStateValue(indoorSignalStrengthStateTypeId, indoor->wifiStrength());
thing->setStateValue(indoorConnectedStateTypeId, indoor->reachable());
}
void IntegrationPluginNetatmo::onOutdoorStatesChanged()
{
NetatmoOutdoorModule *outdoor = static_cast<NetatmoOutdoorModule *>(sender());
Thing *thing = m_outdoorDevices.value(outdoor);
thing->setStateValue(outdoorUpdateTimeStateTypeId, outdoor->lastUpdate());
thing->setStateValue(outdoorTemperatureStateTypeId, outdoor->temperature());
thing->setStateValue(outdoorTemperatureMinStateTypeId, outdoor->minTemperature());
thing->setStateValue(outdoorTemperatureMaxStateTypeId, outdoor->maxTemperature());
thing->setStateValue(outdoorHumidityStateTypeId, outdoor->humidity());
thing->setStateValue(outdoorSignalStrengthStateTypeId, outdoor->signalStrength());
thing->setStateValue(outdoorBatteryLevelStateTypeId, outdoor->battery());
thing->setStateValue(outdoorBatteryCriticalStateTypeId, outdoor->battery() < 10);
thing->setStateValue(outdoorConnectedStateTypeId, outdoor->reachable());
}
void IntegrationPluginNetatmo::updateClientCredentials()
{
QString clientId = configValue(netatmoPluginCustomClientIdParamTypeId).toString();
QString clientSecret = configValue(netatmoPluginCustomClientSecretParamTypeId).toString();
if (!clientId.isEmpty() && !clientSecret.isEmpty()) {
m_clientId = clientId;
m_clientSecret = clientSecret;
qCDebug(dcNetatmo()) << "Using API key from plugin settings.";
qCDebug(dcNetatmo()) << " Client ID" << m_clientId.mid(0, 4)+"****";
qCDebug(dcNetatmo()) << " Client secret" << m_clientSecret.mid(0, 4)+"****";
return;
if (data.contains("wifi_status")) {
int signalStrength = data.value("wifi_status").toInt();
if (signalStrength <= 56) {
thing->setStateValue("signalStrength", 100);
} else if (signalStrength >= 86) {
thing->setStateValue("signalStrength", 0);
} else {
int delta = 30 - (signalStrength - 56);
thing->setStateValue("signalStrength", qRound(100.0 * delta / 30.0));
}
}
clientId = apiKeyStorage()->requestKey("netatmo").data("clientId");
clientSecret = apiKeyStorage()->requestKey("netatmo").data("clientSecret");
if (!clientId.isEmpty() && !clientSecret.isEmpty()) {
m_clientId = clientId;
m_clientSecret = clientSecret;
qCDebug(dcNetatmo()) << "Using API key from nymea API keys provider";
qCDebug(dcNetatmo()) << " Client ID" << m_clientId.mid(0, 4)+"****";
qCDebug(dcNetatmo()) << " Client secret" << m_clientSecret.mid(0, 4)+"****";
return;
}
qCWarning(dcNetatmo()) << "No API key set.";
qCWarning(dcNetatmo()) << "Either install an API key package (nymea-apikeysprovider-plugin-*) or provide a key in the plugin settings.";
// update reachable state
if (data.contains("reachable"))
thing->setStateValue("connected", data.value("reachable").toBool());
}
bool IntegrationPluginNetatmo::doingLoginMigration(ThingSetupInfo *info)
{
// Returns true if we need to perform a login migration
// 1. First we stored the username and password in thing params and then moved to the plugin storage
// 2. Username and password login does not work any more since mid 2022 if you change the password, we need to make a propper oauth2 login
Thing *thing = info->thing();
QString username; QString password;
if (pluginStorage()->childGroups().contains(thing->id().toString())) {
pluginStorage()->beginGroup(thing->id().toString());
username = pluginStorage()->value("username").toString();
password = pluginStorage()->value("password").toString();
pluginStorage()->endGroup();
} else {
/* username and password have been stored as thingParams,
* this is to migrate the params to plug-in storage. */
ParamTypeId usernameParamTypeId = ParamTypeId("763c2c10-dee5-41c8-9f7e-ded741945e73");
ParamTypeId passwordParamTypeId = ParamTypeId("c0d892d6-f359-4782-9d7d-8f74a3b53e3e");
username = thing->paramValue(usernameParamTypeId).toString();
password = thing->paramValue(passwordParamTypeId).toString();
// Delete username and password so it wont be visible in the things.conf file.
thing->setParamValue(ParamTypeId("763c2c10-dee5-41c8-9f7e-ded741945e73"), "");
thing->setParamValue(ParamTypeId("c0d892d6-f359-4782-9d7d-8f74a3b53e3e"), "");
}
if (username.isEmpty() || password.isEmpty()) {
// No username and no password found from previouse setting...nothing to migrate here
return false;
}
// We found username and password. If we would have done the migration, they would not be there any more
qCDebug(dcNetatmo()) << "Found deprecated username and password in the settings. Performing migration to plain OAuth2...";
// Create a connection, get the refresh token, delete the connection and continue with normal setup.
NetatmoConnection *connection = new NetatmoConnection(hardwareManager()->networkManager(), m_clientId, m_clientSecret, thing);
connect(info, &ThingSetupInfo::aborted, connection, &NetatmoConnection::deleteLater);
connect(connection, &NetatmoConnection::authenticatedChanged, info, [this, info, thing, connection](bool authenticated){
connection->deleteLater();
if (authenticated) {
pluginStorage()->beginGroup(thing->id().toString());
pluginStorage()->setValue("refresh_token", connection->refreshToken());
// Success, we can delete username and passord once and for all and keep only the refresh token
pluginStorage()->remove("username");
pluginStorage()->remove("password");
pluginStorage()->endGroup();
qCDebug(dcNetatmo()) << "Migration finished successfully. Continue with normal setup";
setupConnection(info);
} else {
qCDebug(dcNetatmo()) << "Authentication process failed.";
info->finish(Thing::ThingErrorAuthenticationFailure, QT_TR_NOOP("Authentication failed. Please reconfigure the connection."));
}
});
connection->getAccessTokenFromUsernamePassword(username, password);
return true;
}
bool IntegrationPluginNetatmo::loadClientCredentials()
{
QByteArray clientId = configValue(netatmoPluginCustomClientIdParamTypeId).toByteArray();
QByteArray clientSecret = configValue(netatmoPluginCustomClientSecretParamTypeId).toByteArray();
if (clientId.isEmpty() || clientSecret.isEmpty()) {
clientId = apiKeyStorage()->requestKey("netatmo").data("clientKey");
clientSecret = apiKeyStorage()->requestKey("netatmo").data("clientSecret");
} else {
qCDebug(dcNetatmo()) << "Using custom client id and secret from plugin configuration.";
}
if (clientId.isEmpty() || clientSecret.isEmpty()) {
qCWarning(dcNetatmo()) << "No API key installed. Please install a valid api key provider plugin.";
return false;
} else {
qCDebug(dcNetatmo()) << "Using API client secret and key from API key provider";
}
m_clientId = clientId;
m_clientSecret = clientSecret;
qCDebug(dcNetatmo()) << "API client ID" << NetatmoConnection::censorDebugOutput(m_clientId);
qCDebug(dcNetatmo()) << "API client secret" << NetatmoConnection::censorDebugOutput(m_clientSecret);
return true;
}

View File

@ -1,6 +1,6 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2020, nymea GmbH
* Copyright 2013 - 2022, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
@ -31,15 +31,16 @@
#ifndef INTEGRATIONPLUGINNETATMO_H
#define INTEGRATIONPLUGINNETATMO_H
#include "plugintimer.h"
#include "integrations/integrationplugin.h"
#include "network/oauth2.h"
#include "netatmobasestation.h"
#include "netatmooutdoormodule.h"
#include <integrations/integrationplugin.h>
#include "extern-plugininfo.h"
#include <QHash>
#include <QTimer>
class PluginTimer;
class NetatmoConnection;
class IntegrationPluginNetatmo : public IntegrationPlugin
{
Q_OBJECT
@ -48,41 +49,44 @@ class IntegrationPluginNetatmo : public IntegrationPlugin
public:
explicit IntegrationPluginNetatmo();
void init() override;
void startPairing(ThingPairingInfo *info) override;
void confirmPairing(ThingPairingInfo *info, const QString &username, const QString &secret) override;
void setupThing(ThingSetupInfo *info) override;
void thingRemoved(Thing *thing) override;
void postSetupThing(Thing *thing) override;
void thingRemoved(Thing *thing) override;
private:
PluginTimer *m_pluginTimer3s = nullptr;
PluginTimer *m_pluginTimer10m = nullptr;
QByteArray m_clientId;
QByteArray m_clientSecret;
QHash<QString, QVariantMap> m_indoorStationInitData;
QHash<QString, QVariantMap> m_outdoorStationInitData;
PluginTimer *m_pluginTimer = nullptr;
QHash<OAuth2 *, ThingId> m_pairingAuthentications;
QHash<OAuth2 *, ThingId> m_authentications;
QHash<NetatmoBaseStation *, Thing *> m_indoorDevices;
QHash<NetatmoOutdoorModule *, Thing *> m_outdoorDevices;
QHash<Thing *, NetatmoConnection *> m_connections;
QHash<ThingId, NetatmoConnection *> m_pendingSetups;
QHash<QNetworkReply *, Thing *> m_refreshRequest;
QHash<QString, QVariantMap> m_temporaryInitData;
void refreshData(Thing *thing, const QString &token);
void processRefreshData(const QVariantMap &data, Thing *connectionDevice);
void setupConnection(ThingSetupInfo *info);
void refreshConnection(Thing *thing);
void processRefreshData(Thing *connectionThing, const QVariantList &devices);
Thing *findIndoorDevice(const QString &macAddress);
Thing *findOutdoorDevice(const QString &macAddress);
Thing *findIndoorStationThing(const QString &macAddress);
Thing *findOutdoorModuleThing(const QString &macAddress);
Thing *findIndoorModuleThing(const QString &macAddress);
Thing *findWindModuleThing(const QString &macAddress);
Thing *findRainGaugeModuleThing(const QString &macAddress);
QString m_clientId;
QString m_clientSecret;
void updateModuleStates(Thing *thing, const QVariantMap &data);
bool doingLoginMigration(ThingSetupInfo *info);
bool loadClientCredentials();
QString censorDebugOutput(const QString &text);
private slots:
void onPluginTimer();
void onIndoorStatesChanged();
void onOutdoorStatesChanged();
void updateClientCredentials();
};
#endif // INTEGRATIONPLUGINNETATMO_H

View File

@ -1,8 +1,8 @@
{
"name": "netatmo",
"displayName": "Netatmo",
"name": "Netatmo",
"id": "69d14951-0c02-4877-bcef-dffdf48b7ccb",
"apiKeys": ["netatmo"],
"apiKeys": [ "netatmo" ],
"paramTypes": [
{
"id": "fbda653d-d59e-438c-a70c-0ccbe8080215",
@ -28,16 +28,15 @@
{
"id": "728d5a67-27a3-400e-b83c-2765f5196f69",
"name": "netatmoConnection",
"displayName": "Netatmo Connection",
"interfaces": ["account"],
"setupMethod": "userandpassword",
"createMethods": ["user"],
"displayName": "Netatmo account",
"interfaces": [ "account" ],
"createMethods": [ "user" ],
"setupMethod": "oauth",
"stateTypes": [
{
"id": "2f79bc1d-27ed-480a-b583-728363c83ea6",
"name": "connected",
"displayName": "Available",
"displayNameEvent": "Available changed",
"type": "bool",
"defaultValue": false
},
@ -45,34 +44,26 @@
"id": "d1ca8579-5d5a-4372-9139-4b083efead2e",
"name": "loggedIn",
"displayName": "Logged in",
"displayNameEvent": "Logged inchanged",
"type": "bool",
"defaultValue": false
},
{
"id": "b9c98ae6-3687-4279-8fda-bc02c7b7ea38",
"name": "userDisplayName",
"name": "username",
"displayName": "Username",
"displayNameEvent": "Username changed",
"type": "QString",
"defaultValue": ""
"defaultValue": "",
"cached": true
}
]
},
{
"id": "1c809049-04f2-4710-99f5-6ed379a2934f",
"name": "indoor",
"displayName": "Indoor Station",
"displayName": "Indoor main station",
"interfaces": ["temperaturesensor", "humiditysensor", "pressuresensor", "noisesensor", "co2sensor", "wirelessconnectable"],
"createMethods": ["auto"],
"paramTypes": [
{
"id": "a97d256c-e159-4aa0-bc71-6bd7cd0688b3",
"name": "name",
"displayName": "name",
"type": "QString",
"inputType": "TextLine"
},
{
"id": "157d470a-e579-4d0e-b879-6b5bfa8e34ae",
"name": "mac",
@ -87,7 +78,6 @@
"id": "50da9f6b-c350-401c-a72e-2e4036f3975d",
"name": "updateTime",
"displayName": "Last update",
"displayNameEvent": "Last update changed",
"unit": "UnixTime",
"type": "int",
"defaultValue": 0
@ -96,7 +86,6 @@
"id": "3cb25538-e463-40ae-92f9-8f34f0c06b92",
"name": "temperature",
"displayName": "Temperature",
"displayNameEvent": "Temperature changed",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
@ -105,7 +94,6 @@
"id": "ae8bb713-8805-4efd-89a1-bca44a1f1690",
"name": "temperatureMin",
"displayName": "Temperature minimum",
"displayNameEvent": "Temperature minimum changed",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
@ -114,7 +102,6 @@
"id": "dd30507e-037b-4c74-bcca-e04b94c7c5fe",
"name": "temperatureMax",
"displayName": "Temperature maximum",
"displayNameEvent": "Temperature maximum changed",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
@ -123,7 +110,6 @@
"id": "e2db5f01-196a-48d1-8874-6b8cbfe0d8c9",
"name": "humidity",
"displayName": "Humidity",
"displayNameEvent": "Humidity changed",
"unit": "Percentage",
"type": "double",
"defaultValue": 0,
@ -134,7 +120,6 @@
"id": "03b0a7b7-987d-4d3b-b3f0-21d9f92ad326",
"name": "pressure",
"displayName": "Pressure",
"displayNameEvent": "Pressure changed",
"unit": "MilliBar",
"type": "double",
"defaultValue": 0
@ -143,7 +128,6 @@
"id": "906cea9d-1daf-4e9c-90b9-e40f43052a34",
"name": "noise",
"displayName": "Noise",
"displayNameEvent": "Noise changed",
"unit": "Dezibel",
"type": "double",
"defaultValue": 0
@ -152,7 +136,6 @@
"id": "e5710bd1-79fa-4bd4-9052-8416aae909b9",
"name": "co2",
"displayName": "CO2",
"displayNameEvent": "CO2 changed",
"unit": "PartsPerMillion",
"type": "double",
"defaultValue": 0
@ -161,18 +144,17 @@
"id": "6ea906d4-5740-454d-a730-6fdb9fa0d624",
"name": "signalStrength",
"displayName": "WiFi signal strength",
"displayNameEvent": "WiFi signal strength changed",
"unit": "Percentage",
"type": "uint",
"minValue": 0,
"maxValue": 100,
"cached": false,
"defaultValue": 0
},
{
"id": "d84ba5d7-5202-4786-b983-958b594c341f",
"name": "connected",
"displayName": "Connected",
"displayNameEvent": "Connected changed",
"type": "bool",
"cached": false,
"defaultValue": false
@ -180,19 +162,133 @@
]
},
{
"id": "6cc01d62-7317-4ec4-8ac4-a4cab762c179",
"name": "outdoor",
"displayName": "Outdoor Station",
"interfaces": ["temperaturesensor", "humiditysensor", "battery", "wirelessconnectable"],
"id": "a6706b11-325b-4be3-b0d1-c09e027955b4",
"name": "indoorModule",
"displayName": "Indoor module",
"interfaces": ["temperaturesensor", "humiditysensor", "pressuresensor", "co2sensor", "battery", "wirelessconnectable"],
"createMethods": ["auto"],
"paramTypes": [
{
"id": "719e1f92-a9c8-42d6-83e1-652a0f182209",
"name": "name",
"displayName": "name",
"id": "1881e22f-36f0-447d-a507-e9d541236334",
"name": "mac",
"displayName": "MAC Address",
"type": "QString",
"inputType": "TextLine"
"inputType": "TextLine",
"readOnly": true
},
{
"id": "42f97253-6883-4b88-b088-d86cf467e793",
"name": "baseStation",
"displayName": "Base station",
"type": "QString",
"inputType": "TextLine",
"readOnly": true
}
],
"stateTypes": [
{
"id": "024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e",
"name": "updateTime",
"displayName": "Last update",
"unit": "UnixTime",
"type": "int",
"defaultValue": 0
},
{
"id": "33957a0c-75b7-45d0-8e07-731c7c20df0e",
"name": "temperature",
"displayName": "Temperature",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
},
{
"id": "2f9e4042-b699-4036-be69-a84e561ac38c",
"name": "temperatureMin",
"displayName": "Temperature minimum",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
},
{
"id": "304472e3-56fc-4ee6-96df-aeb4b570a1d1",
"name": "temperatureMax",
"displayName": "Temperature maximum",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
},
{
"id": "e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9",
"name": "humidity",
"displayName": "Humidity",
"unit": "Percentage",
"type": "double",
"defaultValue": 0,
"minValue": 0,
"maxValue": 100
},
{
"id": "a3fe53a3-0940-4fcb-915d-0297ae584917",
"name": "co2",
"displayName": "CO2",
"unit": "PartsPerMillion",
"type": "double",
"defaultValue": 0
},
{
"id": "9d2c409e-0d4f-4e03-89ad-fe0cad776e66",
"name": "pressure",
"displayName": "Pressure",
"unit": "MilliBar",
"type": "double",
"defaultValue": 0
},
{
"id": "36fd51d9-7693-42ee-b0ae-b623e219d950",
"name": "signalStrength",
"displayName": "WiFi signal strength",
"unit": "Percentage",
"type": "uint",
"minValue": 0,
"maxValue": 100,
"cached": false,
"defaultValue": 0
},
{
"id": "5b819dbf-698d-49ae-aeb5-a15db9ef515a",
"name": "connected",
"displayName": "Connected",
"type": "bool",
"cached": false,
"defaultValue": false
},
{
"id": "d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be",
"name": "batteryLevel",
"displayName": "Battery",
"unit": "Percentage",
"type": "int",
"defaultValue": 0,
"minValue": 0,
"maxValue": 100
},
{
"id": "7cde2c79-2b90-4ced-97ac-2653d314cf73",
"name": "batteryCritical",
"displayName": "Battery critical",
"type": "bool",
"defaultValue": false
}
]
},
{
"id": "6cc01d62-7317-4ec4-8ac4-a4cab762c179",
"name": "outdoor",
"displayName": "Outdoor module",
"interfaces": ["temperaturesensor", "humiditysensor", "battery", "wirelessconnectable"],
"createMethods": ["auto"],
"paramTypes": [
{
"id": "73a76c5c-84f5-4e65-8541-457e5aca9bb0",
"name": "mac",
@ -215,7 +311,6 @@
"id": "154aad5c-4998-43c2-b9ee-0b997eb6dd69",
"name": "updateTime",
"displayName": "Last update",
"displayNameEvent": "Last update changed",
"unit": "UnixTime",
"type": "int",
"defaultValue": 0
@ -224,7 +319,6 @@
"id": "f98776bd-887e-4b01-a87f-3d8224180563",
"name": "temperature",
"displayName": "Temperature",
"displayNameEvent": "Temperature changed",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
@ -233,7 +327,6 @@
"id": "b71e0c8b-3c94-421e-830e-dab97b6c104e",
"name": "temperatureMin",
"displayName": "Temperature minimum",
"displayNameEvent": "Temperature minimum changed",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
@ -242,7 +335,6 @@
"id": "aae071dc-70d5-4a6a-8daa-3dca0d150bd7",
"name": "temperatureMax",
"displayName": "Temperature maximum",
"displayNameEvent": "Temperature maximum changed",
"unit": "DegreeCelsius",
"type": "double",
"defaultValue": 0
@ -251,7 +343,6 @@
"id": "7ba6ddeb-5142-4b87-9729-487fcda394df",
"name": "humidity",
"displayName": "Humidity",
"displayNameEvent": "Humidity changed",
"unit": "Percentage",
"type": "double",
"defaultValue": 0,
@ -262,18 +353,17 @@
"id": "0faa3d08-9004-46fb-a5aa-a59b75e454cc",
"name": "signalStrength",
"displayName": "Signal strength",
"displayNameEvent": "Signal strength changed",
"unit": "Percentage",
"type": "uint",
"minValue": 0,
"maxValue": 100,
"cached": false,
"defaultValue": 0
},
{
"id": "21d7f2b7-e45b-4986-b3da-d6e8c0421bfc",
"name": "connected",
"displayName": "Connected",
"displayNameEvent": "Connected changed",
"type": "bool",
"cached": false,
"defaultValue": false
@ -282,7 +372,6 @@
"id": "15d8fae1-ba47-42e1-994d-530e8017c965",
"name": "batteryLevel",
"displayName": "Battery",
"displayNameEvent": "Battery changed",
"unit": "Percentage",
"type": "int",
"defaultValue": 0,
@ -293,7 +382,180 @@
"id": "f8aeb144-014d-4ccb-81db-64ffc70f1c97",
"name": "batteryCritical",
"displayName": "Battery critical",
"displayNameEvent": "Battery critical changed",
"type": "bool",
"defaultValue": false
}
]
},
{
"id": "160096e8-5ad0-4ca5-b7f2-60d64865ca71",
"name": "windModule",
"displayName": "Wind module",
"interfaces": ["windspeedsensor", "battery", "wirelessconnectable"],
"createMethods": ["auto"],
"paramTypes": [
{
"id": "7abc08f2-7074-40fe-aa1e-1727a5488dfe",
"name": "mac",
"displayName": "MAC Address",
"type": "QString",
"inputType": "TextLine",
"readOnly": true
},
{
"id": "38f375ca-5a45-4628-9e0d-088b4cc25c58",
"name": "baseStation",
"displayName": "Base station",
"type": "QString",
"inputType": "TextLine",
"readOnly": true
}
],
"stateTypes": [
{
"id": "aa4be9dc-06e4-48a2-b83e-45c523da116b",
"name": "updateTime",
"displayName": "Last update",
"unit": "UnixTime",
"type": "int",
"defaultValue": 0
},
{
"id": "9f6c1540-9933-4ef1-96d7-aecade2a8199",
"name": "windSpeed",
"displayName": "Wind speed",
"unit": "MeterPerSecond",
"type": "double",
"defaultValue": 0
},
{
"id": "65ad8900-583a-4bf7-8bff-f738225ca017",
"name": "windDirection",
"displayName": "Wind direction",
"unit": "Degree",
"type": "int",
"defaultValue": 0
},
{
"id": "7eafdb74-c99a-40c4-95ca-99f5ddf82355",
"name": "signalStrength",
"displayName": "Signal strength",
"unit": "Percentage",
"type": "uint",
"minValue": 0,
"maxValue": 100,
"cached": false,
"defaultValue": 0
},
{
"id": "5d369774-78df-4259-bdff-cc82b946470b",
"name": "connected",
"displayName": "Connected",
"type": "bool",
"cached": false,
"defaultValue": false
},
{
"id": "560e0bd7-3c75-430e-8ef3-65bbbe85a3af",
"name": "batteryLevel",
"displayName": "Battery",
"unit": "Percentage",
"type": "int",
"defaultValue": 0,
"minValue": 0,
"maxValue": 100
},
{
"id": "5dcddcf9-da07-4bac-9988-018168a516ad",
"name": "batteryCritical",
"displayName": "Battery critical",
"type": "bool",
"defaultValue": false
}
]
},
{
"id": "33a7230b-588f-471c-895d-4a1ddd417c2a",
"name": "rainGauge",
"displayName": "Rain gauge",
"interfaces": ["battery", "wirelessconnectable"],
"createMethods": ["auto"],
"paramTypes": [
{
"id": "a2584452-dd16-4655-8cb5-876bb6140c47",
"name": "mac",
"displayName": "MAC Address",
"type": "QString",
"inputType": "TextLine",
"readOnly": true
},
{
"id": "0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b",
"name": "baseStation",
"displayName": "Base station",
"type": "QString",
"inputType": "TextLine",
"readOnly": true
}
],
"stateTypes": [
{
"id": "3c87cbf7-73ad-4673-9abd-188e1f4facfb",
"name": "updateTime",
"displayName": "Last update",
"unit": "UnixTime",
"type": "int",
"defaultValue": 0
},
{
"id": "6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb",
"name": "rainfallLastHour",
"displayName": "Rainfall in the past hour",
"unit": "MilliMeter",
"type": "uint",
"defaultValue": 0
},
{
"id": "3f475b34-ad5f-4821-8452-2f6869ef46b4",
"name": "rainfallLastDay",
"displayName": "Rainfall in the last 24 hours",
"unit": "MilliMeter",
"type": "uint",
"defaultValue": 0
},
{
"id": "d44a1e64-c5e5-4dae-944b-bce23192f610",
"name": "signalStrength",
"displayName": "Signal strength",
"unit": "Percentage",
"type": "uint",
"minValue": 0,
"maxValue": 100,
"cached": false,
"defaultValue": 0
},
{
"id": "d726cd1e-75c5-4d50-adbd-962301ea9b91",
"name": "connected",
"displayName": "Connected",
"type": "bool",
"cached": false,
"defaultValue": false
},
{
"id": "e06955c4-963b-4f8f-9c0c-975c1cd75edb",
"name": "batteryLevel",
"displayName": "Battery",
"unit": "Percentage",
"type": "int",
"defaultValue": 0,
"minValue": 0,
"maxValue": 100
},
{
"id": "dd8f8620-fcca-408b-835f-2c257e18aee2",
"name": "batteryCritical",
"displayName": "Battery critical",
"type": "bool",
"defaultValue": false
}

View File

@ -8,6 +8,7 @@
"network"
],
"categories": [
"sensor"
"sensor",
"weather"
]
}

View File

@ -6,12 +6,10 @@ TARGET = $$qtLibraryTarget(nymea_integrationpluginnetatmo)
SOURCES += \
integrationpluginnetatmo.cpp \
netatmobasestation.cpp \
netatmooutdoormodule.cpp
netatmoconnection.cpp
HEADERS += \
integrationpluginnetatmo.h \
netatmobasestation.h \
netatmooutdoormodule.h
netatmoconnection.h

View File

@ -1,138 +0,0 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2020, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
* This project including source code and documentation is protected by
* copyright law, and remains the property of nymea GmbH. All rights, including
* reproduction, publication, editing and translation, are reserved. The use of
* this project is subject to the terms of a license agreement to be concluded
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
* under https://nymea.io/license
*
* GNU Lesser General Public License Usage
* Alternatively, this project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* For any further details and any questions please contact us under
* contact@nymea.io or see our FAQ/Licensing Information on
* https://nymea.io/license/faq
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "netatmobasestation.h"
#include <QVariantMap>
NetatmoBaseStation::NetatmoBaseStation(const QString &name, const QString &macAddress, QObject *parent) :
QObject(parent),
m_name(name),
m_macAddress(macAddress)
{
}
QString NetatmoBaseStation::name() const
{
return m_name;
}
QString NetatmoBaseStation::macAddress() const
{
return m_macAddress;
}
int NetatmoBaseStation::lastUpdate() const
{
return m_lastUpdate;
}
double NetatmoBaseStation::temperature() const
{
return m_temperature;
}
double NetatmoBaseStation::minTemperature() const
{
return m_minTemperature;
}
double NetatmoBaseStation::maxTemperature() const
{
return m_maxTemperature;
}
double NetatmoBaseStation::pressure() const
{
return m_pressure;
}
int NetatmoBaseStation::humidity() const
{
return m_humidity;
}
int NetatmoBaseStation::noise() const
{
return m_noise;
}
int NetatmoBaseStation::co2() const
{
return m_co2;
}
int NetatmoBaseStation::wifiStrength() const
{
return m_wifiStrength;
}
bool NetatmoBaseStation::reachable() const
{
return m_reachable;
}
void NetatmoBaseStation::updateStates(const QVariantMap &data)
{
// check data timestamp
if (data.contains("last_status_store")) {
m_lastUpdate = data.value("last_status_store").toInt();
}
// update dashboard data
if (data.contains("dashboard_data")) {
QVariantMap measurments = data.value("dashboard_data").toMap();
m_pressure = measurments.value("AbsolutePressure").toDouble();
m_humidity = measurments.value("Humidity").toInt();
m_noise = measurments.value("Noise").toInt();
m_temperature = measurments.value("Temperature").toDouble();
m_minTemperature = measurments.value("min_temp").toDouble();
m_maxTemperature = measurments.value("max_temp").toDouble();
m_co2 = measurments.value("CO2").toInt();
}
// update wifi signal strength
if (data.contains("wifi_status")) {
int wifiStrength = data.value("wifi_status").toInt();
if (wifiStrength <= 56) {
m_wifiStrength = 100;
} else if (wifiStrength >= 86) {
m_wifiStrength = 0;
} else {
int delta = 30 - (wifiStrength - 56);
m_wifiStrength = qRound(100.0 * delta / 30.0);
}
}
// update reachable state
if (data.contains("reachable")) {
m_reachable = data.value("reachable").toBool();
}
emit statesChanged();
}

View File

@ -1,84 +0,0 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2020, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
* This project including source code and documentation is protected by
* copyright law, and remains the property of nymea GmbH. All rights, including
* reproduction, publication, editing and translation, are reserved. The use of
* this project is subject to the terms of a license agreement to be concluded
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
* under https://nymea.io/license
*
* GNU Lesser General Public License Usage
* Alternatively, this project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* For any further details and any questions please contact us under
* contact@nymea.io or see our FAQ/Licensing Information on
* https://nymea.io/license/faq
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef NETATMOBASESTATION_H
#define NETATMOBASESTATION_H
#include <QObject>
#include <QString>
class NetatmoBaseStation : public QObject
{
Q_OBJECT
public:
explicit NetatmoBaseStation(const QString &name, const QString &macAddress, QObject *parent = nullptr);
// Params
QString name() const;
QString macAddress() const;
QString connectionId() const;
// States
int lastUpdate() const;
double temperature() const;
double minTemperature() const;
double maxTemperature() const;
double pressure() const;
int humidity() const;
int noise() const;
int co2() const;
int wifiStrength() const;
bool reachable() const;
void updateStates(const QVariantMap &data);
private:
// Params
QString m_name;
QString m_macAddress;
// States
int m_lastUpdate;
double m_temperature;
double m_minTemperature;
double m_maxTemperature;
double m_pressure;
int m_humidity;
int m_noise;
int m_co2;
int m_wifiStrength;
bool m_reachable;
signals:
void statesChanged();
};
#endif // NETATMOBASESTATION_H

View File

@ -0,0 +1,264 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2022, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
* This project including source code and documentation is protected by
* copyright law, and remains the property of nymea GmbH. All rights, including
* reproduction, publication, editing and translation, are reserved. The use of
* this project is subject to the terms of a license agreement to be concluded
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
* under https://nymea.io/license
*
* GNU Lesser General Public License Usage
* Alternatively, this project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* For any further details and any questions please contact us under
* contact@nymea.io or see our FAQ/Licensing Information on
* https://nymea.io/license/faq
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "netatmoconnection.h"
#include "extern-plugininfo.h"
#include <QUrlQuery>
#include <QJsonDocument>
NetatmoConnection::NetatmoConnection(NetworkAccessManager *networkmanager, const QByteArray &clientId, const QByteArray &clientSecret, QObject *parent)
: QObject{parent},
m_networkManager{networkmanager},
m_clientId{clientId},
m_clientSecret{clientSecret}
{
// Scopes we need to fetch all information we need
m_scopes << "read_station";
m_scopes << "read_thermostat";
m_scopes << "write_thermostat";
//m_scopes << "read_presence";
//m_scopes << "read_smokedetector";
//m_scopes << "read_homecoach";
m_tokenRefreshTimer = new QTimer(this);
m_tokenRefreshTimer->setSingleShot(true);
connect(m_tokenRefreshTimer, &QTimer::timeout, this, [this](){
qCDebug(dcNetatmo()) << "Refreshing authentication token...";
getAccessTokenFromRefreshToken(m_refreshToken);
});
}
QByteArray NetatmoConnection::accessToken()
{
return m_accessToken;
}
QByteArray NetatmoConnection::refreshToken()
{
return m_refreshToken;
}
QUrl NetatmoConnection::getLoginUrl(const QUrl &redirectUrl)
{
m_redirectUrl = redirectUrl;
QUrl requestUrl(m_baseUrl);
requestUrl.setPath("/oauth2/authorize");
QUrlQuery queryParams;
queryParams.addQueryItem("client_id", m_clientId);
queryParams.addQueryItem("redirect_uri", redirectUrl.toString());
queryParams.addQueryItem("response_type", "code");
queryParams.addQueryItem("scope", m_scopes.join(' '));
queryParams.addQueryItem("state", QUuid::createUuid().toString());
requestUrl.setQuery(queryParams);
return requestUrl;
}
bool NetatmoConnection::getAccessTokenFromUsernamePassword(const QString username, const QString &password)
{
qCDebug(dcNetatmo()) << "Starting deprecated username and password authentication" << username << censorDebugOutput(password);
if (username.isEmpty() || password.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to get tokens. Username or password is empty.";
return false;
}
if (m_clientId.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to refresh access token. OAuth2 client id is not set.";
return false;
}
if (m_clientSecret.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to refresh access token. Client secret is not set.";
return false;
}
QUrl requestUrl(m_baseUrl);
requestUrl.setPath("/oauth2/token");
QNetworkRequest request(requestUrl);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded;charset=UTF-8");
QUrlQuery payloadQuery;
payloadQuery.addQueryItem("grant_type", "password");
payloadQuery.addQueryItem("client_id", m_clientId);
payloadQuery.addQueryItem("client_secret", m_clientSecret);
payloadQuery.addQueryItem("username", username);
payloadQuery.addQueryItem("password", password);
payloadQuery.addQueryItem("scope", m_scopes.join(' '));
QNetworkReply *reply = m_networkManager->post(request, payloadQuery.toString().toUtf8());
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, this, [this, reply](){
processLoginResponse(reply->readAll());
});
return true;
}
bool NetatmoConnection::getAccessTokenFromRefreshToken(const QByteArray &refreshToken)
{
if (refreshToken.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to refresh access token. No refresh token given.";
return false;
}
if (m_clientId.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to refresh access token. OAuth2 client id is not set.";
return false;
}
if (m_clientSecret.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to refresh access token. Client secret is not set.";
return false;
}
QUrl requestUrl(m_baseUrl);
requestUrl.setPath("/oauth2/token");
QNetworkRequest request(requestUrl);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded;charset=UTF-8");
QUrlQuery payloadQuery;
payloadQuery.addQueryItem("grant_type", "refresh_token");
payloadQuery.addQueryItem("refresh_token", refreshToken);
payloadQuery.addQueryItem("client_id", m_clientId);
payloadQuery.addQueryItem("client_secret", m_clientSecret);
QNetworkReply *reply = m_networkManager->post(request, payloadQuery.toString().toUtf8());
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, this, [this, reply](){
processLoginResponse(reply->readAll());
});
return true;
}
bool NetatmoConnection::getAccessTokenFromAuthorizationCode(const QByteArray &authorizationCode)
{
if (authorizationCode.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to get access token. No authorization code given.";
return false;
}
if (m_clientId.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to get access token. OAuth2 client id is not set.";
return false;
}
if (m_clientSecret.isEmpty()) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to get access token. Client secret is not set.";
return false;
}
QUrl requestUrl(m_baseUrl);
requestUrl.setPath("/oauth2/token");
QNetworkRequest request(requestUrl);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded;charset=UTF-8");
QUrlQuery payloadQuery;
payloadQuery.addQueryItem("grant_type", "authorization_code");
payloadQuery.addQueryItem("client_id", m_clientId);
payloadQuery.addQueryItem("client_secret", m_clientSecret);
payloadQuery.addQueryItem("redirect_uri", m_redirectUrl.toString());
payloadQuery.addQueryItem("code", authorizationCode);
payloadQuery.addQueryItem("scope", m_scopes.join(' '));
QNetworkReply *reply = m_networkManager->post(request, payloadQuery.toString().toUtf8());
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, this, [this, reply](){
processLoginResponse(reply->readAll());
});
return true;
}
QNetworkReply *NetatmoConnection::getStationData()
{
QUrl requestUrl(m_baseUrl);
requestUrl.setPath("/api/getstationsdata");
QNetworkRequest request(requestUrl);
request.setRawHeader("Authorization", "Bearer " + m_accessToken);
return m_networkManager->get(request);
}
QString NetatmoConnection::censorDebugOutput(const QString &text)
{
return text.mid(0, 4) + QString().fill('*', text.length() - 4);
}
void NetatmoConnection::setAuthenticated(bool authenticated)
{
m_authenticated = authenticated;
emit authenticatedChanged(m_authenticated);
}
void NetatmoConnection::processLoginResponse(const QByteArray &data)
{
QJsonParseError error;
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
if (error.error != QJsonParseError::NoError) {
qCWarning(dcNetatmo()) << "OAuth2: Failed to get token. Refresh data reply JSON error:" << error.errorString();
setAuthenticated(false);
return;
}
QVariantMap responseMap = jsonDoc.toVariant().toMap();
if (!responseMap.contains("access_token") || !responseMap.contains("refresh_token") ) {
setAuthenticated(false);
return;
}
m_accessToken = responseMap.value("access_token").toByteArray();
receivedAccessToken(m_accessToken);
m_refreshToken = responseMap.value("refresh_token").toByteArray();
receivedRefreshToken(m_refreshToken);
if (responseMap.contains("expires_in")) {
int expireTime = responseMap.value("expires_in").toInt();
qCDebug(dcNetatmo()) << "OAuth2: Token expires in" << expireTime << "s, at" << QDateTime::currentDateTime().addSecs(expireTime).toString();
if (expireTime < 20) {
qCWarning(dcNetatmo()) << "OAuth2: Expire time too short";
// Refresh right the way...
getAccessTokenFromRefreshToken(m_refreshToken);
} else {
m_tokenRefreshTimer->start((expireTime - 20) * 1000);
}
}
setAuthenticated(true);
}

View File

@ -0,0 +1,85 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2022, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
* This project including source code and documentation is protected by
* copyright law, and remains the property of nymea GmbH. All rights, including
* reproduction, publication, editing and translation, are reserved. The use of
* this project is subject to the terms of a license agreement to be concluded
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
* under https://nymea.io/license
*
* GNU Lesser General Public License Usage
* Alternatively, this project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* For any further details and any questions please contact us under
* contact@nymea.io or see our FAQ/Licensing Information on
* https://nymea.io/license/faq
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef NETATMOCONNECTION_H
#define NETATMOCONNECTION_H
#include <QObject>
#include <QTimer>
#include <network/networkaccessmanager.h>
class NetatmoConnection : public QObject
{
Q_OBJECT
public:
explicit NetatmoConnection(NetworkAccessManager *networkmanager, const QByteArray &clientId, const QByteArray &clientSecret, QObject *parent = nullptr);
QByteArray accessToken();
QByteArray refreshToken();
QUrl getLoginUrl(const QUrl &redirectUrl = QUrl("https://127.0.0.1:8888"));
// Note: Use only for migration since this login type is deprecated at netatmo and is
// not working any more with new accounts or after changing the password of an older existing account
bool getAccessTokenFromUsernamePassword(const QString username, const QString &password);
bool getAccessTokenFromRefreshToken(const QByteArray &refreshToken);
bool getAccessTokenFromAuthorizationCode(const QByteArray &authorizationCode);
QNetworkReply *getStationData();
static QString censorDebugOutput(const QString &text);
signals:
void authenticatedChanged(bool authenticated);
void receivedRefreshToken(const QByteArray &refreshToken);
void receivedAccessToken(const QByteArray &accessToken);
private:
NetworkAccessManager *m_networkManager = nullptr;
QTimer *m_tokenRefreshTimer = nullptr;
bool m_authenticated = false;
QStringList m_scopes;
QUrl m_baseUrl = QUrl("https://api.netatmo.com");
QUrl m_redirectUrl = QUrl("https://127.0.0.1:8888");
QByteArray m_clientId;
QByteArray m_clientSecret;
QByteArray m_accessToken;
QByteArray m_refreshToken;
void setAuthenticated(bool authenticated);
void processLoginResponse(const QByteArray &data);
};
#endif // NETATMOCONNECTION_H

View File

@ -1,145 +0,0 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2020, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
* This project including source code and documentation is protected by
* copyright law, and remains the property of nymea GmbH. All rights, including
* reproduction, publication, editing and translation, are reserved. The use of
* this project is subject to the terms of a license agreement to be concluded
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
* under https://nymea.io/license
*
* GNU Lesser General Public License Usage
* Alternatively, this project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* For any further details and any questions please contact us under
* contact@nymea.io or see our FAQ/Licensing Information on
* https://nymea.io/license/faq
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "netatmooutdoormodule.h"
#include <QVariantMap>
NetatmoOutdoorModule::NetatmoOutdoorModule(const QString &name, const QString &macAddress, const QString &baseStation, QObject *parent) :
QObject(parent),
m_name(name),
m_macAddress(macAddress),
m_baseStation(baseStation)
{
}
QString NetatmoOutdoorModule::name() const
{
return m_name;
}
QString NetatmoOutdoorModule::macAddress() const
{
return m_macAddress;
}
QString NetatmoOutdoorModule::baseStation() const
{
return m_baseStation;
}
int NetatmoOutdoorModule::lastUpdate() const
{
return m_lastUpdate;
}
int NetatmoOutdoorModule::humidity() const
{
return m_humidity;
}
double NetatmoOutdoorModule::temperature() const
{
return m_temperature;
}
double NetatmoOutdoorModule::minTemperature() const
{
return m_minTemperature;
}
double NetatmoOutdoorModule::maxTemperature() const
{
return m_maxTemperature;
}
int NetatmoOutdoorModule::signalStrength() const
{
return m_signalStrength;
}
int NetatmoOutdoorModule::battery() const
{
return m_battery;
}
bool NetatmoOutdoorModule::reachable() const
{
return m_reachable;
}
void NetatmoOutdoorModule::updateStates(const QVariantMap &data)
{
// check data timestamp
if (data.contains("last_message")) {
m_lastUpdate = data.value("last_message").toInt();
}
// update dashboard data
if (data.contains("dashboard_data")) {
QVariantMap measurments = data.value("dashboard_data").toMap();
m_humidity = measurments.value("Humidity").toInt();
m_temperature = measurments.value("Temperature").toDouble();
m_minTemperature = measurments.value("min_temp").toDouble();
m_maxTemperature = measurments.value("max_temp").toDouble();
}
// update battery strength
if (data.contains("battery_vp")) {
int battery = data.value("battery_vp").toInt();
if (battery >= 6000) {
m_battery = 100;
} else if (battery <= 3600) {
m_battery = 0;
} else {
int delta = battery - 3600;
m_battery = qRound(100.0 * delta / 2400);
}
}
// update signal strength
if (data.contains("rf_status")) {
int signalStrength = data.value("rf_status").toInt();
if (signalStrength <= 60) {
m_signalStrength = 100;
} else if (signalStrength >= 90) {
m_signalStrength = 0;
} else {
int delta = 30 - (signalStrength - 60);
m_signalStrength = qRound(100.0 * delta / 30.0);
}
}
// update reachable state
if (data.contains("reachable")) {
m_reachable = data.value("reachable").toBool();
}
emit statesChanged();
}

View File

@ -1,80 +0,0 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2020, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
* This project including source code and documentation is protected by
* copyright law, and remains the property of nymea GmbH. All rights, including
* reproduction, publication, editing and translation, are reserved. The use of
* this project is subject to the terms of a license agreement to be concluded
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
* under https://nymea.io/license
*
* GNU Lesser General Public License Usage
* Alternatively, this project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* For any further details and any questions please contact us under
* contact@nymea.io or see our FAQ/Licensing Information on
* https://nymea.io/license/faq
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef NETATMOOUTDOORMODULE_H
#define NETATMOOUTDOORMODULE_H
#include <QObject>
class NetatmoOutdoorModule : public QObject
{
Q_OBJECT
public:
explicit NetatmoOutdoorModule(const QString &name, const QString &macAddress, const QString &baseStation, QObject *parent = 0);
// Params
QString name() const;
QString macAddress() const;
QString baseStation() const;
// States
int lastUpdate() const;
int humidity() const;
double temperature() const;
double minTemperature() const;
double maxTemperature() const;
int signalStrength() const;
int battery() const;
bool reachable() const;
void updateStates(const QVariantMap &data);
private:
// Params
QString m_name;
QString m_macAddress;
QString m_baseStation;
// States
int m_lastUpdate;
int m_humidity;
double m_temperature;
double m_minTemperature;
double m_maxTemperature;
int m_signalStrength;
int m_battery;
bool m_reachable;
signals:
void statesChanged();
};
#endif // NETATMOOUTDOORMODULE_H

View File

@ -4,371 +4,325 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation>Server Netatmo není dosažitelný.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation>Zadejte přihlašovací údaje pro účet Netatmo.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation>Chybné uživatelské jméno nebo heslo</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<source>No API key installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<translation>Při přihlašování k serveru Netatmo došlo k chybě.</translation>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>K dispozici</translation>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished">K dispozici</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Dostupné změněno</translation>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation type="unfinished">Základna</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<translation>Základna</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>baterie</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Baterie byla vyměněna</translation>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">baterie</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Baterie kritická</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Kritická baterie se změnila</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Baterie kritická</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2 se změnil</translation>
<translation type="unfinished">CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Vlhkost vzduchu</translation>
<translation type="unfinished">Vlhkost vzduchu</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Vlhkost se změnila</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Poslední aktualizace</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Poslední aktualizace byla změněna</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished">Poslední aktualizace</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation>MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation>Netatmo připojení</translation>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation type="unfinished">MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Hluk</translation>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Hluk se změnil</translation>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation type="unfinished">Hluk</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Tlak</translation>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Tlak se změnil</translation>
<source>Pressure</source>
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation type="unfinished">Tlak</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Síla signálu</translation>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Síla signálu se změnila</translation>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Teplota</translation>
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation type="unfinished">Síla signálu</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
<source>Temperature</source>
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Teplota se změnila</translation>
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation type="unfinished">Teplota</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>maximum emperatury</translation>
<translation type="unfinished">maximum emperatury</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
<source>Temperature minimum</source>
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Maximální teplota se změnila</translation>
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished">Minimální teplota</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation type="unfinished">Síla signálu WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Minimální teplota</translation>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Minimální teplota se změnila</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>Síla signálu WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>Síla signálu WiFi se změnila</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<translation>název</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Vnitřní stanice</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Venkovní stanice</translation>
</message>
</context>
</TS>

View File

@ -4,371 +4,325 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation>Netatmo-serveren kan ikke nås.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation>Indtast login-legitimationsoplysninger for din Netatmo-konto.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation>Forkert brugernavn eller adgangskode</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<source>No API key installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<translation>Fejl ved login Netatmo-serveren.</translation>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Tilgængelig</translation>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished">Tilgængelig</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Tilgængelig ændret</translation>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation type="unfinished">Basisstation</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<translation>Basisstation</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batteri</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batteri ændret</translation>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batteri</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Batterikritisk</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Batterikritisk ændret</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batterikritisk</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2 ændret</translation>
<translation type="unfinished">CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Fugtighed</translation>
<translation type="unfinished">Fugtighed</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Fugtighed ændrede</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Sidste opdatering</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Sidste opdatering ændret</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished">Sidste opdatering</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation>MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation>Netatmo-forbindelse</translation>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation type="unfinished">MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Støj</translation>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Støj ændret</translation>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation type="unfinished">Støj</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Lufttryk</translation>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Lufttryk ændret</translation>
<source>Pressure</source>
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation type="unfinished">Lufttryk</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Signalstyrke</translation>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Signalstyrke ændret</translation>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatur</translation>
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation type="unfinished">Signalstyrke</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
<source>Temperature</source>
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatur ændret</translation>
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperatur</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Maximal temperatur</translation>
<translation type="unfinished">Maximal temperatur</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
<source>Temperature minimum</source>
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Maximal temperatur ændret</translation>
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished">Minimumstemperatur</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation type="unfinished">WiFi signalstyrke</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Minimumstemperatur</translation>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Minimumstemperatur ændret</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>WiFi signalstyrke</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>WiFi signalstyrke ændret</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<translation>navn</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Indendørsstation</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Udendørsstation</translation>
</message>
</context>
</TS>

View File

@ -4,371 +4,325 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation>Kein API Schlüssel installiert</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation>Netatmo Server ist nicht erreichbar.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation>Bitte geben Sie die Anmeldeinformationen für Ihr Netatmo-Konto ein.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation>Benutzername oder Passwort falsch</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<translation>Anmeldeinformationen nicht gefunden.</translation>
<source>No API key installed.</source>
<translation>Es ist kein API Schlüssel installiert.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<translation>Fehler beim Anmelden am Netatmo-Server.</translation>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation>Der Netatmo Server ist nicht erreichbar.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation>Die Anmeldung beim Netatmo Server ist fehlgeschlagen.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation>Fehler bei der Authentifizieren. Bitte richte die Verbindung neu ein.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation>Fehler bei der Authentifizieren. Bitte richte die Verbindung neu ein.</translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Verfügbar</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Verfügbar geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation>Basisstation</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batterie</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batterie geändert</translation>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation>Batterie</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation>Batterie kritisch</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Batterie kritisch geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2 geändert</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation>Verbunden</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation>Benutzerdefinierte Client-ID</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation>Benutzerdefinierte Client-Secret</translation>
<translation>Benutzerdefinierte Client-Geheimnis</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Luftfeuchte</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Luftfeuchte geändert</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Innen Hauptstation</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation>Innenstation</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Letztes Update</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Letztes Update geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation>Eingeloggt</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation>Eingeloggt geändert</translation>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation>Eingeloggt</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation>MAC Adresse</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation>Netatmo</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation>Netatmo Verbindung</translation>
<translation>Netatmo Account</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Geräusch</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Geräusch geändert</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Außenmodul</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Luftdruck</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Luftdruck geändert</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation>Regenmesser</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Signalstärke</translation>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation>Nierschlag in den letzten 24h</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Signalstärke geändert</translation>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation>Nierschlag in den letzten Stunde</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Signalstärke</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatur</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatur geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperaturmaximum</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperaturmaximum geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperaturminimum</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperaturminimum geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation>Benutzername</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation>Benutzername geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>WiFi Signalstärke</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>WiFi Signalstärke geändert</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation>Windrichtung</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<translation>Name</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation>Wind Modul</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Innenstation</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Außenstation</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation>Windgeschwindigkeit</translation>
</message>
</context>
</TS>

View File

@ -4,370 +4,324 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<source>No API key installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
<source>Temperature</source>
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
</context>

View File

@ -4,371 +4,325 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation>O servidor Netatmo não é alcançável.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation>Por favor introduza as credenciais de login para a sua conta Netatmo.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation>Nome de utilizador ou palavra-passe errados</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<source>No API key installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<translation>Erro ao iniciar sessão no servidor Netatmo.</translation>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponible en</translation>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished">Disponible en</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponible cambiado</translation>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation type="unfinished">Estación base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<translation>Estación base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batería</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batería cambiada</translation>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batería</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Batería crítica</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Batería crítica cambiada</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batería crítica</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>El CO2 cambió</translation>
<translation type="unfinished">CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Humedad</translation>
<translation type="unfinished">Humedad</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>La humedad cambió</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Última actualización</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>La última actualización ha cambiado</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished">Última actualización</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation>MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation>Conexión Netatmo</translation>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation type="unfinished">MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Ruido</translation>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Ruido cambiado</translation>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation type="unfinished">Ruido</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Presión</translation>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>La presión cambió</translation>
<source>Pressure</source>
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation type="unfinished">Presión</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>La fuerza de la señal</translation>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>The strength of the signal</translation>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperature</translation>
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation type="unfinished">La fuerza de la señal</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
<source>Temperature</source>
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>La temperatura cambió</translation>
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperature</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperatura máxima</translation>
<translation type="unfinished">Temperatura máxima</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
<source>Temperature minimum</source>
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>El máximo de la temperatura ha cambiado</translation>
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperatura mínima</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation type="unfinished">La intensidad de la señal de WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperatura mínima</translation>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Mínimo de temperatura cambiado</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>La intensidad de la señal de WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>La intensidad de la señal de WiFi cambió</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<translation>nombre</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Estación interior</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Estación exterior</translation>
</message>
</context>
</TS>

View File

@ -4,371 +4,325 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation>Le serveur Netatmo n&apos;est pas joignable.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation>Le serveur Netatmo n&apos;est pas joignable.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation>Nom d&apos;utilisateur erroné ou</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<source>No API key installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<translation>Erreur de connexion au serveur Netatmo.</translation>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponible</translation>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished">Disponible</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponible modifié</translation>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation type="unfinished">Station de base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<translation>Station de base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batterie</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Pile changée</translation>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batterie</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Batterie critique</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Changement de pile critique</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batterie critique</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2 changé</translation>
<translation type="unfinished">CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Humidité</translation>
<translation type="unfinished">Humidité</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>L&apos;humidité a changé</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Dernière mise à jour</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Dernière mise à jour changée</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished">Dernière mise à jour</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation>MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation>Connexion Netatmo</translation>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation type="unfinished">MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Bruit</translation>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Bruit changée</translation>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation type="unfinished">Bruit</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Pression</translation>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Pression changée</translation>
<source>Pressure</source>
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation type="unfinished">Pression</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Puissance du signal</translation>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>La puissance du signal a changé</translation>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Température</translation>
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation type="unfinished">Puissance du signal</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
<source>Temperature</source>
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>La température a changé</translation>
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation type="unfinished">Température</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Température maximale</translation>
<translation type="unfinished">Température maximale</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
<source>Temperature minimum</source>
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Changement de la température maximale</translation>
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished">Température minimale</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation type="unfinished">Puissance du signal WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Température minimale</translation>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Changement de la température minimale</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>Puissance du signal WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>La puissance du signal WiFi a changé</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<translation>Nom</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Station intérieure</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Station extérieure</translation>
</message>
</context>
</TS>

View File

@ -4,371 +4,325 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation>Il server Netatmo non è raggiungibile.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation>Inserite le credenziali di accesso per il vostro account Netatmo.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation>Nome utente o password sbagliata</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<source>No API key installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<translation>Errore di accesso al server Netatmo.</translation>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponibile</translation>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished">Disponibile</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponibile cambiato</translation>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation type="unfinished">Stazione base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<translation>Stazione base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batteria</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Sostituzione della batteria</translation>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batteria</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Batteria critica</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Sostituzione della batteria critica</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batteria critica</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2 cambiata</translation>
<translation type="unfinished">CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Umidità</translation>
<translation type="unfinished">Umidità</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Umidità cambiata</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Ultimo aggiornamento</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Ultimo aggiornamento modificato</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished">Ultimo aggiornamento</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation>MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation>Connessione Netatmo</translation>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation type="unfinished">MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Rumore</translation>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Rumore cambiato</translation>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation type="unfinished">Rumore</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Pressione</translation>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Pressione cambiata</translation>
<source>Pressure</source>
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation type="unfinished">Pressione</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Forza del segnale</translation>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Forza del segnale cambiata</translation>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatura</translation>
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation type="unfinished">Forza del segnale</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
<source>Temperature</source>
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Variazione di temperatura</translation>
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperatura</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperatura massima</translation>
<translation type="unfinished">Temperatura massima</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
<source>Temperature minimum</source>
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperatura massima modificata</translation>
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperatura minima</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation type="unfinished">Potenza del segnale WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperatura minima</translation>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperatura minima modificata</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>Potenza del segnale WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>Cambiata la potenza del segnale WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<translation>nome</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Stazione interna</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Stazione esterna</translation>
</message>
</context>
</TS>

View File

@ -4,371 +4,325 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation>Il server Netatmo non è raggiungibile.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation>Inserite le credenziali di accesso per il vostro account Netatmo.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation>Nome utente o password sbagliata</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<source>No API key installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<translation>Errore di accesso al server Netatmo.</translation>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponibile</translation>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished">Disponibile</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponibile cambiato</translation>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation type="unfinished">Stazione base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<translation>Stazione base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Batteria</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Sostituzione della batteria</translation>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batteria</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Batteria critica</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Sostituzione della batteria critica</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Batteria critica</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2 cambiata</translation>
<translation type="unfinished">CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Umidità</translation>
<translation type="unfinished">Umidità</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Umidità cambiata</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Ultimo aggiornamento</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Ultimo aggiornamento modificato</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished">Ultimo aggiornamento</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation>Indirizzo MAC</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation>Netatmo-aansluiting</translation>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation type="unfinished">Indirizzo MAC</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Geluidsoverlast</translation>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Geluidsoverlast veranderd</translation>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation type="unfinished">Geluidsoverlast</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Druk</translation>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Druk veranderd</translation>
<source>Pressure</source>
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation type="unfinished">Druk</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Signaalsterkte</translation>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Signaalsterkte veranderd</translation>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatuur</translation>
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation type="unfinished">Signaalsterkte</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
<source>Temperature</source>
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatuur veranderd</translation>
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperatuur</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperatuur maximaal</translation>
<translation type="unfinished">Temperatuur maximaal</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
<source>Temperature minimum</source>
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperatuur maximaal gewijzigd</translation>
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperatuur minimum</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation type="unfinished">WiFi-signaalsterkte</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperatuur minimum</translation>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperatuur minimum veranderd</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>WiFi-signaalsterkte</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>WiFi-signaalsterkte veranderd</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<translation>naam</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Binnenshuis-station</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Buitenshuis-station</translation>
</message>
</context>
</TS>

View File

@ -4,371 +4,325 @@
<context>
<name>IntegrationPluginNetatmo</name>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="59"/>
<location filename="../integrationpluginnetatmo.cpp" line="144"/>
<source>No API key installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="71"/>
<source>Netatmo server is not reachable.</source>
<translation>O servidor Netatmo não é alcançável.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="73"/>
<source>Please enter the login credentials for your Netatmo account.</source>
<translation>Por favor introduza as credenciais de login para a sua conta Netatmo.</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="96"/>
<source>Wrong username or password</source>
<translation>Nome de utilizador ou palavra-passe errados</translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="56"/>
<location filename="../integrationpluginnetatmo.cpp" line="139"/>
<source>Login credentials not found.</source>
<source>No API key installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="186"/>
<source>Error logging in to Netatmo server.</source>
<translation>Erro ao iniciar sessão no servidor Netatmo.</translation>
<location filename="../integrationpluginnetatmo.cpp" line="72"/>
<source>The Netatmo server is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="100"/>
<location filename="../integrationpluginnetatmo.cpp" line="124"/>
<source>Failed to log in to the Netatmo server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="170"/>
<source>Could not authenticate on the server. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginnetatmo.cpp" line="184"/>
<source>Authentication failed. Please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Netatmo</name>
<name>netatmo</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="91"/>
<source>Available</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: connected, ID: {2f79bc1d-27ed-480a-b583-728363c83ea6})
----------
The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponível</translation>
<extracomment>The name of the StateType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished">Disponível</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="103"/>
<source>Available changed</source>
<extracomment>The name of the EventType ({2f79bc1d-27ed-480a-b583-728363c83ea6}) of ThingClass netatmoConnection</extracomment>
<translation>Disponível alterado</translation>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {0b8d6d09-a2fa-4bb8-b96b-f444c3eea31b})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {38f375ca-5a45-4628-9e0d-088b4cc25c58})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {42f97253-6883-4b88-b088-d86cf467e793})</extracomment>
<translation type="unfinished">Estação base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="106"/>
<source>Base station</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {d7a0ec46-760c-4fdc-9753-fe10c86fe1b9})</extracomment>
<translation>Estação base</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="109"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="112"/>
<source>Battery</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryLevel, ID: {15d8fae1-ba47-42e1-994d-530e8017c965})
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Bateria</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="115"/>
<source>Battery changed</source>
<extracomment>The name of the EventType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor</extracomment>
<translation>Bateria trocada</translation>
<source>Battery</source>
<extracomment>The name of the StateType ({e06955c4-963b-4f8f-9c0c-975c1cd75edb}) of ThingClass rainGauge
----------
The name of the StateType ({560e0bd7-3c75-430e-8ef3-65bbbe85a3af}) of ThingClass windModule
----------
The name of the StateType ({15d8fae1-ba47-42e1-994d-530e8017c965}) of ThingClass outdoor
----------
The name of the StateType ({d9fe5e52-8f42-41fd-aa5f-fd157ad6a6be}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Bateria</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="121"/>
<source>Battery critical</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: batteryCritical, ID: {f8aeb144-014d-4ccb-81db-64ffc70f1c97})
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Changed battery</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="124"/>
<source>Battery critical changed</source>
<extracomment>The name of the EventType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor</extracomment>
<translation>Mudança de bateria crítica</translation>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<source>Battery critical</source>
<extracomment>The name of the StateType ({dd8f8620-fcca-408b-835f-2c257e18aee2}) of ThingClass rainGauge
----------
The name of the StateType ({5dcddcf9-da07-4bac-9988-018168a516ad}) of ThingClass windModule
----------
The name of the StateType ({f8aeb144-014d-4ccb-81db-64ffc70f1c97}) of ThingClass outdoor
----------
The name of the StateType ({7cde2c79-2b90-4ced-97ac-2653d314cf73}) of ThingClass indoorModule</extracomment>
<translation type="unfinished">Changed battery</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: co2, ID: {e5710bd1-79fa-4bd4-9052-8416aae909b9})
<extracomment>The name of the StateType ({a3fe53a3-0940-4fcb-915d-0297ae584917}) of ThingClass indoorModule
----------
The name of the StateType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="133"/>
<source>CO2 changed</source>
<extracomment>The name of the EventType ({e5710bd1-79fa-4bd4-9052-8416aae909b9}) of ThingClass indoor</extracomment>
<translation>CO2 alterado</translation>
<translation type="unfinished">CO2</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="136"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<source>Connected</source>
<extracomment>The name of the StateType ({d726cd1e-75c5-4d50-adbd-962301ea9b91}) of ThingClass rainGauge
----------
The name of the StateType ({5d369774-78df-4259-bdff-cc82b946470b}) of ThingClass windModule
----------
The name of the StateType ({21d7f2b7-e45b-4986-b3da-d6e8c0421bfc}) of ThingClass outdoor
----------
The name of the StateType ({5b819dbf-698d-49ae-aeb5-a15db9ef515a}) of ThingClass indoorModule
----------
The name of the StateType ({d84ba5d7-5202-4786-b983-958b594c341f}) of ThingClass indoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<source>Custom client id</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {fbda653d-d59e-438c-a70c-0ccbe8080215})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<source>Custom client secret</source>
<extracomment>The name of the ParamType (ThingClass: netatmo, Type: plugin, ID: {06439e1e-da15-4483-8737-0a6aa967c479})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<source>Humidity</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: humidity, ID: {7ba6ddeb-5142-4b87-9729-487fcda394df})
<extracomment>The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the StateType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: humidity, ID: {e2db5f01-196a-48d1-8874-6b8cbfe0d8c9})
The name of the StateType ({e39c6ea6-8d53-42c7-bfce-e9e4aa3dfec9}) of ThingClass indoorModule
----------
The name of the StateType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Humidade</translation>
<translation type="unfinished">Humidade</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="157"/>
<source>Humidity changed</source>
<extracomment>The name of the EventType ({7ba6ddeb-5142-4b87-9729-487fcda394df}) of ThingClass outdoor
----------
The name of the EventType ({e2db5f01-196a-48d1-8874-6b8cbfe0d8c9}) of ThingClass indoor</extracomment>
<translation>Humidade alterada</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="163"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<source>Last update</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: updateTime, ID: {154aad5c-4998-43c2-b9ee-0b997eb6dd69})
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: updateTime, ID: {50da9f6b-c350-401c-a72e-2e4036f3975d})
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Última actualização</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<source>Last update changed</source>
<extracomment>The name of the EventType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the EventType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation>Última actualização alterada</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: loggedIn, ID: {d1ca8579-5d5a-4372-9139-4b083efead2e})
----------
The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Indoor main station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="169"/>
<source>Indoor module</source>
<extracomment>The name of the ThingClass ({a6706b11-325b-4be3-b0d1-c09e027955b4})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="172"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="184"/>
<source>Last update</source>
<extracomment>The name of the StateType ({3c87cbf7-73ad-4673-9abd-188e1f4facfb}) of ThingClass rainGauge
----------
The name of the StateType ({aa4be9dc-06e4-48a2-b83e-45c523da116b}) of ThingClass windModule
----------
The name of the StateType ({154aad5c-4998-43c2-b9ee-0b997eb6dd69}) of ThingClass outdoor
----------
The name of the StateType ({024eb4d2-ed0b-428b-b5c4-ce9aba1fee1e}) of ThingClass indoorModule
----------
The name of the StateType ({50da9f6b-c350-401c-a72e-2e4036f3975d}) of ThingClass indoor</extracomment>
<translation type="unfinished">Última actualização</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="187"/>
<source>Logged inchanged</source>
<extracomment>The name of the EventType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<source>Logged in</source>
<extracomment>The name of the StateType ({d1ca8579-5d5a-4372-9139-4b083efead2e}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="193"/>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation>MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="196"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="199"/>
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the plugin Netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="202"/>
<source>Netatmo Connection</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation>Ligação Netatmo</translation>
<source>MAC Address</source>
<extracomment>The name of the ParamType (ThingClass: rainGauge, Type: thing, ID: {a2584452-dd16-4655-8cb5-876bb6140c47})
----------
The name of the ParamType (ThingClass: windModule, Type: thing, ID: {7abc08f2-7074-40fe-aa1e-1727a5488dfe})
----------
The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {73a76c5c-84f5-4e65-8541-457e5aca9bb0})
----------
The name of the ParamType (ThingClass: indoorModule, Type: thing, ID: {1881e22f-36f0-447d-a507-e9d541236334})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {157d470a-e579-4d0e-b879-6b5bfa8e34ae})</extracomment>
<translation type="unfinished">MAC Address</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="205"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="208"/>
<source>Noise</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: noise, ID: {906cea9d-1daf-4e9c-90b9-e40f43052a34})
<source>Netatmo</source>
<extracomment>The name of the vendor ({4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351})
----------
The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Ruído</translation>
The name of the plugin netatmo ({69d14951-0c02-4877-bcef-dffdf48b7ccb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="211"/>
<source>Noise changed</source>
<extracomment>The name of the EventType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation>Ruído alterado</translation>
<source>Netatmo account</source>
<extracomment>The name of the ThingClass ({728d5a67-27a3-400e-b83c-2765f5196f69})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Noise</source>
<extracomment>The name of the StateType ({906cea9d-1daf-4e9c-90b9-e40f43052a34}) of ThingClass indoor</extracomment>
<translation type="unfinished">Ruído</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="217"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<source>Pressure</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: pressure, ID: {03b0a7b7-987d-4d3b-b3f0-21d9f92ad326})
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Pressão</translation>
<source>Outdoor module</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="220"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="223"/>
<source>Pressure changed</source>
<extracomment>The name of the EventType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation>Pressão alterada</translation>
<source>Pressure</source>
<extracomment>The name of the StateType ({9d2c409e-0d4f-4e03-89ad-fe0cad776e66}) of ThingClass indoorModule
----------
The name of the StateType ({03b0a7b7-987d-4d3b-b3f0-21d9f92ad326}) of ThingClass indoor</extracomment>
<translation type="unfinished">Pressão</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="226"/>
<source>Rain gauge</source>
<extracomment>The name of the ThingClass ({33a7230b-588f-471c-895d-4a1ddd417c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="229"/>
<source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: signalStrength, ID: {0faa3d08-9004-46fb-a5aa-a59b75e454cc})
----------
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Força do sinal</translation>
<source>Rainfall in the last 24 hours</source>
<extracomment>The name of the StateType ({3f475b34-ad5f-4821-8452-2f6869ef46b4}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="232"/>
<source>Signal strength changed</source>
<extracomment>The name of the EventType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation>Força do sinal alterada</translation>
<source>Rainfall in the past hour</source>
<extracomment>The name of the StateType ({6c55bcd5-b1b3-4ea2-8b4c-2689941d43bb}) of ThingClass rainGauge</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="235"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="238"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="241"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<source>Temperature</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperature, ID: {f98776bd-887e-4b01-a87f-3d8224180563})
<source>Signal strength</source>
<extracomment>The name of the StateType ({d44a1e64-c5e5-4dae-944b-bce23192f610}) of ThingClass rainGauge
----------
The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
The name of the StateType ({7eafdb74-c99a-40c4-95ca-99f5ddf82355}) of ThingClass windModule
----------
The name of the ParamType (ThingClass: indoor, EventType: temperature, ID: {3cb25538-e463-40ae-92f9-8f34f0c06b92})
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatura</translation>
The name of the StateType ({0faa3d08-9004-46fb-a5aa-a59b75e454cc}) of ThingClass outdoor</extracomment>
<translation type="unfinished">Força do sinal</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="244"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="247"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="250"/>
<source>Temperature changed</source>
<extracomment>The name of the EventType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
<source>Temperature</source>
<extracomment>The name of the StateType ({f98776bd-887e-4b01-a87f-3d8224180563}) of ThingClass outdoor
----------
The name of the EventType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation>Temperatura alterada</translation>
The name of the StateType ({33957a0c-75b7-45d0-8e07-731c7c20df0e}) of ThingClass indoorModule
----------
The name of the StateType ({3cb25538-e463-40ae-92f9-8f34f0c06b92}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperatura</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="253"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="256"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="259"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<source>Temperature maximum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMax, ID: {aae071dc-70d5-4a6a-8daa-3dca0d150bd7})
<extracomment>The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the StateType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMax, ID: {dd30507e-037b-4c74-bcca-e04b94c7c5fe})
The name of the StateType ({304472e3-56fc-4ee6-96df-aeb4b570a1d1}) of ThingClass indoorModule
----------
The name of the StateType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperatura máxima</translation>
<translation type="unfinished">Temperatura máxima</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="262"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="265"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="268"/>
<source>Temperature maximum changed</source>
<extracomment>The name of the EventType ({aae071dc-70d5-4a6a-8daa-3dca0d150bd7}) of ThingClass outdoor
<source>Temperature minimum</source>
<extracomment>The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({dd30507e-037b-4c74-bcca-e04b94c7c5fe}) of ThingClass indoor</extracomment>
<translation>Temperatura máxima alterada</translation>
The name of the StateType ({2f9e4042-b699-4036-be69-a84e561ac38c}) of ThingClass indoorModule
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation type="unfinished">Temperatura mínima</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="271"/>
<source>Username</source>
<extracomment>The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="274"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="277"/>
<source>WiFi signal strength</source>
<extracomment>The name of the StateType ({36fd51d9-7693-42ee-b0ae-b623e219d950}) of ThingClass indoorModule
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation type="unfinished">Força do sinal WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="280"/>
<source>Temperature minimum</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, EventType: temperatureMin, ID: {b71e0c8b-3c94-421e-830e-dab97b6c104e})
----------
The name of the StateType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the ParamType (ThingClass: indoor, EventType: temperatureMin, ID: {ae8bb713-8805-4efd-89a1-bca44a1f1690})
----------
The name of the StateType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperatura mínima</translation>
<source>Wind direction</source>
<extracomment>The name of the StateType ({65ad8900-583a-4bf7-8bff-f738225ca017}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="283"/>
<source>Wind module</source>
<extracomment>The name of the ThingClass ({160096e8-5ad0-4ca5-b7f2-60d64865ca71})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="286"/>
<source>Temperature minimum changed</source>
<extracomment>The name of the EventType ({b71e0c8b-3c94-421e-830e-dab97b6c104e}) of ThingClass outdoor
----------
The name of the EventType ({ae8bb713-8805-4efd-89a1-bca44a1f1690}) of ThingClass indoor</extracomment>
<translation>Temperatura mínima alterada</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="289"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="292"/>
<source>Username</source>
<extracomment>The name of the ParamType (ThingClass: netatmoConnection, EventType: userDisplayName, ID: {b9c98ae6-3687-4279-8fda-bc02c7b7ea38})
----------
The name of the StateType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<source>Wind speed</source>
<extracomment>The name of the StateType ({9f6c1540-9933-4ef1-96d7-aecade2a8199}) of ThingClass windModule</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="295"/>
<source>Username changed</source>
<extracomment>The name of the EventType ({b9c98ae6-3687-4279-8fda-bc02c7b7ea38}) of ThingClass netatmoConnection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="298"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="301"/>
<source>WiFi signal strength</source>
<extracomment>The name of the ParamType (ThingClass: indoor, EventType: wifiStrength, ID: {6ea906d4-5740-454d-a730-6fdb9fa0d624})
----------
The name of the StateType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>Força do sinal WiFi</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="304"/>
<source>WiFi signal strength changed</source>
<extracomment>The name of the EventType ({6ea906d4-5740-454d-a730-6fdb9fa0d624}) of ThingClass indoor</extracomment>
<translation>A força do sinal WiFi mudou</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="307"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="310"/>
<source>name</source>
<extracomment>The name of the ParamType (ThingClass: outdoor, Type: thing, ID: {719e1f92-a9c8-42d6-83e1-652a0f182209})
----------
The name of the ParamType (ThingClass: indoor, Type: thing, ID: {a97d256c-e159-4aa0-bc71-6bd7cd0688b3})</extracomment>
<translation>nome</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="160"/>
<source>Indoor Station</source>
<extracomment>The name of the ThingClass ({1c809049-04f2-4710-99f5-6ed379a2934f})</extracomment>
<translation>Estação interior</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/netatmo/plugininfo.h" line="214"/>
<source>Outdoor Station</source>
<extracomment>The name of the ThingClass ({6cc01d62-7317-4ec4-8ac4-a4cab762c179})</extracomment>
<translation>Estação exterior</translation>
</message>
</context>
</TS>