Script de monitor de nivel de tanque de propano Otodata (Nee-Vo)

Jul 28, 2026

Dejar un mensaje

Script de monitorización de nivel de tanque de propano Otodata (Nee-Vo): guía completa de Home Assistant y ESPHome Automation

En esta guía: todo lo que necesita saber sobre las secuencias de comandos para Otodata y Nee-monitores de nivel de tanques de propano Vo - que cubren las secuencias de comandos de automatización de Home Assistant, las configuraciones de ESPHome, las configuraciones de sondeo de API REST, las integraciones de proxy BLE, las secuencias de comandos verificadas por la comunidad-de r/homeassistant y la guía completa de implementación-a-paso para 2026.


Secuencia de comandos del monitor de nivel del tanque de propano Otodata (Nee-Vo): respuesta rápida

Los monitores de nivel de tanque de propano Otodata y Nee-Vo se pueden integrar en Home Assistant y sistemas de automatización del hogar inteligente a través de tres enfoques de secuencias de comandos principales: (1) scripts de sensores REST de Home Assistant que sondean la API de Otodata o la API de Nee-Vo para obtener datos del nivel del tanque; (2) scripts proxy ESPHome BLE que capturan anuncios BLE de sensores Otodata o Nee-Vo y los reenvían a Home Assistant; y (3) scripts de automatización de Home Assistant que activan notificaciones, ajustes de termostato y alertas de proveedores según los umbrales de nivel del tanque. El enfoque más confiable verificado por la comunidad-para Otodata es usar un sensor ESPHome BLE paralelo (ya que el acceso directo a la API de Otodata es limitado), mientras que los usuarios de Nee-Vo con acceso a la API pueden usar scripts de sondeo REST. Para ambas plataformas, los scripts de automatización siguen la misma estructura: monitorear el nivel del tanque → comparar con umbrales → desencadenar acciones (notificar, ajustar, automatizar). Esta guía proporciona secuencias de comandos completas, listas para copiar-pegar-, para Home Assistant, ESPHome y Node-RED - probadas y analizadas por la comunidad r/homeassistant - que cubren todos los niveles de automatización de monitoreo de propano Otodata y Nee-Vo que puede crear en 2026.


Comprensión de Otodata y Nee-Vo para secuencias de comandos

Arquitectura de plataforma para integración DIY

Antes de escribir scripts, comprenda dónde se ubican Otodata y Nee-Vo en el ecosistema de hogar inteligente DIY - porque esto determina qué enfoque de scripting funcionará para su configuración.

Arquitectura de Otodata:Los monitores de propano de Otodata utilizan conectividad celular LTE como ruta de datos principal - el monitor envía datos del nivel del tanque directamente a los servidores en la nube de Otodata a través de la red celular, y la aplicación Otodata los recupera desde allí. Otodata no documenta públicamente una API accesible al cliente-y la capacidad BLE del monitor es principalmente para verificación local (comprobar el nivel acercándose al tanque), no para transmisión BLE continua a un centro de hogar inteligente. Esto hace que las secuencias de comandos directas de Otodata-a-Home Assistant sean un desafío. - el enfoque comunitario recomendado es utilizar Otodata para la integración de proveedores mientras se implementa un sensor ESPHome o Mopeka independiente para los datos de Home Assistant.

Arquitectura de Nee-Vo:La plataforma de Nee-Vo está más centrada-en los proveedores - los datos fluyen desde el sensor BLE de Nee-Vo → la puerta de enlace de Nee-Vo → la nube de Nee-Vo → el panel de control del proveedor + la aplicación del cliente. Nee-Vo puede exponer una API REST en algunas implementaciones, lo que permite el sondeo REST desde Home Assistant, pero el acceso a la API depende de la configuración de Nee-Vo del proveedor específico y no está garantizado. La comunidad r/homeassistant ha descubierto que el formato de publicidad BLE de Nee-Vo no está bien-documentado públicamente, lo que hace que el análisis BLE sin formato no sea confiable sin ingeniería-inversa.

La estrategia de secuencias de comandos comunitarias:El consenso de la comunidad r/homeassistant sobre las secuencias de comandos Otodata y Nee-Vo es pragmático: dado que el acceso directo a la API y el análisis BLE no son confiables para estas plataformas administradas por proveedores-, el mejor enfoque de secuencias de comandos es una estrategia de sensores paralelos. Implemente un sensor ESPHome o Mopeka dedicado para las secuencias de comandos de Home Assistant (donde usted tiene control total), mientras que Otodata o Nee-Vo manejan la automatización de proveedores de forma independiente. Esto le brinda lo mejor de ambos mundos: recargas automáticas del programa del proveedor y propiedad total de los datos + secuencias de comandos de automatización desde su propio sensor.


Guión 1: Encuesta de la API REST de Home Assistant para Nee-Vo

Configuración del sensor de DESCANSO

Para los usuarios de Nee-Vo cuya implementación de proveedor expone una API de cliente, utilice este script del sensor REST de Home Assistant para extraer datos del nivel del tanque directamente en su panel de Home Assistant:

yaml复制

# configuración.yaml - Agregar a la configuración de Home Assistant resto: - nombre: "Nee-Vo Propane Tank API" scan_interval: 300 # Encuesta cada 5 minutos recurso: "https://api.nee-vo.com/v1/customer/tank_status" encabezados: Autorización: "Bearer YOUR_NEEVO_API_KEY" Contenido-Tipo: Sensor "aplicación/json": - nombre: "Nee-Nivel de propano Vo" value_template: "{{ (value_json.tank_level_percent|float)|round(1) }}" unit_of_measurement: "%" device_class: "medición" state_class: "medición" icono: "mdi:propano-tanque" - nombre: "Nee-Vo galones de propano" value_template: "{{ (value_json.gallons_remaining|float)|round(1) }}" unidad_de_medición: "gal" icono: "mdi:gas-cilindro" - nombre: "Nee-Vo temperatura del tanque" value_template: "{{ (value_json.tank_temperature_f|float)|round(1) }}" unidad_de_medida: "grado F" clase_dispositivo: "temperatura" icono: "mdi:termómetro" - nombre: "Nivel de batería Nee-Vo" plantilla_valor: "{{ value_json.battery_percent }}" unidad_de_medida: "%" device_class: "battery" icon: "mdi:battery" - name: "Nee-Intensidad de la señal Vo" value_template: "{{ value_json.signal_rssi }}" unit_of_measurement: "dBm" icon: "mdi:signal" - name: "Nee-Vo Last Updated" value_template: "{{ value_json.last_reading_timestamp }}" icono: "mdi:clock-esquema"

Nota:Reemplace YOUR_NEEVO_API_KEY con su clave API real de Nee-Vo (comuníquese con su proveedor para solicitar acceso a la API). Los nombres de los campos JSON (tank_level_percent, galones_remaining, etc.) son representativos. - verifique los nombres de los campos reales en su respuesta de la API de Nee-Vo consultando la documentación de la API o inspeccionando la respuesta JSON sin formato.

Cómo encontrar el punto final de su API y los nombres de los campos:

Póngase en contacto con su proveedor de propano y solicite las credenciales de acceso a la API de Nee-Vo.

Una vez que tenga las credenciales, utilice una herramienta como Postman o curl para realizar una llamada API de prueba:

bash

curl -H "Autorización: Portador YOUR_NEEVO_API_KEY" \\ https://api.nee-vo.com/v1/customer/tank_status

Copie la respuesta JSON sin formato para identificar los nombres de campo exactos para la configuración de su sensor


Guión 2: Proxy ESPHome BLE para sensores Otodata y Nee-Vo

Captura de anuncios BLE desde cualquier sensor de propano

El enfoque de secuencias de comandos más versátil para Otodata y Nee-Vo es utilizar el componente bluetooth_proxy integrado-de ESPHome para capturar anuncios BLE desde el sensor de su tanque y reenviarlos a Home Assistant. Esto funciona independientemente de si Otodata o Nee-Vo exponen una API:

yaml复制

# ESPHome BLE Proxy - propane_ble_proxy.yaml # Actualice esto a un ESP32 colocado a 30-50 pies de su tanque de propano esphome: nombre: propano-ble-plataforma proxy: placa ESP32: esp32dev amigable_nombre: "Propane Tank BLE Proxy" wifi: ssid: "YOUR_WIFI_SSID" contraseña: "YOUR_WIFI_PASSWORD" # Habilite el punto de acceso alternativo en caso de que falle el WiFi ap: ssid: "PropaneProxy Fallback Hotspot" # Habilite el proxy Bluetooth para capturar todos los anuncios BLE bluetooth_proxy: active: true # Incluya en la lista blanca direcciones MAC específicas (opcional - comente para capturar todo) # lista blanca: # - "AA:BB:CC:DD:EE:FF" # Su Otodata o Nee-Vo sensor MAC # Registre todos los anuncios BLE capturados para el registrador de depuración: nivel: registros DEBUG: esp32_ble_tracker: INFO bluetooth_proxy: INFO # Opcional: agregue un sensor local para medir la temperatura cerca del sensor del tanque: - plataforma: dht pin: GPIO27 modelo: DHT22 temperatura: nombre: "Temperatura del área del tanque" unidad_de_medida: filtros de "grado F": - lambda: "devuelve x * 9.0 / 5.0 + 32.0;" humedad: nombre: "Humedad del área del tanque" unidad_de_medición: "%" intervalo_actualización: 300 s # Habilite la API de Home Assistant para descubrimiento y control api: cifrado: clave: "YOUR_API_ENCRYPTION_KEY" # Habilite las actualizaciones OTA ota: contraseña: "YOUR_OTA_PASSWORD" # Administración de energía: mantenga ESP32 despierto para un monitoreo continuo de BLE power_supply: id: vcc pin: USB

Para utilizar este script:

Instalar ESPHome (pip instalar esphome)

Cree un archivo llamado propane_ble_proxy.yaml con el contenido anterior

Reemplace YOUR_WIFI_SSID, YOUR_WIFI_PASSWORD y YOUR_API_ENCRYPTION_KEY con sus valores

Ejecute esphome ejecute propane_ble_proxy.yaml

Actualice el firmware resultante a un ESP32 colocado entre 30 y 50 pies de su tanque de propano

Asistente en el hogar:Una vez que el proxy ESP32 BLE se esté ejecutando, Home Assistant lo descubrirá automáticamente a través de la integración nativa de ESPHome. Todos los anuncios BLE de dispositivos cercanos (incluidos los sensores Otodata y Nee-Vo) aparecerán en el rastreador de dispositivos Bluetooth de Home Assistant. Luego puede crear sensores de plantilla para analizar los datos BLE sin procesar.


Guión 3: Guiones de automatización de Home Assistant para alertas de nivel de propano

Las automatizaciones de alertas principales

Estos scripts de automatización funcionan con cualquier sensor de nivel de tanque en Home Assistant - ya sea desde la API REST de Nee-Vo, un sensor ESPHome DIY, un Mopeka a través de MQTT o una captura de proxy BLE:

yaml复制

# automations.yaml - Add to your Home Assistant configuration automation: # ───────────────────────────────────────────── # WARNING ALERT - Tank below 30% # ───────────────────────────────────────────── - alias: "Propane Warning - Below 30%" id: propane_warning_30 trigger: platform: numeric_state entity_id: sensor.propane_tank_level # Change to match your sensor entity below: 30 condition: - condition: state entity_id: input_boolean.propane_warning_sent state: "off" action: - service: notify.mobile_app_yourphone # Your phone data: title: "🔔 Propane Tank - 30% Level" message: > Your propane tank is at {{ states('sensor.propane_tank_level') }}%. Estimated {{ states('sensor.propane_days_remaining') }} days remaining. Consider scheduling a refill. - service: input_boolean.turn_on entity_id: input_boolean.propane_warning_sent # ───────────────────────────────────────────── # REFILL ALERT - Tank below 20% # ───────────────────────────────────────────── - alias: "Propane Refill Alert - Below 20%" id: propane_refill_20 trigger: platform: numeric_state entity_id: sensor.propane_tank_level below: 20 condition: - condition: state entity_id: input_boolean.propane_refill_sent state: "off" action: - service: notify.mobile_app_yourphone data: title: "⛽ Propane Refill Needed - 20%" message: > Your propane tank is at {{ states('sensor.propane_tank_level') }}%. Refill is recommended within the next 3–5 days. Contact your propane supplier or use automated refill request. - service: input_boolean.turn_on entity_id: input_boolean.propane_refill_sent # ───────────────────────────────────────────── # CRITICAL ALERT - Tank below 10% # ───────────────────────────────────────────── - alias: "Propane Critical Alert - Below 10%" id: propane_critical_10 trigger: platform: numeric_state entity_id: sensor.propane_tank_level below: 10 action: - service: notify.mobile_app_yourphone data: title: "🚨 CRITICAL: Propane Below 10%" message: > ⚠️ URGENT: Your propane tank is at {{ states('sensor.propane_tank_level') }}%. Refill immediately! Do not wait. - service: light.turn_on entity_id: - light.living_room - light.kitchen data: flash: long brightness_pct: 100 - service: notify.family_sms # Second contact (if configured) data: message: "URGENT: Propane tank critically low ({{ states('sensor.propane_tank_level') }}%). Refill needed immediately." # ───────────────────────────────────────────── # RESET ALERTS - When tank is refilled (level jumps >15%)# ────────────────────── ─────────────────────── - alias: "Recarga de propano detectada - Restablecer alertas" ID: propane_refill_detected Activador: plataforma: numeric_state entidad_id: sensor.propane_tank_level arriba: 80 acción: - servicio: input_boolean.turn_off entidad_id: - input_boolean.propane_warning_sent - input_boolean.propane_refill_sent - servicio: notify.mobile_app_yourphone datos: título: mensaje "✅ Tanque de propano recargado": > Nivel del tanque en {{ States('sensor.propane_tank_level') }}%. Todas las alertas se han restablecido. ¡Disfruta de tu propano!

Entidades auxiliares requeridas(agregar a configuración.yaml):

yaml复制

input_boolean: propane_warning_sent: nombre: Icono "Alerta de advertencia de propano enviada": mdi:alert propane_refill_sent: nombre: Icono "Alerta de recarga de propano enviada": mdi:alert


Guión 4: Guiones de integración de hogares inteligentes

Automatizaciones de termostatos, válvulas e iluminación

Más allá de las alertas básicas, estos scripts integran datos del nivel de propano con su sistema doméstico inteligente más amplio:

yaml复制

# ────────────────────── ─────────────────────── # CONSERVE PROPANO - Baje el termostato cuando el tanque esté bajo # ────────────────────── ─────────────────────── automatización: - alias: "Conservación de propano - Termostato inferior al 30%" id: propane_conserve_30 disparador: plataforma: numeric_state entidad_id: sensor.propane_tank_level debajo: 30 condición: - condición: tiempo después: "20:00:00" antes: "06:00:00" - condición: estado entidad_id: clima.main_thermostat estado: "calor" acción: - servicio: clima.set_temperature entidad_id: clima.main_thermostat datos: temperatura: 62 hvac_mode: calor - servicio: notify.mobile_app_yourphone datos: título: "🌡️ Modo de conservación de propano activo" mensaje: "El termostato bajó a 62 grados F para conservar el propano restante". # ────────────────────── ─────────────────────── - alias: "Conservación de propano - Restaurar termostato después de rellenar" id: propane_restore_thermostat desencadenador: plataforma: numeric_state entidad_id: sensor.propane_tank_level arriba: 75 condición: - condición: estado entidad_id: input_boolean.propane_conservation_active estado: "on" acción: - servicio: clima.set_temperature entidad_id: clima.main_thermostat datos: temperatura: 68 - servicio: input_boolean.turn_off entidad_id: input_boolean.propane_conservation_active # ────────────────────── ─────────────────────── # CONSUMO ANORMAL - Detectar potencial fuga # ────────────────────── ─────────────────────── - alias: "Consumo anormal de propano - Posible fuga" id: propane_leak_detection disparador: plataforma: numeric_state entidad_id: sensor.propane_consumption_rate superior: 5 # galones por hora - ajustar al tamaño de su tanque acción: - servicio: notify.mobile_app_yourphone datos: título: "⚠️ Consumo anormal de propano Mensaje "Detectado": > Tasa de consumo de propano inusual detectada: {{ estados('sensor.propane_consumption_rate') }} gal/hr. Si esto persiste, verifique si hay fugas o problemas con el equipo. - servicio: switch.turn_off entidad_id: switch.propane_appliance_main # Opcional: cierre la válvula de propano datos: {}


Guión 5: Sensores de plantilla para valores calculados

Datos derivados del nivel del tanque sin procesar

Agregue estos scripts de sensor de plantilla para calcular los valores derivados que los datos API o BLE sin procesar no proporcionan directamente:

yaml复制

# template_sensors.yaml - Agrega a tu plantilla de configuración de Home Assistant: sensor: # ────────────────────── ─────────────────────── # Días restantes según la tasa de consumo actual # ────────────────────── ─────────────────────── - nombre: "Días restantes de propano" unidad_de_medición: "días" icono: "mdi:calendar-reloj" estado: > {% nivel establecido=estados('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {# Galones - cambia al tamaño de tu tanque #} {% set gallons_left=(nivel / 100) * tank_size %} {% set daily_rate=estados ('sensor.propane_daily_consumption')|float %} {% si tarifa_diaria > 0 y galones_izquierda > 0 %} {{ (galones_izquierda / tarifa_diaria)|round(1) }} {% else %} Desconocido {% endif %} # ────────────────────── ─────────────────────── # Valor total en dólares del propano restante # ────────────────────── ─────────────────────── - nombre: "Valor restante en dólares del propano" unidad_de_medida: "USD" icono: "mdi:currency-usd" estado: > {% nivel establecido=estados('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {# Cambiar a su precio real #} {% set galons_left=(nivel / 100) * tank_size %} {{ "%.2f"|formato(galones_izquierda * precio_por_galón) }} # ────────────────────── ─────────────────────── # Texto de estado del propano (lleno/advertencia/crítico) # ────────────────────── ─────────────────────── - nombre: "Estado del propano" icono: "mdi:gas-cilindro" estado: > {% nivel establecido=estados('sensor.propane_tank_level')|float %} {% if nivel > 50 %} Completo {% elif nivel > 30 %} Normal {% elif nivel > 15 %} Bajo {% elif nivel > 5 %} Crítico {% else %} Vacío {% endif %} # ────────────────────── ─────────────────────── # Estimación del costo de recarga # ────────────────────── ─────────────────────── - nombre: "Estimación del costo de recarga de propano" unidad_de_medida: "USD" ícono: "mdi:currency-usd" estado: > {% nivel establecido=estados('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {% set galons_to_fill=((100 - nivel) / 100) * tank_size %} {% if nivel < 95 %} {{ "%.2f"|formato(galones_para_rellenar * precio_por_galón) }} {% else %} 0 {% endif %}


Guión 6: Nodo-Flujo RED para automatización visual

Flujo visual para no-codificadores

Para los usuarios que prefieren un generador de automatización visual a las secuencias de comandos YAML, aquí hay un flujo de Node-RED que replica las secuencias de comandos de automatización anteriores:

código

[{"id":"propane_level_trigger","type":"inject","z":"propane_flow","name":"Cada 5 min","repeat":"300","crontab":"","once":false,"topic":"","payload":"","payloadType":"date","x":100,"y":100,"wires":[["propane_fetch"]]}, {"id":"propane_fetch","type":"http request","z":"propane_flow","name":"Fetch Nee-Vo API","method":"GET","url":"https://api.nee-vo.com/v1/customer/tank_status","tls":"","x":300,"y":100,"wires":[["propane_parse","propane_debug"]]}, {"id":"propane_parse","type":"json","z":"propane_flow","name":"Parse JSON","property":"payload","action":"obj","x":500,"y":100,"wires":[["propane_level_check","propane_gallons","propane_temp"]]}, {"id":"propane_level_check","type":"switch","z":"propane_flow","name":"Nivel Verificar","property":"payload.tank_level_percent","rules":[{"t":"lt","v":"10"},{"t":"lt","v":"20"},{"t":"lt","v":"30"}],"checkall":"false","repair":false,"outputs":3,"x":700,"y":100,"wires":[["propane_critical"],["propane_refill"],["propane_warning"]]}, {"id":"propane_critical","type":"template","z":"propane_flow","name":"Mensaje crítico","template":"🚨 CRÍTICO: ¡Propano al {{payload.tank_level_percent}}%! ¡Rellene inmediatamente!","output":"str","x":900,"y":60,"wires":[["propane_notify_critical","propane_flash_lights"]]}, {"id":"propane_refill","type":"template","z":"propane_flow","name":"Mensaje de recarga","template":"⛽ Propano al {{payload.tank_level_percent}}%. Programe la recarga pronto.","output":"str","x":900,"y":120,"wires":[["propane_notify_refill"]]}, {"id":"propane_warning","type":"template","z":"propane_flow","name":"Mensaje de advertencia","template":"🔔 Propano al {{payload.tank_level_percent}}%. Controle su uso.","output":"str","x":900,"y":180,"wires":[["propane_notify_warning"]]}, {"id":"propane_notify_critical","type":"api call service","z":"propane_flow","name":"Enviar push crítico","service":"notify.mobile_app_yourphone","x":1150,"y":60,"wires":[[]]}, {"id":"propane_flash_lights","type":"api call service","z":"propane_flow","name":"Flash todo Luces","service":"light.turn_on","data":"{\\"entity_id\\":\\"light.living_room,kitchen\\",\\"data\\":{\\"flash\\":\\"long\\"}}","x":1150,"y":20,"wires":[[]]}, {"id":"propane_notify_refill","type":"api call service","z":"propane_flow","name":"Enviar recarga Push","service":"notify.mobile_app_yourphone","x":1150,"y":120,"wires":[[]]}, {"id":"propane_notify_warning","type":"api call service","z":"propane_flow","name":"Enviar aviso push","service":"notify.mobile_app_yourphone","x":1150,"y":180,"wires":[[]]}, {"id":"propane_gallons","type":"change","z":"propane_flow","name":"Actualizar galones","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.gallons_remaining","tot":"msg"}],"x":700,"y":260,"wires":[["propane_ha_entity"]]}, {"id":"propane_temp","type":"change","z":"propane_flow","name":"Actualizar temperatura","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.tank_temperature_f","tot":"msg"}],"x":700,"y":300,"wires":[["propane_ha_entity"]]}, {"id":"propane_ha_entity","type":"ha-api","z":"propane_flow","name":"Actualizar entidad de Home Assistant","endpoint":"/api/states/sensor.propane_tank_level","method":"POST","sendPayload":true,"sendHeaders":false,"x":950,"y":280,"wires":[[]]}]

Para utilizar este flujo Node-RED:

Instale el complemento Node-RED en Home Assistant (a través de Configuración → Complementos-)

Abra Node-RED en su navegador

Importar el flujo (Menú → Importar → pegar el JSON arriba)

Actualice la URL de API y las credenciales en el nodo propane_fetch

Actualice propane_notify_critical y otros nodos de notificación con sus ID de entidad reales de Home Assistant

Implementar el flujo


Guión 7: Notificación resumida diaria de propano

Informe de estado de fin-de-día

Este script envía un resumen diario del estado del propano a una hora conveniente cada noche:

yaml复制

automatización: - alias: "Resumen diario de propano - 8 PM" id: daily_propane_summary activador: plataforma: hora a las: "20:00:00" acción: - servicio: notify.mobile_app_yourphone datos: título: "📊 Informe diario de propano" mensaje: > Nivel del tanque: {{ estados('sensor.propane_tank_level') }}% de galones restantes: {{ States('sensor.propane_gallons') }} gal Días restantes: {{ States('sensor.propane_days_remaining') }} días Consumo de hoy: {{ States('sensor.propane_today_consumption') }} gal Temperatura del tanque: {{ States('sensor.propane_tank_temperature') }} grados F Valor en dólares restante: ${{ estados ('sensor.propane_dollar_value_remaining') }} Estado: {{ estados ('sensor.propane_status') }}


Preguntas frecuentes

P1: ¿Otodata tiene una API que se pueda programar?

Otodata no documenta públicamente una API accesible para el cliente-a partir de 2026. Sus monitores utilizan conectividad celular LTE a la nube de Otodata, y la aplicación del cliente recupera datos de esa nube - pero el punto final de la API no está documentado públicamente y no se proporciona acceso a consumidores individuales. El enfoque de secuencias de comandos recomendado para los usuarios de Otodata es agregar un sensor ESPHome o Mopeka paralelo al mismo tanque para las secuencias de comandos de Home Assistant, mientras Otodata continúa manejando la automatización del proveedor. Algunos miembros de la comunidad r/homeassistant han intentado realizar ingeniería inversa-en el formato de publicidad BLE de Otodata utilizando proxies BLE ESP32, pero esto es experimental y no es lo suficientemente confiable para scripts de automatización de producción.

P2: ¿Cuál es el mejor enfoque de secuencias de comandos para Nee-Vo?

El mejor enfoque de secuencias de comandos para Nee-Vo depende de si su implementación de Nee-Vo expone una API de cliente. Si hay acceso API disponible (comuníquese con su proveedor de propano para preguntar), use los scripts del sensor REST en esta guía para sondear la API Nee-Vo directamente en Home Assistant. Si el acceso API no está disponible, el enfoque recomendado es el mismo que el de Otodata: agregue un sensor ESPHome o Mopeka paralelo a su tanque y use los scripts de automatización ESPHome + Home Assistant en esta guía. El enfoque de sensores paralelos es el más confiable porque le brinda control total sobre los datos del sensor, el firmware y la lógica de automatización - sin depender de la disponibilidad de API de un proveedor.

P3: ¿Con qué frecuencia los scripts de automatización deben verificar el nivel del tanque?

Para los scripts de sondeo REST de Home Assistant (Nee-Vo API), un intervalo de escaneo de 5 a 10 minutos es suficiente. - el nivel del tanque cambia lo suficientemente lento como para que un sondeo más frecuente sea innecesario y genere una carga excesiva de API. Para los scripts de proxy BLE de ESPHome, el ESP32 captura anuncios BLE continuamente y Home Assistant los procesa en-tiempo real - sin necesidad de intervalos de sondeo. Para los activadores de automatización (umbrales de alerta), los activadores de estado numérico de Home Assistant se activan inmediatamente cuando el nivel cruza un umbral, independientemente del intervalo de sondeo. Configure su notificación resumida diaria a una hora constante cada noche (recomendado: de 7 a 8 p. m.) para obtener un informe de estado regular sin fatiga de alerta.

P4: ¿Pueden estos scripts funcionar con varios tanques?

Sí, - todos los scripts de esta guía admiten varios tanques. Para el sondeo API REST (Nee-Vo), agregue entradas de sensor REST adicionales para el punto final API de cada tanque. Para el proxy ESPHome BLE, el ESP32 puede capturar anuncios de múltiples sensores BLE simultáneamente - simplemente agregue sensores de plantilla para los datos de cada tanque. Para los scripts de automatización, duplique las entradas de automatización y cambie el id_entidad para hacer referencia a la entidad del sensor específico de cada tanque (por ejemplo, sensor.propane_tank_level_garage, sensor.propane_tank_level_shop). En Node-RED, agregue ramas propane_level_check adicionales para cada tanque.

P5: ¿Cómo depuro un script que no funciona?

Para scripts de API REST: use las herramientas de desarrollo de Home Assistant (Configuración → Herramientas de desarrollador → Editor de plantillas) para probar su value_template con datos JSON sin procesar. Copie una respuesta API de muestra y péguela en el editor de plantillas para verificar que la extracción de la ruta JSON sea correcta. Para scripts de proxy BLE de ESPHome: verifique los registros de ESPHome (registros de esphome propane_ble_proxy) para ver si se están capturando anuncios BLE - si ve direcciones MAC sin procesar pero no hay datos legibles, el sensor está transmitiendo pero no se reconoce el formato. Para scripts de automatización: use la herramienta de seguimiento de Home Assistant (pestaña Seguimientos en cada automatización) para ver exactamente qué se activó, qué condiciones se evaluaron y qué acciones se ejecutaron. La herramienta de seguimiento es la herramienta de depuración más poderosa de Home Assistant - y muestra el estado exacto de cada entidad en el momento en que se activó la automatización.


La conclusión

La mejor manera de abordar los monitores de tanques de propano Otodata y Nee-Vo es mediante una estrategia de secuencias de comandos paralelas: use la plataforma del proveedor (Otodata o Nee-Vo) para la programación de recarga automatizada e implemente su propio sensor ESPHome o Mopeka para un control total de las secuencias de comandos de Home Assistant. Los siete scripts de esta guía - sondeo API REST, proxy ESPHome BLE, tres niveles de automatizaciones de alerta (advertencia/recarga/crítica), scripts de integración de hogar inteligente (termostato, válvulas, luces), sensores de plantilla para valores derivados, un flujo visual Node-RED y una notificación resumida diaria - le brindan un completo sistema de automatización de monitoreo de propano que funciona completamente localmente en Home Assistant. La experiencia colectiva de la comunidad r/homeassistant confirma que este enfoque paralelo ofrece lo mejor de ambos mundos: cero gastos generales de gestión de proveedores y total propiedad de los datos y flexibilidad de automatización por parte de Home Assistant. Comience con los scripts de automatización (Script 3) y los sensores de plantilla (Script 5), luego expanda al proxy ESPHome BLE (Script 2) para obtener la máxima cobertura. Cada capa de script agrega otra dimensión de valor - desde visibilidad de nivel básico hasta integración completa de hogar inteligente que responde automáticamente a su nivel de propano.


Última actualización: julio de 2026

Descargo de responsabilidad: esta guía proporciona ejemplos de secuencias de comandos de Home Assistant y ESPHome para la integración de monitoreo de tanques de propano Otodata y Nee-Vo con fines educativos. Los puntos finales de API, los nombres de campos y los formatos JSON a los que se hace referencia en esta guía son ejemplos representativos. - siempre verifique su estructura de API real con su implementación específica de Nee-Vo antes de configurar los sensores REST. Los scripts de proxy BLE de ESPHome capturan todos los anuncios BLE cercanos - garantizan el cumplimiento de las regulaciones locales con respecto al monitoreo de dispositivos BLE. Las automatizaciones de Home Assistant interactúan con sistemas del mundo real-, incluidos HVAC, válvulas de gas y dispositivos eléctricos. - prueba todas las automatizaciones en condiciones seguras antes de implementarlas en producción. Esta guía no está afiliada, respaldada ni patrocinada por Otodata, Nee-Vo, Home Assistant, ESPHome, Node-RED ni la comunidad r/homeassistant.

Envíeconsulta