{"id":13069,"date":"2022-11-17T16:56:40","date_gmt":"2022-11-17T19:56:40","guid":{"rendered":"http:\/\/kb.elipse.com.br\/?p=13069"},"modified":"2022-11-17T16:56:40","modified_gmt":"2022-11-17T19:56:40","slug":"informando-o-utc-local-em-uma-consulta-no-epm-processor-python","status":"publish","type":"post","link":"https:\/\/kb.elipse.com.br\/en\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/","title":{"rendered":"Informando o UTC local em uma consulta no EPM Processor\/Python."},"content":{"rendered":"<h3 align=\"justify\"><b>Descri\u00e7\u00e3o:<\/b><\/h3>\n<p align=\"justify\">Como posso informar ao <a href=\"https:\/\/www.elipse.com.br\/produto\/elipse-plant-manager\/\" target=\"_blank\" rel=\"noopener\">EPM<\/a> o UTC da regi\u00e3o ao realizar uma consulta Python pelo <a href=\"https:\/\/kb.elipse.com.br\/?s=epm+processor\" target=\"_blank\" rel=\"noopener\">EPM Processor<\/a>?<\/p>\n<h3 align=\"justify\"><b>Solu\u00e7\u00e3o:<\/b><\/h3>\n<p align=\"justify\">O UTC (Tempo Universal Coordenado) \u00e9 o fuso hor\u00e1rio de refer\u00eancia a partir do qual se calculam todas as zonas hor\u00e1rias do mundo. O fuso UTC+0 \u00e9 feito a partir do meridiano de Greenwich, na Inglaterra. O fuso de cidades como S\u00e3o Paulo e Bras\u00edlia, por exemplo, que \u00e9 vigente em boa parte do territ\u00f3rio brasileiro, \u00e9 o UTC-3.<\/p>\n<p align=\"justify\">O\u00a0<strong>EPM Processor<\/strong>\u00a0\u00e9 o m\u00f3dulo do\u00a0<a href=\"https:\/\/kb.elipse.com.br\/category\/portugues\/elipse-plant-manager\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Elipse Plant Manager<\/strong><\/a>\u00a0respons\u00e1vel pela execu\u00e7\u00e3o de c\u00f3digos\/algoritmos em linguagem\u00a0<strong>Python<\/strong> baseados em eventos simulados ou de tempo real. Portanto, quando se deseja implementar um algoritmo para ser utilizado no <strong>EPM Processor<\/strong>, seja em produ\u00e7\u00e3o ou simula\u00e7\u00e3o, este algoritmo deve ser codificado dentro de uma fun\u00e7\u00e3o em linguagem\u00a0<strong>Python<\/strong>.<\/p>\n<p align=\"justify\">Sabemos que o Elipse Plant Manager realiza o armazenamento de todos os dados em formato UTC; sendo assim, quando queremos realizar uma pesquisa de dados em sua base atrav\u00e9s de Python, precisamos informar qual \u00e9 o valor do fuso UTC da regi\u00e3o de onde queremos apresentar a informa\u00e7\u00e3o. Para isso, \u00e9 poss\u00edvel utilizar a biblioteca Python <strong>pytz<\/strong> (<a href=\"https:\/\/pypi.org\/project\/pytz\/\" target=\"_blank\" rel=\"noopener\">https:\/\/pypi.org\/project\/pytz\/<\/a>). Abaixo, vemos um exemplo de c\u00f3digo do EPM Processor de consulta de valores \u00e0 base do EPM que utiliza a biblioteca <strong>pytz<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">#mandatory import\r\nimport epmprocessor as epr\r\nimport epmwebapi as epm\r\nimport pytz\r\nimport datetime\r\n\r\n@epr.applicationMethod('getFloorMaxPower')\r\ndef getFloorMaxPower(session, Building):\r\n  ecData = []\r\n  for objsB in Building.values():\r\n    for objF in objsB.enumObjects().values():\r\n      if objF.type == 'xfDCIMFloor':\r\n        for cobjs in objF.enumObjects().values():\r\n          coProps = cobjs.enumProperties()\r\n          if cobjs.name == 'Measures':\r\n            for cobjsM in cobjs.enumObjects().values():\r\n              if cobjsM.name == 'EnergyConsumption':\r\n                EN_Props = cobjsM.enumProperties()\r\n                tz_sp = pytz.timezone('America\/Sao_Paulo')\r\n                endtime = datetime.datetime.now(tz_sp)\r\n                initime = endtime - datetime.timedelta(hours=1) \r\n                queryperiod = epm.QueryPeriod(initime, endtime)\r\n                processInterval = datetime.timedelta(seconds=0)\r\n                aggregationdetails = epm.AggregateDetails(processInterval, epm.AggregateType.Total)\r\n                nData = EN_Props['Value'].historyReadAggregate(aggregationdetails, queryperiod)\r\n                \r\n                ecData.append((objF.name, nData[0]['Value']))\r\n\r\n  print(sorted(ecData, key=lambda en: en[1]))\r\n  return epr.ScopeResult(True)<\/pre>\n<p>Observe que antes de realizar a consulta das informa\u00e7\u00f5es pelo EPM Processor, informamos o valor UTC da regi\u00e3o. Utiliza-se este valor no intervalo de tempo da data inicial e final da pesquisa, conforme destacado aqui:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">tz_sp = pytz.timezone('America\/Sao_Paulo')\r\nendtime = datetime.datetime.now(tz_sp)\r\ninitime = endtime - datetime.timedelta(hours=1)<\/pre>\n<p>Desta forma, teremos o retorno dos valores da base do EPM de forma correta. Neste exemplo, consideramos a zona hor\u00e1ria de S\u00e3o Paulo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descri\u00e7\u00e3o: Como posso informar ao EPM o UTC da regi\u00e3o ao realizar uma consulta Python pelo EPM Processor? Solu\u00e7\u00e3o: O UTC (Tempo Universal Coordenado) \u00e9 o fuso hor\u00e1rio de refer\u00eancia&hellip;<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0},"categories":[676],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Informando o UTC local em uma consulta no EPM Processor.<\/title>\n<meta name=\"description\" content=\"Este artigo mostra como informar o UTC local ao EPM Processor em uma consulta a sua base de dados atrav\u00e9s do Python.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Informando o UTC local em uma consulta no EPM Processor.\" \/>\n<meta property=\"og:description\" content=\"Este artigo mostra como informar o UTC local ao EPM Processor em uma consulta a sua base de dados atrav\u00e9s do Python.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Elipse Knowledgebase\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/elipsesoftware\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-17T19:56:40+00:00\" \/>\n<meta name=\"author\" content=\"Marco Antonio Gomes Silva\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marco Antonio Gomes Silva\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/\"},\"author\":{\"name\":\"Marco Antonio Gomes Silva\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/fa6d0b4f046e3b2c208aaf84a40154e9\"},\"headline\":\"Informando o UTC local em uma consulta no EPM Processor\/Python.\",\"datePublished\":\"2022-11-17T19:56:40+00:00\",\"dateModified\":\"2022-11-17T19:56:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/\"},\"wordCount\":307,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"articleSection\":[\"Elipse Plant Manager\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/\",\"url\":\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/\",\"name\":\"Informando o UTC local em uma consulta no EPM Processor.\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#website\"},\"datePublished\":\"2022-11-17T19:56:40+00:00\",\"dateModified\":\"2022-11-17T19:56:40+00:00\",\"description\":\"Este artigo mostra como informar o UTC local ao EPM Processor em uma consulta a sua base de dados atrav\u00e9s do Python.\",\"breadcrumb\":{\"@id\":\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/kb.elipse.com.br\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Informando o UTC local em uma consulta no EPM Processor\/Python.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kb.elipse.com.br\/#website\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"name\":\"Elipse Knowledgebase\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kb.elipse.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\",\"name\":\"Elipse Software\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/elipsesoftware\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"contentUrl\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"width\":161,\"height\":58,\"caption\":\"Elipse Software\"},\"image\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/fa6d0b4f046e3b2c208aaf84a40154e9\",\"name\":\"Marco Antonio Gomes Silva\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7d19cf85bb457f81816ff5d785e3b9f4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7d19cf85bb457f81816ff5d785e3b9f4?s=96&d=mm&r=g\",\"caption\":\"Marco Antonio Gomes Silva\"},\"url\":\"https:\/\/kb.elipse.com.br\/en\/author\/marco\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Informando o UTC local em uma consulta no EPM Processor.","description":"Este artigo mostra como informar o UTC local ao EPM Processor em uma consulta a sua base de dados atrav\u00e9s do Python.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/","og_locale":"en_US","og_type":"article","og_title":"Informando o UTC local em uma consulta no EPM Processor.","og_description":"Este artigo mostra como informar o UTC local ao EPM Processor em uma consulta a sua base de dados atrav\u00e9s do Python.","og_url":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/","og_site_name":"Elipse Knowledgebase","article_publisher":"http:\/\/www.facebook.com\/elipsesoftware","article_published_time":"2022-11-17T19:56:40+00:00","author":"Marco Antonio Gomes Silva","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marco Antonio Gomes Silva","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/#article","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/"},"author":{"name":"Marco Antonio Gomes Silva","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/fa6d0b4f046e3b2c208aaf84a40154e9"},"headline":"Informando o UTC local em uma consulta no EPM Processor\/Python.","datePublished":"2022-11-17T19:56:40+00:00","dateModified":"2022-11-17T19:56:40+00:00","mainEntityOfPage":{"@id":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/"},"wordCount":307,"commentCount":0,"publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"articleSection":["Elipse Plant Manager"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/","url":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/","name":"Informando o UTC local em uma consulta no EPM Processor.","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/#website"},"datePublished":"2022-11-17T19:56:40+00:00","dateModified":"2022-11-17T19:56:40+00:00","description":"Este artigo mostra como informar o UTC local ao EPM Processor em uma consulta a sua base de dados atrav\u00e9s do Python.","breadcrumb":{"@id":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kb.elipse.com.br\/informando-o-utc-local-em-uma-consulta-no-epm-processor-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/kb.elipse.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Informando o UTC local em uma consulta no EPM Processor\/Python."}]},{"@type":"WebSite","@id":"https:\/\/kb.elipse.com.br\/#website","url":"https:\/\/kb.elipse.com.br\/","name":"Elipse Knowledgebase","description":"","publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kb.elipse.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kb.elipse.com.br\/#organization","name":"Elipse Software","url":"https:\/\/kb.elipse.com.br\/","sameAs":["http:\/\/www.facebook.com\/elipsesoftware"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","contentUrl":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","width":161,"height":58,"caption":"Elipse Software"},"image":{"@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/fa6d0b4f046e3b2c208aaf84a40154e9","name":"Marco Antonio Gomes Silva","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7d19cf85bb457f81816ff5d785e3b9f4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7d19cf85bb457f81816ff5d785e3b9f4?s=96&d=mm&r=g","caption":"Marco Antonio Gomes Silva"},"url":"https:\/\/kb.elipse.com.br\/en\/author\/marco\/"}]}},"_links":{"self":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/13069"}],"collection":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/comments?post=13069"}],"version-history":[{"count":8,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/13069\/revisions"}],"predecessor-version":[{"id":13942,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/13069\/revisions\/13942"}],"wp:attachment":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/media?parent=13069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/categories?post=13069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/tags?post=13069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}