{"id":4984,"date":"2022-04-02T11:13:10","date_gmt":"2022-04-02T10:13:10","guid":{"rendered":"https:\/\/bitacora.eniac2000.com\/?p=4984"},"modified":"2022-04-02T11:13:10","modified_gmt":"2022-04-02T10:13:10","slug":"monitorizacion-de-precios-de-gasolineras-con-node-red-y-home-assistant","status":"publish","type":"post","link":"https:\/\/bitacora.eniac2000.com\/?p=4984","title":{"rendered":"Monitorizaci\u00f3n de precios de gasolineras con Node Red y Home Assistant"},"content":{"rendered":"<p>Con el nivel tan disparatado de precios que est\u00e1n alcanzando los combustibles en estas fechas, es interesante tener una manera r\u00e1pida de consultar los precios en diferentes estaciones de servicio, a fin de poder reposar en la que m\u00e1s nos convenga. Por razones de trabajo y sus subsecuentes desplazamientos, hay varias gasolineras que nos interesa a Ana y a m\u00ed tener monitorizadas. Existe una p\u00e1gina del Ministerio para la Transici\u00f3n Ecol\u00f3gica (<a href=\"https:\/\/geoportalgasolineras.es\/\" target=\"_blank\">Geoportal de Gasolineras<\/a>) que permite acceder a los precios de todas las estaciones de servicio de Espa\u00f1a, pero que no es especialmente usable para hacer consultas r\u00e1pidas y recurrentes de las mismas estaciones, ya que lo que hace es desplegar un mapa y un buscador, pero que no proporciona URLs de acceso directo ni nada que se le parezca.<\/p>\n<figure id=\"attachment_4989\" aria-describedby=\"caption-attachment-4989\" style=\"width: 400px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-05.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-05-400x250.png\" alt=\"Captura de pantalla del Geoportal de Gasolineras\" title=\"Captura de pantalla del Geoportal de Gasolineras\" width=\"400\" height=\"250\" class=\"size-medium wp-image-4989\" \/><\/a><figcaption id=\"caption-attachment-4989\" class=\"wp-caption-text\">Captura de pantalla del Geoportal de Gasolineras<\/figcaption><\/figure>\n<p>Al menos, no lo hace a la vista del usuario. Pero si trasteas un poco con el funcionamiento de la p\u00e1gina, es posible ver que s\u00ed se hace uso a nivel interno de URLs \u00fanicas que proporcionan en el mapa los valores de cada una de las gasolineras en formato XML, para poder reflejar dichos valores al pulsar sobre las gasolineras, con un aspecto como este:<\/p>\n<figure id=\"attachment_4988\" aria-describedby=\"caption-attachment-4988\" style=\"width: 333px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-04.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-04-333x400.png\" alt=\"Informaci\u00f3n en XML de una gasolinera de Santiponce\" title=\"Informaci\u00f3n en XML de una gasolinera de Santiponce\" width=\"333\" height=\"400\" class=\"size-medium wp-image-4988\" \/><\/a><figcaption id=\"caption-attachment-4988\" class=\"wp-caption-text\">Informaci\u00f3n en XML de una gasolinera de Santiponce<\/figcaption><\/figure>\n<p>Y ya teniendo esta informaci\u00f3n, haciendo uso de Node Red es sencillo procesar los par\u00e1metros, jugar un poco con ellos, e insertarlos en <em>topics<\/em> MQTT. En mi caso, me quedo con el valor de la gasolina sin plomo 95, de tres estaciones de servicio determinadas, realizando consultas una vez a la hora para cada una de ellas.<\/p>\n<figure id=\"attachment_4987\" aria-describedby=\"caption-attachment-4987\" style=\"width: 400px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-03.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-03-400x146.png\" alt=\"Flujo de procesamiento definido en Node Red\" title=\"Flujo de procesamiento definido en Node Red\" width=\"400\" height=\"146\" class=\"size-medium wp-image-4987\" \/><\/a><figcaption id=\"caption-attachment-4987\" class=\"wp-caption-text\">Flujo de procesamiento definido en Node Red<\/figcaption><\/figure>\n<p>Por \u00faltimo, al existir esta informaci\u00f3n en un <em>topic<\/em> MQTT, es sencillo consumirla desde Home Assistant. En mi caso, he optado por mostrarla en tres diales, para que sea sencillo comparar los precios entre estaciones. Adem\u00e1s, como valor a\u00f1adido, me guarda el hist\u00f3rico de cotizaciones y cu\u00e1ndo se produjeron cambios en las mismas.<\/p>\n<figure id=\"attachment_4985\" aria-describedby=\"caption-attachment-4985\" style=\"width: 349px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-01.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-01-349x400.png\" alt=\"Precios de la gasolina 95 en tres estaciones, mostrados en Home Assistant\" title=\"Precios de la gasolina 95 en tres estaciones, mostrados en Home Assistant\" width=\"349\" height=\"400\" class=\"size-medium wp-image-4985\" \/><\/a><figcaption id=\"caption-attachment-4985\" class=\"wp-caption-text\">Precios de la gasolina 95 en tres estaciones, mostrados en Home Assistant<\/figcaption><\/figure>\n<figure id=\"attachment_4986\" aria-describedby=\"caption-attachment-4986\" style=\"width: 388px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-02.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/bitacora.eniac2000.com\/wp-content\/uploads\/2022\/04\/gasolina-02.png\" alt=\"Hist\u00f3rico de cambios\" title=\"Hist\u00f3rico de cambios\" width=\"388\" height=\"330\" class=\"size-full wp-image-4986\" \/><\/a><figcaption id=\"caption-attachment-4986\" class=\"wp-caption-text\">Hist\u00f3rico de cambios<\/figcaption><\/figure>\n<p>Con todo esto, es sencillo comprobar el precio de los combustibles en nuestro Home Assistant, al que accedemos desde nuestro m\u00f3vil, de un solo vistazo, y escoger el sitio \u00f3ptimo para repostar. Estoy pensando en darle una vuelta de tuerca, e integrar un sistema de consulta en los sistemas de infoentretenimiento de los coches, pero eso quedar\u00e1 para otra ocasi\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Con el nivel tan disparatado de precios que est\u00e1n alcanzando<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13],"tags":[798,1134,1177],"series":[],"class_list":["post-4984","post","type-post","status-publish","format-standard","hentry","category-informatica","tag-home-assistant","tag-mqtt","tag-node-red"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts\/4984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4984"}],"version-history":[{"count":0,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts\/4984\/revisions"}],"wp:attachment":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4984"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=4984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}