Skip to content

Commit

Permalink
Merge branch 'GladysAssistant:master' into gladys-sec-2
Browse files Browse the repository at this point in the history
  • Loading branch information
bnematzadeh authored Jan 6, 2025
2 parents dbc7753 + f961aef commit 744e7d4
Show file tree
Hide file tree
Showing 68 changed files with 7,693 additions and 68 deletions.
Binary file added front/src/assets/integrations/cover/airplay.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions front/src/components/app.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,10 @@ import SonosDiscoveryPage from '../routes/integration/all/sonos/discover-page';
import GoogleCastDevicePage from '../routes/integration/all/google-cast/device-page';
import GoogleCastDiscoveryPage from '../routes/integration/all/google-cast/discover-page';

// Airplay integration
import AirplayDevicePage from '../routes/integration/all/airplay/device-page';
import AirplayDiscoveryPage from '../routes/integration/all/airplay/discover-page';

// ZWaveJS-UI integration
import ZwaveJSUIDevicePage from '../routes/integration/all/zwavejs-ui/device-page';
import ZwaveJSUIDiscoveryPage from '../routes/integration/all/zwavejs-ui/discover-page';
Expand All @@ -166,6 +170,9 @@ import MELCloudDiscoverPage from '../routes/integration/all/melcloud/discover-pa
// NodeRed integration
import NodeRedPage from '../routes/integration/all/node-red/setup-page';

// Free Mobile integration
import FreeMobilePage from '../routes/integration/all/free-mobile';

const defaultState = getDefaultState();
const store = createStore(defaultState);

Expand Down Expand Up @@ -275,6 +282,8 @@ const AppRouter = connect(

<NodeRedPage path="/dashboard/integration/device/node-red" />

<FreeMobilePage path="dashboard/integration/communication/free-mobile" />

<XiaomiPage path="/dashboard/integration/device/xiaomi" />
<EditXiaomiPage path="/dashboard/integration/device/xiaomi/edit/:deviceSelector" />
<TasmotaPage path="/dashboard/integration/device/tasmota" />
Expand Down Expand Up @@ -303,6 +312,9 @@ const AppRouter = connect(
<GoogleCastDevicePage path="/dashboard/integration/device/google-cast" />
<GoogleCastDiscoveryPage path="/dashboard/integration/device/google-cast/discover" />

<AirplayDevicePage path="/dashboard/integration/device/airplay" />
<AirplayDiscoveryPage path="/dashboard/integration/device/airplay/discover" />

<ZwaveJSUIDevicePage path="/dashboard/integration/device/zwavejs-ui" />
<ZwaveJSUIDiscoveryPage path="/dashboard/integration/device/zwavejs-ui/discover" />
<ZwaveJSUISetupPage path="/dashboard/integration/device/zwavejs-ui/setup" />
Expand Down
63 changes: 60 additions & 3 deletions front/src/config/i18n/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,17 @@
"configurationSuccess": "Konfiguration erfolgreich gesichert.",
"buttonSave": "Sichern"
},
"free-mobile": {
"title": "Free Mobile",
"description": "SMS von Gladys über Free Mobile senden.",
"documentation": "Free Mobile Dokumentation",
"introduction": "Dieses Plugin ermöglicht es Ihnen, SMS an Ihr Free-Handy über den Benachrichtigungsdienst von Free zu senden. Geben Sie Ihre Kundennummer und den Identifizierungsschlüssel unten ein, den Sie auf der <a href=\"https://mobile.free.fr\"> FreeMobile</a>-Website finden.",
"username": "Free Mobile Kundennummer",
"key": "Identifizierungsschlüssel für den Dienst",
"configurationError": "Wir konnten diese Konfiguration nicht speichern.",
"configurationSuccess": "Die Kontokonfiguration wurde erfolgreich gespeichert.",
"saveButton": "Sichern"
},
"philipsHue": {
"title": "Philips Hue",
"description": "Steuere Philips-Hue-Lichter und -Steckdosen mit der offiziellen Bridge.",
Expand Down Expand Up @@ -1130,6 +1141,41 @@
"conflictError": "Das aktuelle Gerät ist bereits in Gladys vorhanden."
}
},
"airplay": {
"title": "Airplay",
"description": "Steuern Sie Airplay-Geräte in Ihrem lokalen Netzwerk",
"deviceTab": "Geräte",
"discoverTab": "Airplay Entdeckung",
"setupTab": "Einrichtung",
"documentation": "Airplay Dokumentation",
"discoverDeviceDescr": "Airplay-Geräte automatisch scannen",
"nameLabel": "Gerätename",
"namePlaceholder": "Geben Sie den Namen Ihres Geräts ein",
"hostLabel": "IP-Adresse",
"roomLabel": "Zimmer",
"saveButton": "Speichern",
"alreadyCreatedButton": "Bereits erstellt",
"deleteButton": "Löschen",
"device": {
"title": "Airplay-Geräte in Gladys",
"editButton": "Bearbeiten",
"noDeviceFound": "Kein Airplay-Gerät gefunden.",
"featuresLabel": "Funktionen"
},
"discover": {
"title": "Geräte in Ihrem lokalen Netzwerk erkannt",
"description": "Airplay-Geräte werden automatisch erkannt.",
"error": "Fehler beim Entdecken der Airplay-Geräte. Ist Ihr Airplay-Lautsprecher eingeschaltet und im lokalen Netzwerk erreichbar?",
"noDeviceFound": "Keine Airplay-Geräte gefunden.",
"errorWhileScanning": "Beim Scannen ist ein Fehler aufgetreten.",
"scan": "Scannen"
},
"error": {
"defaultError": "Beim Speichern des Geräts ist ein Fehler aufgetreten.",
"defaultDeletionError": "Beim Löschen des Geräts ist ein Fehler aufgetreten.",
"conflictError": "Das aktuelle Gerät ist bereits in Gladys vorhanden."
}
},
"zwavejs-ui": {
"title": "ZWave JS UI",
"description": "Steuern Sie Ihre Geräte in Z-Wave JS UI",
Expand Down Expand Up @@ -1465,13 +1511,15 @@
},
"lanManager": {
"title": "LAN-Manager",
"description": "Verwalte deine Geräte über dein lokales Netzwerk.",
"description": "Anwesenheitserkennung über Netzwerkscan",
"deviceTab": "Meine Geräte",
"discoverTab": "Geräte in der Nähe",
"setupTab": "Anwesenheitsscanner",
"documentation": "LAN-Manager-Dokumentation",
"device": {
"title": "Meine Geräte",
"title": "Geräte zur Integration hinzugefügt",
"explanation": "Diese Integration ermöglicht es Ihnen, die Anwesenheit von Benutzern durch einen Netzwerkscan zu erkennen.",
"iosWarning": "Achtung, diese Integration funktioniert nicht mit iOS-Geräten.",
"search": "Geräte suchen",
"noDevices": "Du hast noch keine LAN-Geräte hinzugefügt.",
"manufacturerLabel": "Hersteller",
Expand Down Expand Up @@ -1801,6 +1849,11 @@
"textPlaceholder": "Nachrichtentext",
"explanationText": "Um eine Variable einzufügen, geben Sie '{{' ein. Achten Sie darauf, dass Sie zuvor eine Variable in einer Aktion 'Letzten Zustand abrufen' definiert haben, die vor diesem Nachrichtenblock platziert wurde."
},
"smsSend": {
"textLabel": "Nachricht",
"explanationText": "Um eine Variable in den Text einzufügen, gib \"{{\" ein. Um einen Variablenwert festzulegen, musst du zuerst das Feld \"Gerätewert abrufen\" verwenden.",
"messagePlaceholder": "Meine Message"
},
"turnOnLights": {
"label": "Wähle die Lichter aus, die eingeschaltet werden sollen"
},
Expand Down Expand Up @@ -1984,6 +2037,9 @@
"send": "Nachricht senden",
"send-camera": "Kameraaufnahme senden"
},
"sms": {
"send": "SMS senden"
},
"delay": "Warten",
"light": {
"turn-on": "Licht einschalten",
Expand Down Expand Up @@ -2870,7 +2926,8 @@
"56": "Helligkeit Auf-Taste Loslassen",
"57": "Helligkeit Ab-Taste gedrückt",
"58": "Helligkeit Ab-Taste gehalten",
"59": "Helligkeit Ab-Taste Loslassen"
"59": "Helligkeit Ab-Taste Loslassen",
"60": "Gedrückt"
}
},
"heater": {
Expand Down
63 changes: 60 additions & 3 deletions front/src/config/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,17 @@
"configurationSuccess": "Successfully saved configuration.",
"buttonSave": "Save"
},
"free-mobile": {
"title": "Free Mobile",
"description": "Send SMS from Gladys using Free Mobile.",
"documentation": "Free Mobile Documentation",
"introduction": "This plugin allows you to send SMS to your Free cell phone via the notification service provided by Free. Enter your customer ID and the identification key below, which you can find on the <a href=\"https://mobile.free.fr\"> FreeMobile</a> website.",
"username": "Free Mobile Customer ID",
"key": "Identification key for the service",
"configurationError": "We could not save this configuration.",
"configurationSuccess": "Account configuration saved successfully.",
"saveButton": "Save"
},
"philipsHue": {
"title": "Philips Hue",
"description": "Control Philips Hue Lights and plugs with the official hub",
Expand Down Expand Up @@ -1130,6 +1141,41 @@
"conflictError": "The current device is already in Gladys."
}
},
"airplay": {
"title": "Airplay",
"description": "Contrôler les appareils Airplay sur votre réseau local",
"deviceTab": "Devices",
"discoverTab": "Airplay Discovery",
"setupTab": "Setup",
"documentation": "Airplay Documentation",
"discoverDeviceDescr": "Automatically scan for Airplay devices",
"nameLabel": "Device Name",
"namePlaceholder": "Enter your device name",
"hostLabel": "IP Address",
"roomLabel": "Room",
"saveButton": "Save",
"alreadyCreatedButton": "Already Created",
"deleteButton": "Delete",
"device": {
"title": "Airplay Devices in Gladys",
"editButton": "Edit",
"noDeviceFound": "No Airplay device found.",
"featuresLabel": "Features"
},
"discover": {
"title": "Devices detected on your local network",
"description": "Airplay devices are automatically discovered.",
"error": "Error discovering Airplay devices. Is your Airplay speaker powered on and accessible on the local network?",
"noDeviceFound": "No Airplay devices have been discovered.",
"errorWhileScanning": "An error occurred while scanning.",
"scan": "Scan"
},
"error": {
"defaultError": "An error occurred while saving the device.",
"defaultDeletionError": "An error occurred while deleting the device.",
"conflictError": "The current device is already in Gladys."
}
},
"zwavejs-ui": {
"title": "ZWave JS UI",
"description": "Control your devices in Z-Wave JS UI",
Expand Down Expand Up @@ -1465,13 +1511,15 @@
},
"lanManager": {
"title": "LAN Manager",
"description": "Manage you device through you local network.",
"description": "Presence detection via network scan",
"deviceTab": "Devices",
"discoverTab": "LAN Discover",
"setupTab": "Presence scanner",
"documentation": "Lan Manager documentation",
"device": {
"title": "LAN Devices",
"title": "Devices added to the integration",
"explanation": "This integration allows you to detect user presence by scanning the network.",
"iosWarning": "Warning, this integration does not work with iOS devices.",
"search": "Search devices",
"noDevices": "No LAN devices added yet.",
"manufacturerLabel": "Manufacturer",
Expand Down Expand Up @@ -1801,6 +1849,11 @@
"textPlaceholder": "Message text",
"explanationText": "To insert a variable, type '{{'. Be careful, you must have defined a variable beforehand in a 'Retrieve the last state' action placed before this message block."
},
"smsSend": {
"textLabel": "Message",
"explanationText": "To inject a variable in the text, press '{{'. To set a variable value, you need to use the 'Get device value' box before this one.",
"messagePlaceholder": "My message"
},
"turnOnLights": {
"label": "Select the lights you want to turn on"
},
Expand Down Expand Up @@ -1984,6 +2037,9 @@
"send": "Send Message",
"send-camera": "Send a camera image"
},
"sms": {
"send": "Send SMS"
},
"delay": "Wait",
"light": {
"turn-on": "Turn On the Lights",
Expand Down Expand Up @@ -2870,7 +2926,8 @@
"56": "Brightness Up Release",
"57": "Brightness Down Click",
"58": "Brightness Down Hold",
"59": "Brightness Down Release"
"59": "Brightness Down Release",
"60": "Pressed"
}
},
"heater": {
Expand Down
63 changes: 60 additions & 3 deletions front/src/config/i18n/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,17 @@
"configurationSuccess": "Sauvegarde de la configuration du compte terminée.",
"buttonSave": "Sauvegarder"
},
"free-mobile": {
"title": "Free Mobile",
"description": "Envoyer des sms depuis Gladys grâce à Free Mobile.",
"documentation": "Documentation Free Mobile",
"introduction": "Ce plugin vous permet d’envoyer des sms à votre portable Free via le service de notification proposé par Free. Entrez votre identifiant client et la clé d'identification ci-dessous que vous retrouverez sur le site <a href=\"https://mobile.free.fr\"> FreeMobile</a>.",
"username": "Identifiant client Free Mobile",
"key": "Clé d'identification au service",
"configurationError": "Nous n'avons pas pu sauvegarder cette configuration.",
"configurationSuccess": "Sauvegarde de la configuration du compte terminée.",
"saveButton": "Sauvegarder"
},
"philipsHue": {
"title": "Philips Hue",
"description": "Contrôler les lumières Philips Hue.",
Expand Down Expand Up @@ -1258,6 +1269,41 @@
"conflictError": "L'appareil actuel est déjà dans Gladys."
}
},
"airplay": {
"title": "Airplay",
"description": "Contrôler les appareils Airplay sur votre réseau local",
"deviceTab": "Appareils",
"discoverTab": "Découverte Airplay",
"setupTab": "Configuration",
"documentation": "Documentation Airplay",
"discoverDeviceDescr": "Scanner automatiquement les appareils Airplay",
"nameLabel": "Nom de l'appareil",
"namePlaceholder": "Entrez le nom de votre appareil",
"hostLabel": "Adresse IP",
"roomLabel": "Pièce",
"saveButton": "Sauvegarder",
"alreadyCreatedButton": "Déjà créé",
"deleteButton": "Supprimer",
"device": {
"title": "Appareils Airplay dans Gladys",
"editButton": "Éditer",
"noDeviceFound": "Aucun appareil Airplay trouvé.",
"featuresLabel": "Fonctionnalités"
},
"discover": {
"title": "Appareils détectés sur votre réseau local",
"description": "Les appareils Airplay sont automatiquement découverts.",
"error": "Erreur de découverte des appareils Airplay. Est-ce que votre enceinte Airplay est sous tension et accessible sur le réseau local ?",
"noDeviceFound": "Aucun appareil Airplay n'a été découvert.",
"errorWhileScanning": "Une erreur est survenue lors du scan.",
"scan": "Scanner"
},
"error": {
"defaultError": "Une erreur s'est produite lors de l'enregistrement de l'appareil.",
"defaultDeletionError": "Une erreur s'est produite lors de la suppression de l'appareil.",
"conflictError": "L'appareil actuel est déjà dans Gladys."
}
},
"zwavejs-ui": {
"title": "ZWave JS UI",
"description": "Contrôler vos appareils dans Z-Wave JS UI",
Expand Down Expand Up @@ -1625,13 +1671,15 @@
},
"lanManager": {
"title": "LAN Manager",
"description": "Gérez les appareils sur votre réseau local.",
"description": "Détection de présence via scan réseau",
"deviceTab": "Appareils",
"discoverTab": "Découverte LAN",
"setupTab": "Scanner de présence",
"documentation": "Documentation LAN Manager",
"device": {
"title": "Appareils LAN",
"title": "Appareils ajoutés à l'intégration",
"explanation": "Cette intégration vous permet de détecter la présence des utilisateurs en scannant le réseau.",
"iosWarning": "Attention, cette intégration ne fonctionne pas avec les appareils iOS.",
"search": "Chercher un appareil",
"noDevices": "Aucun appareil LAN n'a encore été ajouté.",
"manufacturerLabel": "Constructeur",
Expand Down Expand Up @@ -1801,6 +1849,11 @@
"textPlaceholder": "Texte du message",
"explanationText": "Pour injecter une variable, tapez '{{'. Attention, vous devez avoir défini une variable auparavant dans une action 'Récupérer le dernier état' placé avant ce bloc message."
},
"smsSend": {
"textLabel": "Message",
"explanationText": "Pour injecter une variable, tapez '{{'. Attention, vous devez avoir défini une variable auparavant dans une action 'Récupérer le dernier état' placé avant ce bloc message.",
"messagePlaceholder": "Mon message"
},
"turnOnLights": {
"label": "Sélectionnez les lumières que vous souhaitez allumer"
},
Expand Down Expand Up @@ -1984,6 +2037,9 @@
"send": "Envoyer un message",
"send-camera": "Envoyer une image de caméra"
},
"sms": {
"send": "Envoyer un sms"
},
"delay": "Attendre",
"light": {
"turn-on": "Allumer les lumières",
Expand Down Expand Up @@ -2870,7 +2926,8 @@
"56": "Luminosité Plus Relâchée",
"57": "Luminosité Moins Clic",
"58": "Luminosité Moins Maintenu",
"59": "Luminosité Moins Relâchée"
"59": "Luminosité Moins Relâchée",
"60": "Pressé"
}
},
"heater": {
Expand Down
5 changes: 5 additions & 0 deletions front/src/config/integrations/communications.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,10 @@
{
"key": "openai",
"img": "/assets/integrations/cover/openai.jpg"
},
{
"key": "free-mobile",
"link": "free-mobile",
"img": "/assets/integrations/cover/free-mobile.jpg"
}
]
5 changes: 5 additions & 0 deletions front/src/config/integrations/devices.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,5 +93,10 @@
"key": "google-cast",
"link": "google-cast",
"img": "/assets/integrations/cover/google-cast.jpg"
},
{
"key": "airplay",
"link": "airplay",
"img": "/assets/integrations/cover/airplay.jpg"
}
]
Loading

0 comments on commit 744e7d4

Please sign in to comment.