{"id":7272,"date":"2017-03-17T06:53:00","date_gmt":"2017-03-17T06:53:00","guid":{"rendered":"http:\/\/domosistemas.com\/?p=7272"},"modified":"2017-03-17T06:53:00","modified_gmt":"2017-03-17T06:53:00","slug":"probamos-el-nuevo-termostato-lyric-t6-de-honeywell-extra-api-honeywell","status":"publish","type":"post","link":"https:\/\/domosistemas.com\/?p=7272","title":{"rendered":"Probamos el nuevo termostato Lyric T6 de Honeywell \u2013 Extra API Honeywell"},"content":{"rendered":"<p>Lo prometido es deuda, as\u00ed que tras una introducci\u00f3n <a href=\"http:\/\/www.domoticadomestica.com\/probamos-nuevo-termostato-lyric-t6-honeywell-integracion-conclusiones\/\" target=\"_blank\">en la anterior entrega<\/a> sobre lo que es la autenticaci\u00f3n OAuth, ahora vamos a ver en detalle\u00a0los <strong>pasos a seguir para poder integrarlo en eedomus<\/strong>. Esto es algo no solamente aplicable al termostato de Honeywell y eedomus, muchos APIs utilizan este sistema de autenticaci\u00f3n, por lo tanto siempre vendr\u00e1 bien conocer el proceso que conlleva.<\/p>\n<p>Antes de nada, comentar que para hacer posible esta integraci\u00f3n, vamos a necesitar un servidor intermedio tipo <strong>Raspberry<\/strong>. Si, nuevamente una Raspberry podr\u00e1 hacer de enlace entre nuestro controlador y otro objeto conectado. Como veis, la Raspberry es de lo m\u00e1s vers\u00e1til. Tambi\u00e9n nos puede valer\u00a0un NAS o alg\u00fan ordenador que tengamos siempre encendido y cumpla los requisitos software.<\/p>\n<p>Los requisitos a nivel software para que funcione no son muchos, b\u00e1sicamente necesitaremos que tenga <strong>un servidor web (apache o similar), php y cURL,<\/strong> servicios que suelen venir\u00a0instalados\u00a0encima de cualquier\u00a0distribuci\u00f3n.<strong>\u00a0<\/strong>Ya est\u00e1, con esto ya deber\u00edamos tener cubiertos los requisitos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12378 size-full\" title=\"raspberry apache y php\" src=\"http:\/\/www.domoticadomestica.com\/wp-content\/uploads\/2017\/03\/rpi_apache_php-1.jpg\" alt=\"raspberry apache y php\" width=\"800\" height=\"336\" \/><\/p>\n<h2>P\u00e1gina de desarrolladores de Honeywell<\/h2>\n<p>El paso para realizar esta integraci\u00f3n\u00a0ser\u00eda <strong>darse de alta<\/strong> en la <a href=\"https:\/\/developer.honeywell.com\" target=\"_blank\">p\u00e1gina de desarrolladores de Honeywell.<\/a>\u00a0Para ello vamos a &#8220;SIGN UP&#8221; y rellenamos el cuestionario (nombre, apellido, usuario, email y password).<\/p>\n<p>Una vez nos hayamos dado de alta, el siguiente paso es <strong>crear una aplicaci\u00f3n<\/strong>. Tranquilos,\u00a0vamos a ir viendo paso por paso c\u00f3mo hacerlo.<\/p>\n<p>Primero vamos a &#8220;CREATE NEW APP&#8221;. Necesitaremos darle un &#8220;App Name&#8221; (en mi caso utilic\u00e9\u00a0&#8220;TEST_LYRIC&#8221; y as\u00ed se qued\u00f3) y lo que se denomina una &#8220;Callback URL&#8221; (aqu\u00ed puse un dominio que tengo en casa, pero tranquilos, no es necesario y podr\u00e9is poner por ejemplo la direcci\u00f3n IP que teng\u00e1is en ese momento, o simplemente vuestra IP privada).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12331 size-full\" title=\"portal de desarrollo\" src=\"http:\/\/www.domoticadomestica.com\/wp-content\/uploads\/2017\/03\/developer.jpg\" alt=\"portal de desarrollo\" width=\"800\" height=\"384\" \/><\/p>\n<p>Una vez creada la aplicaci\u00f3n, \u00e9sta tiene que ser validada, aunque por lo general es un proceso autom\u00e1tico y aparecer\u00e1 como tal al instante. Al pinchar sobre nuestra aplicaci\u00f3n ya tendremos una serie de valores, necesitamos los dos primeros:<\/p>\n<ul>\n<li>Consumer Key (esto es lo que se conoce tambi\u00e9n como la API Key)<\/li>\n<li>Consumer Secret<\/li>\n<\/ul>\n<p>Ahora vamos a necesitar realizar una serie de peticiones para obtener los datos que utilizaremos m\u00e1s adelante. Para realizar alguna de estas peticiones podemos hacer uso del comando &#8220;cURL&#8221;, presente en linux, MacOS o\u00a0si ten\u00e9is Windows hay una versi\u00f3n disponible.<\/p>\n<h2><strong>Petici\u00f3n de autorizaci\u00f3n:\u00a0<\/strong><\/h2>\n<p>Esta petici\u00f3n la realizaremos desde nuestro navegador escribiendo la siguiente direcci\u00f3n:<\/p>\n<pre class=\"crayon-plain-tag\">https:\/\/api.honeywell.com\/oauth2\/authorize?response_type=code&amp;client_id={apikey}&amp;redirect_uri={redirectUri}<\/pre>\n<p>Sustituiremos {apikey} por la Consumer Key obtenida anteriormente y {redirectUri} por la direcci\u00f3n que pusisteis en &#8220;Callback URL&#8221; para crear la aplicaci\u00f3n. Una llamada real quedar\u00eda as\u00ed:<\/p>\n<pre class=\"crayon-plain-tag\">https:\/\/api.honeywell.com\/oauth2\/authorize?response_type=code&amp;client_id=nGXAdSsDCskEdSc6fGFVqpohGAeVz&amp;redirect_uri=https:\/\/192.168.1.11<\/pre>\n<p>Esta petici\u00f3n lo que har\u00e1 ser\u00e1 redirigir hacia la Callback URL el c\u00f3digo que necesitamos. En pantalla veremos un\u00a0error. Es normal, lo que nos interesa es coger el c\u00f3digo que hay en la petici\u00f3n (<strong>eGTEmbl5<\/strong>). Para verlo vamos a la barra del navegador y seleccionamos el texto, ser\u00e1 algo como esto:<\/p>\n<pre class=\"crayon-plain-tag\">https:\/\/192.168.1.10\/?code=eGTEmbl5&amp;scope=<\/pre>\n<\/p>\n<h2><strong>Conseguimos el &#8220;Authorization Code&#8221;<\/strong><\/h2>\n<p>Tenemos que concatenar\u00a0la\u00a0<em>ConsumerKey<\/em> y la <em>ConsumerSecret<\/em> a\u00f1adiendo dos puntos entre medias. Por ejemplo, si nuestra <em>ConsumerKey<\/em> es AAA y la <em>ConsumerSecret<\/em> es BBB, el valor ser\u00eda AAA:BBB. Ahora esto debemos pasarlo a <a href=\"https:\/\/es.wikipedia.org\/wiki\/Base64\" target=\"_blank\">base64<\/a>, podemos hacerlo en cualquier utilidad online como la que tenemos <a href=\"https:\/\/www.base64encode.org\" target=\"_blank\">en esta p\u00e1gina<\/a> o si tenemos un dispositivo con linux, con el comando &#8220;base64&#8221;.<\/p>\n<p>Una vez tenemos el valor concatenado en base64, tenemos que hacer la primera llamada desde un dispositivo con cURL, como por ejemplo linux:<\/p>\n<pre class=\"crayon-plain-tag\">curl -X POST -H \"Authorization: Basic {VALOR_CONCAT_BASE64}\" -H \"Accept: application\/json\" -H e: application\/x-www-form-urlencoded\" -d \"grant_type=authorization_code&amp;code={CODE}&amp;redirect_uri={REDIRECT_URI}\" \"https:\/\/api.honeywell.com\/oauth2\/token\"<\/pre>\n<p>Los cambios para realizar la petici\u00f3n son los siguientes:<\/p>\n<ul>\n<li>{VALOR_CONCAT_BASE64} -&gt; Por el valor que hemos obtenido al concatenar y pasar a base64.<\/li>\n<li>{CODE} -&gt; Por el c\u00f3digo obtenido en el paso anterior (<strong>eGTEmbl5<\/strong> en nuestro ejemplo).<\/li>\n<li>{REDIRECT_URI} -&gt; Por la &#8220;Callback URL&#8221; que pusimos al crear la aplicaci\u00f3n.<\/li>\n<\/ul>\n<p>Ejemplo de petici\u00f3n final:<\/p>\n<pre class=\"crayon-plain-tag\">curl -X POST -H \"Authorization: Basic bkFlVno6NHB2OWXpwMnpJNmZHdOVdXNmROWW0yVYQU0nVaWRlZxcG9oRNmg==\" -H \"Accept: application\/json\" -H e: application\/x-www-form-urlencoded\" -d \"grant_type=authorization_code&amp;code=eGTEmbl5&amp;redirect_uri=https%3A%2F%2F192.168.1.11\" \"https:\/\/api.honeywell.com\/oauth2\/token\"<\/pre>\n<p>Como resultado obtendremos tres valores:<\/p>\n<pre class=\"crayon-plain-tag\">{\"access_token\":\"RwcID5ToFOmxnan00KQQdKWrGlJX\",\"refresh_token\":\"qTbl42iSRNCI6993rnU2qM8bW06Zjtdk\",\"expires_in\":\"599\"}<\/pre>\n<p>El <em>access_token<\/em>, el <em>refresh_token<\/em> y <em>expires_in<\/em>, que no es m\u00e1s que el tiempo que queda para que expire el <em>access_token<\/em>. En nuestro caso son\u00a010 minutos desde que lo solicitamos. Aqu\u00ed lo realmente importante es el <em>refresh_token<\/em>, que ser\u00e1 el c\u00f3digo que nos permita generar nuevos <em>access_token<\/em> cuando estos caduquen o incluso antes de que lo hagan.<\/p>\n<h2>Buscar el <em>locationID<\/em> y <em>deviceID<\/em><\/h2>\n<p>Por \u00faltimo necesitamos otro par de datos, el <em>locationID<\/em> y el <em>devideID<\/em> de nuestro termostato. Los obtendremos pidiendo:<\/p>\n<pre class=\"crayon-plain-tag\">curl -H \"Authorization: Bearer {REFRESH_TOKEN}\" https:\/\/api.honeywell.com\/v2\/locations?apikey={API_KEY}<\/pre>\n<p>Ejemplo:<\/p>\n<pre class=\"crayon-plain-tag\">curl -H \"Authorization: Bearer LLjnmraQGRmy8BEg7GGtDt1raDWc\"\u00a0https:\/\/api.honeywell.com\/v2\/locations?apikey=dkssdhcASfasfsFsASGYBQT<\/pre>\n<p>Donde el \u201cAuthorization: Bearer\u201d es el <em>refresh_token<\/em> y la apikey es la <em>consumerKey<\/em> que nos proporcionaron al crear la aplicaci\u00f3n. Como resultado tendremos los datos de nuestro termostato y configuraci\u00f3n actual. Vamos a coger los siguientes valores:<\/p>\n<pre class=\"crayon-plain-tag\">\"locationID\": 122602,\n\n\"deviceID\": \"LCC-00D02DB3310F\",<\/pre>\n<p>Bien, ya tenemos\u00a0todos los valores que necesitaremos para automatizar el proceso de consulta y env\u00edo de cambios al termostato. Vamos a repasar todos los que nos hacen falta:<\/p>\n<ul>\n<li>$api_key (es la Consumer Key del registro)<\/li>\n<li>$api_secret (es la Consumer Secret del registro)<\/li>\n<li>$refresh_token (obtenido en el paso anterior)<\/li>\n<li>$deviceID (obtenido en este paso)<\/li>\n<li>$locationId\u00a0(obtenido en este paso)<\/li>\n<\/ul>\n<h2>Scripts<\/h2>\n<p>Ahora\u00a0que tenemos todos los datos necesarios, los vamos a a\u00f1adir en el siguiente script, con el que podremos\u00a0realizar las siguientes acciones:<\/p>\n<ul>\n<li>Consultar\u00a0todos los valores del termostato<\/li>\n<li>Apagar el termostato<\/li>\n<li>Encender el termostato<\/li>\n<li>Seleccionar la\u00a0temperatura<\/li>\n<\/ul>\n<pre class=\"crayon-plain-tag\">&lt;?php\n\n\/\/ Control de la API de Honeywell para Lyric T-Series\n\/\/ Carlos Fernandez - domoticadomestica.com\n\n\/\/ User data\n$api_key = 'VUESTRA_API_KEY';\n$api_secret = 'VUESTRA_API_SECRET';\n$deviceID = 'VUESTRO_DEVICE_ID';\n$locationId = 'VUESTRO_LOCATION_ID';\n$refresh_token = \"VUESTRO_REFRESH_TOKEN\";\n\n\/\/ Global variables\n$postvals = \"grant_type=refresh_token&amp;refresh_token=$refresh_token\";\n$token_url = 'https:\/\/api.honeywell.com\/oauth2\/token';\n$base_url = 'https:\/\/api.honeywell.com\/v2\/devices\/thermostats';\n$full_url = \"$base_url\/$deviceID?apikey=$api_key&amp;locationId=$locationId\";\n$mode = $_GET[\"set\"];\n$temp = $_GET[\"temp\"];\n\n\/\/ Refresh token\n$ch = curl_init(\"$token_url\");\n$options = array(\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_CONNECTTIMEOUT =&gt; 5,\n    CURLOPT_TIMEOUT =&gt; 10,\n    CURLOPT_POSTFIELDS =&gt; $postvals,\n    CURLOPT_HTTPAUTH =&gt; CURLAUTH_BASIC,\n    CURLOPT_USERPWD =&gt; $api_key .\":\". $api_secret\n);\ncurl_setopt_array($ch, $options);\n\n$api_response = curl_exec($ch);\n$response = json_decode($api_response);\ncurl_close($ch);\n\nfunction on() {\n        global $full_url;\n        global $response;\n        $token = $response-&gt;access_token;\n        $data = array(\n                \"mode\" =&gt; \"Heat\",\n                \"heatSetpoint\" =&gt; 20.5,\n                \"coolSetpoint\" =&gt; 74,\n                \"thermostatSetpointStatus\" =&gt; \"NoHold\"\n        );\n        $data_string = json_encode($data);\n        $ch = curl_init(\"$full_url\");\n        curl_setopt($ch, CURLOPT_HTTPHEADER, array(\n                'Authorization: Bearer ' .$token,\n                'Content-Type: application\/json'));\n        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);\n        $result = curl_exec($ch);\n        curl_close($ch);\n}\n\nfunction off() {\n\tglobal $full_url;\n\tglobal $response;\n\t$token = $response-&gt;access_token;\n\t$data = array(\n\t\t\"mode\" =&gt; \"Off\",\n                \"heatSetpoint\" =&gt; 20.5,\n                \"coolSetpoint\" =&gt; 74,\n                \"thermostatSetpointStatus\" =&gt; \"TemporaryHold\"\n\t);\n\t$data_string = json_encode($data);\n\t$ch = curl_init(\"$full_url\");\n\tcurl_setopt($ch, CURLOPT_HTTPHEADER, array(\n\t\t'Authorization: Bearer ' .$token,\n\t\t'Content-Type: application\/json'));\n\tcurl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);\n\t$result = curl_exec($ch);\n\tcurl_close($ch);\n}\n\nfunction change_temp() {\n\tglobal $temp;\n        global $full_url;\n        global $response;\n        $token = $response-&gt;access_token;\n        $data = array(\n                'mode' =&gt; 'Heat',\n                'heatSetpoint' =&gt; $temp,\n                'coolSetpoint' =&gt; 74,\n                'thermostatSetpointStatus' =&gt; 'PermanentHold'\n        );\n        $data_string = json_encode($data);\n        $ch = curl_init(\"$full_url\");\n        curl_setopt($ch, CURLOPT_HTTPHEADER, array(\n                'Authorization: Bearer ' .$token,\n                'Content-Type: application\/json'));\n        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);\n        $result = curl_exec($ch);\n        curl_close($ch);\n}\n\n\nif ($mode == 'on') {\n    on();\n    exit;\n}\nelseif($mode == 'off') {\n    off();\n    exit;\n}\nelseif (isset($temp)) {\n    change_temp();\n    exit;\n}\n\n\/\/ Get Lyric\n$ch = curl_init(\"$full_url\");\ncurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' .$response-&gt;access_token));\n\n$result = curl_exec($ch);\ncurl_close($ch);\n\n?&gt;<\/pre>\n<p>S\u00f3lo tendr\u00e9is que copiar el script de arriba y rellenar los datos bajo &#8220;User Data&#8221;:<\/p>\n<pre class=\"crayon-plain-tag\">\/\/ User data\n$api_key = 'VUESTRA_API_KEY';\n$api_secret = 'VUESTRA_API_SECRET';\n$deviceID = 'VUESTRO_DEVICE_ID';\n$locationId = 'VUESTRO_LOCATION_ID';\n$refresh_token = \"VUESTRO_REFRESH_TOKEN\";<\/pre>\n<p>Una vez cambiado el script con vuestros datos, deb\u00e9is subirlo a vuestra raspberry o servidor NAS con el nombre <strong>lyric.php<\/strong>. En Raspberry ser\u00eda en la ruta: \/var\/www\/html\/ y en un NAS Synology en \/volume1\/web\/<\/p>\n<p>La forma de invocar al script ser\u00e1 la siguiente:<\/p>\n<ul>\n<li>http:\/\/&lt;IP_RASPBERRY&gt;\/lyric.php -&gt; Obtener todos los datos del termostato.<\/li>\n<li>http:\/\/&lt;IP_RASPBERRY&gt;\/lyric.php?set=on -&gt; Encender<\/li>\n<li>http:\/\/&lt;IP_RASPBERRY&gt;\/lyric.php?set=off -&gt; Apagar<\/li>\n<li>http:\/\/&lt;IP_RASPBERRY&gt;\/lyric.php?temp=21.5 -&gt; Poner la calefacci\u00f3n a 21.5\u00ba<\/li>\n<\/ul>\n<h2>Creaci\u00f3n de los distintos perif\u00e9ricos en nuestro controlador eedomus<\/h2>\n<p>En esta secci\u00f3n <strong>vamos a crear un par de tipos de dispositivos<\/strong>. El primero nos permitir\u00e1 actuar sobre el termostato, de forma que podremos encenderlo, apagarlo o variar su temperatura (e incluso la programaci\u00f3n y sus modos). El segundo tipo de dispositivo ser\u00e1 para realizar la lectura de los par\u00e1metros del termostato, como temperatura, demanda, estado, humedad, etc.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12306 size-full\" title=\"pantalla de eedomus\" src=\"http:\/\/www.domoticadomestica.com\/wp-content\/uploads\/2017\/03\/eedomus.jpg\" alt=\"pantalla de eedomus\" width=\"800\" height=\"380\" \/><\/p>\n<p><strong>Encender\/Apagar o cambiar la temperatura:<\/strong><\/p>\n<ul>\n<li>Crear dispositivo tipo: HTTP &#8211; Actuador<\/li>\n<li>Nombre personalizado: Lyric<\/li>\n<li>Uso: Calefacci\u00f3n<\/li>\n<\/ul>\n<p>Valores:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12380 size-full\" title=\"configuraci\u00f3n acciones en eedomus\" src=\"http:\/\/www.domoticadomestica.com\/wp-content\/uploads\/2017\/03\/acciones_eedomus.jpg\" alt=\"configuraci\u00f3n acciones en eedomus\" width=\"800\" height=\"359\" \/><\/p>\n<p>*En los valores de la imagen superior, est\u00e1n ocultos los valores entre 18,5\u00ba y 23,5\u00ba para reducir el tama\u00f1o de la imagen.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Lectura de la temperatura del termostato<\/strong><\/p>\n<ul>\n<li>Crear un dispositivo tipo: HTTP &#8211; Sensor<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12382\" src=\"http:\/\/www.domoticadomestica.com\/wp-content\/uploads\/2017\/03\/lectura_temp.jpg\" alt=\"lectura temperatura eedomus\" width=\"800\" height=\"997\" \/><\/p>\n<p>URL de llamada: Sustituir &#8220;192.168.1.11&#8221; por la IP de tu Raspberry o servidor web.<\/p>\n<p><strong>Lectura de la demanda de calefacci\u00f3n: (mismos valores salvo los siguientes)<\/strong><\/p>\n<ul>\n<li>Nombre personalizado: Lyric demanda<\/li>\n<li>Ruta XPATH: \/root\/heatAndCoolDemand\/demand<\/li>\n<\/ul>\n<p><strong>Lectura de la temperatura exterior: (mismos valores salvo los siguientes)<\/strong><\/p>\n<ul>\n<li>Nombre personalizado: Lyric temperatura exterior<\/li>\n<li>Ruta XPATH:\u00a0\/root\/outdoorTemperature<\/li>\n<\/ul>\n<p><strong>Lectura de la temperatura de consigna:\u00a0(mismos valores salvo los siguientes)<\/strong><\/p>\n<ul>\n<li>Nombre personalizado: Lyric consigna<\/li>\n<li>Ruta XPATH: \/root\/changeableValues\/heatSetpoint<\/li>\n<\/ul>\n<p><strong>Lectura del estado del termostato:\u00a0(mismos valores salvo los siguientes)<\/strong><\/p>\n<ul>\n<li>Nombre personalizado: Estado Lyric<\/li>\n<li>Ruta XPATH:\u00a0\/root\/operationStatus\/mode<\/li>\n<\/ul>\n<p>Valores:<\/p>\n<ul>\n<li>EquipmentOff -&gt; Sin calentar<\/li>\n<li>Heat -&gt; Calentando<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Hasta aqu\u00ed este tutorial para integrar el termostato Lyric T6 en eedomus, espero que os haya resultado \u00fatil.<\/p>\n<p>Como os coment\u00e9 al principio, el script puede ser utilizado en otros sistemas dom\u00f3ticos, directamente si disponen de PHP+cURL+Servidor web o indirectamente utilizando un equipo intermedio como en el ejemplo de hoy.<\/p>\n<p>&nbsp;<\/p>\n<p>El post <a rel=\"nofollow\" href=\"http:\/\/www.domoticadomestica.com\/probamos-nuevo-termostato-lyric-t6-honeywell-extra-api-honeywell\/\">Probamos el nuevo termostato Lyric T6 de Honeywell \u2013 Extra API Honeywell<\/a> aparece primero en <a rel=\"nofollow\" href=\"http:\/\/www.domoticadomestica.com\">Dom\u00f3tica Dom\u00e9stica<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lo prometido es deuda, as\u00ed que tras una introducci\u00f3n en la anterior entrega sobre lo que es la autenticaci\u00f3n OAuth, ahora vamos a ver en detalle\u00a0los pasos a seguir para poder integrarlo en eedomus. Esto es algo no solamente aplicable al termostato de Honeywell y eedomus, muchos APIs utilizan este sistema de autenticaci\u00f3n, por lo &hellip; <a href=\"https:\/\/domosistemas.com\/?p=7272\" class=\"more-link\">Sigue leyendo <span class=\"screen-reader-text\">Probamos el nuevo termostato Lyric T6 de Honeywell \u2013 Extra API Honeywell<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7272","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/domosistemas.com\/index.php?rest_route=\/wp\/v2\/posts\/7272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/domosistemas.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/domosistemas.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/domosistemas.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/domosistemas.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7272"}],"version-history":[{"count":0,"href":"https:\/\/domosistemas.com\/index.php?rest_route=\/wp\/v2\/posts\/7272\/revisions"}],"wp:attachment":[{"href":"https:\/\/domosistemas.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/domosistemas.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/domosistemas.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}