diff --git a/datetime/translations/c26014c6-87fb-4233-85ed-01d18625018d-fr.ts b/datetime/translations/c26014c6-87fb-4233-85ed-01d18625018d-fr.ts
index 0b3abcfd..f72f0b0b 100644
--- a/datetime/translations/c26014c6-87fb-4233-85ed-01d18625018d-fr.ts
+++ b/datetime/translations/c26014c6-87fb-4233-85ed-01d18625018d-fr.ts
@@ -7,247 +7,247 @@
TodayThe name of the DeviceClass (fbf665fb-9aca-423f-a5f2-924e50ebe6ca)
-
+ aujourd'huitimezone changedThe name of the autocreated EventType (ab16997c-be29-438e-b588-2507d723d264)
-
+ Fuseau horaire modifiécity changedThe name of the autocreated EventType (65d2a5ff-bcab-43a8-b043-f88cf01586f4)
-
+ Domicile modifiécityThe name of the ParamType of the autocreated EventType (65d2a5ff-bcab-43a8-b043-f88cf01586f4) of DeviceClass today
-
+ villecountry changedThe name of the autocreated EventType (a534bd8b-6826-4d71-b9f9-df1433964b94)
-
+ Pays modifiécountryThe name of the ParamType of the autocreated EventType (a534bd8b-6826-4d71-b9f9-df1433964b94) of DeviceClass today
-
+ paysday changedThe name of the autocreated EventType (eb5231ea-6a1b-4d7e-a95f-d49e7b25122e)
-
+ Jour modifiédayThe name of the ParamType of the autocreated EventType (eb5231ea-6a1b-4d7e-a95f-d49e7b25122e) of DeviceClass today
-
+ jourmonth changedThe name of the autocreated EventType (fcd8ec96-4488-438a-8b30-58bfe2a7fae2)
-
+ Mois modifiémonthThe name of the ParamType of the autocreated EventType (fcd8ec96-4488-438a-8b30-58bfe2a7fae2) of DeviceClass today
-
+ moismonth name changedThe name of the autocreated EventType (a37acc9c-5cfb-4687-adce-e56beb32586f)
-
+ Nom du mois modifiéyear changedThe name of the autocreated EventType (79d4ae9b-ea27-4346-8229-1d90f1ddfc9d)
-
+ L'année modifiéyearThe name of the ParamType of the autocreated EventType (79d4ae9b-ea27-4346-8229-1d90f1ddfc9d) of DeviceClass today
-
+ anweekday changedThe name of the autocreated EventType (452c0388-7fa1-414e-aeb2-8c7c385824b4)
-
+ Jour de semaine modifiéweekdayThe name of the ParamType of the autocreated EventType (452c0388-7fa1-414e-aeb2-8c7c385824b4) of DeviceClass today
-
+ jour de la semaineweekday name changedThe name of the autocreated EventType (f627d052-cee6-4727-b9c6-0e935d41e04a)
-
+ Nom du jour modifiéguh GmbHThe name of the vendor (2062d64d-3232-433c-88bc-0d33c0ba2ba6)
-
+ guh GmbHTimeThe name of the plugin DateTime (c26014c6-87fb-4233-85ed-01d18625018d)
-
+ L'heure/DatetimezoneThe name of the ParamType of the autocreated EventType (ab16997c-be29-438e-b588-2507d723d264) of DeviceClass today
-
+ Fuseau horairemonth nameThe name of the ParamType of the autocreated EventType (a37acc9c-5cfb-4687-adce-e56beb32586f) of DeviceClass today
-
+ Nom de moisweekday nameThe name of the ParamType of the autocreated EventType (f627d052-cee6-4727-b9c6-0e935d41e04a) of DeviceClass today
-
+ Nom du jourweekend changedThe name of the autocreated EventType (4de5b57b-bb1a-4d66-9ce3-22bb280b075d)
-
+ Week-end modifiéweekendThe name of the ParamType of the autocreated EventType (4de5b57b-bb1a-4d66-9ce3-22bb280b075d) of DeviceClass today
-
+ Week-enddusk changedThe name of the autocreated EventType (44a99419-fbcd-4d8e-9441-897848b8f77c)
-
+ Crépuscule modifiéduskThe name of the ParamType of the autocreated EventType (44a99419-fbcd-4d8e-9441-897848b8f77c) of DeviceClass today
-
+ Crépusculesunrise changedThe name of the autocreated EventType (3a08824d-285b-412e-a515-9664b491a85c)
-
+ Lever du soleil modifiésunriseThe name of the ParamType of the autocreated EventType (3a08824d-285b-412e-a515-9664b491a85c) of DeviceClass today
-
+ Lever du soleilnoon changedThe name of the autocreated EventType (d92be29a-929c-4240-91a0-30153850f838)
-
+ Niveau maximum de soleil modifiénoonThe name of the ParamType of the autocreated EventType (d92be29a-929c-4240-91a0-30153850f838) of DeviceClass today
-
+ Niveau maximum de soleildawn changedThe name of the autocreated EventType (a5779b11-0499-4a6d-a7bd-8143dcc546b4)
-
+ Point du jour modifiédawnThe name of the ParamType of the autocreated EventType (a5779b11-0499-4a6d-a7bd-8143dcc546b4) of DeviceClass today
-
+ Point du Joursunset changedThe name of the autocreated EventType (377f04a7-df58-42ad-a234-e9e23bdc2f85)
-
+ Couche du soleil modifiésunsetThe name of the ParamType of the autocreated EventType (377f04a7-df58-42ad-a234-e9e23bdc2f85) of DeviceClass today
-
+ Couche du soleilAlarmThe name of the DeviceClass (3f3c7ecc-9915-4e4e-95a1-e11f4f9d174d)
-
+ RéveilmondayThe name of the paramType (b36f1f62-60d7-49dd-926d-836c03563efa) of alarm
-
+ lundituesdayThe name of the paramType (6bcbecd9-d3b8-4a63-9a41-e3ee3f4c3bab) of alarm
-
+ mardiwednesdayThe name of the paramType (66bf302c-a7de-41cd-9e12-415276b82e65) of alarm
-
+ mercredithursdayThe name of the paramType (97aa24dc-a741-48db-ad13-7ba14ab71ea1) of alarm
-
+ jeudifridayThe name of the paramType (8d99b490-9b59-4812-a18d-d43c1259d1b0) of alarm
-
+ vendredisaturdayThe name of the paramType (59cc3316-8de7-4602-9ee2-71559f7b665a) of alarm
-
+ samedisundayThe name of the paramType (2d519d8f-4bda-4d30-801f-48fe6c10c540) of alarm
-
+ dimanche
@@ -256,7 +256,7 @@
The name of the paramType (3e38649d-f415-400f-bec2-81f374cad1cb) of alarm
----------
The name of the paramType (733e4174-dc42-4bf1-9a1d-65e785c2e580) of countdown
-
+ Minutes
@@ -265,79 +265,79 @@ The name of the paramType (733e4174-dc42-4bf1-9a1d-65e785c2e580) of countdownThe name of the paramType (85c1d50d-509b-4a6a-840f-fc8fdbf46a52) of alarm
----------
The name of the paramType (0a54fe54-45a7-4fc5-a8d2-f9b6a92033de) of countdown
-
+ Heurestime typeThe name of the paramType (5c285d83-284b-4ab2-bff8-d9a0ebbecbe4) of alarm
-
+ Type de tempsoffsetThe name of the paramType (b37ec6bb-9f37-4520-ae34-d788ac2d5056) of alarm
-
+ DifférencealarmThe name of the EventType 5ec9a4af-d5ea-4f68-ab32-f7a3fcd75ccc of deviceClass alarm
-
+ AlarmeCountdownThe name of the DeviceClass (805c8948-e663-4ba6-aa67-df7446ed7098)
-
+ Compte à rebourssecondsThe name of the paramType (7c1d33d8-bcc3-4890-a4be-2c753d9c14be) of countdown
-
+ secondesrepeatingThe name of the paramType (7b0c11cd-64c5-4cfc-9860-aa9ce7b7b3b5) of countdown
-
+ répéterrunning changedThe name of the autocreated EventType (b21ccd53-1ebd-41a0-a2a3-662874e79837)
-
+ Cours modifiérunningThe name of the ParamType of the autocreated EventType (b21ccd53-1ebd-41a0-a2a3-662874e79837) of DeviceClass countdown
-
+ fonctionnerstartThe name of the ActionType 436e9923-6eff-444e-bde7-a61228a4d748 of deviceClass countdown
-
+ D'epartstopThe name of the ActionType bf4d1def-4159-4254-a76d-fd31aaa84e2d of deviceClass countdown
-
+ StoprestartThe name of the ActionType 14aad613-b972-411f-93c9-f00bfd254285 of deviceClass countdown
-
+ RedémarragetimeoutThe name of the EventType 1db11351-ad67-448e-a784-216741a06a58 of deviceClass countdown
-
+ Timeout
diff --git a/debian/control b/debian/control
index 35d7b079..d17e3e89 100644
--- a/debian/control
+++ b/debian/control
@@ -108,6 +108,21 @@ Description: nymea.io plugin for denon
This package will install the nymea.io plugin for denon
+Package: nymea-plugin-dweetio
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ nymea-plugins-translations,
+Description: nymea.io plugin for dweet.io
+ The nymea daemon is a plugin based IoT (Internet of Things) server. The
+ server works like a translator for devices, things and services and
+ allows them to interact.
+ With the powerful rule engine you are able to connect any device available
+ in the system and create individual scenes and behaviors for your environment.
+ .
+ This package will install the nymea.io plugin for dweet.io
+
+
Package: nymea-plugin-elro
Architecture: any
Depends: ${shlibs:Depends},
diff --git a/debian/nymea-plugin-dweetio.install.in b/debian/nymea-plugin-dweetio.install.in
new file mode 100644
index 00000000..0e0f6599
--- /dev/null
+++ b/debian/nymea-plugin-dweetio.install.in
@@ -0,0 +1 @@
+usr/lib/@DEB_HOST_MULTIARCH@/nymea/plugins/libnymea_deviceplugindweetio.so
diff --git a/dweetio/deviceplugindweetio.cpp b/dweetio/deviceplugindweetio.cpp
new file mode 100644
index 00000000..4f01476d
--- /dev/null
+++ b/dweetio/deviceplugindweetio.cpp
@@ -0,0 +1,265 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * *
+ * Copyright (C) 2018 Bernhard Trinnes *
+ * *
+ * This file is part of nymea. *
+ * *
+ * This library is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Lesser General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2.1 of the License, or (at your option) any later version. *
+ * *
+ * This library 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 library; If not, see *
+ * . *
+ * *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+
+
+#include "deviceplugindweetio.h"
+#include "plugininfo.h"
+#include "hardwaremanager.h"
+#include "network/networkaccessmanager.h"
+
+#include
+#include
+#include
+#include
+#include
+
+DevicePluginDweetio::DevicePluginDweetio()
+{
+
+}
+
+DevicePluginDweetio::~DevicePluginDweetio()
+{
+ hardwareManager()->pluginTimerManager()->unregisterTimer(m_pluginTimer);
+}
+
+void DevicePluginDweetio::init()
+{
+ m_pluginTimer = hardwareManager()->pluginTimerManager()->registerTimer(60);
+ connect(m_pluginTimer, &PluginTimer::timeout, this, &DevicePluginDweetio::onPluginTimer);
+}
+
+DeviceManager::DeviceSetupStatus DevicePluginDweetio::setupDevice(Device *device)
+{
+
+ if (device->deviceClassId() == postDeviceClassId) {
+
+ QString thing = device->paramValue(postThingParamTypeId).toString();
+ if (thing.isEmpty()){
+ qDebug(dcDweetio) << "No thing name given, creating one";
+ thing = QUuid::createUuid().toString();
+ }
+ return DeviceManager::DeviceSetupStatusSuccess;
+ } else if (device->deviceClassId() == getDeviceClassId) {
+
+ return DeviceManager::DeviceSetupStatusSuccess;
+ }
+ return DeviceManager::DeviceSetupStatusFailure;
+}
+
+void DevicePluginDweetio::postSetupDevice(Device *device)
+{
+ if (device->deviceClassId() == getDeviceClassId){
+ getRequest(device);
+ }
+}
+
+void DevicePluginDweetio::deviceRemoved(Device *device)
+{
+ if (device->deviceClassId() == getDeviceClassId) {
+ foreach(QNetworkReply *reply, m_getReplies.keys()){
+ if (m_getReplies.value(reply) == device) {
+ m_getReplies.remove(reply);
+ }
+ }
+ }
+
+ if (device->deviceClassId() == postDeviceClassId) {
+ foreach(QNetworkReply *reply, m_postReplies.keys()){
+ if (m_postReplies.value(reply) == device) {
+ m_postReplies.remove(reply);
+ }
+ }
+ }
+}
+
+DeviceManager::DeviceError DevicePluginDweetio::executeAction(Device *device, const Action &action)
+{
+ qCDebug(dcDweetio) << "Execute action" << device->id() << action.id() << action.params();
+
+ if (device->deviceClassId() == postDeviceClassId) {
+
+ if (action.actionTypeId() == postContentDataActionTypeId) {
+
+ QString content = action.param(postContentDataAreaParamTypeId).value().toString();
+ postContent(content, device, action);
+
+ return DeviceManager::DeviceErrorAsync;
+ }
+ return DeviceManager::DeviceErrorActionTypeNotFound;
+ }
+ return DeviceManager::DeviceErrorDeviceClassNotFound;
+}
+
+void DevicePluginDweetio::postContent(const QString &content, Device *device, const Action &action)
+{
+ QUrl url = QString("https://dweet.io:443/dweet/for/") + device->paramValue(postThingParamTypeId).toString();
+ QNetworkRequest request(url);
+ request.setRawHeader("Content-Type", QString("application/json").toLocal8Bit());
+ request.setRawHeader("Accept", QString("application/json").toLocal8Bit());
+ request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
+
+ QString key = device->paramValue(postKeyParamTypeId).toString();
+ if (!(key.isEmpty()) || !(key == "none")) {
+ QUrlQuery query;
+ query.addQueryItem("key", key);
+ url.setQuery(query);
+ }
+
+ QVariantMap contentMap;
+ contentMap.insert(device->paramValue(postContentNameParamTypeId).toString(), content);
+
+ QByteArray data = QJsonDocument::fromVariant(contentMap).toJson(QJsonDocument::Compact);
+ qDebug(dcDweetio) << "Dweet: " << data << "Url: " << url;
+
+ QNetworkReply *reply = hardwareManager()->networkManager()->post(request, data);
+ m_asyncActions.insert(reply, action.id());
+ connect(reply, &QNetworkReply::finished, this, &DevicePluginDweetio::onNetworkReplyFinished);
+ m_postReplies.insert(reply, device);
+
+}
+
+void DevicePluginDweetio::setConnectionStatus(bool status, Device *device)
+{
+ // Set connection status
+ device->setStateValue(postConnectedStateTypeId, status);
+}
+
+void DevicePluginDweetio::processPostReply(const QVariantMap &data, Device *device)
+{
+ QString message = data.value("this").toString();
+ qDebug(dcDweetio) << "Access Reply: " << message << "Device: " << device->name();
+}
+
+void DevicePluginDweetio::processGetReply(const QVariantMap &data, Device *device)
+{
+ QVariantList withList = data.value("with").toList();
+ QVariantMap contentMap = withList.first().toMap().value("content").toMap();
+ QString content = contentMap.value(device->paramValue(getContentNameParamTypeId).toString()).toString();
+ device->setStateValue(getContentStateTypeId, content);
+
+ qDebug(dcDweetio) << "Data: " << data << "Device: " << device->name();
+}
+
+void DevicePluginDweetio::onNetworkReplyFinished()
+{
+ QNetworkReply *reply = static_cast(sender());
+ int status = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
+
+ if (m_postReplies.contains(reply)) {
+ Device *device = m_postReplies.value(reply);
+ m_postReplies.remove(reply);
+ ActionId actionId = m_asyncActions.value(reply);
+
+ // check HTTP status code
+ if ((status != 200) && (status != 204)) {
+ qCWarning(dcDweetio) << "Update reply HTTP error:" << status << reply->errorString() << reply->readAll();
+ emit actionExecutionFinished(actionId, DeviceManager::DeviceErrorMissingParameter);
+ setConnectionStatus(false, device);
+ reply->deleteLater();
+ return;
+ }
+
+ emit actionExecutionFinished(actionId, DeviceManager::DeviceErrorNoError);
+ setConnectionStatus(true, device);
+ if (status == 204){
+ reply->deleteLater();
+ return;
+ }
+
+ // check JSON file
+ QJsonParseError error;
+ QJsonDocument jsonDoc = QJsonDocument::fromJson(reply->readAll(), &error);
+ if (error.error != QJsonParseError::NoError) {
+ qCWarning(dcDweetio) << "Update reply JSON error:" << error.errorString();
+
+ reply->deleteLater();
+ return;
+ }
+
+ processPostReply(jsonDoc.toVariant().toMap(), device);
+
+ } else if (m_getReplies.contains(reply)) {
+
+ Device *device = m_getReplies.value(reply);
+ m_getReplies.remove(reply);
+
+ // check HTTP status code
+ if ((status != 200) && (status != 204)) {
+ qCWarning(dcDweetio) << "Update reply HTTP error:" << status << reply->errorString() << reply->readAll();
+ setConnectionStatus(false, device);
+ reply->deleteLater();
+ return;
+ }
+
+ setConnectionStatus(true, device);
+ if (status == 204){
+ reply->deleteLater();
+ return;
+ }
+
+ // check JSON file
+ QJsonParseError error;
+ QJsonDocument jsonDoc = QJsonDocument::fromJson(reply->readAll(), &error);
+ if (error.error != QJsonParseError::NoError) {
+ qCWarning(dcDweetio) << "Update reply JSON error:" << error.errorString();
+
+ reply->deleteLater();
+ return;
+ }
+
+ processGetReply(jsonDoc.toVariant().toMap(), device);
+ }
+}
+
+void DevicePluginDweetio::getRequest(Device *device)
+{
+ qCDebug(dcDweetio()) << "Refresh data for" << device->name();
+
+ QUrl url = QString("https://dweet.io:443/get/latest/dweet/for/") + device->paramValue(postThingParamTypeId).toString();
+ QNetworkRequest request(url);
+ request.setRawHeader("Content-Type", QString("application/json").toLocal8Bit());
+ request.setRawHeader("Accept", QString("application/json").toLocal8Bit());
+ request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
+
+ QString key = device->paramValue(getKeyParamTypeId).toString();
+ if (!(key.isEmpty()) || !(key == "none")) {
+ QUrlQuery query;
+ query.addQueryItem("key", key);
+ url.setQuery(query);
+ }
+
+ QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(url));
+ connect(reply, &QNetworkReply::finished, this, &DevicePluginDweetio::onNetworkReplyFinished);
+ m_getReplies.insert(reply, device);
+}
+
+
+void DevicePluginDweetio::onPluginTimer()
+{
+ foreach (Device *device, myDevices()) {
+ if (device->deviceClassId() == getDeviceClassId) {
+ getRequest(device);
+ }
+ }
+}
diff --git a/dweetio/deviceplugindweetio.h b/dweetio/deviceplugindweetio.h
new file mode 100644
index 00000000..21a1f942
--- /dev/null
+++ b/dweetio/deviceplugindweetio.h
@@ -0,0 +1,72 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * *
+ * Copyright (C) 2018 Bernhard Trinnes *
+ * *
+ * This file is part of nymea. *
+ * *
+ * This library is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Lesser General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2.1 of the License, or (at your option) any later version. *
+ * *
+ * This library 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 library; If not, see *
+ * . *
+ * *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#ifndef DEVICEPLUGINDWEETIO_H
+#define DEVICEPLUGINDWEETIO_H
+
+#include "devicemanager.h"
+#include "plugin/deviceplugin.h"
+
+#include
+#include
+#include
+#include
+#include
+
+#include "plugintimer.h"
+
+class DevicePluginDweetio : public DevicePlugin
+{
+ Q_OBJECT
+
+ Q_PLUGIN_METADATA(IID "io.nymea.DevicePlugin" FILE "deviceplugindweetio.json")
+ Q_INTERFACES(DevicePlugin)
+
+public:
+ explicit DevicePluginDweetio();
+ ~DevicePluginDweetio();
+
+ void init() override;
+ DeviceManager::DeviceSetupStatus setupDevice(Device *device) override;
+ void deviceRemoved(Device *device) override;
+ DeviceManager::DeviceError executeAction(Device *device, const Action &action) override;
+ void postSetupDevice(Device *device) override;
+
+private:
+ PluginTimer *m_pluginTimer = nullptr;
+ QHash m_postReplies;
+ QHash m_getReplies;
+
+ QHash m_asyncActions;
+
+ void postContent(const QString &content, Device *device, const Action &action);
+ void processPostReply(const QVariantMap &data, Device *device);
+ void processGetReply(const QVariantMap &data, Device *device);
+ void setConnectionStatus(bool status, Device *device);
+
+ void getRequest(Device *device);
+private slots:
+ void onNetworkReplyFinished();
+ void onPluginTimer();
+};
+
+#endif // DEVICEPLUGINDWEETIO_H
diff --git a/dweetio/deviceplugindweetio.json b/dweetio/deviceplugindweetio.json
new file mode 100644
index 00000000..97ec5535
--- /dev/null
+++ b/dweetio/deviceplugindweetio.json
@@ -0,0 +1,130 @@
+{
+ "displayName": "Dweetio",
+ "name": "Dweetio",
+ "id": "9338f22c-df47-414e-a33c-9b6d40c953c9",
+ "vendors": [
+ {
+ "id": "23ff381d-c580-4ba1-85bd-30598f893a43",
+ "displayName": "Dweetio",
+ "name": "dweetio",
+ "deviceClasses": [
+ {
+ "id": "5036030e-adc7-403b-b9b6-a27a4a5afea8",
+ "name": "post",
+ "displayName": "Post",
+ "createMethods": ["user"],
+ "criticalStateTypeId": "4d1790bf-28c6-4c1f-8892-ba1a0ef140f5",
+ "deviceIcon": "Network",
+ "interfaces": [],
+ "basicTags": [
+ "Service"
+ ],
+ "paramTypes": [
+ {
+ "id": "b50b3682-fb2e-4185-b7aa-31741648d9bb",
+ "name": "thing",
+ "displayName": "Thing",
+ "type" : "QString",
+ "inputType": "TextLine"
+ },
+ {
+ "id": "892b7323-ee85-4520-9160-f206f11b344e",
+ "name": "key",
+ "displayName": "key",
+ "defaultValue": "none",
+ "type" : "QString",
+ "inputType": "TextLine"
+ },
+ {
+ "id": "f2b2c3ae-a915-4dd9-a9dd-9545d9dd3d4e",
+ "name": "contentName",
+ "displayName": "Content Name",
+ "type": "QString",
+ "inputType": "TextLine"
+ }
+ ],
+ "stateTypes": [
+ {
+ "id": "4d1790bf-28c6-4c1f-8892-ba1a0ef140f5",
+ "name": "connected",
+ "displayName": "connected",
+ "displayNameEvent": "connected changed",
+ "defaultValue": false,
+ "type": "bool"
+ }
+ ],
+ "actionTypes": [
+ {
+ "id": "76472328-dbaa-458f-90c9-0b46968af511",
+ "name": "contentData",
+ "displayName": "Send Content",
+ "paramTypes": [
+ {
+ "id": "13760d36-26eb-40b5-85b3-450ca7937666",
+ "name": "contentDataArea",
+ "displayName": "Content",
+ "type": "QString",
+ "inputType": "TextArea"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "8318f86c-061a-450f-978d-f42e3513ca8c",
+ "name": "get",
+ "displayName": "Get",
+ "createMethods": ["user"],
+ "criticalStateTypeId": "4d1790bf-28c6-4c1f-8892-ba1a0ef140f5",
+ "deviceIcon": "Network",
+ "interfaces": [],
+ "basicTags": [
+ "Service"
+ ],
+ "paramTypes": [
+ {
+ "id": "b50b3682-fb2e-4185-b7aa-31741648d9bb",
+ "name": "thing",
+ "displayName": "Thing",
+ "type" : "QString",
+ "inputType": "TextLine"
+ },
+ {
+ "id": "892b7323-ee85-4520-9160-f206f11b344e",
+ "name": "key",
+ "displayName": "Key",
+ "type" : "QString",
+ "defaultValue": "none",
+ "inputType": "TextLine"
+ },
+ {
+ "id": "f2b2c3ae-a915-4dd9-a9dd-9545d9dd3d4e",
+ "name": "contentName",
+ "displayName": "Content name",
+ "type": "QString",
+ "inputType": "TextLine"
+ }
+ ],
+ "stateTypes": [
+ {
+ "id": "4d1790bf-28c6-4c1f-8892-ba1a0ef140f5",
+ "name": "connected",
+ "displayName": "connected",
+ "displayNameEvent": "connected changed",
+ "defaultValue": false,
+ "type": "bool"
+ },
+ {
+ "id": "53dfe2bc-792d-420e-bc1f-2890ad715b27",
+ "name": "content",
+ "displayName": "Content",
+ "displayNameEvent": "content changed",
+ "defaultValue": "",
+ "type": "QString"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/dweetio/dweetio.pro b/dweetio/dweetio.pro
new file mode 100644
index 00000000..07314abc
--- /dev/null
+++ b/dweetio/dweetio.pro
@@ -0,0 +1,11 @@
+include(../plugins.pri)
+
+QT += network
+
+TARGET = $$qtLibraryTarget(nymea_deviceplugindweetio)
+
+SOURCES += \
+ deviceplugindweetio.cpp \
+
+HEADERS += \
+ deviceplugindweetio.h \
diff --git a/dweetio/translations/9338f22c-df47-414e-a33c-9b6d40c953c9-en_US.ts b/dweetio/translations/9338f22c-df47-414e-a33c-9b6d40c953c9-en_US.ts
new file mode 100644
index 00000000..bc2f1d44
--- /dev/null
+++ b/dweetio/translations/9338f22c-df47-414e-a33c-9b6d40c953c9-en_US.ts
@@ -0,0 +1,80 @@
+
+
+
+
+ Dweetio
+
+ Dweetio
+ The name of the plugin Dweetio (9338f22c-df47-414e-a33c-9b6d40c953c9)
+----------
+The name of the vendor (23ff381d-c580-4ba1-85bd-30598f893a43)
+
+
+
+ Post
+ The name of the DeviceClass (5036030e-adc7-403b-b9b6-a27a4a5afea8)
+
+
+
+ Thing
+ The name of the paramType (b50b3682-fb2e-4185-b7aa-31741648d9bb) of post
+----------
+The name of the paramType (b50b3682-fb2e-4185-b7aa-31741648d9bb) of get
+
+
+
+ key
+ The name of the paramType (892b7323-ee85-4520-9160-f206f11b344e) of post
+
+
+
+ Content Name
+ The name of the paramType (f2b2c3ae-a915-4dd9-a9dd-9545d9dd3d4e) of post
+
+
+
+ connected changed
+ The name of the autocreated EventType (4d1790bf-28c6-4c1f-8892-ba1a0ef140f5)
+
+
+
+ connected
+ The name of the ParamType of the autocreated EventType (4d1790bf-28c6-4c1f-8892-ba1a0ef140f5) of DeviceClass post
+----------
+The name of the ParamType of the autocreated EventType (4d1790bf-28c6-4c1f-8892-ba1a0ef140f5) of DeviceClass get
+
+
+
+ Send Content
+ The name of the ActionType 76472328-dbaa-458f-90c9-0b46968af511 of deviceClass post
+
+
+
+ Content
+ The name of the paramType (13760d36-26eb-40b5-85b3-450ca7937666) of post
+----------
+The name of the ParamType of the autocreated EventType (53dfe2bc-792d-420e-bc1f-2890ad715b27) of DeviceClass get
+
+
+
+ Get
+ The name of the DeviceClass (8318f86c-061a-450f-978d-f42e3513ca8c)
+
+
+
+ Key
+ The name of the paramType (892b7323-ee85-4520-9160-f206f11b344e) of get
+
+
+
+ Content name
+ The name of the paramType (f2b2c3ae-a915-4dd9-a9dd-9545d9dd3d4e) of get
+
+
+
+ content changed
+ The name of the autocreated EventType (53dfe2bc-792d-420e-bc1f-2890ad715b27)
+
+
+
+
diff --git a/elgato/aveabulb.cpp b/elgato/aveabulb.cpp
index cfd72330..1ab4bd16 100644
--- a/elgato/aveabulb.cpp
+++ b/elgato/aveabulb.cpp
@@ -205,7 +205,7 @@ bool AveaBulb::syncColor()
return false;
}
- m_device->setStateValue(aveaBlueStateTypeId, m_white);
+ m_device->setStateValue(aveaWhiteStateTypeId, m_white);
m_device->setStateValue(aveaRedStateTypeId, m_red);
m_device->setStateValue(aveaGreenStateTypeId, m_green);
m_device->setStateValue(aveaBlueStateTypeId, m_blue);
diff --git a/elgato/devicepluginelgato.cpp b/elgato/devicepluginelgato.cpp
index c9ba8226..6db65743 100644
--- a/elgato/devicepluginelgato.cpp
+++ b/elgato/devicepluginelgato.cpp
@@ -498,12 +498,32 @@ DeviceManager::DeviceError DevicePluginElgato::executeAction(Device *device, con
device->setStateValue(aveaColorStateTypeId, color);
return DeviceManager::DeviceErrorNoError;
+ } else if (action.actionTypeId() == aveaColorTemperatureActionTypeId) {
+ int ctValue = action.param(aveaColorTemperatureActionParamTypeId).value().toInt();
+ // normalize from 0 to 347 instead of 153 to 500
+ int ct = ctValue - 153;
+ // for blue: lower half fades blue from 255 to 0
+ // ct : (255-blue) = (347 / 2) : 255
+ int blue = qMax(0, 255 - (ct * 255 / (347 / 2)));
+ // for red: upper half fades red from 0 255
+ // ct - (347/2) : red = (347 / 2) : 255
+ int red = qMax(0, (ct - (347/2)) * 255 / ((500-153)/2));
+
+ QColor color;
+ color.setRed(red);
+ color.setGreen(0);
+ color.setBlue(blue);
+ if (!bulb->setWhite(4095) || !bulb->setColor(color)) {
+ return DeviceManager::DeviceErrorHardwareNotAvailable;
+ }
+ device->setStateValue(aveaColorStateTypeId, color);
+ device->setStateValue(aveaColorTemperatureStateTypeId, ctValue);
+ return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == aveaWhiteActionTypeId) {
int whiteValue = action.param(aveaWhiteActionParamTypeId).value().toInt();
if (!bulb->setWhite(whiteValue))
return DeviceManager::DeviceErrorHardwareNotAvailable;
- device->setStateValue(aveaWhiteStateTypeId, whiteValue);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == aveaGreenActionTypeId) {
int greenValue = action.param(aveaGreenActionParamTypeId).value().toInt();
diff --git a/elgato/devicepluginelgato.json b/elgato/devicepluginelgato.json
index 8626a936..b531d48d 100644
--- a/elgato/devicepluginelgato.json
+++ b/elgato/devicepluginelgato.json
@@ -14,7 +14,7 @@
"displayName": "Avea",
"deviceIcon": "LightBulb",
"basicTags": ["Device", "Actuator", "Lighting"],
- "interfaces": ["connectable"],
+ "interfaces": ["connectable", "light", "colorlight"],
"createMethods": ["discovery"],
"paramTypes": [
{
@@ -78,6 +78,19 @@
"defaultValue": "#000000",
"writable": true
},
+ {
+ "id": "8932ddac-d718-4345-94aa-f4c9611f132f",
+ "name": "colorTemperature",
+ "displayName": "color temperature",
+ "displayNameEvent": "color temperature changed",
+ "displayNameAction": "Set color temperature",
+ "type": "int",
+ "unit": "Mired",
+ "defaultValue": 170,
+ "minValue": 153,
+ "maxValue": 500,
+ "writable": true
+ },
{
"id": "50f6a224-fb8d-487d-8774-1a0536e5b1aa",
"name": "white",
diff --git a/elgato/translations/c5c03ad4-bfdb-444a-8eca-2c234c46cc27-de_DE.ts b/elgato/translations/c5c03ad4-bfdb-444a-8eca-2c234c46cc27-de_DE.ts
index 1a8c04ca..e690e2b3 100644
--- a/elgato/translations/c5c03ad4-bfdb-444a-8eca-2c234c46cc27-de_DE.ts
+++ b/elgato/translations/c5c03ad4-bfdb-444a-8eca-2c234c46cc27-de_DE.ts
@@ -4,8 +4,8 @@
Elgato
-
-
+
+ ElgatoThe name of the plugin Elgato (c5c03ad4-bfdb-444a-8eca-2c234c46cc27)
----------
@@ -13,50 +13,50 @@ The name of the vendor (90a3091d-1053-4f77-8dc3-92e27bbcebe7)
-
+ AveaThe name of the DeviceClass (164f9602-90ee-4693-bda3-9cafae37603e)
-
+ Set colorThe name of the autocreated ActionType (3f15637a-8272-4714-bd08-04806e05bbef)
-
+ NameThe name of the paramType (d7a5d96f-33dc-4dc3-a171-b1e89a5e1a4b) of avea
-
+ MAC addressThe name of the paramType (20932e39-00fd-40e3-8f39-850ba149844e) of avea
-
+ Connected changedThe name of the autocreated EventType (6d5e792a-c786-40d2-ae35-a48ac6fafcbc)
-
+ ConnectedThe name of the ParamType of the autocreated EventType (6d5e792a-c786-40d2-ae35-a48ac6fafcbc) of DeviceClass avea
-
+ Power changedThe name of the autocreated EventType (2b779968-ff4f-4a05-a466-074e14288a8c)
-
-
+
+ PowerThe name of the ParamType of the autocreated EventType (2b779968-ff4f-4a05-a466-074e14288a8c) of DeviceClass avea
----------
@@ -64,8 +64,8 @@ The name of the autocreated ParamType of the writable StateType (2b779968-ff4f-4
-
-
+
+ BrightnessThe name of the ParamType of the autocreated EventType (c38181a0-e19b-423f-8b66-dedda94e89b5) of DeviceClass avea
----------
@@ -73,8 +73,8 @@ The name of the autocreated ParamType of the writable StateType (c38181a0-e19b-4
-
-
+
+ ColorThe name of the ParamType of the autocreated EventType (3f15637a-8272-4714-bd08-04806e05bbef) of DeviceClass avea
----------
@@ -82,8 +82,8 @@ The name of the autocreated ParamType of the writable StateType (3f15637a-8272-4
-
-
+
+ RedThe name of the ParamType of the autocreated EventType (50ab71d1-8970-4531-b1ad-f387d01bab90) of DeviceClass avea
----------
@@ -91,8 +91,8 @@ The name of the autocreated ParamType of the writable StateType (50ab71d1-8970-4
-
-
+
+ GreenThe name of the ParamType of the autocreated EventType (9e8ddebc-33fe-418a-895f-d8148fabcfee) of DeviceClass avea
----------
@@ -100,8 +100,8 @@ The name of the autocreated ParamType of the writable StateType (9e8ddebc-33fe-4
-
-
+
+ BlueThe name of the ParamType of the autocreated EventType (f4310747-d468-4d2e-abe4-b5e4d0245dad) of DeviceClass avea
----------
@@ -109,8 +109,8 @@ The name of the autocreated ParamType of the writable StateType (f4310747-d468-4
-
-
+
+ FadeThe name of the ParamType of the autocreated EventType (01ccda48-44c6-495b-b0a7-c2a0bf5a570d) of DeviceClass avea
----------
@@ -118,38 +118,59 @@ The name of the autocreated ParamType of the writable StateType (01ccda48-44c6-4
-
+ Set powerThe name of the autocreated ActionType (2b779968-ff4f-4a05-a466-074e14288a8c)
-
+ Brightness changedThe name of the autocreated EventType (c38181a0-e19b-423f-8b66-dedda94e89b5)
-
+ Set brightnessThe name of the autocreated ActionType (c38181a0-e19b-423f-8b66-dedda94e89b5)
-
+ Color changedThe name of the autocreated EventType (3f15637a-8272-4714-bd08-04806e05bbef)
-
+
+ color temperature changed
+ The name of the autocreated EventType (8932ddac-d718-4345-94aa-f4c9611f132f)
+
+
+
+
+
+ color temperature
+ The name of the ParamType of the autocreated EventType (8932ddac-d718-4345-94aa-f4c9611f132f) of DeviceClass avea
+----------
+The name of the autocreated ParamType of the writable StateType (8932ddac-d718-4345-94aa-f4c9611f132f) of DeviceClass avea
+
+
+
+
+ Set color temperature
+ The name of the autocreated ActionType (8932ddac-d718-4345-94aa-f4c9611f132f)
+
+
+
+ white changedThe name of the autocreated EventType (50f6a224-fb8d-487d-8774-1a0536e5b1aa)
-
-
+
+ whiteThe name of the ParamType of the autocreated EventType (50f6a224-fb8d-487d-8774-1a0536e5b1aa) of DeviceClass avea
----------
@@ -157,55 +178,55 @@ The name of the autocreated ParamType of the writable StateType (50f6a224-fb8d-4
-
+ Set whiteThe name of the autocreated ActionType (50f6a224-fb8d-487d-8774-1a0536e5b1aa)
-
+ Red changedThe name of the autocreated EventType (50ab71d1-8970-4531-b1ad-f387d01bab90)
-
+ Set redThe name of the autocreated ActionType (50ab71d1-8970-4531-b1ad-f387d01bab90)
-
+ Green changedThe name of the autocreated EventType (9e8ddebc-33fe-418a-895f-d8148fabcfee)
-
+ Set greenThe name of the autocreated ActionType (9e8ddebc-33fe-418a-895f-d8148fabcfee)
-
+ Blue changedThe name of the autocreated EventType (f4310747-d468-4d2e-abe4-b5e4d0245dad)
-
+ Set blueThe name of the autocreated ActionType (f4310747-d468-4d2e-abe4-b5e4d0245dad)
-
+ Fade changedThe name of the autocreated EventType (01ccda48-44c6-495b-b0a7-c2a0bf5a570d)
-
+ Set fadeThe name of the autocreated ActionType (01ccda48-44c6-495b-b0a7-c2a0bf5a570d)
diff --git a/elgato/translations/c5c03ad4-bfdb-444a-8eca-2c234c46cc27-en_US.ts b/elgato/translations/c5c03ad4-bfdb-444a-8eca-2c234c46cc27-en_US.ts
index 1a48e12e..a83070dc 100644
--- a/elgato/translations/c5c03ad4-bfdb-444a-8eca-2c234c46cc27-en_US.ts
+++ b/elgato/translations/c5c03ad4-bfdb-444a-8eca-2c234c46cc27-en_US.ts
@@ -4,8 +4,8 @@
Elgato
-
-
+
+ ElgatoThe name of the plugin Elgato (c5c03ad4-bfdb-444a-8eca-2c234c46cc27)
----------
@@ -13,50 +13,50 @@ The name of the vendor (90a3091d-1053-4f77-8dc3-92e27bbcebe7)
-
+ AveaThe name of the DeviceClass (164f9602-90ee-4693-bda3-9cafae37603e)
-
+ Set colorThe name of the autocreated ActionType (3f15637a-8272-4714-bd08-04806e05bbef)
-
+ NameThe name of the paramType (d7a5d96f-33dc-4dc3-a171-b1e89a5e1a4b) of avea
-
+ MAC addressThe name of the paramType (20932e39-00fd-40e3-8f39-850ba149844e) of avea
-
+ Connected changedThe name of the autocreated EventType (6d5e792a-c786-40d2-ae35-a48ac6fafcbc)
-
+ ConnectedThe name of the ParamType of the autocreated EventType (6d5e792a-c786-40d2-ae35-a48ac6fafcbc) of DeviceClass avea
-
+ Power changedThe name of the autocreated EventType (2b779968-ff4f-4a05-a466-074e14288a8c)
-
-
+
+ PowerThe name of the ParamType of the autocreated EventType (2b779968-ff4f-4a05-a466-074e14288a8c) of DeviceClass avea
----------
@@ -64,8 +64,8 @@ The name of the autocreated ParamType of the writable StateType (2b779968-ff4f-4
-
-
+
+ BrightnessThe name of the ParamType of the autocreated EventType (c38181a0-e19b-423f-8b66-dedda94e89b5) of DeviceClass avea
----------
@@ -73,8 +73,8 @@ The name of the autocreated ParamType of the writable StateType (c38181a0-e19b-4
-
-
+
+ ColorThe name of the ParamType of the autocreated EventType (3f15637a-8272-4714-bd08-04806e05bbef) of DeviceClass avea
----------
@@ -82,8 +82,8 @@ The name of the autocreated ParamType of the writable StateType (3f15637a-8272-4
-
-
+
+ RedThe name of the ParamType of the autocreated EventType (50ab71d1-8970-4531-b1ad-f387d01bab90) of DeviceClass avea
----------
@@ -91,8 +91,8 @@ The name of the autocreated ParamType of the writable StateType (50ab71d1-8970-4
-
-
+
+ GreenThe name of the ParamType of the autocreated EventType (9e8ddebc-33fe-418a-895f-d8148fabcfee) of DeviceClass avea
----------
@@ -100,8 +100,8 @@ The name of the autocreated ParamType of the writable StateType (9e8ddebc-33fe-4
-
-
+
+ BlueThe name of the ParamType of the autocreated EventType (f4310747-d468-4d2e-abe4-b5e4d0245dad) of DeviceClass avea
----------
@@ -109,8 +109,8 @@ The name of the autocreated ParamType of the writable StateType (f4310747-d468-4
-
-
+
+ FadeThe name of the ParamType of the autocreated EventType (01ccda48-44c6-495b-b0a7-c2a0bf5a570d) of DeviceClass avea
----------
@@ -118,38 +118,59 @@ The name of the autocreated ParamType of the writable StateType (01ccda48-44c6-4
-
+ Set powerThe name of the autocreated ActionType (2b779968-ff4f-4a05-a466-074e14288a8c)
-
+ Brightness changedThe name of the autocreated EventType (c38181a0-e19b-423f-8b66-dedda94e89b5)
-
+ Set brightnessThe name of the autocreated ActionType (c38181a0-e19b-423f-8b66-dedda94e89b5)
-
+ Color changedThe name of the autocreated EventType (3f15637a-8272-4714-bd08-04806e05bbef)
-
+
+ color temperature changed
+ The name of the autocreated EventType (8932ddac-d718-4345-94aa-f4c9611f132f)
+
+
+
+
+
+ color temperature
+ The name of the ParamType of the autocreated EventType (8932ddac-d718-4345-94aa-f4c9611f132f) of DeviceClass avea
+----------
+The name of the autocreated ParamType of the writable StateType (8932ddac-d718-4345-94aa-f4c9611f132f) of DeviceClass avea
+
+
+
+
+ Set color temperature
+ The name of the autocreated ActionType (8932ddac-d718-4345-94aa-f4c9611f132f)
+
+
+
+ white changedThe name of the autocreated EventType (50f6a224-fb8d-487d-8774-1a0536e5b1aa)
-
-
+
+ whiteThe name of the ParamType of the autocreated EventType (50f6a224-fb8d-487d-8774-1a0536e5b1aa) of DeviceClass avea
----------
@@ -157,55 +178,55 @@ The name of the autocreated ParamType of the writable StateType (50f6a224-fb8d-4
-
+ Set whiteThe name of the autocreated ActionType (50f6a224-fb8d-487d-8774-1a0536e5b1aa)
-
+ Red changedThe name of the autocreated EventType (50ab71d1-8970-4531-b1ad-f387d01bab90)
-
+ Set redThe name of the autocreated ActionType (50ab71d1-8970-4531-b1ad-f387d01bab90)
-
+ Green changedThe name of the autocreated EventType (9e8ddebc-33fe-418a-895f-d8148fabcfee)
-
+ Set greenThe name of the autocreated ActionType (9e8ddebc-33fe-418a-895f-d8148fabcfee)
-
+ Blue changedThe name of the autocreated EventType (f4310747-d468-4d2e-abe4-b5e4d0245dad)
-
+ Set blueThe name of the autocreated ActionType (f4310747-d468-4d2e-abe4-b5e4d0245dad)
-
+ Fade changedThe name of the autocreated EventType (01ccda48-44c6-495b-b0a7-c2a0bf5a570d)
-
+ Set fadeThe name of the autocreated ActionType (01ccda48-44c6-495b-b0a7-c2a0bf5a570d)
diff --git a/netatmo/translations/69d14951-0c02-4877-bcef-dffdf48b7ccb-fr.ts b/netatmo/translations/69d14951-0c02-4877-bcef-dffdf48b7ccb-fr.ts
index 5edc24fd..0ecaf453 100644
--- a/netatmo/translations/69d14951-0c02-4877-bcef-dffdf48b7ccb-fr.ts
+++ b/netatmo/translations/69d14951-0c02-4877-bcef-dffdf48b7ccb-fr.ts
@@ -16,7 +16,7 @@ The name of the vendor (4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351)
Netatmo ConnectionThe name of the DeviceClass (728d5a67-27a3-400e-b83c-2765f5196f69)
-
+ Connexion Netatmo
@@ -25,37 +25,37 @@ The name of the vendor (4b46b4ed-5ec9-4aa4-afc3-92d3f80e6351)
The name of the paramType (a97d256c-e159-4aa0-bc71-6bd7cd0688b3) of indoor
----------
The name of the paramType (a97d256c-e159-4aa0-bc71-6bd7cd0688b3) of outdoor
-
+ NomusernameThe name of the paramType (763c2c10-dee5-41c8-9f7e-ded741945e73) of connection
-
+ Nom d'utilisateurpasswordThe name of the paramType (c0d892d6-f359-4782-9d7d-8f74a3b53e3e) of connection
-
+ Mot de passeavailable changedThe name of the autocreated EventType (2f79bc1d-27ed-480a-b583-728363c83ea6)
-
+ Disponibilité modifiéavailableThe name of the ParamType of the autocreated EventType (2f79bc1d-27ed-480a-b583-728363c83ea6) of DeviceClass connection
-
+ DisponibleIndoor StationThe name of the DeviceClass (1c809049-04f2-4710-99f5-6ed379a2934f)
-
+ Sation intérieure
@@ -64,14 +64,14 @@ The name of the paramType (a97d256c-e159-4aa0-bc71-6bd7cd0688b3) of outdoorThe name of the paramType (157d470a-e579-4d0e-b879-6b5bfa8e34ae) of indoor
----------
The name of the paramType (157d470a-e579-4d0e-b879-6b5bfa8e34ae) of outdoor
-
+ MAC adresselast update changedThe name of the autocreated EventType (50da9f6b-c350-401c-a72e-2e4036f3975d)
-
+ Derniére version modernisée
@@ -80,14 +80,14 @@ The name of the paramType (157d470a-e579-4d0e-b879-6b5bfa8e34ae) of outdoorThe name of the ParamType of the autocreated EventType (50da9f6b-c350-401c-a72e-2e4036f3975d) of DeviceClass indoor
----------
The name of the ParamType of the autocreated EventType (50da9f6b-c350-401c-a72e-2e4036f3975d) of DeviceClass outdoor
-
+ Dernier versiontemperature changedThe name of the autocreated EventType (3cb25538-e463-40ae-92f9-8f34f0c06b92)
-
+ Temperature modifié
@@ -96,14 +96,14 @@ The name of the ParamType of the autocreated EventType (50da9f6b-c350-401c-a72e-
The name of the ParamType of the autocreated EventType (3cb25538-e463-40ae-92f9-8f34f0c06b92) of DeviceClass indoor
----------
The name of the ParamType of the autocreated EventType (3cb25538-e463-40ae-92f9-8f34f0c06b92) of DeviceClass outdoor
-
+ Temperaturetemperature minimum changedThe name of the autocreated EventType (ae8bb713-8805-4efd-89a1-bca44a1f1690)
-
+ Temperatur minimum modifié
@@ -112,14 +112,14 @@ The name of the ParamType of the autocreated EventType (3cb25538-e463-40ae-92f9-
The name of the ParamType of the autocreated EventType (ae8bb713-8805-4efd-89a1-bca44a1f1690) of DeviceClass indoor
----------
The name of the ParamType of the autocreated EventType (ae8bb713-8805-4efd-89a1-bca44a1f1690) of DeviceClass outdoor
-
+ Temperatur minimumtemperature maximum changedThe name of the autocreated EventType (dd30507e-037b-4c74-bcca-e04b94c7c5fe)
-
+ Temperatur maximum modifié
@@ -128,20 +128,20 @@ The name of the ParamType of the autocreated EventType (ae8bb713-8805-4efd-89a1-
The name of the ParamType of the autocreated EventType (dd30507e-037b-4c74-bcca-e04b94c7c5fe) of DeviceClass indoor
----------
The name of the ParamType of the autocreated EventType (dd30507e-037b-4c74-bcca-e04b94c7c5fe) of DeviceClass outdoor
-
+ Temperatur maximumwifi signal strengthThe name of the ParamType of the autocreated EventType (6ea906d4-5740-454d-a730-6fdb9fa0d624) of DeviceClass indoor
-
+ Wifi signal modifiéhumidity changedThe name of the autocreated EventType (e2db5f01-196a-48d1-8874-6b8cbfe0d8c9)
-
+ Humidité modifié
@@ -150,85 +150,85 @@ The name of the ParamType of the autocreated EventType (dd30507e-037b-4c74-bcca-
The name of the ParamType of the autocreated EventType (e2db5f01-196a-48d1-8874-6b8cbfe0d8c9) of DeviceClass indoor
----------
The name of the ParamType of the autocreated EventType (e2db5f01-196a-48d1-8874-6b8cbfe0d8c9) of DeviceClass outdoor
-
+ Humiditépressure changedThe name of the autocreated EventType (03b0a7b7-987d-4d3b-b3f0-21d9f92ad326)
-
+ Pression d'air modifiépressureThe name of the ParamType of the autocreated EventType (03b0a7b7-987d-4d3b-b3f0-21d9f92ad326) of DeviceClass indoor
-
+ Pression d'airnoise changedThe name of the autocreated EventType (906cea9d-1daf-4e9c-90b9-e40f43052a34)
-
+ Puissance acoustique modifiénoiseThe name of the ParamType of the autocreated EventType (906cea9d-1daf-4e9c-90b9-e40f43052a34) of DeviceClass indoor
-
+ Puissance acoustiqueco2 changedThe name of the autocreated EventType (e5710bd1-79fa-4bd4-9052-8416aae909b9)
-
+ Valeur CO2 modifiéco2The name of the ParamType of the autocreated EventType (e5710bd1-79fa-4bd4-9052-8416aae909b9) of DeviceClass indoor
-
+ Valeur CO2wifi signal strength changedThe name of the autocreated EventType (6ea906d4-5740-454d-a730-6fdb9fa0d624)
-
+ Wifi signal modifiéOutdoor StationThe name of the DeviceClass (6cc01d62-7317-4ec4-8ac4-a4cab762c179)
-
+ Station extérieurbase stationThe name of the paramType (d7a0ec46-760c-4fdc-9753-fe10c86fe1b9) of outdoor
-
+ Station de Basesignal strength changedThe name of the autocreated EventType (0faa3d08-9004-46fb-a5aa-a59b75e454cc)
-
+ Force de signal modifiésignal strengthThe name of the ParamType of the autocreated EventType (0faa3d08-9004-46fb-a5aa-a59b75e454cc) of DeviceClass outdoor
-
+ Force de signalbattery changedThe name of the autocreated EventType (15d8fae1-ba47-42e1-994d-530e8017c965)
-
+ Staut batterie modifiébatteryThe name of the ParamType of the autocreated EventType (15d8fae1-ba47-42e1-994d-530e8017c965) of DeviceClass outdoor
-
+ Batterie
diff --git a/nymea-plugins.pro b/nymea-plugins.pro
index 31347c4d..d418c08f 100644
--- a/nymea-plugins.pro
+++ b/nymea-plugins.pro
@@ -39,6 +39,7 @@ PLUGIN_DIRS = \
simulation \
keba \
remotessh \
+ dweetio \
CONFIG+=all
diff --git a/philipshue/translations/5f2e634b-b7f3-48ee-976a-b5ae22aa5c55-fr.ts b/philipshue/translations/5f2e634b-b7f3-48ee-976a-b5ae22aa5c55-fr.ts
index 582341b1..5d0367be 100644
--- a/philipshue/translations/5f2e634b-b7f3-48ee-976a-b5ae22aa5c55-fr.ts
+++ b/philipshue/translations/5f2e634b-b7f3-48ee-976a-b5ae22aa5c55-fr.ts
@@ -7,19 +7,19 @@
PhilipsThe name of the vendor (0ae1e001-2aa6-47ed-b8c0-334c3728a68f)
-
+ PhilipsPlease press the button on the Hue Bridge within 30 seconds before you continueThe pairing info of deviceClass hueBridge
-
+ S'il vous plaît presser le bouton de la "hue Brigde" au cours de 30 secondes avant que vous continuesHue gatewayThe name of the DeviceClass (642aa4c7-19aa-45ed-ba06-aa1ae6c9edf7)
-
+ Pont de connexion Hue
@@ -37,31 +37,31 @@ The name of the paramType (0d71522c-08c0-4a66-bb5e-e31eb2dd41e5) of hueWhiteLigh
The name of the paramType (0d71522c-08c0-4a66-bb5e-e31eb2dd41e5) of hueRemote
----------
The name of the paramType (3d450f00-b521-4a2c-985f-046fad5122cb) of hueTap
-
+ Nomapi keyThe name of the paramType (8bf5776a-d5a6-4600-8b27-481f0d803a8f) of hueBridge
-
+ Clé APIhost addressThe name of the paramType (1845975b-1184-4440-bc0d-73d53a9f683c) of hueBridge
-
+ Adressemac addressThe name of the paramType (2c67203d-a308-45ec-9a08-fc4183c06ff8) of hueBridge
-
+ MAC adresseidThe name of the paramType (a496feb0-3b7b-46cb-a63a-e063447d6b1d) of hueBridge
-
+ ID
@@ -70,13 +70,13 @@ The name of the paramType (3d450f00-b521-4a2c-985f-046fad5122cb) of hueTapThe name of the paramType (ea228c4d-975c-4b43-9445-7c9a907c29d6) of hueBridge
----------
The name of the ParamType of the autocreated EventType (4c707b18-6604-4e6d-b6bc-4e27769c2adc) of DeviceClass hueBridge
-
+ Version logicielzigbee channelThe name of the paramType (53170394-956c-4511-b3a8-2c8a502ef1ed) of hueBridge
-
+ Canaux Zigbee
@@ -90,49 +90,49 @@ The name of the ParamType of the autocreated EventType (4c707b18-6604-4e6d-b6bc-
The name of the autocreated EventType (19bb8d10-1b28-4ba3-99b7-a634138dcfde)
----------
The name of the autocreated EventType (5e21b032-1230-4e93-8543-0c4773da17d3)
-
+ Accessibilité modifiéapi version changedThe name of the autocreated EventType (7a230e89-c4ce-4276-90e0-6a9ddb890603)
-
+ Version API modifiésoftware version changedThe name of the autocreated EventType (4c707b18-6604-4e6d-b6bc-4e27769c2adc)
-
+ Version logiciel modifiéupdate status changedThe name of the autocreated EventType (16a126f3-0cef-4931-bb2b-9e1b49bec7fc)
-
+ Satut mise à jour modifiésearch devicesThe name of the ActionType cca3f171-6318-44e7-a2ac-d841857c1c24 of deviceClass hueBridge
-
+ Chercher appareilcheck updatesThe name of the ActionType 07a85e91-d064-4bce-b017-13fd0c320c0b of deviceClass hueBridge
-
+ Cherche mise à jourUpgrade bridgeThe name of the ActionType 6dfbc7c0-7372-42f6-82ba-e777cb32dc4c of deviceClass hueBridge
-
+ Mise à jour la BridgeHue LightThe name of the DeviceClass (0edba26c-96ab-44fb-a6a2-c0574d19630e)
-
+ Hue lumiére
@@ -147,7 +147,7 @@ The name of the paramType (095a463b-f59e-46b1-989a-a71f9cbe3e30) of hueWhiteLigh
The name of the paramType (095a463b-f59e-46b1-989a-a71f9cbe3e30) of hueRemote
----------
The name of the paramType (62d92175-db3a-4da2-a72b-f58f34cb6911) of hueTap
-
+ Model ID
@@ -162,7 +162,7 @@ The name of the paramType (3f3467ef-4483-4eb9-bcae-84e628322f84) of hueWhiteLigh
The name of the paramType (3f3467ef-4483-4eb9-bcae-84e628322f84) of hueRemote
----------
The name of the paramType (eace85b9-5369-466f-89eb-46c4de718305) of hueTap
-
+ Typ
@@ -177,7 +177,7 @@ The name of the paramType (1a5129ca-006c-446c-9f2e-79b065de715f) of hueWhiteLigh
The name of the paramType (1a5129ca-006c-446c-9f2e-79b065de715f) of hueRemote
----------
The name of the paramType (25cf4167-6c28-4497-9fa9-3d02faf4f3ed) of hueTap
-
+ UUID
@@ -186,14 +186,14 @@ The name of the paramType (25cf4167-6c28-4497-9fa9-3d02faf4f3ed) of hueTapThe name of the paramType (491dc012-ccf2-4d3a-9f18-add98f7374af) of hueLight
----------
The name of the paramType (491dc012-ccf2-4d3a-9f18-add98f7374af) of hueWhiteLight
-
+ ID lumiérepower changedThe name of the autocreated EventType (90aaffe5-6a76-47d2-a14a-550f60390245)
-
+ Allumer modifié
@@ -208,32 +208,32 @@ The name of the autocreated ParamType of the writable StateType (90aaffe5-6a76-4
The name of the ParamType of the autocreated EventType (90aaffe5-6a76-47d2-a14a-550f60390245) of DeviceClass hueWhiteLight
----------
The name of the autocreated ParamType of the writable StateType (90aaffe5-6a76-47d2-a14a-550f60390245) of DeviceClass hueWhiteLight
-
+ AlluméeSet powerThe name of the autocreated ActionType (90aaffe5-6a76-47d2-a14a-550f60390245)
-
+ Allumercolor temperature changedThe name of the autocreated EventType (c0f4206f-f219-4f06-93c4-4ca515a56f79)
-
+ Températur de couleur modifiéSet color temperatureThe name of the autocreated ActionType (c0f4206f-f219-4f06-93c4-4ca515a56f79)
-
+ Définir la températur de couleurcolor changedThe name of the autocreated EventType (d25423e7-b924-4b20-80b6-77eecc65d089)
-
+ Couleur modifié
@@ -242,20 +242,20 @@ The name of the autocreated ParamType of the writable StateType (90aaffe5-6a76-4
The name of the ParamType of the autocreated EventType (d25423e7-b924-4b20-80b6-77eecc65d089) of DeviceClass hueLight
----------
The name of the autocreated ParamType of the writable StateType (d25423e7-b924-4b20-80b6-77eecc65d089) of DeviceClass hueLight
-
+ CouleurSet colorThe name of the autocreated ActionType (d25423e7-b924-4b20-80b6-77eecc65d089)
-
+ Définir la couleurbrightness changedThe name of the autocreated EventType (90e91f64-a208-468c-a5a2-7f47e08859e2)
-
+ Luminosité modifié
@@ -270,25 +270,25 @@ The name of the autocreated ParamType of the writable StateType (90e91f64-a208-4
The name of the ParamType of the autocreated EventType (90e91f64-a208-468c-a5a2-7f47e08859e2) of DeviceClass hueWhiteLight
----------
The name of the autocreated ParamType of the writable StateType (90e91f64-a208-468c-a5a2-7f47e08859e2) of DeviceClass hueWhiteLight
-
+ LuminositéSet brigtnessThe name of the autocreated ActionType (90e91f64-a208-468c-a5a2-7f47e08859e2)
-
+ Définir luminositéeffect changedThe name of the autocreated EventType (0b7cdd8d-4db8-4183-abe2-f3c01d1c9afc)
-
+ Effet de lumière modifiébattery critical changedThe name of the autocreated EventType (f8516899-6312-4110-bb97-70ffa81dc530)
-
+ Statut de batterie critique modifié
@@ -297,7 +297,7 @@ The name of the autocreated ParamType of the writable StateType (90e91f64-a208-4
The name of the EventType 8da28cf1-2457-451e-953e-2685f8daeda8 of deviceClass hueRemote
----------
The name of the EventType c45dd703-7cbd-48f7-88dc-31045cc3d39c of deviceClass hueTap
-
+ Bouton appuyer
@@ -306,25 +306,25 @@ The name of the EventType c45dd703-7cbd-48f7-88dc-31045cc3d39c of deviceClass hu
The name of the paramType (e4e3eb3a-a7c4-49e3-9344-0b3f213e0b42) of hueRemote
----------
The name of the paramType (8ed643c0-1b8a-4709-8abf-717cf213f4a4) of hueTap
-
+ Nom de boutonButton longpressedThe name of the EventType 2c64561b-2381-4769-8e21-0e206c84bbcc of deviceClass hueRemote
-
+ Bouton appuyer le plus longHue TapThe name of the DeviceClass (2b8c1fb8-67ee-42e9-947b-16e0a09f0d4e)
-
+ Hue TapPhilips HueThe name of the plugin PhilipsHue (5f2e634b-b7f3-48ee-976a-b5ae22aa5c55)
-
+ Philips Hue
@@ -342,19 +342,19 @@ The name of the ParamType of the autocreated EventType (19bb8d10-1b28-4ba3-99b7-
The name of the ParamType of the autocreated EventType (19bb8d10-1b28-4ba3-99b7-a634138dcfde) of DeviceClass hueRemote
----------
The name of the ParamType of the autocreated EventType (5e21b032-1230-4e93-8543-0c4773da17d3) of DeviceClass hueTap
-
+ Accessibleapi versionThe name of the ParamType of the autocreated EventType (7a230e89-c4ce-4276-90e0-6a9ddb890603) of DeviceClass hueBridge
-
+ API versionupdate statusThe name of the ParamType of the autocreated EventType (16a126f3-0cef-4931-bb2b-9e1b49bec7fc) of DeviceClass hueBridge
-
+ Satut mise à jour
@@ -363,7 +363,7 @@ The name of the ParamType of the autocreated EventType (5e21b032-1230-4e93-8543-
The name of the ParamType of the autocreated EventType (c0f4206f-f219-4f06-93c4-4ca515a56f79) of DeviceClass hueLight
----------
The name of the autocreated ParamType of the writable StateType (c0f4206f-f219-4f06-93c4-4ca515a56f79) of DeviceClass hueLight
-
+ Températur de couleur
@@ -372,13 +372,13 @@ The name of the autocreated ParamType of the writable StateType (c0f4206f-f219-4
The name of the ParamType of the autocreated EventType (0b7cdd8d-4db8-4183-abe2-f3c01d1c9afc) of DeviceClass hueLight
----------
The name of the autocreated ParamType of the writable StateType (0b7cdd8d-4db8-4183-abe2-f3c01d1c9afc) of DeviceClass hueLight
-
+ EffetSet effectThe name of the autocreated ActionType (0b7cdd8d-4db8-4183-abe2-f3c01d1c9afc)
-
+ Définir effet de luminosité
@@ -387,7 +387,7 @@ The name of the autocreated ParamType of the writable StateType (0b7cdd8d-4db8-4
The name of the ActionType d25dcfbc-d28c-4905-80e3-300ffb1248f5 of deviceClass hueLight
----------
The name of the ActionType d25dcfbc-d28c-4905-80e3-300ffb1248f5 of deviceClass hueWhiteLight
-
+ S'allumer
@@ -396,25 +396,25 @@ The name of the ActionType d25dcfbc-d28c-4905-80e3-300ffb1248f5 of deviceClass h
The name of the paramType (8ace6f8c-b2c7-4d0d-a407-52a54ad0ab05) of hueLight
----------
The name of the paramType (8ace6f8c-b2c7-4d0d-a407-52a54ad0ab05) of hueWhiteLight
-
+ AlarmeHue White LightThe name of the DeviceClass (4fa568ef-7a3a-422b-b0c0-206d37cb4eed)
-
+ Hue lumiére blancSet brightnessThe name of the autocreated ActionType (90e91f64-a208-468c-a5a2-7f47e08859e2)
-
+ Définir luminositéHue RemoteThe name of the DeviceClass (bb482d39-67ef-46dc-88e9-7b181d642b28)
-
+ Hue télécommande
@@ -423,73 +423,73 @@ The name of the paramType (8ace6f8c-b2c7-4d0d-a407-52a54ad0ab05) of hueWhiteLigh
The name of the paramType (2ddb571b-149f-4f08-a76a-78b7d3aa27e0) of hueRemote
----------
The name of the paramType (5eca2b24-8986-4487-bc12-50e91d023d97) of hueTap
-
+ Senseur IDbattery changedThe name of the autocreated EventType (683e493a-9796-4d5e-b0e3-61cb178d5819)
-
+ Batterie modifiébatteryThe name of the ParamType of the autocreated EventType (683e493a-9796-4d5e-b0e3-61cb178d5819) of DeviceClass hueRemote
-
+ Batteriebattery criticalThe name of the ParamType of the autocreated EventType (f8516899-6312-4110-bb97-70ffa81dc530) of DeviceClass hueRemote
-
+ Satut du chargement batterie critiqueon pressedThe name of the EventType de769db0-4c31-46cf-9760-dbc6f9209c26 of deviceClass hueRemote
-
+ Quand appuyeron long pressedThe name of the EventType 6c5e596b-7c15-40bb-af9d-c778a6b0f30e of deviceClass hueRemote
-
+ Quand appuyer trés longdim up pressedThe name of the EventType 8e3d6a62-6a19-4e9a-a25b-e1da2e56ede9 of deviceClass hueRemote
-
+ Varier l'intensité de lumière appuyerdim up long pressedThe name of the EventType 53d3c9af-3e25-4116-b22b-38d897bc20aa of deviceClass hueRemote
-
+ Varier l'intensité de lumière appuyer trés longdim down pressedThe name of the EventType efd8b972-9a37-43f2-b9bc-f9dfe144a96d of deviceClass hueRemote
-
+ Varier l'intensité de lumière en bas appuyerdim down long pressedThe name of the EventType 1986d4c6-4c9f-4e43-ba70-0ff06c6f177b of deviceClass hueRemote
-
+ Varier l'intensité de lumière en bas appuyer trés longoff pressedThe name of the EventType 7c2a58f1-137c-4bf3-8f9e-453dff020487 of deviceClass hueRemote
-
+ Appuyer pour déclencheroff long pressedThe name of the EventType d69306eb-ea52-4841-9e26-89c69e9cf6fc of deviceClass hueRemote
-
+ Appuyer plus longtemps pour déclencher
diff --git a/pushbullet/translations/46986575-0e62-483d-b5a8-76ac356fcce7-fr.ts b/pushbullet/translations/46986575-0e62-483d-b5a8-76ac356fcce7-fr.ts
index c740f17a..6c928f13 100644
--- a/pushbullet/translations/46986575-0e62-483d-b5a8-76ac356fcce7-fr.ts
+++ b/pushbullet/translations/46986575-0e62-483d-b5a8-76ac356fcce7-fr.ts
@@ -16,31 +16,31 @@ The name of the vendor (b5e1896e-b7fa-4c19-ac2b-10bd489f8302)
Push NotificationThe name of the DeviceClass (56029c6d-777b-4889-9e17-29f813d34da4)
-
+ notification pushbulletaccess tokenThe name of the paramType (1f37ce22-50b8-4183-8b74-557fdb2d3076) of pushNotification
-
+ jeton pour accésnotifyThe name of the ActionType 1378480f-6583-44e2-8fdd-22afe979a9a3 of deviceClass pushNotification
-
+ notifiertitleThe name of the paramType (ceed6e66-0dcb-4405-832d-e9091f882acc) of pushNotification
-
+ titrebodyThe name of the paramType (f72cc56c-4d0b-4b96-ab9b-ff3ca92b00e2) of pushNotification
-
+ Contenu des informations
diff --git a/senic/translations/413e9d77-335f-4ecf-abbc-8f2a8a399c39-fr.ts b/senic/translations/413e9d77-335f-4ecf-abbc-8f2a8a399c39-fr.ts
index c64b8bb8..2014acf0 100644
--- a/senic/translations/413e9d77-335f-4ecf-abbc-8f2a8a399c39-fr.ts
+++ b/senic/translations/413e9d77-335f-4ecf-abbc-8f2a8a399c39-fr.ts
@@ -16,133 +16,133 @@ The name of the vendor (8e6cae9c-706b-49e5-ae86-da52a20dd336)
NuimoThe name of the DeviceClass (315ece51-053e-49f9-831f-b09f9f27fb9f)
-
+ NuimonameThe name of the paramType (db67d1e6-26fa-44ed-ad55-c6aef45ea2ea) of nuimo
-
+ Nommac addressThe name of the paramType (71553f6a-2ed4-4896-bb7b-52e7dca948b2) of nuimo
-
+ MAC adresseHardware revision changedThe name of the autocreated EventType (5c400da4-a14e-4e0a-be9f-c82ffe7e1972)
-
+ Revision matériel modifiébattery changedThe name of the autocreated EventType (b5ee2465-7fa1-450b-8073-f115537d3409)
-
+ Batterie modifiébatteryThe name of the ParamType of the autocreated EventType (b5ee2465-7fa1-450b-8073-f115537d3409) of DeviceClass nuimo
-
+ Batterierotation changedThe name of the autocreated EventType (69a5f495-5452-434b-8fb8-b73d992c5446)
-
+ Rotation modifiérotationThe name of the ParamType of the autocreated EventType (69a5f495-5452-434b-8fb8-b73d992c5446) of DeviceClass nuimo
-
+ RotationConnected changedThe name of the autocreated EventType (5286976a-f5dc-4662-872a-438ac5d491cb)
-
+ Connexion modifiéConnectedThe name of the ParamType of the autocreated EventType (5286976a-f5dc-4662-872a-438ac5d491cb) of DeviceClass nuimo
-
+ ConnecterHardware revisionThe name of the ParamType of the autocreated EventType (5c400da4-a14e-4e0a-be9f-c82ffe7e1972) of DeviceClass nuimo
-
+ Revision matérielFirmware revision changedThe name of the autocreated EventType (edcf76c6-9fed-4c26-9853-c284cf887adb)
-
+ Revision logiciel modifiéFirmware revisionThe name of the ParamType of the autocreated EventType (edcf76c6-9fed-4c26-9853-c284cf887adb) of DeviceClass nuimo
-
+ Revision logicielSoftware revision changedThe name of the autocreated EventType (be42cbd3-12e9-44ec-8f9d-141e10d9573a)
-
+ Revision logiciel modifiéSoftware revisionThe name of the ParamType of the autocreated EventType (be42cbd3-12e9-44ec-8f9d-141e10d9573a) of DeviceClass nuimo
-
+ Version logicielShow logoThe name of the ActionType d44ca5b7-f8d6-4413-9d2e-cef89282c039 of deviceClass nuimo
-
+ Afficher LogologoThe name of the paramType (a8f72c37-9cb5-4885-a7e4-b2b396f8e4cd) of nuimo
-
+ LogoclickedThe name of the EventType 5b9e08e8-7a6c-4311-9db6-82547847708c of deviceClass nuimo
-
+ AppuyerSwipe leftThe name of the EventType 2be36aa0-e2fe-4192-81c5-cf0bb7f08dd4 of deviceClass nuimo
-
+ Balayer a gaucheSwipe rightThe name of the EventType 81fb61ab-6d3d-4c1b-85fe-3dbd5c8dead7 of deviceClass nuimo
-
+ Balayer a droiteSwipe upThe name of the EventType ab5c575b-b265-491c-93ca-ad9212374bc1 of deviceClass nuimo
-
+ Balayer en hautSwipe downThe name of the EventType 4d97cf28-1030-4a30-bed5-411102dd4b9b of deviceClass nuimo
-
+ Balayer en bas
diff --git a/wakeonlan/translations/b5a87848-de56-451e-84a6-edd26ad4958f-fr.ts b/wakeonlan/translations/b5a87848-de56-451e-84a6-edd26ad4958f-fr.ts
index d44483fb..27c3f379 100644
--- a/wakeonlan/translations/b5a87848-de56-451e-84a6-edd26ad4958f-fr.ts
+++ b/wakeonlan/translations/b5a87848-de56-451e-84a6-edd26ad4958f-fr.ts
@@ -7,31 +7,31 @@
Wake on LanThe name of the plugin WakeOnLan (b5a87848-de56-451e-84a6-edd26ad4958f)
-
+ Wake on LANguh GmbHThe name of the vendor (2062d64d-3232-433c-88bc-0d33c0ba2ba6)
-
+ guh GmbHWake On LanThe name of the DeviceClass (3c8f2447-dcd0-4882-8c09-99e579e4d24c)
-
+ Wake on LANmacThe name of the paramType (e2ba04ac-9fe1-4f9d-8152-024c27030cde) of wol
-
+ MAC adressewake up deviceThe name of the ActionType fb9b9d87-218f-4f0d-9e16-39f8a105029a of deviceClass wol
-
+ Réveiller l'appareil