-
Compteur de contenus
1 345 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Tout ce qui a été posté par Bloug
-
@jang , ..... à te lire tout semble si simple ! c'est fou ! A merveille ! Thank you very much!
-
non, c'est juste l'un des deux cookie qui doit estre utilisé pour les Commande GET, du coup je cherche a récupérer les deux pour pouvoir choisir, l'ideal c'est arriver à deux variable genre : SetCookie1 : JSESSIONID=723BE79E2C3D6EB5DD2072CAE855A73C SetCooke2 : TS01b0e19c=01e5b3f1f84aa60001cd253c6f621db2b9d7722f8d2ab2c51a7723da6c8d46b152c406e57daf3b78bcb3c71f629062e1c84432b5f8 C'est la suite de mon pb en Curl. Maintenant, j'arrive à me connecter au serveur , puis récupérer un Token , puis obtenir encore une commande pour obtenir les cookies et enfin pouvoir envoyer des commande GET
-
Nouveau jour nouveau problème Voila je dois récupérer DEUX cookies d'un "Header" dans un requête, puis les formater tout propre pour le réutiliser . Set-Cookie: JSESSIONID=9D82DCD0E9B174603D86D66EC72CD97C; Path=/; Secure; HttpOnly bla bla bla Set-Cookie: TS01b0e19c=01e5b3f1f8f254231b1513561c7de7bd4bafff7a4cf2bcd15c384fbc6865b4932b49bb446db4efaab65dcf155eaa8f084d36699ae9; Path=/; Secure; HTTPOnly habituellement quand il n'y en a qu'UN j'utilise le code suivant : success = function(response) if response.status == 200 then self:debug('Connection avec le Token : Ok') SetCookie = response.headers['Set-Cookie'] -- Je récupère le Set-Cookies for i = 1, #SetCookie do if SetCookie:byte(i) == string.byte(";") then SetCookie = SetCookie:sub(0,i - 1) break end end et j'arrive a obtenir un joli : JSESSIONID=9128D05E3516F08A9764CDF0A6AE50AB sauf que la j'ai pas 1 Cookie mais 2 a récupérer ! et je n'ai quun seul cookie de retourné ! ( celui ci dessus ) ma variable SetCookie me donne : JSESSIONID=723BE79E2C3D6EB5DD2072CAE855A73C; Path=/; Secure; HttpOnly, TS01b0e19c=01e5b3f1f84aa60001cd253c6f621db2b9d7722f8d2ab2c51a7723da6c8d46b152c406e57daf3b78bcb3c71f629062e1c84432b5f8; Path=/; Secure; HTTPOnly JSESSIONID=723BE79E2C3D6EB5DD2072CAE855A73C; Path=/; Secure; HttpOnly, TS01b0e19c=01e5b3f1f84aa60001cd253c6f621db2b9d7722f8d2ab2c51a7723da6c8d46b152c406e57daf3b78bcb3c71f629062e1c84432b5f8; Path=/; Secure; HTTPOnly Pourquoi le deuxième n'est pas listé ? MErci et Bon Dimanche !! ohhh ohhh ohhh
-
Quick App – Cozytouch Je partage ici un QA pour vous connecter à votre Bridge Cozytouch. La partie la plus importante du QA réside dans la connexion au bridge et celle-ci a été réalisée par Ivx du forum Fibaro.com. donc aucune prétention ! juste pour partager Présentation : Ici le QA est utilisé pour récupérer les informations d'un sèche serviette Thermor Symphonik. celui ci possède de multiples capteurs d'où l'avantage de pouvoir les intégrer dans la box. Le Symphonik possède deux modes intéressants pour du scénario : La mise en chauffe pour les serviettes et le mode Boost pour le soufflage. j'ai donc ajouté qq boutons. Autre Gros avantage le QA a été réalisé par un mec qui code mal (moi) donc super facile pour nous les débutants de s'y retrouver, créer des Child .... Bidouiller.....Trifouiller......Modifier.....Supprimer Bref ! Libre à vous d'adapter en fonction de votre matériel et vos besoins, Ivx lui récupère uniquement la variable de la consommation de sa chaudière, moi je n''ai pas besoin de basculer d'un mode confort à eco où même de modifier la température de chauffe de la pièce. Installation du QuickApp : Importer le QuickApp (fichier fqa) de façon habituelle sur la box Home Center 3, puis changer les paramètres suivants dans l'onglet Variables comme dans l'image ci dessous : Pour la mise a jour des Child c'est à la "mano" ! vous allez à la ligne 393 et vos indiquez vos ID ! Comme indiqué plus haut, je ne suis pas un as du codage et les explications de Lazer à l'époque de mes Childs pour l'Airzone résonnent encore dans ma tète : Fichier : Cozytouch.fqa Icones : ----------- Un Grand merci à IvX, un gars qui a partagé son travail avec moi pour se connecter au bridge, Il a mâché le boulot ! Ensuite merci à @jang pour son aide et sa patience ! @mprinfo à qui je volé plein de morceaux de code à droite et a gauche pour faire mon puzzle et évidemment à @Lazer qui répond TOUJOURS ( bon pas forcement de manière claire... mais efficace ) à mes questions ! Le code dans le QA n'est pas forcement au Top comme vos QA de PRO ( un mot à la mode ) mais j'ai détaillé ! Enjoy
-
function QuickApp:onInit() self.http = net.HTTPClient({ timeout = 2000 }) self:multimatic() end merci
-
[19:12:00] [ERROR] [QUICKAPP622]: main.lua:19: attempt to index a nil value (field 'http') je me calque sur d'autres QA , je pige pas toujours un truc qui cloche -- Generic device type have no default actions to handle function QuickApp:onInit() self:multimatic() end function QuickApp:multimatic() self.http:request("https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/authenticate", { options={ method = "POST", data = '{"smartphoneId":"pymultiMATIC","username":"**@**","password":"**"}', headers = { [ 'Content-Type' ] = 'application/json', [ 'Accept' ] = 'application/json', } }, success = function(response) if response.status == 200 then self:debug('ok') local jsonResponse = json.decode(response.data) else self:debug('error: https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/token/new' .. response.status .. response.data) end end, error = function(error) self:debug('error: ' .. error) end }) end ---
-
donc la lecture est du bas vers le haut ? une idée pourquoi j'ai un pb de nill value ? plutot qu'un pb 401 .... ?
-
merci @Lazer pour l'exemple ! Je cherche à réaliser un petit QA pour me récupérer les informations de ma chaudière. Actuelement j'ai un Plugin sous HA. pour réaliser qqq essais , le concepteur ma communiqué un fichier PowerShell pour vérifier des retour d'informations ( indépendamment du plugin ) avec le powershell j'exécute la commande suivante : C:\Users\myPC\nom_du_fichier_powershell.ps1 <my_vaillant_login> <My_vaillant_password> https://smart.vaillant.com/mobile/api/v4/facilities/<My_vaillant_serial>/systemcontrol/v1/dhw/Control_DHW/hotwater/ config/timeprogram j'aspire donc de faire la meme chose avec la hc3. @mprinfo , voici le code curl complet : $user=$args[0] $password=$args[1] $url=$args[2] $payload=@" { \"smartphoneId\": \"pymultiMATIC\", \"username\": \"$user\", \"password\": \"$password\" } "@ $token_response = curl.exe -s ` -c .pymultimatic-cookie ` -X POST ` -H "Content-Type:application/json" -H "Accept:application/json" ` -d $payload ` "https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/token/new" | ConvertFrom-Json $token=$token_response.body.authToken $payload=@" { \"smartphoneId\": \"pymultiMATIC\", \"username\": \"$user\", \"authToken\": \"$token\" } "@ curl.exe -s ` Â -b .pymultimatic-cookie ` Â -c .pymultimatic-cookie ` Â -X POST ` Â -H "Content-Type:application/json" -H "Accept:application/json" ` Â -d "$payload" ` Â "https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/authenticate" $response=curl.exe -s ` Â -b .pymultimatic-cookie ` Â -X GET ` Â -H "Content-Type:application/json" -H "Accept:application/json" ` Â "$url" Write-Host "$response" Il me semble qu'il réalise deux requêtes genre : la première : je récupère un token ; 2eme : je me connecte avec le serveur. voici ma première multimatic() function QuickApp:multimatic() self.http:request( "https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/token/new", { options = { method = "POST", data = '{"smartphoneId":"pymultiMATIC","username":"' .. self:getVariable("UserName") .. '","password":"' .. self:getVariable("Password") .. '"}', headers = { ["Content-Type"] = "application/json", ["Accept"] = "application/json" } }, success = function(response) if response.status == 200 then -- self:marequette2() print(response.data) print("OKKKKKKKKKKKKKKKKK") else self:debug( "error: https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/token/new" .. response.status .. response.data ) print("BAD") end end, error = function(error) self:debug("error: " .. error) end } ) end avant de modifier pour récupérer le token , faut déjà qu'il se connecte [ERROR] [QUICKAPP621]: main.lua:5: attempt to call a nil value (global 'multimatic')
-
Bonjour, je cherche a convertir cette requête CURL en Lua ( il me semble 2 faut encore récupérer un token....). $user=$args[0] $password=$args[1] $url=$args[2] $payload=@" { \"smartphoneId\": \"pymultiMATIC\", \"username\": \"$user\", \"password\": \"$password\" } "@ $token_response = curl.exe -s ` -c .pymultimatic-cookie ` -X POST ` -H "Content-Type:application/json" -H "Accept:application/json" ` -d $payload ` "https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/token/new" | ConvertFrom-Json $token=$token_response.body.authToken $payload=@" { \"smartphoneId\": \"pymultiMATIC\", \"username\": \"$user\", \"authToken\": \"$token\" } "@ je suppose que le data habituel en lua est ici : {$payload=@" { \"smartphoneId\": \"pymultiMATIC\", \"username\": \"$user\", \"password\": \"$password\" } "@} possible de m'indiquer la "mutation" en lua svp ?? trop de \"\"\ function QuickApp:multimatic() self.http:request("https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/token/new", { options={ method = "POST", data = 'smartphoneId:pymultiMATIC/username:' .. self:getVariable("UserName") 'password:'.. self:getVariable("Password"), headers = { ['Content-Type'] = 'application/json', ['Accept'] = 'Accept:application/json', } }, success = function(response) if response.status == 200 then MErci pour votre aide !
-
Great !!! After verification with the Thermor Cozytouch application, the KEY=7 for TemperatureState is the one used in apps for the temperature. Your two solutions work and are similar in fact because I have to fill with#1 #2 etc... Solution 1 : with shortname1 ; shortname2 ; shortname3 etc... ---------------------------------------------------------------- -- Modification du nom de l'appareil pour deviceceURL #1 à #6 -- ---------------------------------------------------------------- local shortnameo = self:getVariable("Appareil") local shortname = shortnameo:sub(1, -1) local modifname = string.gsub(shortname, "-", "%%-") local shortname1= modifname .. '#1' local shortname2= modifname .. '#2' local shortname3= modifname .. '#3' local shortname4= modifname .. '#4' local shortname5= modifname .. '#5' local shortname6= modifname .. '#6' local shortname6= modifname .. '#7' local shortname6= modifname .. '#8' local shortname6= modifname .. '#9' ---------------------------------------------------------------------- -- Fonction de @Jang pour retouver les Valeurs en fonction des Noms -- ---------------------------------------------------------------------- local function find(key,val,list) for _,e in ipairs(list) do if tostring(e[key]):match(val) then return e end end end ssConsi = (find('name','core:ComfortRoomTemperatureState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssModeF = (find('name','core:OperatingModeState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssBoreT = (find('name','core:BoostModeDurationState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssDrreT = (find('name','io:DryingDurationState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssSeMov = (find('name','core:OccupancyState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssFonct = (find('name','io:TowelDryerTemporaryStateState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssRSSIL = (find('name','core:DiscreteRSSILevelState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssRSSIP = (find('name','core:RSSILevelState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssSeLum = (find('name','core:LuminanceState',find('deviceURL',shortname3,jsonResponse.devices).states).value) ssSeHum = (find('name','core:RelativeHumidityState',find('deviceURL',shortname4,jsonResponse.devices).states).value) ssSeTem = (find('name','core:TemperatureState',find('deviceURL',shortname7,jsonResponse.devices).states).value) ssSeCon = (find('name','core:ElectricEnergyConsumptionState',find('deviceURL',shortname6,jsonResponse.devices).states).value) /1000 Solution 2 : with Key#1 ; Key#2 ; Key#3 etc... local function find(uid,expr) local res,device = {} local function find_aux(expr) if type(expr) == 'table' then if expr[1] then -- array for _,e in ipairs(expr) do find_aux(e) end else -- key/value if expr.deviceURL then device = expr.deviceURL:match(uid) if device then device = device.."#" end end if device and expr.name and (expr.name:sub(1,3)=='io:' or expr.name:sub(1,5)=='core:') and expr.value then local key = device..expr.name if res[key] and res[key]~=expr.value then error("Duplicate key:"..key) end res[key]=expr.value else for k,v in pairs(expr) do find_aux(v) end end end end end uid = uid:gsub("%-","%%-").."#(%d+)$" find_aux(expr) return res end local uid = shortname keys = find(uid,jsonResponse.devices) for k,v in pairs(keys) do --print(k,"=",json.encode(v):sub(1,80)) end ssConsi = keys['1#core:ComfortRoomTemperatureState'] ssModeF = keys['1#core:OperatingModeState'] ssBoreT = keys['1#core:BoostModeDurationState'] ssDrreT = keys['1#io:DryingDurationState'] ssSeMov = keys['1#core:OccupancyState'] ssFonct = keys['1#io:TowelDryerTemporaryStateState'] ssRSSIL = keys['1#core:DiscreteRSSILevelState'] ssRSSIP = keys['1#core:RSSILevelState'] ssSeLum = keys['3#core:LuminanceState'] ssSeHum = keys['4#core:RelativeHumidityState'] ssSeTem = keys['7#core:TemperatureState'] ssSeCon = keys['6#core:ElectricEnergyConsumptionState'] /1000 Both of your solutions work perfectly! The huge advantage of using the second is that it is easier to list the elements of each device if the cozytouch bridge receives an update ! Thank you very much @jang for your answers and your codes relevance !
-
Thank You ! ; I'm really starting to have trouble understanding your code your returns are correct but they do not make the difference between the two devices, right? io://0810-4343-0200/13610533#1 and io://0810-4343-0200/5668249#1 ( sorry maybe i'm wrong ? ) I want to use only one QA per device, by simply entering: My login / pass and a "Device" variable local jsonResponse = json.decode(response.data) -- print(response.data) ---------------------------------------------------------------- -- Modification du nom de l'appareil pour deviceceURL #1 à #6 -- ---------------------------------------------------------------- local shortnameo = self:getVariable("Appareil") local shortname = shortnameo:sub(1, -1) local modifname = string.gsub(shortname, "-", "%%-") local shortname1= modifname .. '#1' local shortname2= modifname .. '#2' local shortname3= modifname .. '#3' local shortname4= modifname .. '#4' local shortname5= modifname .. '#5' local shortname6= modifname .. '#6' ---------------------------------------------------------------------- -- Fonction de @Jang pour retouver les Valeurs en fonction des Noms -- ---------------------------------------------------------------------- local function find(key,val,list) for _,e in ipairs(list) do if tostring(e[key]):match(val) then return e end end end ssConsi = (find('name','core:ComfortRoomTemperatureState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssModeF = (find('name','core:OperatingModeState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssBoreT = (find('name','core:BoostModeDurationState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssDrreT = (find('name','io:DryingDurationState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssSeMov = (find('name','core:OccupancyState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssFonct = (find('name','io:TowelDryerTemporaryStateState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssRSSIL = (find('name','core:DiscreteRSSILevelState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssRSSIP = (find('name','core:RSSILevelState',find('deviceURL',shortname1,jsonResponse.devices).states).value) ssSeLum = (find('name','core:LuminanceState',find('deviceURL',shortname3,jsonResponse.devices).states).value) ssSeHum = (find('name','core:RelativeHumidityState',find('deviceURL',shortname4,jsonResponse.devices).states).value) ssSeTem = (find('name','core:TemperatureState',find('deviceURL',shortname5,jsonResponse.devices).states).value) ssSeCon = (find('name','core:ElectricEnergyConsumptionState',find('deviceURL',shortname6,jsonResponse.devices).states).value) /1000 what a pity for your initial approach ! is it a JSON problem ? : for _,e in ipairs(list) do if tostring(e[key]):match(val) then return e end end end ssConsi = (find('name','core:ComfortRoomTemperatureState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #1 OK ssMode = (find('name','core:OperatingModeState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #1 OK ssBoreT = (find('name','core:BoostModeDurationState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #1 OK ssSeLum = (find('name','core:LuminanceState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #3 Fail ssSeHum = (find('name','core:RelativeHumidityState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #4 Fail ssSeCon = (find('name','core:ElectricEnergyConsumptionState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #6 Fail
-
... il doit y avoir autre chose qui cloche Pour me diriger vers l'un ou l'autre des sèches serviettes j'ai utilisé le deviceURL , celui ci conserve le numéro pour les capteur mais ajoute (▀▀▀▀▀ ) avec des #1 ; #2 #3... J'ai fais un autre test , pour éviter le problème de recherche avec des caractères magique ... j'ai testé d'utiliser creationTime(▀▀▀▀▀ ) qui lui ne change pas ! et j'ai quand même une erreur sur les clefs : {4} - {5} - {6} - {7} ssSeLum = (find('name','core:LuminanceState',find('deviceURL',"io://0810%-4343%-0200/13610533.3",jsonResponse.devices).states).value) -- #3 => OK ssSeLum = (find('name','core:LuminanceState',find('deviceURL',"io://0810%-4343%-0200/13610533..",jsonResponse.devices).states).value) -- #3 => Fail
-
Salut, as tu essayé de décocher la case "utiliser comme déclencheur " des prises TV ?
-
Merci beaucoup pour votre temps @jang ! Unfortunately I have a ... partial error . [ERROR] [QUICKAPP607]: QuickApp crashed [ERROR] [QUICKAPP607]: main.lua:322: attempt to index a nil value Your code works with a search where the "deviceURL" ends with #1 , but causes an error when the search falls on a "deviceURL" different from #1 maybe I made a mistake while modifying/completing your code ??? with : match(val) ? Am I missing something after match:(val, ....) a pattern ? a prayer ? local function find(key,val,list) for _,e in ipairs(list) do if tostring(e[key]):match(val) then return e end end end ssConsi = (find('name','core:ComfortRoomTemperatureState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #1 OK ssMode = (find('name','core:OperatingModeState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #1 OK ssBoreT = (find('name','core:BoostModeDurationState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #1 OK ssSeLum = (find('name','core:LuminanceState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #3 Fail ssSeHum = (find('name','core:RelativeHumidityState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #4 Fail ssSeCon = (find('name','core:ElectricEnergyConsumptionState',find('deviceURL','io://0810%-4343%-0200/13610533..',jsonResponse.devices).states).value) -- #6 Fail Here my Json , maybe I forgot to mention something ? {"creationTime":1528367801000,"lastUpdateTime":1528367801000,"id":"SETUP-0810-4343-0200","location":{"creationTime":1528367801000,"lastUpdateTime":1633366299000,"city":"","country":"France","postalCode":"30000","addressLine1":"NIMES","timezone":"Europe/Paris","longitude":7.343,"latitude":8.877,"twilightMode":2,"twilightAngle":"CIVIL","twilightCity":"paris","summerSolsticeDuskMinutes":1290,"winterSolsticeDuskMinutes":990,"twilightOffsetEnabled":false,"dawnOffset":0,"duskOffset":0,"countryCode":"FR"},"gateways":[{"gatewayId":"0810-4343-0200","type":32,"subType":0,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","alive":true,"timeReliable":true,"connectivity":{"status":"OK","protocolVersion":"2022.1.4"},"upToDate":true,"updateStatus":"UP_TO_DATE","syncInProgress":true,"mode":"ACTIVE","functions":"INTERNET_AUTHORIZATION,SCENARIO_DOWNLOAD,SCENARIO_AUTO_LAUNCHING,SCENARIO_TELECO_LAUNCHING,INTERNET_UPLOAD,INTERNET_UPDATE,TRIGGERS_SENSORS"}],"devices":[{"creationTime":1528367801000,"lastUpdateTime":1528367801000,"label":"Box","deviceURL":"internal://0810-4343-0200/pod/0","shortcut":false,"controllableName":"internal:PodMiniComponent","definition":{"commands":[{"commandName":"getName","nparams":0},{"commandName":"update","nparams":0},{"commandName":"setCountryCode","nparams":1},{"commandName":"activateCalendar","nparams":0},{"commandName":"deactivateCalendar","nparams":0},{"commandName":"refreshPodMode","nparams":0},{"commandName":"refreshUpdateStatus","nparams":0},{"commandName":"setCalendar","nparams":1},{"commandName":"setLightingLedPodMode","nparams":1},{"commandName":"setPodLedOff","nparams":0},{"commandName":"setPodLedOn","nparams":0}],"states":[{"type":"DiscreteState","values":["offline","online"],"qualifiedName":"core:ConnectivityState"},{"type":"DataState","qualifiedName":"core:CountryCodeState"},{"type":"DataState","qualifiedName":"core:LocalIPv4AddressState"},{"type":"DataState","qualifiedName":"core:NameState"},{"type":"DiscreteState","values":["doublePress","longPress","simplePress","triplePress","veryLongPress"],"qualifiedName":"internal:LastActionConfigButtonState"},{"type":"ContinuousState","qualifiedName":"internal:LightingLedPodModeState"}],"dataProperties":[],"widgetName":"Pod","uiProfiles":["UpdatableComponent"],"uiClass":"Pod","qualifiedName":"internal:PodMiniComponent","type":"ACTUATOR"},"states":[{"name":"core:NameState","type":3,"value":"Box"},{"name":"internal:LightingLedPodModeState","type":2,"value":1.0},{"name":"core:CountryCodeState","type":3,"value":"FR"},{"name":"core:LocalIPv4AddressState","type":3,"value":"192.168.1.15"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"Pod","type":1,"oid":"10c95dcc-bde0-4d37-bfea-e46c4e34ed48","uiClass":"Pod"},{"creationTime":1601387165000,"lastUpdateTime":1601387165000,"label":"IO (10662703)","deviceURL":"io://0810-4343-0200/10662703","shortcut":false,"controllableName":"io:StackComponent","definition":{"commands":[{"commandName":"advancedSomfyDiscover","nparams":1},{"commandName":"discover1WayController","nparams":2},{"commandName":"discoverActuators","nparams":1},{"commandName":"discoverSensors","nparams":1},{"commandName":"discoverSomfyUnsetActuators","nparams":0},{"commandName":"joinNetwork","nparams":0},{"commandName":"resetNetworkSecurity","nparams":0},{"commandName":"shareNetwork","nparams":0}],"states":[],"dataProperties":[],"widgetName":"IOStack","uiProfiles":["Specific"],"uiClass":"ProtocolGateway","qualifiedName":"io:StackComponent","type":"PROTOCOL_GATEWAY"},"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"IOStack","type":5,"oid":"6925ee2e-d058-4bab-b81e-6cfd74ab7617","uiClass":"ProtocolGateway"},{"creationTime":1600352184000,"lastUpdateTime":1600352184000,"label":"I2G_Actuator","deviceURL":"io://0810-4343-0200/13610533#1","shortcut":false,"controllableName":"io:AtlanticElectricalTowelDryerIOComponent","definition":{"commands":[{"commandName":"advancedRefresh","nparams":1},{"commandName":"cancelHeatingLevel","nparams":1},{"commandName":"delayedStopIdentify","nparams":1},{"commandName":"getName","nparams":0},{"commandName":"identify","nparams":0},{"commandName":"off","nparams":0},{"commandName":"refreshComfortTemperature","nparams":0},{"commandName":"refreshDateTime","nparams":0},{"commandName":"refreshDerogatedTargetTemperature","nparams":0},{"commandName":"refreshEcoTemperature","nparams":0},{"commandName":"refreshHeatingLevel","nparams":0},{"commandName":"refreshManufacturerName","nparams":0},{"commandName":"refreshMaximumHeatingTargetTemperature","nparams":0},{"commandName":"refreshMaximumTargetTemperature","nparams":0},{"commandName":"refreshOperatingMode","nparams":0},{"commandName":"refreshTargetTemperature","nparams":0},{"commandName":"refreshTemperature","nparams":0},{"commandName":"setComfortTemperature","nparams":1},{"commandName":"setDateTime","nparams":1},{"commandName":"setDerogatedTargetTemperature","nparams":1},{"commandName":"setEcoTemperature","nparams":1},{"commandName":"setHeatingLevel","nparams":1},{"commandName":"setHeatingLevelWithTimer","nparams":2},{"commandName":"setName","nparams":1},{"commandName":"setPreviousTargetTemperature","nparams":1},{"commandName":"setSchedulingType","nparams":1},{"commandName":"setTargetTemperature","nparams":1},{"commandName":"startIdentify","nparams":0},{"commandName":"stopIdentify","nparams":0},{"commandName":"wink","nparams":1},{"commandName":"pairOneWayController","nparams":2},{"commandName":"refreshAutoProgram","nparams":0},{"commandName":"refreshBoostModeDuration","nparams":0},{"commandName":"refreshBoostModeParameters","nparams":0},{"commandName":"refreshControllerAddress","nparams":0},{"commandName":"refreshCumulatedLowering","nparams":0},{"commandName":"refreshCurrentWorkingRate","nparams":0},{"commandName":"refreshDeletionCancelation","nparams":0},{"commandName":"refreshDryingDuration","nparams":0},{"commandName":"refreshDryingParameters","nparams":0},{"commandName":"refreshEffectiveTemperatureSetpoint","nparams":0},{"commandName":"refreshLocalLeadTime","nparams":0},{"commandName":"refreshModel","nparams":0},{"commandName":"refreshOccupancy","nparams":0},{"commandName":"refreshPeakNotice","nparams":0},{"commandName":"refreshPeakWarning","nparams":0},{"commandName":"refreshPowerAndTension","nparams":0},{"commandName":"refreshRoomDeletionThreshold","nparams":0},{"commandName":"refreshSSVError6","nparams":0},{"commandName":"refreshSetpointLoweringTemperatureInProgMode","nparams":0},{"commandName":"refreshSynchronisationRequest","nparams":0},{"commandName":"refreshTemperatureProbeCalibrationOffset","nparams":0},{"commandName":"refreshTowelDryerTemporaryState","nparams":0},{"commandName":"refreshTowelDryerTimeProgram","nparams":0},{"commandName":"setCommunicationTest","nparams":1},{"commandName":"setDeletionCancelation","nparams":1},{"commandName":"setDryingDuration","nparams":1},{"commandName":"setExpectedPresence","nparams":1},{"commandName":"setPeakNotice","nparams":1},{"commandName":"setPeakWarning","nparams":1},{"commandName":"setRoomDeletionThreshold","nparams":1},{"commandName":"setSetpointLoweringTemperatureInProgMode","nparams":1},{"commandName":"setTemperatureProbeCalibrationOffset","nparams":1},{"commandName":"setTowelDryerBoostModeDuration","nparams":1},{"commandName":"setTowelDryerOperatingMode","nparams":1},{"commandName":"setTowelDryerTemporaryState","nparams":1},{"commandName":"setTowelDryerTimeProgram","nparams":1},{"commandName":"unpairAllOneWayControllers","nparams":0},{"commandName":"unpairOneWayController","nparams":2}],"states":[{"type":"ContinuousState","qualifiedName":"core:BoostModeDurationState"},{"type":"ContinuousState","qualifiedName":"core:ComfortRoomTemperatureState"},{"type":"DataState","qualifiedName":"core:DateTimeState"},{"type":"ContinuousState","qualifiedName":"core:DerogatedTargetTemperatureState"},{"type":"DiscreteState","values":["good","low","normal","verylow"],"qualifiedName":"core:DiscreteRSSILevelState"},{"type":"ContinuousState","qualifiedName":"core:EcoRoomTemperatureState"},{"type":"ContinuousState","qualifiedName":"core:FilterFanCloggingErrorState"},{"type":"DataState","qualifiedName":"core:IdentifierState"},{"type":"DataState","qualifiedName":"core:ManufacturerNameState"},{"type":"ContinuousState","qualifiedName":"core:MaximumHeatingTargetTemperatureState"},{"type":"ContinuousState","qualifiedName":"core:MaximumTargetTemperatureState"},{"type":"DataState","qualifiedName":"core:NameState"},{"eventBased":true,"type":"DiscreteState","values":["noPersonInside","personInside"],"qualifiedName":"core:OccupancyState"},{"type":"DiscreteState","values":["off","on"],"qualifiedName":"core:OnOffState"},{"type":"DiscreteState","values":["antifreeze","auto","away","eco","frostprotection","manual","max","normal","off","on","prog","program","boost"],"qualifiedName":"core:OperatingModeState"},{"type":"ContinuousState","qualifiedName":"core:PreviousTargetTemperatureState"},{"type":"ContinuousState","qualifiedName":"core:PriorityLockTimerState"},{"type":"ContinuousState","qualifiedName":"core:RSSILevelState"},{"type":"DiscreteState","values":["increase","none","standby"],"qualifiedName":"core:RegulationModeState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"},{"type":"ContinuousState","qualifiedName":"core:TargetTemperatureState"},{"type":"DataState","qualifiedName":"core:TimeProgramState"},{"type":"ContinuousState","qualifiedName":"core:VersionState"},{"type":"DataState","qualifiedName":"io:AutoProgramState"},{"type":"DataState","qualifiedName":"io:BoostDurationMaxState"},{"type":"DataState","qualifiedName":"io:BoostDurationUserParameterState"},{"type":"DataState","qualifiedName":"io:ControllerAddressState"},{"type":"ContinuousState","qualifiedName":"io:CumulatedLoweringState"},{"type":"ContinuousState","qualifiedName":"io:CurrentWorkingRateState"},{"type":"DiscreteState","values":["deletion cancelation","no deletion cancelation"],"qualifiedName":"io:DeletionCancelationState"},{"type":"DataState","qualifiedName":"io:DryingDurationMaxState"},{"type":"ContinuousState","qualifiedName":"io:DryingDurationState"},{"type":"DataState","qualifiedName":"io:DryingDurationUserParameterState"},{"type":"ContinuousState","qualifiedName":"io:EffectiveTemperatureSetpointState"},{"type":"ContinuousState","qualifiedName":"io:ExpectedPresenceState"},{"type":"DiscreteState","values":["external","internal"],"qualifiedName":"io:InternalExternalSchedulingTypeState"},{"type":"ContinuousState","qualifiedName":"io:LocalLeadTimeState"},{"type":"DiscreteState","values":["boost","comfort","comfort-1","comfort-2","eco","frostprotection","off","secured"],"qualifiedName":"io:MaximumHeatingLevelState"},{"type":"DataState","qualifiedName":"io:ModelState"},{"type":"DiscreteState","values":["long peak","no peak","short peak"],"qualifiedName":"io:PeakNoticeState"},{"type":"DiscreteState","values":["long peak warning","no warning","short peak warning"],"qualifiedName":"io:PeakWarningState"},{"type":"DataState","qualifiedName":"io:PowerState"},{"type":"DiscreteState","values":["comfortLevel1","comfortLevel2","comfortLevel3","comfortLevel4","environmentProtection","humanProtection","userLevel1","userLevel2"],"qualifiedName":"io:PriorityLockLevelState"},{"type":"DiscreteState","values":["LSC","SAAC","SFC","UPS","externalGateway","localUser","myself","rain","security","temperature","timer","user","wind"],"qualifiedName":"io:PriorityLockOriginatorState"},{"type":"DataState","qualifiedName":"io:RoomDeletionThresholdState"},{"type":"DiscreteState","values":["kept","lost"],"qualifiedName":"io:RunningState"},{"type":"ContinuousState","qualifiedName":"io:SetpointLoweringTemperatureInProgModeState"},{"type":"DiscreteState","values":["boost","comfort","comfort-1","comfort-2","eco","frostprotection","off","secured"],"qualifiedName":"io:TargetHeatingLevelState"},{"type":"ContinuousState","qualifiedName":"io:TemperatureProbeCalibrationOffsetState"},{"type":"DataState","qualifiedName":"io:TensionState"},{"type":"ContinuousState","qualifiedName":"io:TimerForTransitoryStateState"},{"type":"DiscreteState","values":["boost","drying","permanentHeating"],"qualifiedName":"io:TowelDryerTemporaryStateState"},{"type":"ContinuousState","qualifiedName":"io:UptimeState"}],"dataProperties":[{"value":"500","qualifiedName":"core:identifyInterval"}],"widgetName":"AtlanticElectricalTowelDryer","uiProfiles":["HeatingLevel","StatefulThermostat","Thermostat","OccupancyDetector"],"uiClass":"HeatingSystem","uiClassifiers":["emitter"],"qualifiedName":"io:AtlanticElectricalTowelDryerIOComponent","type":"ACTUATOR"},"states":[{"name":"core:NameState","type":3,"value":"I2G_Actuator"},{"name":"core:VersionState","type":3,"value":"2d202020ffffff210002"},{"name":"core:PriorityLockTimerState","type":1,"value":0},{"name":"core:OnOffState","type":3,"value":"on"},{"name":"io:TargetHeatingLevelState","type":3,"value":"comfort"},{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:DiscreteRSSILevelState","type":3,"value":"low"},{"name":"core:RSSILevelState","type":2,"value":36.0},{"name":"core:IdentifierState","type":3,"value":"00000000"},{"name":"io:MaximumHeatingLevelState","type":3,"value":"unknown"},{"name":"io:TimerForTransitoryStateState","type":1,"value":0},{"name":"core:ComfortRoomTemperatureState","type":1,"value":17},{"name":"core:EcoRoomTemperatureState","type":2,"value":2.5},{"name":"io:SetpointLoweringTemperatureInProgModeState","type":2,"value":2.5},{"name":"core:DateTimeState","type":11,"value":{"month":12,"hour":11,"year":2022,"weekday":3,"day":1,"minute":48,"second":50}},{"name":"io:LocalLeadTimeState","type":1,"value":3268},{"name":"core:RegulationModeState","type":3,"value":"none"},{"name":"core:ManufacturerNameState","type":3,"value":"Thermor"},{"name":"io:ModelState","type":3,"value":"Symphonik Gauche"},{"name":"io:PowerState","type":1,"value":1750},{"name":"io:TensionState","type":1,"value":235},{"name":"core:DerogatedTargetTemperatureState","type":2,"value":0.0},{"name":"io:TemperatureProbeCalibrationOffsetState","type":2,"value":0.0},{"name":"io:CurrentWorkingRateState","type":2,"value":0.0},{"name":"io:CumulatedLoweringState","type":2,"value":18.0},{"name":"io:ControllerAddressState","type":1,"value":13610532},{"name":"core:OperatingModeState","type":3,"value":"external"},{"name":"io:EffectiveTemperatureSetpointState","type":2,"value":17.0},{"name":"core:TargetTemperatureState","type":2,"value":17.0},{"name":"core:BoostModeDurationState","type":1,"value":0},{"name":"io:BoostDurationUserParameterState","type":1,"value":30},{"name":"io:BoostDurationMaxState","type":1,"value":60},{"name":"io:DryingDurationState","type":1,"value":0},{"name":"io:DryingDurationUserParameterState","type":1,"value":60},{"name":"io:DryingDurationMaxState","type":1,"value":120},{"name":"io:TowelDryerTemporaryStateState","type":3,"value":"permanentHeating"},{"name":"core:OccupancyState","type":1,"value":0},{"name":"core:FilterFanCloggingErrorState","type":2,"value":12.0},{"name":"io:AutoProgramState","type":11,"value":{"sunday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_1","CONF_1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV2","CONF_1","CONF_NIV2","CONF_3_NIV2","CONF_2","CONF_2","CONF_NIV1","CONF_NIV3","CONF_3_NIV2","CONF_2","CONF_NIV1","CONF_NIV2","CONF_NIV3","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"saturday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_NIV3","CONF_2","CONF_1","CONF_3_NIV2","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_NIV3","CONF_NIV3","CONF_2","CONF_2","CONF_2","CONF_2","CONF_1","CONF_1","CONF_1","CONF_2","CONF_2","CONF_3_NIV1","CONF_2","CONF_NIV2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_NIV1","CONF_1","CONF_NIV1","CONF_1","CONF_2","CONF_3_NIV2","CONF_3_NIV1","CONF_2","CONF_3_NIV2","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"tuesday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_NIV2","CONF_NIV3","CONF_NIV3","CONF_NIV2","CONF_1","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_NIV1","CONF_1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_NIV3","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV2","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"wednesday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_NIV3","CONF_NIV2","CONF_NIV1","CONF_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_1","CONF_1","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_NIV2","CONF_NIV3","CONF_NIV2","CONF_NIV2","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"thursday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV3","CONF_NIV2","CONF_NIV2","CONF_2","CONF_3_NIV1","CONF_1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_2","CONF_3_NIV1","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_1","CONF_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_3_NIV1","CONF_3_NIV2","CONF_2","CONF_1","CONF_1","CONF_3_NIV2","CONF_NIV2","CONF_1","CONF_1","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_1","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV1","CONF_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"friday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV1","CONF_NIV3","CONF_NIV3","CONF_NIV1","CONF_NIV2","CONF_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV2","CONF_3_NIV1","CONF_2","CONF_NIV3","CONF_NIV3","CONF_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"anticipTime":3268,"anticipNb":20,"monday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV3","CONF_NIV3","CONF_NIV2","CONF_NIV1","CONF_NIV3","CONF_1","CONF_NIV3","CONF_NIV2","CONF_1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_1","CONF_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_NIV2","CONF_NIV2","CONF_2","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_1","CONF_2","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"]}},{"name":"core:TimeProgramState","type":10,"value":[{"monday":[{"start":"04:45","end":"05:45"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"tuesday":[{"start":"04:45","end":"05:45"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"wednesday":[{"start":"04:45","end":"05:45"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"thursday":[{"start":"04:45","end":"05:45"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"friday":[{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"saturday":[{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"sunday":[{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]}]}],"attributes":[{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"AtlanticElectricalTowelDryer","type":1,"oid":"5af5e544-8105-481f-9cb5-669341e07ebd","uiClass":"HeatingSystem"},{"creationTime":1600352184000,"lastUpdateTime":1600352184000,"label":"IO (13610533#2)","deviceURL":"io://0810-4343-0200/13610533#2","shortcut":false,"controllableName":"io:OccupancyIOSystemDeviceSensor","definition":{"commands":[],"states":[{"eventBased":true,"type":"DiscreteState","values":["noPersonInside","personInside"],"qualifiedName":"core:OccupancyState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"}],"dataProperties":[],"widgetName":"OccupancySensor","uiProfiles":["OccupancyDetector"],"uiClass":"OccupancySensor","qualifiedName":"io:OccupancyIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:OccupancyState","type":3,"value":"noPersonInside"}],"attributes":[{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"OccupancySensor","type":2,"oid":"d429c9e6-3321-467c-9567-cf3af89a25bf","uiClass":"OccupancySensor"},{"creationTime":1600352184000,"lastUpdateTime":1600352184000,"label":"IO (13610533#3)","deviceURL":"io://0810-4343-0200/13610533#3","shortcut":false,"controllableName":"io:LightIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"ContinuousState","qualifiedName":"core:LuminanceState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"}],"dataProperties":[],"widgetName":"LuminanceSensor","uiProfiles":["Luminance"],"uiClass":"LightSensor","qualifiedName":"io:LightIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:LuminanceState","type":1,"value":4}],"attributes":[{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:MeasuredValueType","type":3,"value":"core:LuminanceInLux"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"LuminanceSensor","type":2,"oid":"75cb59ee-c894-4637-89e1-0b82ca5161a4","uiClass":"LightSensor"},{"creationTime":1600352184000,"lastUpdateTime":1600352184000,"label":"IO (13610533#4)","deviceURL":"io://0810-4343-0200/13610533#4","shortcut":false,"controllableName":"io:RelativeHumidityIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"ContinuousState","qualifiedName":"core:RelativeHumidityState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"}],"dataProperties":[],"widgetName":"RelativeHumiditySensor","uiProfiles":["RelativeHumidity"],"uiClass":"HumiditySensor","qualifiedName":"io:RelativeHumidityIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:RelativeHumidityState","type":2,"value":44.0}],"attributes":[{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"},{"name":"core:MeasuredValueType","type":3,"value":"core:RelativeValueInPercentage"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"RelativeHumiditySensor","type":2,"oid":"a960afd8-3773-4ef2-9587-4b18ce936196","uiClass":"HumiditySensor"},{"creationTime":1600352184000,"lastUpdateTime":1600352184000,"label":"IO (13610533#5)","deviceURL":"io://0810-4343-0200/13610533#5","shortcut":false,"controllableName":"io:TemperatureInCelciusIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"},{"type":"ContinuousState","qualifiedName":"core:TemperatureState"}],"dataProperties":[],"widgetName":"TemperatureSensor","uiProfiles":["Temperature"],"uiClass":"TemperatureSensor","qualifiedName":"io:TemperatureInCelciusIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:TemperatureState","type":2,"value":23.5}],"attributes":[{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:MeasuredValueType","type":3,"value":"core:TemperatureInCelcius"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"TemperatureSensor","type":2,"oid":"6dbb6b32-ae62-434f-af17-24a42e978d6e","uiClass":"TemperatureSensor"},{"creationTime":1600352184000,"lastUpdateTime":1600352184000,"label":"IO (13610533#6)","deviceURL":"io://0810-4343-0200/13610533#6","shortcut":false,"controllableName":"io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff0State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff1State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff2State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff3State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff4State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff5State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff6State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff7State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff8State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff9State"},{"type":"ContinuousState","qualifiedName":"core:ElectricEnergyConsumptionState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"}],"dataProperties":[],"widgetName":"CumulativeElectricPowerConsumptionSensor","uiProfiles":["ElectricEnergyConsumption"],"uiClass":"ElectricitySensor","qualifiedName":"io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:ElectricEnergyConsumptionState","type":1,"value":1011000}],"attributes":[{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"},{"name":"core:MeasuredValueType","type":3,"value":"core:ElectricalEnergyInWh"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"CumulativeElectricPowerConsumptionSensor","type":2,"oid":"d729a76c-3745-4c34-a42e-2cc95dda54af","uiClass":"ElectricitySensor"},{"creationTime":1600352184000,"lastUpdateTime":1600352184000,"label":"IO (13610533#7)","deviceURL":"io://0810-4343-0200/13610533#7","shortcut":false,"controllableName":"io:TemperatureInCelciusIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"},{"type":"ContinuousState","qualifiedName":"core:TemperatureState"}],"dataProperties":[],"widgetName":"TemperatureSensor","uiProfiles":["Temperature"],"uiClass":"TemperatureSensor","qualifiedName":"io:TemperatureInCelciusIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:TemperatureState","type":2,"value":20.5}],"attributes":[{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:MeasuredValueType","type":3,"value":"core:TemperatureInCelcius"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"TemperatureSensor","type":2,"oid":"933e5ae2-9cdf-4c84-bf44-8dd2c2780141","uiClass":"TemperatureSensor"},{"creationTime":1528368069000,"lastUpdateTime":1528368069000,"label":"I2G_Actuator","deviceURL":"io://0810-4343-0200/5668249#1","shortcut":false,"controllableName":"io:AtlanticElectricalTowelDryerIOComponent","definition":{"commands":[{"commandName":"advancedRefresh","nparams":1},{"commandName":"cancelHeatingLevel","nparams":1},{"commandName":"delayedStopIdentify","nparams":1},{"commandName":"getName","nparams":0},{"commandName":"identify","nparams":0},{"commandName":"off","nparams":0},{"commandName":"refreshComfortTemperature","nparams":0},{"commandName":"refreshDateTime","nparams":0},{"commandName":"refreshDerogatedTargetTemperature","nparams":0},{"commandName":"refreshEcoTemperature","nparams":0},{"commandName":"refreshHeatingLevel","nparams":0},{"commandName":"refreshManufacturerName","nparams":0},{"commandName":"refreshMaximumHeatingTargetTemperature","nparams":0},{"commandName":"refreshMaximumTargetTemperature","nparams":0},{"commandName":"refreshOperatingMode","nparams":0},{"commandName":"refreshTargetTemperature","nparams":0},{"commandName":"refreshTemperature","nparams":0},{"commandName":"setComfortTemperature","nparams":1},{"commandName":"setDateTime","nparams":1},{"commandName":"setDerogatedTargetTemperature","nparams":1},{"commandName":"setEcoTemperature","nparams":1},{"commandName":"setHeatingLevel","nparams":1},{"commandName":"setHeatingLevelWithTimer","nparams":2},{"commandName":"setName","nparams":1},{"commandName":"setPreviousTargetTemperature","nparams":1},{"commandName":"setSchedulingType","nparams":1},{"commandName":"setTargetTemperature","nparams":1},{"commandName":"startIdentify","nparams":0},{"commandName":"stopIdentify","nparams":0},{"commandName":"wink","nparams":1},{"commandName":"pairOneWayController","nparams":2},{"commandName":"refreshAutoProgram","nparams":0},{"commandName":"refreshBoostModeDuration","nparams":0},{"commandName":"refreshBoostModeParameters","nparams":0},{"commandName":"refreshControllerAddress","nparams":0},{"commandName":"refreshCumulatedLowering","nparams":0},{"commandName":"refreshCurrentWorkingRate","nparams":0},{"commandName":"refreshDeletionCancelation","nparams":0},{"commandName":"refreshDryingDuration","nparams":0},{"commandName":"refreshDryingParameters","nparams":0},{"commandName":"refreshEffectiveTemperatureSetpoint","nparams":0},{"commandName":"refreshLocalLeadTime","nparams":0},{"commandName":"refreshModel","nparams":0},{"commandName":"refreshOccupancy","nparams":0},{"commandName":"refreshPeakNotice","nparams":0},{"commandName":"refreshPeakWarning","nparams":0},{"commandName":"refreshPowerAndTension","nparams":0},{"commandName":"refreshRoomDeletionThreshold","nparams":0},{"commandName":"refreshSSVError6","nparams":0},{"commandName":"refreshSetpointLoweringTemperatureInProgMode","nparams":0},{"commandName":"refreshSynchronisationRequest","nparams":0},{"commandName":"refreshTemperatureProbeCalibrationOffset","nparams":0},{"commandName":"refreshTowelDryerTemporaryState","nparams":0},{"commandName":"refreshTowelDryerTimeProgram","nparams":0},{"commandName":"setCommunicationTest","nparams":1},{"commandName":"setDeletionCancelation","nparams":1},{"commandName":"setDryingDuration","nparams":1},{"commandName":"setExpectedPresence","nparams":1},{"commandName":"setPeakNotice","nparams":1},{"commandName":"setPeakWarning","nparams":1},{"commandName":"setRoomDeletionThreshold","nparams":1},{"commandName":"setSetpointLoweringTemperatureInProgMode","nparams":1},{"commandName":"setTemperatureProbeCalibrationOffset","nparams":1},{"commandName":"setTowelDryerBoostModeDuration","nparams":1},{"commandName":"setTowelDryerOperatingMode","nparams":1},{"commandName":"setTowelDryerTemporaryState","nparams":1},{"commandName":"setTowelDryerTimeProgram","nparams":1},{"commandName":"unpairAllOneWayControllers","nparams":0},{"commandName":"unpairOneWayController","nparams":2}],"states":[{"type":"ContinuousState","qualifiedName":"core:BoostModeDurationState"},{"type":"ContinuousState","qualifiedName":"core:ComfortRoomTemperatureState"},{"type":"DataState","qualifiedName":"core:DateTimeState"},{"type":"ContinuousState","qualifiedName":"core:DerogatedTargetTemperatureState"},{"type":"DiscreteState","values":["good","low","normal","verylow"],"qualifiedName":"core:DiscreteRSSILevelState"},{"type":"ContinuousState","qualifiedName":"core:EcoRoomTemperatureState"},{"type":"ContinuousState","qualifiedName":"core:FilterFanCloggingErrorState"},{"type":"DataState","qualifiedName":"core:IdentifierState"},{"type":"DataState","qualifiedName":"core:ManufacturerNameState"},{"type":"ContinuousState","qualifiedName":"core:MaximumHeatingTargetTemperatureState"},{"type":"ContinuousState","qualifiedName":"core:MaximumTargetTemperatureState"},{"type":"DataState","qualifiedName":"core:NameState"},{"eventBased":true,"type":"DiscreteState","values":["noPersonInside","personInside"],"qualifiedName":"core:OccupancyState"},{"type":"DiscreteState","values":["off","on"],"qualifiedName":"core:OnOffState"},{"type":"DiscreteState","values":["antifreeze","auto","away","eco","frostprotection","manual","max","normal","off","on","prog","program","boost"],"qualifiedName":"core:OperatingModeState"},{"type":"ContinuousState","qualifiedName":"core:PreviousTargetTemperatureState"},{"type":"ContinuousState","qualifiedName":"core:PriorityLockTimerState"},{"type":"ContinuousState","qualifiedName":"core:RSSILevelState"},{"type":"DiscreteState","values":["increase","none","standby"],"qualifiedName":"core:RegulationModeState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"},{"type":"ContinuousState","qualifiedName":"core:TargetTemperatureState"},{"type":"DataState","qualifiedName":"core:TimeProgramState"},{"type":"ContinuousState","qualifiedName":"core:VersionState"},{"type":"DataState","qualifiedName":"io:AutoProgramState"},{"type":"DataState","qualifiedName":"io:BoostDurationMaxState"},{"type":"DataState","qualifiedName":"io:BoostDurationUserParameterState"},{"type":"DataState","qualifiedName":"io:ControllerAddressState"},{"type":"ContinuousState","qualifiedName":"io:CumulatedLoweringState"},{"type":"ContinuousState","qualifiedName":"io:CurrentWorkingRateState"},{"type":"DiscreteState","values":["deletion cancelation","no deletion cancelation"],"qualifiedName":"io:DeletionCancelationState"},{"type":"DataState","qualifiedName":"io:DryingDurationMaxState"},{"type":"ContinuousState","qualifiedName":"io:DryingDurationState"},{"type":"DataState","qualifiedName":"io:DryingDurationUserParameterState"},{"type":"ContinuousState","qualifiedName":"io:EffectiveTemperatureSetpointState"},{"type":"ContinuousState","qualifiedName":"io:ExpectedPresenceState"},{"type":"DiscreteState","values":["external","internal"],"qualifiedName":"io:InternalExternalSchedulingTypeState"},{"type":"ContinuousState","qualifiedName":"io:LocalLeadTimeState"},{"type":"DiscreteState","values":["boost","comfort","comfort-1","comfort-2","eco","frostprotection","off","secured"],"qualifiedName":"io:MaximumHeatingLevelState"},{"type":"DataState","qualifiedName":"io:ModelState"},{"type":"DiscreteState","values":["long peak","no peak","short peak"],"qualifiedName":"io:PeakNoticeState"},{"type":"DiscreteState","values":["long peak warning","no warning","short peak warning"],"qualifiedName":"io:PeakWarningState"},{"type":"DataState","qualifiedName":"io:PowerState"},{"type":"DiscreteState","values":["comfortLevel1","comfortLevel2","comfortLevel3","comfortLevel4","environmentProtection","humanProtection","userLevel1","userLevel2"],"qualifiedName":"io:PriorityLockLevelState"},{"type":"DiscreteState","values":["LSC","SAAC","SFC","UPS","externalGateway","localUser","myself","rain","security","temperature","timer","user","wind"],"qualifiedName":"io:PriorityLockOriginatorState"},{"type":"DataState","qualifiedName":"io:RoomDeletionThresholdState"},{"type":"DiscreteState","values":["kept","lost"],"qualifiedName":"io:RunningState"},{"type":"ContinuousState","qualifiedName":"io:SetpointLoweringTemperatureInProgModeState"},{"type":"DiscreteState","values":["boost","comfort","comfort-1","comfort-2","eco","frostprotection","off","secured"],"qualifiedName":"io:TargetHeatingLevelState"},{"type":"ContinuousState","qualifiedName":"io:TemperatureProbeCalibrationOffsetState"},{"type":"DataState","qualifiedName":"io:TensionState"},{"type":"ContinuousState","qualifiedName":"io:TimerForTransitoryStateState"},{"type":"DiscreteState","values":["boost","drying","permanentHeating"],"qualifiedName":"io:TowelDryerTemporaryStateState"},{"type":"ContinuousState","qualifiedName":"io:UptimeState"}],"dataProperties":[{"value":"500","qualifiedName":"core:identifyInterval"}],"widgetName":"AtlanticElectricalTowelDryer","uiProfiles":["HeatingLevel","StatefulThermostat","Thermostat","OccupancyDetector"],"uiClass":"HeatingSystem","uiClassifiers":["emitter"],"qualifiedName":"io:AtlanticElectricalTowelDryerIOComponent","type":"ACTUATOR"},"states":[{"name":"core:NameState","type":3,"value":"I2G_Actuator"},{"name":"core:VersionState","type":3,"value":"2d202020ffffff210002"},{"name":"core:PriorityLockTimerState","type":1,"value":0},{"name":"core:OnOffState","type":3,"value":"on"},{"name":"io:TargetHeatingLevelState","type":3,"value":"eco"},{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:DiscreteRSSILevelState","type":3,"value":"normal"},{"name":"core:RSSILevelState","type":2,"value":76.0},{"name":"core:IdentifierState","type":3,"value":"00000000"},{"name":"io:MaximumHeatingLevelState","type":3,"value":"unknown"},{"name":"io:TimerForTransitoryStateState","type":1,"value":0},{"name":"core:ComfortRoomTemperatureState","type":1,"value":19},{"name":"core:EcoRoomTemperatureState","type":1,"value":5},{"name":"io:SetpointLoweringTemperatureInProgModeState","type":2,"value":5.0},{"name":"io:InternalExternalSchedulingTypeState","type":3,"value":"internal"},{"name":"core:DateTimeState","type":11,"value":{"month":12,"hour":11,"year":2022,"weekday":3,"day":1,"minute":48,"second":48}},{"name":"io:LocalLeadTimeState","type":1,"value":3154},{"name":"core:RegulationModeState","type":3,"value":"none"},{"name":"core:ManufacturerNameState","type":3,"value":"Thermor"},{"name":"io:ModelState","type":3,"value":"Symphonik Gauche"},{"name":"io:PowerState","type":1,"value":1750},{"name":"io:TensionState","type":1,"value":235},{"name":"core:DerogatedTargetTemperatureState","type":2,"value":0.0},{"name":"io:TemperatureProbeCalibrationOffsetState","type":2,"value":0.0},{"name":"io:CurrentWorkingRateState","type":2,"value":0.0},{"name":"io:CumulatedLoweringState","type":2,"value":19.0},{"name":"io:ControllerAddressState","type":1,"value":15984323},{"name":"core:OperatingModeState","type":3,"value":"external"},{"name":"io:EffectiveTemperatureSetpointState","type":2,"value":14.0},{"name":"core:TargetTemperatureState","type":2,"value":19.0},{"name":"core:BoostModeDurationState","type":1,"value":0},{"name":"io:BoostDurationUserParameterState","type":1,"value":60},{"name":"io:BoostDurationMaxState","type":1,"value":60},{"name":"io:DryingDurationState","type":1,"value":0},{"name":"io:DryingDurationUserParameterState","type":1,"value":90},{"name":"io:DryingDurationMaxState","type":1,"value":120},{"name":"io:TowelDryerTemporaryStateState","type":3,"value":"permanentHeating"},{"name":"core:OccupancyState","type":1,"value":1},{"name":"core:FilterFanCloggingErrorState","type":2,"value":0.0},{"name":"io:AutoProgramState","type":11,"value":{"sunday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_3_NIV2","CONF_2","CONF_2","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_1","CONF_1","CONF_1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_2","CONF_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_NIV3","CONF_NIV3","CONF_1","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV2","CONF_NIV2","CONF_NIV2","CONF_NIV2","CONF_NIV2","CONF_NIV1","CONF_NIV3","CONF_NIV1","CONF_NIV1","CONF_NIV2","CONF_2","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"saturday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_NIV2","CONF_NIV2","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_1","CONF_3_NIV2","CONF_3_NIV1","CONF_NIV1","CONF_2","CONF_NIV1","CONF_2","CONF_2","CONF_2","CONF_2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV1","CONF_1","CONF_1","CONF_NIV2","CONF_1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV1","CONF_2","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV2","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"tuesday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_NIV2","CONF_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV3","CONF_NIV3","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"wednesday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_1","CONF_1","CONF_2","CONF_2","CONF_2","CONF_1","CONF_1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV3","CONF_NIV3","CONF_1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_NIV2","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_NIV1","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_1","CONF_2","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"thursday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_NIV3","CONF_NIV3","CONF_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_1","CONF_2","CONF_3_NIV1","CONF_1","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_1","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV3","CONF_NIV3","CONF_NIV2","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV3","CONF_NIV2","CONF_2","CONF_NIV2","CONF_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"friday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_NIV3","CONF_NIV3","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_2","CONF_2","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_2","CONF_2","CONF_2","CONF_3_NIV1","CONF_1","CONF_3_NIV1","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV2","CONF_3_NIV1","CONF_2","CONF_2","CONF_2","CONF_1","CONF_3_NIV1","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"],"anticipTime":3154,"anticipNb":20,"monday":["CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_NIV3","CONF_NIV3","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_1","CONF_3_NIV2","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_NIV2","CONF_3_NIV1","CONF_NIV2","CONF_NIV2","CONF_NIV2","CONF_NIV2","CONF_2","CONF_3_NIV2","CONF_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_NIV2","CONF_1","CONF_3_NIV1","CONF_3_NIV1","CONF_2","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1","CONF_3_NIV1"]}},{"name":"core:TimeProgramState","type":10,"value":[{"monday":[{"start":"18:15","end":"19:30"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"tuesday":[{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"wednesday":[{"start":"18:15","end":"19:30"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"thursday":[{"start":"18:15","end":"19:30"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"friday":[{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"saturday":[{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]},{"sunday":[{"start":"18:00","end":"19:30"},{"start":"00:00","end":"00:00"},{"start":"00:00","end":"00:00"}]}]}],"attributes":[{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"}],"available":true,"enabled":true,"placeOID":"bc5dd522-effc-4856-8b7b-bf65fca747db","widget":"AtlanticElectricalTowelDryer","type":1,"oid":"57fe776a-b86d-45fb-b8cf-deb5849872b3","uiClass":"HeatingSystem"},{"creationTime":1528368069000,"lastUpdateTime":1528368069000,"label":"IO (5668249#2)","deviceURL":"io://0810-4343-0200/5668249#2","shortcut":false,"controllableName":"io:OccupancyIOSystemDeviceSensor","definition":{"commands":[],"states":[{"eventBased":true,"type":"DiscreteState","values":["noPersonInside","personInside"],"qualifiedName":"core:OccupancyState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"}],"dataProperties":[],"widgetName":"OccupancySensor","uiProfiles":["OccupancyDetector"],"uiClass":"OccupancySensor","qualifiedName":"io:OccupancyIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:OccupancyState","type":3,"value":"noPersonInside"}],"attributes":[{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"OccupancySensor","type":2,"oid":"9f6881c1-9777-4df5-800b-fed5aaea58ee","uiClass":"OccupancySensor"},{"creationTime":1528368069000,"lastUpdateTime":1528368069000,"label":"IO (5668249#3)","deviceURL":"io://0810-4343-0200/5668249#3","shortcut":false,"controllableName":"io:LightIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"ContinuousState","qualifiedName":"core:LuminanceState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"}],"dataProperties":[],"widgetName":"LuminanceSensor","uiProfiles":["Luminance"],"uiClass":"LightSensor","qualifiedName":"io:LightIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:LuminanceState","type":1,"value":21}],"attributes":[{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:MeasuredValueType","type":3,"value":"core:LuminanceInLux"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"LuminanceSensor","type":2,"oid":"7aad9c61-246f-47cd-a1dd-982588825255","uiClass":"LightSensor"},{"creationTime":1528368069000,"lastUpdateTime":1528368069000,"label":"IO (5668249#4)","deviceURL":"io://0810-4343-0200/5668249#4","shortcut":false,"controllableName":"io:RelativeHumidityIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"ContinuousState","qualifiedName":"core:RelativeHumidityState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"}],"dataProperties":[],"widgetName":"RelativeHumiditySensor","uiProfiles":["RelativeHumidity"],"uiClass":"HumiditySensor","qualifiedName":"io:RelativeHumidityIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:RelativeHumidityState","type":2,"value":49.0}],"attributes":[{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"},{"name":"core:MeasuredValueType","type":3,"value":"core:RelativeValueInPercentage"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"RelativeHumiditySensor","type":2,"oid":"bdf56691-9160-430a-9583-f8d6ea56aac7","uiClass":"HumiditySensor"},{"creationTime":1528368069000,"lastUpdateTime":1528368069000,"label":"IO (5668249#5)","deviceURL":"io://0810-4343-0200/5668249#5","shortcut":false,"controllableName":"io:TemperatureInCelciusIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"},{"type":"ContinuousState","qualifiedName":"core:TemperatureState"}],"dataProperties":[],"widgetName":"TemperatureSensor","uiProfiles":["Temperature"],"uiClass":"TemperatureSensor","qualifiedName":"io:TemperatureInCelciusIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:TemperatureState","type":2,"value":23.8}],"attributes":[{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:MeasuredValueType","type":3,"value":"core:TemperatureInCelcius"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"TemperatureSensor","type":2,"oid":"a77c1f63-f2e2-4a20-a700-95fd1e5d0cb0","uiClass":"TemperatureSensor"},{"creationTime":1528368069000,"lastUpdateTime":1528368069000,"label":"IO (5668249#6)","deviceURL":"io://0810-4343-0200/5668249#6","shortcut":false,"controllableName":"io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff0State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff1State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff2State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff3State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff4State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff5State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff6State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff7State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff8State"},{"type":"ContinuousState","qualifiedName":"core:ConsumptionTariff9State"},{"type":"ContinuousState","qualifiedName":"core:ElectricEnergyConsumptionState"},{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"}],"dataProperties":[],"widgetName":"CumulativeElectricPowerConsumptionSensor","uiProfiles":["ElectricEnergyConsumption"],"uiClass":"ElectricitySensor","qualifiedName":"io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:ElectricEnergyConsumptionState","type":1,"value":1748000}],"attributes":[{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"},{"name":"core:MeasuredValueType","type":3,"value":"core:ElectricalEnergyInWh"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"CumulativeElectricPowerConsumptionSensor","type":2,"oid":"6301f2eb-a74a-4249-9979-a3d0716281a8","uiClass":"ElectricitySensor"},{"creationTime":1528368069000,"lastUpdateTime":1528368069000,"label":"IO (5668249#7)","deviceURL":"io://0810-4343-0200/5668249#7","shortcut":false,"controllableName":"io:TemperatureInCelciusIOSystemDeviceSensor","definition":{"commands":[],"states":[{"type":"DiscreteState","values":["available","unavailable"],"qualifiedName":"core:StatusState"},{"type":"ContinuousState","qualifiedName":"core:TemperatureState"}],"dataProperties":[],"widgetName":"TemperatureSensor","uiProfiles":["Temperature"],"uiClass":"TemperatureSensor","qualifiedName":"io:TemperatureInCelciusIOSystemDeviceSensor","type":"SENSOR"},"states":[{"name":"core:StatusState","type":3,"value":"available"},{"name":"core:TemperatureState","type":2,"value":20.5}],"attributes":[{"name":"core:Manufacturer","type":3,"value":"Atlantic Group"},{"name":"core:FirmwareRevision","type":3,"value":"2d202020ffffff210002"},{"name":"core:MeasuredValueType","type":3,"value":"core:TemperatureInCelcius"},{"name":"core:PowerSourceType","type":3,"value":"mainSupply"}],"available":true,"enabled":true,"placeOID":"8085ec50-bcbe-4d92-96e7-5c4820432958","widget":"TemperatureSensor","type":2,"oid":"b9eef2ff-c6b1-4449-a818-b9aee2ea7bf9","uiClass":"TemperatureSensor"}],"zones":[],"resellerDelegationType":"NEVER","oid":"c10490e6-ea10-489c-a9a3-c7b5c4442cf2","rootPlace":{"creationTime":1528367801000,"lastUpdateTime":1528367801000,"label":"All House","type":0,"oid":"8085ec50-bcbe-4d92-96e7-5c4820432958","subPlaces":[{"creationTime":1602427131000,"lastUpdateTime":1633779688000,"label":"Chambres","type":8,"oid":"eec674a3-938a-42cb-8b66-56b75b6fc2f4","subPlaces":[]},{"creationTime":1528368074000,"lastUpdateTime":1668265290000,"label":"Salle de bain","type":30,"oid":"bc5dd522-effc-4856-8b7b-bf65fca747db","subPlaces":[]}]},"features":[]} As you can see, my two devices ( 2 dry towel ) are: io://0810-4343-0200/13610533 and io://0810-4343-0200/5668249 Encore Merci !
-
------------------------------------------------------------------------- -- création des nouvelles variables #1 à 10 ------------------------------------------------------------------------- -- Boucle for i = 0, 9 do local number = 1 local increm = number + i local shortname = self:getVariable("Appareil") local shortname = shortname:sub(1, -2) if increm == 1 then appareil1 = shortname .. increm elseif increm == 2 then appareil2 = shortname .. increm elseif increm == 3 then appareil3 = shortname .. increm elseif increm == 4 then appareil4 = shortname .. increm elseif increm == 5 then appareil5 = shortname .. increm elseif increm == 6 then appareil6 = shortname .. increm elseif increm == 7 then appareil7 = shortname .. increm elseif increm == 8 then appareil8 = shortname .. increm elseif increm == 9 then appareil9 = shortname .. increm elseif increm == 10 then appareil10 = shortname .. increm else print("erreur") end end bon j'ai créer un boucle pour compléter les variables locales mais j'ai toujours le même problème en fait ! ......car je suis obliger de renseigner le type d'appareil à la main ! ssSeLum = (find('name','core:LuminanceState',find('deviceURL',appareil3,jsonResponse.devices).states).value) ssSeHum = (find('name','core:RelativeHumidityState',find('deviceURL',appareil4,jsonResponse.devices).states).value) Une recherche sans le nom complet ne marche pas ( io://0810-4343-0200/13610533 ) M. @Lazer , Est-ce possible d'avoir un p'tit coup de pouce pour exécuter la fonction de jang , avec un "Find" "partiel" SANS s'occuper des #1 #2 à la fin du deviceURL : " io://0810-4343-0200/13610533**" je vais chercher du coté de string.find() les match ..... Merci ?
-
The problem is on the name of deviceURL which changes in the table "io://0810-4343-0200/13610533#1" "io://0810-4343-0200/13610533#2" "io://0810-4343-0200/13610533#3" etc... print(find('name','io:TargetHeatingLevelState',find('deviceURL','io://0810-4343-0200/13610533#1',jsonResponse.devices).states).value) local function find(key, val, list) for _, e in ipairs(list) do if e[key] == val then return e end end end --------------------------------------------------- local appareil = self:getVariable("Appareil") --------------------------------------------------- local appareil2 = "io://0810-4343-0200/13610533#2" local appareil3 = "io://0810-4343-0200/13610533#3" local appareil4 = "io://0810-4343-0200/13610533#4" local appareil5 = "io://0810-4343-0200/13610533#5" local appareil6 = "io://0810-4343-0200/13610533#6" --------------------------------------------------- J'ai créé des variable locales, cela fonctionne, mais du coup ma variable ' Appareil ' n'est plus pertinente.... et je dois tout écrire à la main Est il possible d'avoir des charactères "d'échappement" avec une recherche ?? , genre : print(find('name','io:TargetHeatingLevelState',find('deviceURL','io://0810-4343-0200/13610533**',jsonResponse.devices).states).value)
-
c'est une fonction de foufou ! Thank you very much @jang ! As always, it works perfectly !
-
Bonjour je relève des données d'une table Json avec les variables de type : local Variable1 = jsonResponse["devices"][3]["states"][5].value pour obtenir comme l'image ci dessous la valeur "off" de "io:TargetHeatingLevelState" malheureusement/évidemment parfois la table bouge et du coup le ["states"][5].value passe en ["states"][6].value ou autres.... Est-il possible et si oui, de m'indiquer comment chercher directement la valeur de : io:TargetHeatingLevelState du deviceURL "io://0810-4343-0200/13610533#1" en lua ? par avance merci
-
je ne peux plus me connecter a ma HC3 :( Help !
Bloug a répondu à un(e) sujet de Doudoubidou dans Support
moi j'ai l'icone : en rouge depuis le début lol -
ok, merci je vais tester les solutions !
- 66 réponses
-
Oki et pour comprendre .... pourquoi 432mm ? merci !
- 66 réponses
-
Tu parles bien de brancher les deux fils de l'antenne rose et vert sur le récepteur ( oxiBD ) en remplacement du fils noir ? En plus des deux fils rose et vert sur l'oxibd ?
- 66 réponses
-
@lfl peux tu me donner ton avis stp Je viens juste de voir que les récepteurs installés sont des OXIBD est-ce devenu un standard ? Lors de l'installation, j'avais remarqué la prise d'antenne sur l'oxiBD, en discutant le tech m'indique qu'il est préférable de ne pas le brancher avec l'antenne car il a remarqué des pb d'interférences....bref "non" antenne sur la prise antenne et sur l'oxi juste le fils noir... Ma femme aujourd'hui m'indique que la portée est à ch*er ! il faut être a 2m/3m du portail pour le voir s'ouvrir, sur le bien le battant j'ai pas de pb. Après vérification sur le miens l'antenne est bien branché sur l'oxiBD. T'en pense quoi sur cette histoire d'antenne à raccorder ou pas ? Ensuite les oxiBD sont de type Mesh non ? faut il faire une réglage particulier ? MErci pour ton retour ! Edit : mes télécommandes sont des era 4 boutons type standard
- 66 réponses
-
j'préfère acheter un oview mais.... 150€ quand même
- 66 réponses
