FR3024811A1 - METHOD FOR REMOTELY CONTROLLING DOMESTIC PERIPHERALS - Google Patents
METHOD FOR REMOTELY CONTROLLING DOMESTIC PERIPHERALS Download PDFInfo
- Publication number
- FR3024811A1 FR3024811A1 FR1457689A FR1457689A FR3024811A1 FR 3024811 A1 FR3024811 A1 FR 3024811A1 FR 1457689 A FR1457689 A FR 1457689A FR 1457689 A FR1457689 A FR 1457689A FR 3024811 A1 FR3024811 A1 FR 3024811A1
- Authority
- FR
- France
- Prior art keywords
- scenario
- internet access
- knowledge base
- access box
- identified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 36
- 230000009471 action Effects 0.000 claims abstract description 24
- 230000002093 peripheral effect Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 2
- 238000012550 audit Methods 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004378 air conditioning Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000763 evoking effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/2818—Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Selective Calling Equipment (AREA)
Abstract
La présente invention concerne un procédé de contrôle à distance d'au moins un périphérique (1) connecté à un boitier d'accès internet (2), le procédé comprenant la mise en œuvre d'étapes de : (a) Expression en langage naturel d'un scénario d'utilisation du périphérique (1); (b) Analyse sémantique dudit scénario par un serveur de traitement de scénarii (5) de sorte à identifier une partie de condition (P1) du scénario et une partie de conséquence (P2) du scénario, la partie de conséquence (P2) étant définie sous la forme d'un n-uplet de paramètres dont au moins : - un type de périphérique - une action associée au type de périphérique dans une première base de connaissance ; (c) Détermination par le serveur de traitement de scénarii (5) du périphérique (1) désigné dans le scénario à partir d'une seconde base de connaissances en fonction d'au moins le type de périphérique identifié, (d) Génération par le serveur de traitement de scénarii (5) d'un fichier d'instructions de contrôle du périphérique (1) en fonction d'au moins l'action identifiée, en vue d'une exécution de sorte à contrôler le périphérique (1) conformément audit scénario.The present invention relates to a remote control method of at least one device (1) connected to an internet access box (2), the method comprising the implementation of steps of: (a) Natural language expression a device usage scenario (1); (b) Semantic analysis of said scenario by a scenario processing server (5) so as to identify a condition part (P1) of the scenario and a consequence part (P2) of the scenario, the consequence part (P2) being defined in the form of a tuple of parameters of which at least: - a type of device - an action associated with the type of device in a first knowledge base; (c) determining by the scenario processing server (5) the device (1) designated in the scenario from a second knowledge base based on at least the identified device type, (d) Generating by the script processing server (5) of a device control instruction file (1) based on at least the identified action, for execution to control the device (1) according to the audit scenario.
Description
1 DOMAINE TECHNIQUE GENERAL La présente invention concerne le domaine de la domotique. Plus précisément, elle concerne un procédé de contrôle à distance de périphériques domestiques. ETAT DE L'ART A l'heure du tout numérique, de plus en plus d'objets « intelligents » connectables à internet sont disponibles, ces objets allant des consoles de jeu à l'électroménager en passant par les radiateurs, les alarmes ou encore les volets roulants. La domotique, qui est l'ensemble des techniques permettant le contrôle et l'automatisation (c'est-à-dire l'utilisation nécessitant de moins en moins d'intervention humaine) de ces objets au sein d'une habitation, se voit profondément transformée. Jusqu'à présent, la diversité des objets, des marques et des protocoles de communication a fait que le contrôle des différents équipements de la maison posait des problèmes de compatibilité et nécessitait une pluralité de boitiers et autres connecteurs divers, à moins de penser l'installation dès la construction du bâtiment. Le document FR2979508 a proposé un système de gestion d'équipements domestiques (ou « périphériques ») qui permette l'intégration de n'importe quel équipement de façon totalement transparente pour l'utilisateur, et qui offre une grande variété de services aussi bien pour la surveillance des équipements que pour leur automatisation et leur contrôle à distance dans des scénarii complexes. Ce système rend techniquement possibles des scénarii impliquant n'importe quels équipements communicant entre eux via un équipement de gestion adapté tel qu'un boitier d'accès à internet (Integrated Access Device, IAD, communément appelé « box ») d'un foyer ou un smartphone, et apporte entière satisfaction. Toutefois, de tels scénarii sont aujourd'hui 3024811 2 peu nombreux et limités. Il est en effet très facile de surveiller ou de contrôler à distance un ou plusieurs périphériques (par exemple via un smartphone), mais le développement de scénarii originaux et complexes reste hors de portée de l'utilisateur néophyte, et peut aujourd'hui être 5 accompli uniquement par des développeurs informatiques professionnels. Il serait ainsi souhaitable de disposer d'une solution simple, conviviale et autonome permettant à des clients ou des partenaires de créer des scénarii domotiques utilisables sur un IAD et permettant de partager ces mêmes scénarii entre des utilisateurs disposant des mêmes 10 périphériques. PRESENTATION DE L'INVENTION Selon un premier aspect, la présente invention se rapporte donc à un 15 procédé de contrôle à distance d'au moins un périphérique connecté à un boitier d'accès internet, le boitier d'accès internet étant relié au réseau internet via un réseau opérateur, le procédé comprenant la mise en oeuvre d'étapes de : (a) Expression en langage naturel sur une interface utilisateur d'un 20 équipement connecté au réseau internet d'un scénario d'utilisation du périphérique ; (b) Analyse sémantique dudit scénario par un serveur de traitement de scénarii du réseau opérateur de sorte à identifier une partie de condition du scénario et une partie de conséquence du scénario, la 25 partie de conséquence étant définie sous la forme d'un n-uplet de paramètres dont au moins : - un type de périphérique, - une action associée au type de périphérique dans une première base de connaissance accessible par ledit boitier 30 d'accès à internet ; (c) Détermination par le serveur de traitement de scénarii du périphérique désigné dans le scénario à partir d'une seconde base 3024811 3 de connaissances stockée sur ledit boitier d'accès à internet en fonction d'au moins le type de périphérique identifié ; (d) Génération par le serveur de traitement de scénarii d'un fichier d'instructions de contrôle du périphérique en fonction d'au moins 5 l'action identifiée, en vue d'une exécution de sorte à contrôler le périphérique conformément audit scénario d'utilisation dudit périphérique. Selon d'autres caractéristiques avantageuses et non limitatives : 10 - le procédé comprend en outre la mise en oeuvre d'étapes de : (e) Compilation par un serveur de gestion de périphériques également disposé au sein du réseau opérateur dudit fichier d'instructions de contrôle en un fichier binaire ; (f) Instanciation dudit fichier binaire sur le boitier d'accès à Internet en 15 vue d'une exécution de sorte à contrôler le périphérique conformément audit scénario d'utilisation dudit périphérique ; - le procédé comprend une étape (g) d'exécution du fichier binaire par le boitier d'accès à Internet de sorte à contrôler le périphérique conformément audit scénario d'utilisation dudit périphérique ; 20 - la première base de connaissance est contrôlée par le serveur de traitement de scénarii et est commune à tous les boitiers d'accès à Internet du réseau opérateur, alors que la seconde base de connaissance est spécifique du boitier d'accès à Internet d'un foyer ; - la seconde base de connaissance est mise à jour via une interface 25 utilisateur d'un équipement en cas d'identification d'un n-uplet de paramètres incompatible avec la seconde base de connaissances ; - l'étape d'expression du scénario comprend la saisie d'une chaîne de caractère par l'usager et/ou la sélection d'au moins un des paramètres du nuplet dans une liste de possibilités ; 30 - les étapes (a) et (b) sont mises en oeuvre simultanément et dynamiquement, ladite liste de possibilités étant mise à jour à chaque fois qu'un paramètre du n-uplet est sélectionné par l'usager ou identifié par 3024811 4 analyse sémantique, de telle sorte que la liste de possibilités comprenne seulement des possibilités de paramètres associés avec les paramètres déjà identifiés ou sélectionnés dans la première ou la seconde base de connaissance ; 5 - le n-uplet de paramètres de la partie de conséquence comprend en outre au moins un paramètre supplémentaire caractérisant le périphérique, chaque périphérique connecté au boitier d'accès internet étant associé à au moins un paramètre supplémentaire dans la seconde base de connaissances ; 10 - au moins deux périphériques connectés au boitier d'accès internet correspondent dans la seconde base de connaissances au type de périphérique identifié, la détermination du périphérique désigné dans le scénario à l'étape (c) étant également en fonction dudit paramètre supplémentaire identifié ; 15 - au moins deux périphériques connectés au boitier d'accès internet correspondent dans la seconde base de connaissances aux paramètres identifiés, l'étape (c) comprenant en outre la sélection du périphérique parmi lesdits périphériques correspondant aux paramètres identifiés ; - au moins un périphérique est désigné dans la partie de condition du 20 scénario, la partie de condition étant également définie sous la forme d'un n-uplet de paramètres dont au moins : - un type de périphérique - une action associée au type de périphérique dans la première base de connaissance ; 25 l'étape (c) comprenant également la détermination par le serveur de traitement de scénarii dudit périphérique désigné dans la partie de condition du scénario. - le fichier d'instructions de contrôle est en langage de balisage de type XML (eXtensible Markup Language).TECHNICAL FIELD The present invention relates to the field of home automation. More specifically, it relates to a remote control method of home peripherals. STATE OF THE ART At the digital age, more and more "smart" objects connectable to the internet are available, these objects ranging from game consoles to appliances, through radiators, alarms or even shutters. Home automation, which is the set of techniques allowing control and automation (that is to say the use requiring less and less human intervention) of these objects within a home, is seen deeply transformed. Until now, the diversity of objects, brands and communication protocols has meant that the control of the various equipment in the house poses compatibility problems and requires a plurality of boxes and other connectors, unless you think of it. installation as soon as the building is built. The document FR2979508 has proposed a system for managing household equipment (or "peripherals") that allows the integration of any equipment in a manner that is completely transparent to the user, and that offers a wide variety of services both for monitoring equipment only for automation and remote control in complex scenarios. This system makes it technically possible scenarios involving any equipment communicating with each other via suitable management equipment such as an Internet Access Device (IAD, commonly known as "box") of a home or a smartphone, and brings complete satisfaction. However, such scenarios are today few and limited. It is indeed very easy to monitor or remotely control one or more devices (for example via a smartphone), but the development of original and complex scenarios remains out of reach of the neophyte user, and can today be 5 accomplished only by professional IT developers. It would thus be desirable to have a simple, user-friendly and autonomous solution enabling customers or partners to create home automation scenarios that can be used on an IAD and making it possible to share these same scenarios between users having the same 10 peripherals. PRESENTATION OF THE INVENTION According to a first aspect, the present invention thus relates to a method of remotely controlling at least one device connected to an internet access box, the internet access box being connected to the Internet network. via an operator network, the method comprising the implementation of steps of: (a) Natural language expression on a user interface of a device connected to the internet network of a device usage scenario; (b) Semantic analysis of said scenario by a scenario server of the operator network so as to identify a condition part of the scenario and a consequence part of the scenario, the consequence part being defined as a n- a set of parameters including at least: a type of device, an action associated with the type of device in a first knowledge base accessible by said box 30 of access to the Internet; (c) Determining by the scenario processing server of the device designated in the scenario from a second knowledge base stored on said internet access box based on at least the type of device identified; (d) generating by the scenario processing server a device control instruction file based on at least the identified action, for execution so as to control the device in accordance with said scenario of the device; use of said device. According to other advantageous and nonlimiting features: the method furthermore comprises the implementation of steps of: (e) Compilation by a peripheral management server also arranged within the operator network of said instruction file of control in a binary file; (f) Instantiating said binary file on the Internet access box for execution so as to control the device according to said usage scenario of said device; the method comprises a step (g) of executing the binary file by the access box to the Internet so as to control the device according to said scenario of use of said peripheral; The first knowledge base is controlled by the scenario processing server and is common to all the Internet access boxes of the operator network, while the second knowledge base is specific to the Internet access box of a home ; the second knowledge base is updated via a user interface of a device in the event of identification of a n-tuple of parameters incompatible with the second knowledge base; the scenario expression step comprises the user entering a string of characters and / or selecting at least one of the parameters of the tuple in a list of possibilities; The steps (a) and (b) are implemented simultaneously and dynamically, said list of possibilities being updated each time a parameter of the tuple is selected by the user or identified by 3024811 4 analysis semantic, so that the list of possibilities includes only possibilities of parameters associated with the parameters already identified or selected in the first or the second knowledge base; 5 - the n-tuple of parameters of the consequence portion further comprises at least one additional parameter characterizing the device, each device connected to the internet access box being associated with at least one additional parameter in the second knowledge base; At least two devices connected to the internet access box correspond in the second knowledge base to the type of device identified, the determination of the device designated in the scenario in step (c) also being based on said additional parameter identified; At least two devices connected to the internet access box correspond in the second knowledge base to the identified parameters, step (c) further comprising selecting the device from among said devices corresponding to the identified parameters; at least one device is designated in the condition part of the scenario, the condition part being also defined in the form of a tuple of parameters of which at least: a type of device an action associated with the type of device in the first knowledge base; Step (c) further comprising determining by the scenario processing server said designated device in the condition part of the scenario. the control instruction file is in XML markup language (eXtensible Markup Language).
30 3024811 5 Selon un deuxième aspect, l'invention concerne un serveur de traitement de scénarii disposé au sein d'un réseau opérateur relié au réseau internet, configuré pour mettre en oeuvre : - Un module de réception d'un scénario d'utilisation d'un périphérique 5 connecté à un boitier d'accès à internet exprimé préalablement en langage naturel sur une interface utilisateur d'un équipement connecté au réseau internet ; - Un module d'analyse sémantique dudit scénario de sorte à identifier une partie de condition du scénario et une partie de conséquence du 10 scénario, la partie de conséquence étant définie sous la forme d'un n-uplet de paramètres dont au moins : o un type de périphérique o une action associée au type de périphérique dans une première base de connaissance accessible par ledit boitier 15 d'accès à internet ; - un module de détermination du périphérique désigné dans le scénario à partir d'une seconde base de connaissances stockée sur ledit boitier d'accès à internet en fonction d'au moins le type de périphérique identifié, 20 - un module de génération d'un fichier d'instructions de contrôle du périphérique en fonction d'au moins l'action identifiée, en vue d'une exécution de sorte à contrôler le périphérique conformément audit scénario d'utilisation dudit périphérique.According to a second aspect, the invention relates to a scenario processing server disposed within an operator network connected to the Internet network, configured to implement: a module for receiving a usage scenario; a device 5 connected to an internet access box previously expressed in natural language on a user interface of a device connected to the Internet network; A semantic analysis module of said scenario so as to identify a condition part of the scenario and a consequence part of the scenario, the consequence part being defined in the form of a tuple of parameters of which at least: a type of device o an action associated with the type of device in a first knowledge base accessible by said box 15 of access to the Internet; a module for determining the device designated in the scenario from a second knowledge base stored on said access box to the internet according to at least the type of device identified; a module for generating a device; device control instruction file based on at least the identified action, for execution so as to control the device according to said usage scenario of said device.
25 Selon un troisième et un quatrième aspects, l'invention concerne un produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé le premier aspect de contrôle à distance d'au moins un périphérique connecté à un boitier d'accès internet ; et des moyens de stockage lisibles par un équipement informatique sur lesquels 30 un produit programme d'ordinateur comprend des instructions de code pour l'exécution d'un procédé selon le premier aspect de contrôle à distance d'au moins un périphérique connecté à un boitier d'accès internet.According to a third and a fourth aspect, the invention relates to a computer program product comprising code instructions for the execution of a method the first aspect of remote control of at least one device connected to a control box. 'Internet access ; and computer-readable storage means on which a computer program product comprises code instructions for executing a method according to the first aspect of remotely controlling at least one device connected to a box internet access.
3024811 6 PRESENTATION DES FIGURES D'autres caractéristiques et avantages de la présente invention 5 apparaîtront à la lecture de la description qui va suivre d'un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels : - la figure 1 est un schéma du système selon l'invention ; - la figure 2 représente un exemple de saisie en langage naturel ; 10 - la figure 3 est un schéma illustrant la mise en oeuvre d'un mode de réalisation d'un procédé selon l'invention. DESCRIPTION DETAILLEE 15 Architecture En référence aux dessins et notamment à la figure 1, l'invention concerne un procédé de contrôle à distance d'au moins un périphérique 1. Comme expliqué précédemment, on entend par le terme périphérique tout 20 objet domestique connectable, que ces objets soient complexes, par exemple des téléviseurs ou des appareils photo, ou très simples, en particulier des interrupteurs. Le terme périphérique recouvre également tout capteur d'une grandeur physique que l'on pourrait trouver directement dans le foyer ou intégré dans un objet, par exemple un capteur de température.Other features and advantages of the present invention will be apparent from the following description of a preferred embodiment. This description will be given with reference to the accompanying drawings in which: - Figure 1 is a diagram of the system according to the invention; FIG. 2 represents an example of input in natural language; FIG. 3 is a diagram illustrating the implementation of an embodiment of a method according to the invention. DETAILED DESCRIPTION Architecture With reference to the drawings and in particular to FIG. 1, the invention relates to a method for remotely controlling at least one peripheral device 1. As explained above, the term peripheral means any connectable home object that these objects are complex, for example televisions or cameras, or very simple, in particular switches. The term device also covers any sensor of a physical quantity that could be found directly in the home or integrated into an object, for example a temperature sensor.
25 Chaque périphérique 1 est connecté à un boitier d'accès internet 2 (la « box », appelée comme expliqué un IAD) et chaque boitier d'accès internet 2 est relié au réseau internet 21 via un réseau opérateur 20, souvent appelé « backbone ». Sur la figure 1, les espaces 10a et 10b représentent deux « foyers », chacun ayant respectivement sa box 2a, 2b et 30 ses périphériques 1a.X, 1 b.X. Il est à noter que le terme « boitier d'accès internet » n'est pas limité aux box, et peut par exemple comprendre les téléphones portables 3024811 7 disposant d'une connectivité internet, s'il dispose des connectivités nécessaires (voir plus loin). On notera par ailleurs qu'il n'est pas obligatoire que le boitier d'accès internet 2 soit constitué d'une seule entité physique. En effet, dans le cas 5 d'une box, on peut par exemple séparer le modem (c'est à dire la partie qui permet de convertir un signal numérique en un signal analogique pour l'ADSL, en d'autres termes la première couche OSI) du reste du boitier d'accès internet 2 (c'est à dire les couches OSI autres que la première, la QoS haut niveau, des services (VOIP, LAN...) ou encore de la 10 connectique), les deux entités étant par exemple connectées via un câble ethernet, le Wifi, ou des boitiers CPL. On comprendra ainsi que le terme « boitier d'accès internet » englobe les deux entités, et tout périphérique 1 connecté à l'un ou l'autre sera considéré dans la présente description comme connecté à un boitier 15 d'accès internet 2. Cette connexion entre le boitier d'accès internet 2 et les périphériques 1 peut être réalisée de diverses façons et dépend principalement de la connectivité physique dont dispose chaque périphérique 1. En particulier, un périphérique 1 peut être connecté directement au boitier d'accès internet 2 s'il dispose d'une connectivité 20 présente nativement sur le boitier d'accès internet 2 (par exemple une connexion ethernet, usb, HDMI, ou Wifi). En l'absence de connectivité directe, il est possible d'utiliser une extension matérielle offrant la connectivité physique manquante. Cette extension, communément appelée un « dongle » (ou clé-connecteur en 25 français) se branche sur un des ports du boitier d'accès internet 2 (par exemple un port usb). On peut citer comme exemple de dongle une clé avec un port IrDA (infrarouge): elle offre au boitier d'accès internet 2 une connexion avec tout périphérique 1 qui disposerait d'une telle connectivité via les rayonnements infrarouge, par exemple une télécommande. Un seul 30 dongle est en effet le plus souvent suffisant par type de connectivité. On remarque qu'un dongle offre le plus souvent une connectivité filaire (il consiste alors en un simple adaptateur), mais qu'il peut être comme dans le 3024811 8 cas de la clé IrDA un émetteur/récepteur d'une connectivité sans fil. On peut grâce aux dongles gérer dans un seul environnement des objets de différents fabricants qui ont toutes les chances de disposer de connectivités différentes.Each device 1 is connected to an internet access box 2 (the "box", called as explained by an IAD) and each internet access box 2 is connected to the Internet network 21 via an operator network 20, often called "backbone". ". In FIG. 1, the spaces 10a and 10b represent two "foci", each having its box 2a, 2b and its peripherals 1a.X, 1 b.X. It should be noted that the term "internet access box" is not limited to boxes, and may for example include mobile phones 3024811 7 with internet connectivity, if it has the necessary connectivity (see below). ). Note also that it is not mandatory that the case of internet access 2 consists of a single physical entity. Indeed, in the case of a box, it is possible, for example, to separate the modem (ie the part that makes it possible to convert a digital signal into an analog signal for ADSL, in other words the first OSI layer) of the rest of the internet access box 2 (ie the OSI layers other than the first one, the high level QoS, services (VOIP, LAN ...) or even the 10 connectors), two entities being for example connected via an ethernet cable, Wifi, or CPL boxes. It will thus be understood that the term "internet access box" encompasses both entities, and any device 1 connected to one or the other will be considered in the present description as connected to an internet access box 15. connection between the internet access box 2 and the peripherals 1 can be achieved in various ways and depends mainly on the physical connectivity available to each device 1. In particular, a device 1 can be connected directly to the internet access box 2 s it has a connectivity 20 present natively on the case of internet access 2 (for example an ethernet connection, usb, HDMI, or Wifi). In the absence of direct connectivity, it is possible to use a hardware extension that provides the missing physical connectivity. This extension, commonly called a "dongle" (or key-connector in French) connects to one of the ports of the internet access box 2 (for example a USB port). An example of a dongle is a key with an IrDA (infrared) port: it provides the internet access box 2 with a connection with any device 1 that would have such connectivity via infrared radiation, for example a remote control. In fact, a single dongle is usually sufficient for each type of connectivity. Note that a dongle most often offers wired connectivity (it is then a simple adapter), but it can be as in the case of the IrDA key transmitter / receiver of wireless connectivity. One can thanks to the dongles manage in only one environment objects of different manufacturers who are likely to have different connectivities.
5 Un modem 3G/4G peut être utilisé comme un dongle assez particulier. En effet, un périphérique 1 possédant une connectivité mobile (via un réseau de type 3G, 4G, etc.) est déjà capable de se connecter à internet sans passer par une box 2. Il est à noter que la connectivité mobile via le modem 3G/4G peut être en utilisée en backup de la liaison Wifi.5 A 3G / 4G modem can be used as a special dongle. Indeed, a device 1 having a mobile connectivity (via a network type 3G, 4G, etc.) is already able to connect to the internet without going through a box 2. It should be noted that mobile connectivity via the 3G modem / 4G can be used in backup of the Wifi connection.
10 Le modem 3G/4G peut en outre être lui-même utilisé comme un périphérique présentant des fonctionnalités qui pourraient être offertes aux autres périphériques 1 présentant une connectivité mobile dans la maison 10. Une de ces fonctionnalités pourrait être par exemple la possibilité d'envoi de SMS, éventuellement via la box 2. Ainsi, on peut imaginer 15 comme périphérique 1 un dispositif d'alerte que les personnes âgées peuvent porter autour du cou, et en cas d'appui du bouton, outre l'alerte des secours, le système selon l'invention déclencherait l'envoi de SMS à des numéros préenregistrés.The 3G / 4G modem can further itself be used as a device with features that could be offered to other devices 1 having mobile connectivity in the home 10. One of these features could be for example the possibility of sending SMS, possibly via the box 2. Thus, one can imagine 15 as device 1 a warning device that the elderly can wear around the neck, and in case of button support, besides the emergency alert, the system according to the invention would trigger the sending of SMS to prerecorded numbers.
20 Serveurs de gestion de périphériques et de traitement de scenarii Le système comprend comme on le voit sur la figure 1 un serveur de gestion de périphériques 4 disposé dans le réseau opérateur 20. Ce serveur de gestion de périphériques 4 est en particulier un (ou 25 plusieurs) équipements disposant d'espaces de stockage de données et de moyens de traitement. Par « serveur de gestion », on comprendra qu'on peut désigner un ensemble de serveurs de l'opérateur du réseau 20. De façon préférée, le serveur 4 (ou un équipement différent du réseau opérateur 20 mais connecté au serveur 4) stocke une base de 30 données de périphériques 1. Chaque périphérique 1 connecté à un boitier d'accès à internet 2 de l'opérateur du réseau 20 comprend une 3024811 9 représentation 1' (appelée « objet virtuel ») dans cette base de données (voir figure 1), et est référencé par un identifiant unique. Chaque périphérique peut ainsi être associé à un ensemble de données informatiques comprenant : 5 - un identifiant du type du périphérique (i.e. un modèle d'équipement), qui peut être partie de l'identifiant unique ; - au moins un attribut du périphérique 1, chaque attribut identifiant un élément contrôlable du périphérique 1 ; - une adresse, notamment l'adresse MAC, du boitier d'accès internet 2 10 auquel le périphérique 1 est connecté. Une telle structure de représentation des périphériques 1 et ses avantages sont illustrés dans le document FR2979508. D'autres données informatiques pouvant être associées à chaque périphérique 1 y sont 15 proposées. On comprendra toutefois que le présent procédé n'est pas limité à une structure de données et que l'homme du métier pourra utiliser des modèles connus. Le système comprend en outre comme on le voit sur la figure 1 un 20 serveur de traitement de scénarii 5 également disposé dans le réseau opérateur 20. Ce serveur de traitement de scénarii 5 est en particulier un (ou plusieurs) équipements disposant d'espaces de stockage de données et de moyens de traitement. Ce serveur 5 peut être par ailleurs le même équipement que le serveur de gestion de périphériques 4.Device Management and Scenario Processing Servers The system comprises as shown in FIG. 1 a device management server 4 disposed in the operator network 20. This peripheral management server 4 is in particular one (or 25). several) equipment with data storage space and processing facilities. By "management server", it will be understood that it is possible to designate a set of servers of the operator of the network 20. Preferably, the server 4 (or a device different from the operator network 20 but connected to the server 4) stores a Peripheral data base 1. Each peripheral 1 connected to an internet access box 2 of the network operator 20 comprises a representation 1 '(called a "virtual object") in this database (see FIG. 1), and is referenced by a unique identifier. Each device can thus be associated with a set of computer data comprising: a device type identifier (i.e. an equipment model), which may be part of the unique identifier; at least one attribute of the device 1, each attribute identifying a controllable element of the device 1; an address, in particular the MAC address, of the internet access box 2 to which the peripheral 1 is connected. Such a device representation structure 1 and its advantages are illustrated in document FR2979508. Other computer data that can be associated with each device 1 are proposed. It will be understood, however, that the present method is not limited to a data structure and that one skilled in the art can use known models. The system furthermore comprises, as shown in FIG. 1, a scenario processing server 5 also disposed in the operator network 20. This scenario processing server 5 is in particular one (or more) equipment with communication spaces. data storage and processing means. This server 5 may moreover be the same equipment as the peripheral management server 4.
25 Saisie d'un scénario Dans une première étape (a) du présent procédé, un utilisateur exprime sur une interface utilisateur d'un équipement 3 connecté au réseau 30 internet 21 un scénario d'utilisation du périphérique 1. Cette étape peut comprendre une authentification de l'utilisateur de sorte à identifier quel est son boitier 2 (et donc quels sont ses périphériques 1). On comprendra que 3024811 10 l'équipement 3 peut être disposé dans le réseau local du boitier 2, ou connecté de façon distante. L'expression peut être faite de nombreuse façons, et consiste en particulier en la saisie d'une chaîne de caractères par l'utilisateur (on 5 comprendra qu'elle peut être faite au clavier, mais également via une reconnaissance vocale, voire une reconnaissance de caractères) et/ou la sélection de paramètres dans une liste de possibilités (dite saisie prédictive, voir plus loin). L'expression du scénario est en langage naturel, prenant la forme d'une phrase éventuellement complexe, et plus ou moins 10 grammaticalement exacte. Par exemple : « Je veux allumer la climatisation de mon salon quand quelqu'un est présent dans mon salon pendant 10 minutes » ou encore « ALLUMER CLIM DU SALON SI EST OCCUPE +10 MIN » Ces deux phrases définissent le même scénario impliquant au moins 15 deux périphériques 1 : - un climatiseur, - un détecteur de présence. Une pièce est évoquée : le salon. Le scénario peut se résumer sous la forme d'une requête conditionnelle : si une présence est détectée par un 20 détecteur de présence (associé au salon) pendant une durée consécutive de 10 minutes, alors une requête d'allumage doit être envoyée au climatiseur. Analyse du scénario 25 Le présent procédé vise à permettre de créer le plus facilement possible tout scénario domotique constitué de briques logiques de la forme « si [événement/état(s)] alors [action(s)] ». En référence à la figure 2, la première partie (« si... ») est une partie 30 de condition P1. Elle peut être très simple (« S'il est 18h »), ou être plus complexe et elle-même impliquer un ou plusieurs périphériques 1. Plusieurs 3024811 11 combinaisons sont possibles et on peut même utiliser des opérateurs logiques comme ET et OU. La deuxième partie (« alors... ») est une partie de conséquence P2. Elle correspond à l'action souhaitée sur le périphérique 1 si la condition est 5 vérifiée. Chaque partie peut être un n-uplet de dimension quelconque. L'identification des deux parties P1, P2 est obtenue par analyse sémantique (mise en oeuvre par le serveur de traitement de scénarii 5), en repérant des mots caractéristiques (par exemple « si », « quand », « lorsque » pour la partie de condition P1, « alors », « je veux », etc. pour la 10 partie de conséquence P2). A l'intérieur de la partie de conséquence (et le cas échéant à l'intérieur de la partie de condition si elle implique un périphérique), un nuplet de paramètres définissant la partie est identifié. Il contient au moins : - un type de périphérique, 15 - une action associée au type de périphérique dans une première base de connaissance accessible par (éventuellement en étant stockée sur) ledit boitier d'accès à internet 2, avec lequel le serveur 5 interagit. Par « type de périphérique », on entend comme déjà expliqué la 20 dénomination d'une classe de périphérique, comme « lampe » dans l'exemple représenté. L'action est quant à elle typiquement un verbe, et désigne tout type d'acte que le périphérique 1 pourrait réaliser. Dans notre exemple, l'action est « allumer ». La première base de connaissances est une ontologie générale 25 partagée entre tous les foyers qui définit ce qui est possible et ce qui ne l'est pas. Elle représente une base de connaissance globale indépendamment du foyer - et théorique. Elle peut contenir une partie fixe de connaissance « une lampe peut s'allumer », « un smartphone a un seul propriétaire » ou « des volets roulants ne peuvent pas être contrôlés à 30 distance » et une partie variable « un ordinateur peut avoir de 0 à 25 ports USB » de façon générale on comprend qu'elle associe au moins à chaque 3024811 12 type de périphérique au moins une action réalisable, et si possible leur liste exhaustive. Avantageusement, cette base de connaissance est une ontologie intelligente (qui ne traite pas forcément que des objets mais des concepts, 5 par exemple « les objets qui peuvent s'allumer peuvent clignoter et donc faire des notifications ») et non pas une simple liste, car elle ne se contente pas de lister et de figer les possibilités mais de laisser une marge de manoeuvre pour pouvoir jouer avec cette base ; les relations non précisées ne sont pas considérées comme impossibles mais au contraire comme 10 potentiellement possibles (ce n'est pas parce qu'une porte ne peut théoriquement pas s'allumer que cela est impossible). Cette ontologie est soit livrée par défaut dans le boitier d'accès à internet 2, soit constituée via le réseau opérateur 20, soit hébergée sur un serveur (en particulier le serveur 5). Dans tous les cas elle est gérée à distance par l'un des serveurs 15 4 et 5 et mise à jour en fonction des nouveaux périphériques 1 ou fonctionnalités offertes. Il est à noter que le système peut ainsi apprendre que certains objets ont certaines fonctionnalités. Par exemple, toutes les caméras de sécurité ne peuvent pas faire de lumière, mais si un utilisateur entre « allumer 20 lumière caméra », vu que cela n'est pas indiqué comme impossible dans l'ontologie globale, il va être notifié au serveur 4 que cette caméra est capable de s'allumer et le système va apprendre cette possibilité (après avoir testé qu'il peut bien la contrôler). Cette caméra devenant alors un objet allumable, elle devient du même coup un objet capable de faire des 25 notifications d'après l'ontologie générale à la prochaine mise à jour. Une seconde base de connaissances est stockée sur ledit boitier d'accès à internet 2, cette dernière est une autre ontologie, qui est cette fois spécifique du boitier d'accès à Internet 2 du foyer.Entering a scenario In a first step (a) of the present method, a user expresses on a user interface of a device 3 connected to the internet network 21 a scenario of using the device 1. This step may comprise an authentication of the user to identify what is its case 2 (and therefore what are its devices 1). It will be understood that the equipment 3 can be disposed in the local network of the box 2, or connected remotely. The expression can be made in many ways, and consists in particular in the input of a string of characters by the user (it will be understood that it can be done on the keyboard, but also via voice recognition or recognition of characters) and / or the selection of parameters in a list of possibilities (called predictive input, see below). The scenario expression is in natural language, taking the form of a possibly complex sentence, and more or less grammatically exact. For example: "I want to turn on the air conditioning in my living room when someone is present in my living room for 10 minutes" or "LIGHTING CLIM AT THE SALON IF IS BUSY +10 MIN" These two sentences define the same scenario involving at least 15 two devices 1: - an air conditioner, - a presence detector. One piece is evoked: the living room. The scenario can be summed up in the form of a conditional request: if a presence is detected by a presence detector (associated with the show) for a consecutive period of 10 minutes, then an ignition request must be sent to the air conditioner. Analysis of the Scenario The present method aims at making it possible to create as easily as possible any domotic scenario consisting of logical bricks of the form "if [event / state (s)] then [action (s)]". With reference to FIG. 2, the first part ("if ...") is a condition part P1. It can be very simple ("If it is 18h"), or be more complex and itself involve one or more devices 1. Several combinations are possible and one can even use logical operators like AND and OR. The second part ("then ...") is a part of consequence P2. It corresponds to the desired action on the device 1 if the condition is verified. Each part can be a tuple of any size. The identification of the two parts P1, P2 is obtained by semantic analysis (implementation by the scenario processing server 5), by identifying characteristic words (for example "if", "when", "when" for the part condition P1, "then", "I want", etc. for the consequence part P2). Inside the consequence part (and possibly inside the condition part if it involves a device), a tuple of parameters defining the part is identified. It contains at least: - a type of device, 15 - an action associated with the type of device in a first knowledge base accessible by (possibly being stored on) said access box 2, with which the server 5 interacts . By "device type" is meant as already explained the naming of a device class, as "lamp" in the example shown. The action is typically a verb, and refers to any type of action that device 1 could achieve. In our example, the action is "turn on". The first knowledge base is a general ontology shared between all households that defines what is possible and what is not. It represents a global knowledge base regardless of focus - and theoretical. It can contain a fixed part of knowledge "a lamp can light", "a smartphone has a single owner" or "shutters can not be controlled remotely" and a variable part "a computer can have 0 25 USB ports "generally it is understood that it associates at least each type of device at least one actionable action, and if possible their exhaustive list. Advantageously, this knowledge base is an intelligent ontology (which does not necessarily deal with objects but concepts, for example "the objects that can light up can flash and therefore make notifications") and not just a list, because it does not just list and freeze the possibilities but leave room for maneuver to play with this base; unspecified relationships are not considered impossible but on the contrary as potentially possible (it is not because a door can theoretically not light that this is impossible). This ontology is either delivered by default in the case of access to the internet 2, is constituted via the operator network 20, or hosted on a server (in particular the server 5). In all cases it is remotely managed by one of the servers 4 and 5 and updated according to the new devices 1 or features offered. It should be noted that the system can learn that some objects have certain features. For example, all security cameras can not make light, but if a user enters "turn on 20 light camera", since this is not indicated as impossible in the global ontology, it will be notified to the server 4 that this camera is able to light up and the system will learn this possibility (after having tested that it can well control it). As this camera becomes an ignitable object, it becomes at the same time an object capable of making notifications according to the general ontology at the next update. A second knowledge base is stored on said internet access box 2, the latter is another ontology, this time specific to the Internet access box 2 of the home.
30 Elle est complétée au fil du temps par l'utilisateur via l'interface. Elle est intrinsèque au foyer où le système est installé. De façon préférée, elle est initiée via la saisie préalable d'une description du foyer « j'ai 4 pièces 3024811 13 dans la maison, la pièce 3 s'appelle la cuisine et il y a 2 lampes dedans, etc.». Ainsi et grâce à l'intelligence des deux ontologies, le boitier 2 va comprendre qu'il est par exemple possible d'allumer une lampe dans la 5 cuisine. Afin d'utiliser ces informations, le n-uplet de paramètres de la partie de conséquence P2 peut comprendre en outre au moins un paramètre supplémentaire caractérisant le périphérique 1. Par paramètre supplémentaire, on entend toute information 10 additionnelle permettant de distinguer un périphérique d'un autre. Ce peut être un paramètre de localisation, par exemple « du salon » dans l'exemple de la figure 2, mais également tout attribut tel qu'une couleur, une taille, une disposition du périphérique, etc. Chaque périphérique 1 connecté au boitier d'accès internet 2 peut 15 être ainsi associé à au moins un paramètre supplémentaire dans la seconde base de connaissances. Il est à noter qu'un périphérique 1 peut n'être associé à aucun paramètre supplémentaire. Par exemple, si l'utilisateur possède une seule télévision chez lui, il n'a pas besoin d'en préciser la taille, la localisation ou autre pour l'identifier.It is completed over time by the user via the interface. It is intrinsic to the home where the system is installed. In a preferred way, it is initiated by the preliminary seizure of a description of the "I have 4 rooms 3024811 13 in the house, the room 3 room is called the kitchen and there are 2 lamps in it, etc.". Thus and thanks to the intelligence of the two ontologies, the case 2 will understand that it is for example possible to light a lamp in the kitchen. In order to use this information, the parameter tuple of the consequence part P2 may furthermore comprise at least one additional parameter characterizing the device 1. By additional parameter is meant any additional information enabling a device to be distinguished from another. It can be a location parameter, for example "living room" in the example of Figure 2, but also any attribute such as color, size, layout of the device, etc. Each device 1 connected to the internet access box 2 can thus be associated with at least one additional parameter in the second knowledge base. It should be noted that a device 1 may not be associated with any additional parameter. For example, if the user has a single television at home, he does not need to specify the size, location or other to identify him.
20 Grâce à la seconde base de connaissance, les moyens de traitement de données dudit serveur de traitement de scénarii 5 déterminent le périphérique 1 désigné dans le scénario en fonction des paramètres (autre que l'action) identifiés.With the second knowledge base, the data processing means of said scenario processing server 5 determine the designated device 1 in the scenario according to the parameters (other than the action) identified.
25 Le type de périphérique identifié peut suffire : si j'ai une seule télévision, il n'y aura pas d'ambiguïté, et saisir « allumer la télévision » suffira. Dès lors qu'il y a deux périphériques du même type (deux lampes) dans la seconde base de connaissance, une ambiguïté doit être résolue. La 30 détermination du périphérique 1 désigné dans le scénario à l'étape (c) peut alors également utiliser ledit paramètre supplémentaire identifié. Ainsi, le fait 3024811 14 de rajouter « du salon » permet de distinguer la lampe de l'exemple de celle « de la cuisine ». Toutefois, même en utilisant plusieurs paramètres supplémentaires, une ambigüité peut subsister : l'utilisateur peut avoir deux grandes lampes 5 dans le salon. De façon préférée, l'étape (c) comprend alors la sélection du périphérique 1 parmi lesdits périphériques correspondant aux paramètres identifiés. En d'autres termes, l'interface 3 propose une liste des périphériques (désignés par un identifiant absolu, par exemple leur nom/adresse IP/adresse MAC) entre lesquels l'ambigüité subsiste, et va le 10 cas échéant modifier la deuxième base de connaissances pour éviter que l'ambigüité ne se reproduise. Il s'agit d'un exemple de mise en oeuvre d'un mode bidirectionnel pour lequel on verra d'autres avantages plus loin. La saisie prédictive évoquée avant désigne un mode de réalisation 15 dynamique dans lequel les étapes (a) et (b) sont mises en oeuvre simultanément et dynamiquement, via une échange en temps réel entre l'équipement 3 et le serveur 5. Plus précisément, l'interface met à jour et propose ladite liste de possibilités à chaque fois qu'un paramètre du n-uplet est sélectionné par l'usager ou identifié par analyse sémantique, de telle 20 sorte que la liste de possibilités comprenne seulement des possibilités de paramètres associés avec les paramètres déjà identifiés ou sélectionnés dans la première ou la seconde base de connaissance Ainsi, au moment où l'utilisateur va indiquer le mot « allumer », le système va aller chercher en arrière-plan dans la première base de 25 connaissance tous les objets qu'il est possible d'allumer dans toute la maison, que ce soit une lampe, une télévision ou un climatiseur et va les proposer à l'utilisateur sous forme d'une liste de types de périphériques. Ensuite, si le choix de l'utilisateur se porte sur le mot lampe, alors le système va aller chercher, en arrière-plan cette fois-ci, les pièces où se 30 trouvent des lampes et va les proposer à l'utilisateur sous forme d'une liste de paramètres supplémentaires.25 The type of device identified may be sufficient: if I have a single television, there will be no ambiguity, and entering "turn on the television" will suffice. Since there are two devices of the same type (two lamps) in the second knowledge base, an ambiguity must be resolved. The determination of the device 1 designated in the scenario in step (c) can then also use said additional parameter identified. Thus, the fact 3024811 14 to add "living room" can distinguish the lamp of the example of the "kitchen". However, even using several additional parameters, ambiguities may remain: the user can have two large lamps in the living room. Preferably, step (c) then comprises selecting the peripheral device 1 from among said peripherals corresponding to the identified parameters. In other words, the interface 3 proposes a list of the devices (designated by an absolute identifier, for example their name / IP address / MAC address) between which the ambiguity remains, and will if necessary modify the second base. knowledge to prevent ambiguity from reoccurring. This is an example of implementation of a bidirectional mode for which we will see other advantages later. The aforementioned predictive seizure designates a dynamic embodiment in which steps (a) and (b) are implemented simultaneously and dynamically, via a real-time exchange between the equipment 3 and the server 5. More precisely, the interface updates and proposes said list of possibilities each time a parameter of the tuple is selected by the user or identified by semantic analysis, so that the list of possibilities includes only possible parameters associated with the parameters already identified or selected in the first or second knowledge base Thus, when the user will indicate the word "turn on", the system will fetch in the background in the first base 25 of knowledge all objects that can be lit throughout the house, be it a lamp, a television or an air conditioner and will offer them to the user in the form of a list of device types. Then, if the choice of the user is on the word lamp, then the system will fetch, in the background this time, the rooms where lamps are located and will offer them to the user in form. a list of additional parameters.
3024811 15 Une fois la saisie terminée (en d'autres termes toutes les ambiguïtés ont été résolues), la version textuelle du scénario définit des « données descriptives du scénario » qui vont permettre aux moyens de traitement de données du serveur de traitement de scénarii 5 de générer dans une étape 5 (d) un fichier d'instructions de contrôle du périphérique 1 en fonction d'au moins l'action identifiée (voir plus loin). Il est à noter que la version textuelle du scénario est facilement exportable. Si l'on copie-colle ce texte dans un autre foyer, le serveur 5 vérifiera à son tour la cohérence du scénario en fonction de la propre 10 ontologie de ce foyer et procédera aux ajustements (une « lampe du salon » restera une « lampe du salon » même si elle fonctionne différemment mais il faudra peut-être préciser laquelle s'il y en a plusieurs). Mode bidirectionnel 15 Dans le mode bidirectionnel, le moteur permet de proposer des possibilités à l'utilisateur mais est aussi capable d'apprendre au fur et à mesure des scénarii proposés par l'utilisateur et de mettre à jour la deuxième base de connaissance en conséquence.Once the seizure is complete (in other words all the ambiguities have been resolved), the textual version of the scenario defines "scenario descriptive data" which will allow the data processing means of the scenario processing server 5. generating in a step 5 (d) a control instruction file of the device 1 based on at least the identified action (see below). It should be noted that the textual version of the scenario is easily exportable. If this text is copied and pasted into another home, the server 5 will in turn check the coherence of the script according to the home's own ontology and make the adjustments (a "living room lamp" will remain a "lamp" of the show "even if it works differently but it may be necessary to specify which if there are several). Bidirectional mode 15 In the bidirectional mode, the engine makes it possible to propose possibilities to the user but is also able to learn as and when the scenarios proposed by the user and to update the second base of knowledge accordingly .
20 Par exemple, si après avoir tapé « allumer », l'utilisateur entre « chauffe-eau » alors que celui-ci n'était pas proposé par la frappe prédictive (parce que la deuxième base de connaissances du boitier d'accès à internet 2 ne connait pas le chauffe-eau), cette base va apprendre qu'il y a un chauffe-eau (qui peut s'allumer) : l'interface va proposer à l'utilisateur de 25 l'appairer puis il sera fonctionnel. De même, si toutes les lampes sont dans le salon et que l'utilisateur demande d'allumer une lampe de la cuisine, l'interface demandera s'il y a une nouvelle lampe ou si une lampe a été déplacée. L'appairage des périphériques 1 se faisant via la même interface, l'ajout de la nouvelle 30 lampe se fait dans la continuité du processus. De la même façon, le système étant capable d'agir sur les objets connectés, si plusieurs objets peuvent correspondre, par exemple s'il y a plusieurs lampes dans le salon 3024811 16 et qu'on cherche laquelle (ou lesquelles) doit être allumée, il sera capable de les allumer à tour de rôle pour que l'utilisateur puisse facilement indiquer lesquelles sont concernées par son scénario sans avoir à se souvenir de leurs nom/IP/adresse MAC, etc.For example, if after typing "light", the user enters "water heater" when it was not proposed by the predictive keystroke (because the second knowledge base of the box of access to the Internet 2 does not know the water heater), this base will learn that there is a water heater (which can light): the interface will offer the user 25 to pair and then it will be functional. Likewise, if all lamps are in the living room and the user asks to light a kitchen lamp, the interface will ask if there is a new lamp or if a lamp has been moved. Since the pairing of the peripherals 1 is done via the same interface, the addition of the new lamp 30 is done in the continuity of the process. In the same way, the system being able to act on the connected objects, if several objects can correspond, for example if there are several lamps in the living room 3024811 16 and that one seeks which ones (or which) must be lit , it will be able to turn them in turn so that the user can easily indicate which are involved in his scenario without having to remember their name / IP / MAC address, etc.
5 Un autre avantage de ce mode bidirectionnel est que les scénarii sont créés par l'utilisateur et vérifiés au fur et à mesure de leur écriture (si quelque chose n'est pas possible, on vérifie auprès de l'utilisateur s'il s'agit d'une erreur ou de quelque chose de nouveau à ajouter dans l'ontologie du foyer). Aussi, si un périphérique 1 disparait et que le scenario en devient 10 inexécutable, alors on notifie l'utilisateur de cette modification pour modifier le scenario. Génération d'un fichier d'instructions de commande 15 Les données descriptives d'un scénario d'utilisation du périphérique 1 sont inexploitables en l'état par une machine, et doivent être traitées. Ce traitement consiste comme expliqué en une génération par des moyens de traitement de données du serveur de traitement de scénarii 5 d'un fichier d'instructions de contrôle du périphérique 1 à partir des données 20 descriptives du scénario d'utilisation dudit périphérique 1 (en particulier le paramètre d'action). Le fichier d'instructions de contrôle est avantageusement en langage du type XML (eXtensible Markup Language), notamment « .hez ». A ce stade, le fichier d'instructions consiste en une simple traduction 25 en un langage structuré des données descriptives du scénario, en particulier grâce à des outils sémantiques, et n'est toujours pas exploitable. Un traitement ultérieur en vue d'une exécution de sorte à contrôler le périphérique 1 conformément audit scénario d'utilisation dudit périphérique 1 est requis.Another advantage of this bidirectional mode is that the scenarios are created by the user and checked as they are written (if something is not possible, the user is checked whether or not is an error or something new to add in the home ontology). Also, if a device 1 disappears and the scenario becomes unenforceable, then the user is notified of this modification to modify the scenario. Generation of a command instructions file The descriptive data of a use scenario of the device 1 can not be used as is by a machine, and must be processed. This processing consists as explained in one generation by data processing means of the scenario processing server 5 of a control instruction file of the device 1 from the data 20 describing the use scenario of said peripheral 1 (in particular the action parameter). The control instruction file is advantageously in the language of the XML type (eXtensible Markup Language), in particular ".hez". At this stage, the instruction file consists of a simple translation into a structured language of the descriptive data of the scenario, in particular through semantic tools, and is still not exploitable. Subsequent processing for execution to control the device 1 in accordance with said usage scenario of said device 1 is required.
30 De façon préférée, pour cela le fichier d'instructions de contrôle est transmis au serveur de gestion de périphériques 4 évoqué précédemment, comme représenté par la figure 3.Preferably, for this, the control instruction file is transmitted to the peripheral management server 4 mentioned above, as represented by FIG. 3.
3024811 17 Alternativement, on comprendra que le serveur de traitement de scénarii 5 et/ou le boitier 2 peut assurer seul la fin du traitement. Traitement par le serveur de gestion 5 Comme expliqué précédemment, le serveur de gestion 4 est un équipement centralisé disposé au sein du réseau opérateur 20, disposant le cas échéant des listes de périphériques des clients. Dans un mode de réalisation préféré, le serveur 4 va recevoir le fichier d'instruction, contenant 10 potentiellement des erreurs, et va générer un fichier proche du langage machine qui va pouvoir être utilisé par un boitier 2 pour le contrôle à distance des périphériques 1. Ce traitement se fait dans une boîte noire aux yeux de l'équipement 3, et de façon sécurisée puisque l'on est à l'intérieur du réseau opérateur 20. Cela permet une standardisation des scénarii, qui 15 peuvent ainsi mettre en jeu n'importe quel type de périphérique 1 dont le serveur 4 aurait connaissance, et ce de façon universelle et transposable. De plus, les traitements mis en oeuvre par le serveur 4 n'entrainent aucune charge sur les équipements 3 ou les boitiers 2, pour le plus grand confort des utilisateurs.Alternatively, it will be understood that the scenario processing server 5 and / or the box 2 can ensure only the end of the processing. Processing by the management server 5 As explained above, the management server 4 is a centralized device disposed within the operator network 20, optionally having client device lists. In a preferred embodiment, the server 4 will receive the instruction file, potentially containing errors, and will generate a file close to the machine language that can be used by a box 2 for remote control devices 1 This treatment is done in a black box in the eyes of the equipment 3, and in a secure way since it is inside the operator network 20. This allows a standardization of the scenarios, which can thus bring into play any type of device 1 whose server 4 would know, and this universal and transposable. In addition, the processing implemented by the server 4 do not involve any load on the equipment 3 or the boxes 2, for the greater comfort of the users.
20 Le serveur 4 réalise ainsi dans une étape (e) la compilation (si elle est possible) dudit fichier d'instructions de contrôle en un fichier binaire. Par fichier « binaire », on entend un fichier compilé, directement utilisable par opposition à des fichiers textuel interprétables par un être humain (dont le fichier d'instructions). Il est à noter que le fichier binaire peut être un code 25 exécutable et/ou un « bytecode » (en français, « code octal »), c'est-à-dire un code intermédiaire entre les instructions machine et le code source, il n'est pas directement exécutable. Dans le cas où le fichier d'instructions est en « .hez », le fichier binaire peut être en « .bhez » (binary hez).The server 4 thus performs in a step (e) the compilation (if it is possible) of said control instruction file into a binary file. By "binary" file, is meant a compiled file, directly usable as opposed to textual files interpretable by a human being (including the instruction file). It should be noted that the binary file may be an executable code and / or a "bytecode" (in French, "octal code"), that is to say an intermediate code between the machine instructions and the source code, it is not directly executable. In the case where the instruction file is in ".hez", the binary file can be in ".bhez" (binary hez).
30 Avant la compilation, le serveur 4 vérifie la syntaxe dudit fichier d'instructions de contrôle (des algorithmes de vérification de syntaxe vis-à- vis de règles de syntaxe prédéterminées sont bien connus de l'homme du 3024811 18 métier), et la compilation n'est mise en oeuvre que si la syntaxe est valide. Dans le cas contraire, un message d'erreur est renvoyé à l'équipement 3, en demandant à l'utilisateur de corriger le scénario qu'il a saisi. Si la syntaxe est correcte, une étape de « linking » est mise en 5 oeuvre lors de la compilation. En effet, il est nécessaire de mettre en concordance les périphériques connus du serveur 4, et ceux mentionnés par l'utilisateur. Par exemple la « climatisation du salon » peut référer à un certain nombre d'appareils, lesquels ne sont naturellement pas commandés de la même façon.Before compilation, the server 4 verifies the syntax of said control instruction file (syntax checking algorithms with respect to predetermined syntax rules are well known to those skilled in the art), and the compilation is implemented only if the syntax is valid. If not, an error message is returned to the equipment 3, asking the user to correct the scenario that he has entered. If the syntax is correct, a "linking" step is implemented during compilation. Indeed, it is necessary to match the known devices of the server 4, and those mentioned by the user. For example, "salon air conditioning" can refer to a number of devices, which are naturally not controlled in the same way.
10 L'étape (e) comprend ainsi avantageusement la désignation par son identifiant de type dans le fichier binaire de chaque périphérique 1 cité dans le fichier d'instructions de contrôle. Par exemple, par recoupement, le serveur 4 identifie que la « climatisation du salon » est l'équipement de type « AA » (cette référence renvoyant à un modèle).Step (e) thus advantageously comprises the designation by its type identifier in the binary file of each peripheral 1 cited in the control instruction file. For example, by crosschecking, the server 4 identifies that the "living room air conditioning" is the equipment type "AA" (this reference referring to a model).
15 L'identification du type des périphériques cités permet de simplifier la compilation en permettant l'utilisation de fichiers binaires de référence stockés sur le serveur 4, et chacun associés à un type de périphérique. Ces fichiers de référence sont des « squelettes » qu'il suffit de compléter et d'agencer pour obtenir le fichier binaire du scénario. Le serveur 4 peut à ce 20 moment vérifier que le linking est valide, en d'autres termes qu'il n'y a pas de conflit ou de paramètre manquant. Instanciation et mise à disposition 25 Le fichier binaire ainsi généré est alors utilisable par le boitier d'accès à internet 2, vers lequel il est « poussé », en d'autres termes directement transféré via le réseau opérateur 20. Alternativement, il peut être envoyé et stocké sur un serveur de partage de scénarii 6 (qui peut être en particulier le même serveur que le 30 serveur 5, voire le serveur 4, ou un serveur du réseau internet 21). Il peut ainsi être proposé à d'autres utilisateurs qui souhaiteraient exactement le même service (et disposeraient des mêmes périphériques 1).Identifying the type of devices cited makes it possible to simplify the compilation by allowing the use of reference bit files stored on the server 4, and each associated with a type of device. These reference files are "skeletons" that simply complete and arrange to obtain the binary file of the scenario. The server 4 can at this point verify that the linking is valid, in other words that there is no conflict or parameter missing. Instantiation and provision 25 The binary file thus generated can then be used by the internet access box 2, to which it is "pushed", in other words directly transferred via the operator network 20. Alternatively, it can be sent and stored on a scenario sharing server 6 (which can be in particular the same server as the server 5, or even the server 4, or a server of the Internet network 21). It can be offered to other users who would like exactly the same service (and have the same devices 1).
3024811 19 Par exemple, en référence à la figure 1, l'utilisateur qui crée le scénario (via l'équipement 3) peut être celui de la box 2a (s'il s'identifie en tant que tel, ou si par exemple il est dans le réseau local de cette box 2a). Le fichier binaire généré peut être poussé sur la box 2a, mais également mis à disposition 5 sur le serveur de partage 6, et éventuellement récupéré par l'utilisateur d'une autre box, en l'espèce la box 2b. Dans tous les cas, le fichier binaire est instancié dans une étape (f) sur le boitier d'accès à Internet qui l'a téléchargé, en vue d'une exécution de sorte à contrôler le périphérique 1 conformément audit scénario d'utilisation 10 dudit périphérique 1. Par instanciation, on entend installation du fichier binaire (en respectant les contraintes et la topologie du réseau) sur le boitier 2. Le procédé comprend le cas échéant une étape (g) d'exécution du fichier binaire par le boitier d'accès à Internet 2, i.e. sa mise en oeuvre en 15 tâche de fond par un moteur d'exécution dédié implémenté sur le boitier 2, de sorte à contrôler le périphérique 1 conformément audit scénario d'utilisation dudit périphérique 1. Le scénario est alors automatiquement activé si les circonstances de son déclenchement sont réunies (10 minutes de présence dans notre 20 exemple). Il est à noter que quand un utilisateur veut télécharger un scénario depuis le serveur 6, il y a avantageusement une étape de vérification par le boitier 2: - Le boitier 2 analyse les périphériques 1 du foyer (de l'utilisateur 25 téléchargeur), - Le boitier 2 renvoie les informations sur ces périphériques au serveur 6 ; - Celui-ci analyse, au vu des périphériques 1 du foyer, les scénarii envisageables (i.e. les configurations similaires), et ne propose que 30 ces derniers à l'utilisateur. Serveur et système 3024811 20 Selon un deuxième aspect, l'invention concerne le serveur de traitement de scénarii 5 utilisé dans le procédé décrit précédemment. Ce serveur de traitement de scénarii 5 est disposé dans le réseau 5 opérateur 20 et est relié aux boitiers 2. Il comprend des moyens de stockage (pour l'éventuel stockage des bases de connaissance) et des moyens de traitement de données configurés pour mettre en oeuvre : - Un module de réception d'un scénario d'utilisation du périphérique 1 exprimé préalablement en langage naturel sur une interface 10 utilisateur d'un équipement 3 connecté au réseau internet 21 ; - Un module d'analyse sémantique dudit scénario de sorte à identifier une partie de condition P1 du scénario et une partie de conséquence P2 du scénario, la partie de conséquence P2 étant définie sous la forme d'un n-uplet de paramètres dont au moins : 15 o un type de périphérique o une action associée au type de périphérique dans une première base de connaissance accessible par ledit boitier d'accès à internet 2 ; - un module de détermination du périphérique 1 désigné dans le 20 scénario à partir d'une seconde base de connaissances stockée sur ledit boitier d'accès à internet 2 en fonction d'au moins le type de périphérique identifié, - un module de génération d'un fichier d'instructions de contrôle du périphérique 1 en fonction d'au moins l'action identifiée, en vue d'une 25 exécution de sorte à contrôler le périphérique 1 conformément audit scénario d'utilisation dudit périphérique 1. Dans un autre aspect, le serveur de traitement 5 forme avec le serveur de gestion de périphériques 4 un système complet de gestion de 30 périphériques domestiques.For example, with reference to FIG. 1, the user who creates the scenario (via equipment 3) can be that of box 2a (if he identifies himself as such, or if for example he is in the local network of this box 2a). The generated binary file can be pushed on the box 2a, but also made available 5 on the sharing server 6, and possibly recovered by the user of another box, in this case box 2b. In any case, the binary file is instantiated in a step (f) on the Internet access box that downloaded it, for execution so as to control the device 1 according to said use scenario 10 of said peripheral device 1. By instantiation, it is meant installation of the binary file (respecting the constraints and topology of the network) on the case 2. The method comprises, where appropriate, a step (g) of execution of the binary file by the box of access to the Internet 2, ie its implementation in the background by a dedicated execution engine implemented on the box 2, so as to control the device 1 according to said use scenario of said device 1. The scenario is then automatically activated if the circumstances of its trigger are met (10 minutes of presence in our example). It should be noted that when a user wants to download a scenario from the server 6, there is advantageously a verification step by the box 2: - The box 2 analyzes the peripherals 1 of the home (of the user 25 downloader), - The box 2 sends the information on these devices to the server 6; The latter analyzes, in view of the peripherals 1 of the home, the scenarios that can be envisaged (i.e. similar configurations), and proposes only 30 of these to the user. According to a second aspect, the invention relates to the scenario processing server 5 used in the method described above. This scenario processing server 5 is disposed in the operator network 20 and is connected to the boxes 2. It comprises storage means (for the possible storage of the knowledge bases) and data processing means configured to implement work: - A module for receiving a use scenario of the device 1 previously expressed in natural language on a user interface of a device 3 connected to the Internet network 21; A semantic analysis module of said scenario so as to identify a condition part P1 of the scenario and a consequence part P2 of the scenario, the consequence part P2 being defined in the form of a n-tuple of parameters of which at least A device type o an action associated with the type of device in a first knowledge base accessible by said internet access box 2; a module for determining the device 1 designated in the scenario from a second knowledge base stored on said internet access box 2 as a function of at least the type of device identified; a device control instruction file 1 based on at least the identified action, for execution to control the device 1 according to said use scenario of said device 1. In another aspect , the processing server 5 forms with the peripheral management server 4 a complete system for managing 30 home peripherals.
Claims (15)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1457689A FR3024811B1 (en) | 2014-08-07 | 2014-08-07 | METHOD FOR REMOTELY CONTROLLING DOMESTIC PERIPHERALS |
PCT/EP2015/068251 WO2016020522A1 (en) | 2014-08-07 | 2015-08-07 | Method for the remote control of household peripherals |
EP15753652.5A EP3178217B1 (en) | 2014-08-07 | 2015-08-07 | Method for the remote control of household peripherals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1457689A FR3024811B1 (en) | 2014-08-07 | 2014-08-07 | METHOD FOR REMOTELY CONTROLLING DOMESTIC PERIPHERALS |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3024811A1 true FR3024811A1 (en) | 2016-02-12 |
FR3024811B1 FR3024811B1 (en) | 2017-11-17 |
Family
ID=51862456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1457689A Active FR3024811B1 (en) | 2014-08-07 | 2014-08-07 | METHOD FOR REMOTELY CONTROLLING DOMESTIC PERIPHERALS |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3024811B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018034935A1 (en) * | 2016-08-19 | 2018-02-22 | Pcms Holdings, Inc. | System and method for utilization of device-independent scenes in a smart home environment |
CN113593545A (en) * | 2021-06-24 | 2021-11-02 | 青岛海尔科技有限公司 | Linkage scene execution method and device, storage medium and electronic equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044225A1 (en) * | 2003-08-05 | 2005-02-24 | Sanyo Electric Co., Ltd. | Network system, appliance controlling household server, and intermediary server |
US20060218244A1 (en) * | 2005-03-25 | 2006-09-28 | Rasmussen Jung A | Methods and systems for automating the control of objects within a defined human environment |
FR2979508A1 (en) * | 2011-08-26 | 2013-03-01 | Bouygues Telecom Sa | SYSTEM FOR MANAGING DOMESTIC PERIPHERALS |
-
2014
- 2014-08-07 FR FR1457689A patent/FR3024811B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044225A1 (en) * | 2003-08-05 | 2005-02-24 | Sanyo Electric Co., Ltd. | Network system, appliance controlling household server, and intermediary server |
US20060218244A1 (en) * | 2005-03-25 | 2006-09-28 | Rasmussen Jung A | Methods and systems for automating the control of objects within a defined human environment |
FR2979508A1 (en) * | 2011-08-26 | 2013-03-01 | Bouygues Telecom Sa | SYSTEM FOR MANAGING DOMESTIC PERIPHERALS |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018034935A1 (en) * | 2016-08-19 | 2018-02-22 | Pcms Holdings, Inc. | System and method for utilization of device-independent scenes in a smart home environment |
CN109565456A (en) * | 2016-08-19 | 2019-04-02 | Pcms控股公司 | The system and method for equipment standalone scenario are utilized in smart home environment |
CN109565456B (en) * | 2016-08-19 | 2022-02-08 | Pcms控股公司 | System and method for utilizing device independent scene in smart home environment |
US11595225B2 (en) | 2016-08-19 | 2023-02-28 | Drnc Holdings, Inc. | System and method for utilization of device-independent scenes in a smart home environment |
CN113593545A (en) * | 2021-06-24 | 2021-11-02 | 青岛海尔科技有限公司 | Linkage scene execution method and device, storage medium and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
FR3024811B1 (en) | 2017-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546186B2 (en) | Automatic device orchestration and configuration | |
US10365932B2 (en) | Dynamic application customization for automated environments | |
US20210034357A1 (en) | Software versioning for network connected devices | |
EP3395086A1 (en) | System for suggesting, launching and automatically or semi-automatically downloading applications for an intelligent mobile object | |
FR2973186A1 (en) | METHOD AND DEVICE FOR CONFIGURING ON THE BASIS OF MANAGEMENT RULES | |
EP3241118A1 (en) | Box for communication and management of devices | |
FR3024811A1 (en) | METHOD FOR REMOTELY CONTROLLING DOMESTIC PERIPHERALS | |
EP3304225A1 (en) | Methods for generating a conditional software code module, and method for controlling at least one home automation system for a building | |
EP3178217B1 (en) | Method for the remote control of household peripherals | |
US11153387B2 (en) | Decentralized network protected IoT query resolution | |
FR2939996A1 (en) | Machine to machine platform i.e. Internet server, for managing e.g. temperature sensor and mobile telephone, has communication management unit permitting communication of communicating objects via service matched with user account | |
EP2633683B1 (en) | Remotely sited execution of a software application within a network | |
FR3024810A1 (en) | METHOD FOR REMOTELY CONTROLLING DOMESTIC PERIPHERALS | |
EP2588923B1 (en) | Adaptation of the operation of an apparatus | |
EP3318017B1 (en) | Method for discovering the configuration of a home-automation facility | |
FR2979508A1 (en) | SYSTEM FOR MANAGING DOMESTIC PERIPHERALS | |
Huynh et al. | Monitoring and control system of environmental parameters in swiftlet houses | |
FR2966948A1 (en) | INDEXING AND EXECUTING SOFTWARE APPLICATIONS IN A NETWORK | |
EP4004718A1 (en) | Discovery and resolution of network connected devices | |
FR3015711A1 (en) | METHOD OF INTERACTING BETWEEN A FIRST DIGITAL OBJECT AND AT LEAST ONE SECOND DIGITAL OBJECT AND INTERACTION SYSTEM. | |
FR3041450A1 (en) | CUSTOMER / SERVER ARCHITECTURE FOR THE ADMINISTRATION OF A SUPERCALCULATOR | |
WO2017006022A1 (en) | Method for controlling and method for configuring a home-automation facility | |
KR20180061586A (en) | System for communicating feeling between users | |
FR2977103A1 (en) | Method for accessing remote server to access medical data, involves connecting universal serial bus key to computer, and copying main application from memory of universal serial bus key to memory e.g. RAM, of computer | |
EP4375899A1 (en) | Method and device for recommending activities to at least one user |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20160212 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |