Applicable version 2.2.8
Updated 2025 0304
Le plugin SomfyUnified est destiné à permettre une interface entre Jeedom et les équipements de l’écosystème Somfy connectés via les API OverKiz et appartenant aux familles listées ci-dessous:
- Somfy TaHoma Cloud
- Somfy TaHoma Local
- Atlantic Cozytouch
- Thermor Cozytouch
- Daikin
Brandt Smart Control(Changement d’API, ce serveur n’est plus supporté)- Flexom
- Hexaom HexaConnect
- Hitachi Hi Kumo
- Nexity Eugénie
Rexel Energeasy Connect(Changement d’API, ce serveur n’est plus supporté)- Simu (LiveIn2)
- Ubiwizz
Voir liste détaillée des équipements déja inclus dans la base de configuration en fin de documentation.
A partir de la version 2.0 et par extension, il prend également en charge les équipements pilotables par WiFi Direct et qui ne nécessitent pas une Box/Gateway pour se connecter au serveur.
Notice
La connection des équipements avec connections via NaviClim, Navilink reste à être validée par de futurs utilisateurs.
Pour accompagner la sortie de son dernier firmware en date du 28.01.2025, Somfy a éditer une longue liste des matériels compatibles TaHoma dont je vous joins ici le lien:
Equipements compatibles Somfy TaHoma
Après avoir été appairés via l’App TaHoma Somfy, ces matériels deviennent donc potentiellement pilotables via le plugin plugin SomfyUnified.
Pour les utilisateurs ou futurs utilisateurs du plugin , je vous invite à vérifier si vos matériels peuvent être ainsi pilotés par Jeedom.
Basé sur une gestion multi-serveurs, le plugin SomfyUnified remonte, crée et gère la totalité des commandes et informations disponibles auprès des serveurs enregistrés et configurés par l’utilisateur.
En fonctionnement opérationnel, la prise en compte d’une commande reçue par l’équipement sera suivie par une mise à jour instantanée de l’état/info correspondant (1).
Ce retour d’état instantané assure à l’utilisateur un réel confort d’utilisation et de programmation de ses équipements.
Le retour d’état est opérationnel avec les serveurs de type cloud et local.
Le retour d’état instantané n’est pas disponible sur les serveurs de type wifi.
(1) Sauf si l’information n’était pas mise à disposition par le serveur
Si des scénarios ont été programmés au niveau de l’app constructeur, le plugin permet de les exécuter.
Pour chaque serveur, la liste des scénarios se trouve dans l’équipement serverScenarios_server
et sous forme d’une liste dans la commande serverScenarioList
.
Si la commande info serverScenarioTimestamp
est égale à 0 ou contient une date Timestamp non valide, c’est à dire, correspondant à une date passée par rapport à maintenant, le scénario sera déclanché immédiatement.
Si la commande info serverScenarioTimestamp
contient une date valide (au format Unix Timestamp), le scénario sera alors déclanché à cette date.
La liste des scénarios est mise à jour en même temps que les données Info des équipements (synchronisé par le cron Cloud).
Notes
TaHoma Cloud: seuls les scénarios de type Manuel sont remontés par l’API.
TaHoma Local: la gestion des scénarios n’est pas supportée par l’API locale (serveur Local).
L’écosystème géré par le plugin SomfyUnified comprend, à ce jour, de nombreux partenaires et est susceptible de continuer à s’étoffer et évoluer.
Cela signifie qu’une box des familles de l’écosystème (TaHoma, Cozytouch, …) peut s’interfacer à de nombreux dispositifs très différents les uns des autres pour les piloter.
On trouve actuellement dans l’écosystèmes le contrôle de dispositifs tels que des systèmes de controle d’ouverture ou fermeture d’ouvrants (volets roulants, portes, stores, …), des systèmes d’alarme, des systèmes de chauffage et climatisation, …
L’absence de documentation de la part de Somfy sur les commandes des dispositifs rend la syntaxe de ces opérations particulièrement difficile à anticiper et implémenter dans un plugin et ce, à priori.
Afin de s’adapter à une telle diversité de commandes ou données potentielles, le plugin gère les différents équipements à partir de fichiers de configurations propres à chaque équipement.
La liste des équipements dont le fichier de configuration est intégré au plugin est donnée en fin de ce document.
Le plugin SomfyUnified est compatible des systèmes fonctionnant sous Debian 11 & 12.
Compte-tenu de la grande diversité d’équipements susceptibles d’être gérés par le plugin, il est impossible, pour le développeur, d’avoir pu valider tous les types d’équipements.
Les validations se feront donc au fur et à mesure de l’adoption du plugin par les utilisateurs qui accepteront de tenter son intégration.
Compte-tenu de l’état d’avancement, l’état de validation des différentes familles d’équipements est donné dans le tableau suivant:
Equipement | Type API | Etat de validation |
---|---|---|
Somfy TaHoma Cloud (2) | cloud | validé |
Somfy TaHoma Local | local | validé |
Cozytouch (3) | cloud | validé |
Daikin (2) | cloud | validé |
Hitachi Hi Kumo | cloud | validé |
Velux (2) | cloud | validé |
BFt (EasyAXS) | cloud | à confirmer |
Flexom | cloud | à confirmer |
Hexaom HexaConnect | cloud | à confirmer |
Nexity Eugénie | cloud | à confirmer |
Simu (LiveIn2) | cloud | à confirmer |
Ubiwizz | cloud | à confirmer |
(2) Daikin, Velux (via Somfy TaHoma)
(3) Atlantic, Sauter (Gen1), Thermor
Dans l’état actuel du plugin, les fonctionnalités suivantes sont prévues mais non encore opérationnelles:
L’entité Jeedom ainsi que le concepteur du plugin SomfyUnified et ses extensions ne pourront, en aucun cas et d’aucune manière, être tenus responsables d’une évolution des politiques Somfy et partenaires tiers qui conduirait à :
L’utilisation du serveur local de votre gateway Somfy nécessite que vous ayez au préalable créé un Token d’authentification à partir de la page du plugin prévue à cet effet.
La gateway Somfy a la capacité d’enregistrer et de conserver plusieurs tokens.
Le plugin propose les fonctionalités de gestion des token de votre gateway (création avec label utilisateur, suppression).
Le mode IP est à utiliser lorsqu’un système DNS dans votre configuration ne résoud pas les hostnames de type .local.
C’est le cas en particulier lorsque vous utilisez une box Jeedom Atlas.
Le mode IP peut être activé lors de la création ou mise à jour d’un serveur de type Local.
Lorsque le Mode IP est activé, la vérification SSL est obligatoirement et automatiquement désactivée (verifySSL = No).
En complément du retour d’état instantané qui s’effectue après l’envoi d’une commande, un rafraichissement périodique de l’ensemble des données équipement s’effectue toutes les:
Attention, les Logs Debug
et Info
génèrent beaucoup d’informations. Ces modes ne sont à utiliser que pour entrer en analyse du plugin et pendant des courtes périodes.
Lors du fonctionnement normal, positionner les Logs en mode Defaut
.
En fonctionnement normal, les Crons cron
et cron30
doivent être cochés.
…
La suppression d’un serveur (onglet Manage Servers) supprime le serveur de la configuration du plugin mais ne SUPPRIME PAS les équipements qui auraient déja été créés sur ce serveur.
En effet, la suppression d’un équipement peut avoir de nombreuses répercutions sur une configuration utilisateur.
C’est pour cela que, dans le plugin SomfyUnified, le suppression d’un équipement est laissée uniquement à l’initiative d’une opération réalisée manuellement par l’utilisateur.
Mon équipement a été créé mais il n’y a aucune commande qui apparait ?
L’équipement n’est pas (encore) intégré dans la base de donnée (BdD) du plugin (voir ci-dessous).
A l’aide de l’explorateur de fichier Jeedom, se rendre dans le répertoire:
plugins/SomfyUnified/userData/components/
Créer une archive .zip du répertoire undefined puis la renommer en y ajoutant .txt à la fin. Envoyer ce fichier créer au concepteur du plugin (en MP) afin que l’équipement puisse être inclus à la BdD du plugin SomfyUnified.
Je souhaite piloter des équipements controlés par une box qui ne se trouvent pas sur le même réseau local (LAN) que celui qui gère mon Jeedom.
C’est le cas d’équipements situés dans une résidence secondaire par exemple. Oui, cela est possible en gérant vos équipements via le serveur CLOUD associé. Dans ce cas, votre box n’apparaitra pas dans le panel “Local IoT Gateways”.
Puis-je enregistrer et gérer plusieurs serveurs avec mon plugin SomfyUnified ?.
Oui, le plugin SomfyUnified assure la gestion de tous les serveurs enregistrés par l’utilisateur et choisis dans la liste du menu “Manage Servers” et correctement configurés.
Une configuration classique pourrait être: Somfy TaHoma CLOUD + Somfy TaHoma LOCAL + Cozytouch CLOUD.
Sur mon Jeedom, puis-je gérer des équipements Somfy TaHoma qui ne sont pas reconnus par l’API Somfy Local ?.
Comme le plugin SomfyUnified assure la gestion de tous les serveurs enregistrés, il est possible de gérer ses équipements Somfy TaHoma en local pour profiter de l’avantages mode Cloudless et d’avoir accès également via le serveur CLOUD aux autres équipements non reconnus par votre box TaHoma en local.
A cette date, l’inclusion des équipements suivant a été effectuée:
Type Equipement | Identifiant Equipement | Constructeur |
---|---|---|
Towel Rack | KELUD | Sauter |
Water Heater | CALYPSO Split | Atlantic |
CALYPSO Trineo | Atlantic | |
PHASY | Sauter | |
DURALIS Connect | Thermor |
A cette date, l’inclusion des équipements suivant a été effectuée:
Type Equipement | Identifiant Equipement | Constructeur | Action | Info |
---|---|---|---|---|
Alarm | internal:TSKAlarmComponent | Somfy | 14 | 9 |
io:AlarmIOComponent | ||||
Awning | io:AwningValanceIOComponent | |||
io:HorizontalAwningIOComponent | ||||
ogp:Awning | ||||
rts:HorizontalAwningRTSComponent | ||||
CarbonDioxideSensor | netatmo:CO2Component | Legrand Netatmo | ||
ConfigurationComponent | netatmo:ConfigurationComponent | Legrand Netatmo | ||
netatmo:HomeController | Legrand Netatmo | |||
netatmo:WeatherStationConfigurationComponent | Legrand Netatmo | |||
ConsumptionSensor | io:DHWRelatedFossilEnergyConsumptionSensor | |||
io:HeatingRelatedFossilEnergyConsumptionSensor | ||||
io:TotalFossilEnergyConsumptionSensor | ||||
ContactSensor | io:ContactIOSystemDeviceSensor | |||
io:SomfyContactIOSystemSensor | ||||
rtds:RTDSContactSensor | ||||
zigbee:DoorSensorComponent | ||||
Dock | internal:TSKDockComponent | |||
ElectricitySensor | io:AirConditioningElectricalEnergyConsumptionSensor | |||
io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor | ||||
io:DHWCumulatedElectricalEnergyConsumptionIOSystemDeviceSensor | ||||
io:DHWElectricalEnergyConsumptionSensor | ||||
io:DHWRelatedElectricalEnergyConsumptionSensor | ||||
io:ElectricityMeterComponent | ||||
io:EnergyConsumptionSensorsConfigurationComponent | ||||
io:EnergyConsumptionSensorsHeatPumpComponent | ||||
io:HeatingElectricalEnergyConsumptionSensor | ||||
io:HeatingRelatedElectricalEnergyConsumptionSensor | ||||
io:OtherElectricalEnergyConsumptionSensor | ||||
io:PlugsElectricalEnergyConsumptionSensor | ||||
io:TotalElectricalEnergyConsumptionIOSystemSensor | ||||
io:TotalElectricalEnergyConsumptionSensor | ||||
modbuslink:DHWCumulatedElectricalEnergyConsumptionMBLSystemDeviceSensor | Atlantic, Thermor | 1 | 18 | |
modbus:YutakiV2SpaceHeatingElectricalEnergyConsumptionComponent | Hitachi | 8 | ||
ExteriorScreen | io:VerticalExteriorAwningIOComponent | |||
ExteriorVenetianBlind | io:ExteriorVenetianBlindIOComponent | |||
GarageDoor | io:DiscreteGarageOpenerIOComponent | 24 | 20 | |
io:DiscreteGarageOpenerWithPartialPositionIOComponent | Somfy | 29 | 20 | |
io:GarageOpenerIOComponent | 25 | 21 | ||
ogp:GarageDoor | ||||
rts:GarageDoorWithVentilationPositionRTSComponent | 10 | |||
rts:GarageDoor4TRTSComponent | 3 | 6 | ||
Gate | io:SlidingDiscreteFullyPedestriableGateOpenerIOComponent | |||
io:SlidingDiscreteGateOpenerIOComponent | ||||
ogp:Gate | 4 | 14 | ||
rts:GateOpenerRTSComponent | 9 | |||
rts:GateOpenerRTS4TComponent | 3 | 6 | ||
rts:SlidingGateOpenerRTSComponent | ||||
Generic | ovp:ModbusMainController | Hitachi | 3 | 8 |
HeatingSystem | io:AtlanticElectricalHeaterIOComponent | Atlantic | ||
io:AtlanticElectricalHeaterWithAdjustableTemperatureSetpointIOComponent | Atlantic | |||
io:AtlanticElectricalTowelDryerIOComponent | Atlantic | |||
io:AtlanticElectricalTowelDryer_IC3_IOComponent | Atlantic | |||
io:AtlanticPassAPCBoilerMainComponent | Atlantic | |||
io:AtlanticPassAPCHeatingAndCoolingZoneComponent | Atlantic | |||
io:AtlanticPassAPCHeatingZoneComponent | Atlantic | |||
io:AtlanticPassAPCHeatPumpMainComponent | Atlantic | |||
io:AtlanticPassAPCZoneControlMainComponent | Atlantic | |||
io:AtlanticPassAPCZoneControlZoneComponent | Atlantic | 32 | 30 | |
modbus:YutakiRoomThermostatZone1Component | Hitachi | 7 | ||
modbus:YutakiRoomThermostatZone2Component | Hitachi | 7 | ||
netatmo:NetatmoRoomController | Legrand Netatmo | 6 | 20 | |
ogp:HvacZone | Daikin | |||
HitachiHeatingSystem | modbus:YutakiMainComponent | Hitachi | 41 | 73 |
modbus:YutakiV2Zone1Component | Hitachi | 26 | 25 | |
modbus:YutakiV2Zone2Component | Hitachi | 26 | 25 | |
HumiditySensor | io:RelativeHumidityIOSystemDeviceSensor | |||
netatmo:HumidityComponent | Legrand Netatmo | |||
zigbee:RelativeHumidityComponent | ||||
Light | hue:ColorTemperatureLightBulbHUEComponent | Philps Hue | ||
hue:ExtendedColorLightCandleHUEComponent | Philps Hue | |||
hue:GenericColorTemperatureLightHUEComponent | Philps Hue | |||
hue:GenericDimmableLightHUEComponent | Philps Hue | |||
hue:GenericExtendedColorLightHUEComponent | Philps Hue | |||
io:AtlanticDimmableLightIOComponent | Atlantic | 19 | 8 | |
io:DimmableLightIOComponent | ||||
io:DimmableLightIOComponent | ||||
io:DimmableLightMicroModuleSomfyIOComponent | Somfy | 35 | 22 | |
io:DimmableRGBLightIOComponent | ||||
io:LightMicroModuleSomfyIOComponent | ||||
ogp:Light | ||||
rts:LightRTSComponent | ||||
LightSensor | io:LightIOSystemDeviceSensor | |||
io:LightIOSystemSensor | ||||
MusicPlayer | ogp:AudioPlayer | |||
NoiseSensor | netatmo:NoiseComponent | Legrand Netatmo | ||
OccupancySensor | io:OccupancyIOSystemDeviceSensor | |||
OnOff | io:OnOffIOComponent | |||
Pergola | io:SimpleBioclimaticPergolaIOComponent | |||
ogp:Pergola | ||||
Pod | internal:PodMiniComponent | |||
internal:PodV2Component | ||||
internal:PodV3Component | ||||
internal:UPodComponent | ||||
internal:UPodNetWorkComponent | ||||
ProtocolGateway | enocean:TransceiverEnoceanComponent | |||
homekit:StackComponent | ||||
hue:BridgeHUEV2Component | Philps Hue | |||
io:StackComponent | ||||
ogp:Bridge | ||||
ogp:Gateway | ||||
zigbee:StackV3Component | ||||
zigbee:TransceiverV3_0Component | ||||
RemoteController | io:IzymoController | |||
io:KeygoController | ||||
rtds:RTDSRemoteControllerComponent | ||||
RollerShutter | io:MicroModuleRollerShutterSomfyIOComponent | Somfy | 34 | 24 |
io:RollerShutterGenericIOComponent | ||||
io:RollerShutterVeluxIOComponent | ||||
io:RollerShutterWithBatterySomfyIOComponent | ||||
io:RollerShutterWithLowSpeedManagementIOComponent | Somfy | |||
rts:RollerShutterRTSComponent | Somfy | |||
zigbee:ProfaluxGenericComponent | Profalux | 14 | 17 | |
zigbee:RollerShutterGenericComponent | Profalux | 15 | 27 | |
Screen | io:VerticalInteriorBlindVeluxIOComponent | |||
ogp:Blind | Somfy | 8 | 25 | |
Shutter | ogp:Shutter | |||
SmokeSensor | io:SomfySmokeIOSystemSensor | Somfy | ||
SwingingShutter | rts:SwingingShutterRTSComponent | |||
TemperatureSensor | netatmo:TemperatureComponent | Legrand Netatmo | ||
io:AtlanticPassAPCOutsideTemperatureSensor | Atlantic | |||
io:AtlanticPassAPCZoneTemperatureSensor | Atlantic | |||
io:TemperatureInCelciusIOSystemDeviceSensor | ||||
io:TemperatureIOSystemSensor | ||||
netatmo:NetatmoThermostatTemperatureSensor | Legrand Netatmo | 0 | 8 | |
ogp:TemperatureSensor | Daikin | |||
zigbee:TemperatureSensorComponent | ||||
WaterHeatingSystem | io:AtlanticDomesticHotWaterProductionV2_AEX_IOComponent | Atlantic | 54 | 55 |
io:AtlanticDomesticHotWaterProductionV2_CETHI_V4_IOComponent | Atlantic | 54 | 56 | |
io:AtlanticDomesticHotWaterProductionV2_CV4E_IOComponent | Atlantic | 54 | 56 | |
io:AtlanticDomesticHotWaterProductionV2_SPLIT_IOComponent | Atlantic | 54 | 55 | |
io:AtlanticPassAPCDHWComponent | Atlantic | 17 | 17 | |
io:DomesticHotWaterTankComponent | 2 | 9 | ||
modbuslink:AtlanticDomesticHotWaterProductionMBLComponent | Atlantic, Thermor | 51 | 49 | |
WeatherSensor | core:WeatherSystemSensor | |||
Wifi | internal:WifiComponent | |||
Window | io:WindowOpenerVeluxIOComponent | Velux |