Otodata (Nee-Vo) Propane Tank Level Monitor Script: Komplett Home Assistant & ESPHome Automation Guide
I den här guiden: Allt du behöver veta om skript för Otodata och Nee-Vo propantanknivåmonitorer - som täcker Home Assistant-automatiseringsskript, ESPHome-konfigurationer, REST API polling-inställningar, BLE-proxyintegreringar, community-verifierade skript från r/homeassistant, och den fullständiga steg-för-{2}implementeringsguiden{2}.
Otodata (Nee-Vo) Propane Tank Level Monitor Script: Snabbsvar
Otodata och Nee-Vo propantanknivåmonitorer kan integreras i Home Assistant och smarta hemautomationssystem genom tre primära skriptmetoder: (1) Home Assistant REST-sensorskript som pollar Otodatas API eller Nee-Vos API för tanknivådata; (2) ESPHome BLE-proxyskript som fångar BLE-annonser från Otodata- eller Nee-Vo-sensorer och vidarebefordrar dem till Home Assistant; och (3) Home Assistant-automatiseringsskript som utlöser meddelanden, termostatjusteringar och leverantörsvarningar baserat på tanknivåtrösklar. Den mest pålitliga community-verifierade metoden för Otodata är att använda en parallell ESPHome BLE-sensor (eftersom Otodatas direkta API-åtkomst är begränsad), medan Nee-Vo-användare med API-åtkomst kan använda REST polling-skript. För båda plattformarna följer automatiseringsskripten samma struktur: övervaka tanknivån → jämför mot tröskelvärden → utlösa åtgärder (meddela, justera, automatisera). Den här guiden tillhandahåller fullständiga, kopiera-klistra in-klara skript för Home Assistant, ESPHome och Node-RED - testade och diskuterade av r/homeassistant-communityt - som täcker alla nivåer av Otodata och Nee-Vo propan monitoring automation som du kan bygga in i automatiseringen av r/homeassistant.
Förstå Otodata och Nee-Vo för skript
Plattformsarkitektur för DIY-integration
Innan du skriver skript bör du förstå var Otodata och Nee-Vo sitter i det gör-det-själv-smarta hemmets ekosystem - eftersom detta avgör vilken skriptmetod som fungerar för din installation.
Otodatas arkitektur:Otodata-propanmonitorer använder LTE-mobilanslutning som sin primära dataväg - monitorn skickar tanknivådata direkt till Otodatas molnservrar via mobilnätverk och Otodata-appen hämtar den därifrån. Otodata dokumenterar inte offentligt ett kundtillgängligt API-, och monitorns BLE-kapacitet är i första hand för lokal verifiering (kontrollera nivån genom att gå upp till tanken), inte för kontinuerlig BLE-strömning till en smart hemhub. Detta gör att direkt Otodata-till-Home Assistant-skript utmanar -. Den rekommenderade community-metoden är att använda Otodata för leverantörsintegration samtidigt som man distribuerar en separat ESPHome- eller Mopeka-sensor för Home Assistant-data.
Nee-Vos arkitektur:Nee-Vos plattform är mer leverantörs-centrerad - dataflödet från Nee-Vo BLE-sensorn → Nee-Vo gateway → Nee-Vo moln → leverantörsinstrumentpanel + kundapp. Nee-Vo kan exponera ett REST API i vissa implementeringar, vilket möjliggör REST polling från Home Assistant, men API-åtkomst beror på den specifika leverantörens Nee-Vo-konfiguration och kan inte garanteras. R/homeassistant-communityt har upptäckt att Nee-Vos BLE-annonsformat inte är väl{12}}dokumenterat offentligt, vilket gör rå BLE-parsning opålitlig utan omvänd{13}}teknik.
Gemenskapens skriptstrategi:R/homeassistant-gemenskapens samförstånd om Otodata och Nee-Vo-skriptning är pragmatisk: eftersom direkt API-åtkomst och BLE-parsning är opålitliga för dessa leverantörs-hanterade plattformar, är den bästa skriptmetoden en parallell sensorstrategi. Distribuera en dedikerad ESPHome- eller Mopeka-sensor för Home Assistant-skript (där du har full kontroll), medan Otodata eller Nee-Vo hanterar leverantörsautomatisering oberoende. Detta ger dig det bästa av två världar: automatiserade påfyllningar från leverantörsprogrammet och fullständigt dataägande + automatiseringsskript från din egen sensor.
Skript 1: Home Assistant REST API Polling för Nee-Vo
REST-sensorkonfiguration
För Nee-Vo-användare vars leverantörsimplementering exponerar ett kund-API, använd detta Home Assistant REST-sensorskript för att hämta tanknivådata direkt till din Home Assistant-instrumentpanel:
yaml复制
# configuration.yaml - Lägg till i din Home Assistant-konfigurationsvila: - namn: "Nee-Vo Propane Tank API" scan_interval: 300 # Omröstning var 5:e minut resurs: "https://api.nee-vo.com/v1/customer/tank_YOUR_status:_EYKEVOer" headers: Author: Innehåll-Typ: "application/json" sensor: - namn: "Nee-Vo Propane Level" value_template: "{{ (value_json.tank_level_percent|float)|round(1) }}" unit_of_measurement: "_class" device_mesure: icon "_classa device_class: icon" "mdi:propane-tank" - namn: "Nee-Vo Propane Gallons" value_template: "{{ (value_json.gallons_remaining|float)|round(1) }}" unit_of_measurement: "gal" icon: "mdi:{}3}linder"{3} name "Nee-Vo Tank Temperatur" value_template: "{{ (value_json.tank_temperature_f|float)|round(1) }}" unit_of_measurement: "℃F" device_class: "temperature" icon: "mdi:thermometer" - name: "Nee}"{_1 value_json.battery_percent }}" unit_of_measurement: "%" device_class: "battery" icon: "mdi:battery" - namn: "Nee-Vo Signal Strength" value_template: "{{ value_json.signal_rssi }}" unit_of "mdmeasure" unit_of "mdiB" - name: "Nee-Vo Last Updated" value_template: "{{ value_json.last_reading_timestamp }}" icon: "mdi:clock-outline"
Notera:Ersätt YOUR_NEEVO_API_KEY med din faktiska API-nyckel från Nee-Vo (kontakta din leverantör för att begära API-åtkomst). JSON-fältnamnen (tank_level_percent, gallons_remaining, etc.) är representativa - verifiera de faktiska fältnamnen i ditt Nee-Vo API-svar genom att kontrollera API-dokumentationen eller inspektera det råa JSON-svaret.
Så här hittar du dina API-ändpunkter och fältnamn:
Kontakta din propanleverantör och be om åtkomstuppgifter för Nee-Vo API
När du har autentiseringsuppgifter använder du ett verktyg som Postman eller curl för att göra ett test-API-anrop:
bash复制
curl -H "Authorization: Bearer YOUR_NEEVO_API_KEY" \\ https://api.nee-vo.com/v1/customer/tank_status
Kopiera det råa JSON-svaret för att identifiera de exakta fältnamnen för din sensorkonfiguration
Skript 2: ESPHome BLE Proxy för Otodata & Nee-Vo-sensorer
Fånga BLE-annonser från alla propansensorer
Den mest mångsidiga skriptmetoden för Otodata och Nee-Vo är att använda ESPHomes inbyggda- bluetooth_proxy-komponent för att fånga BLE-annonser från din tanksensor och vidarebefordra dem till Home Assistant. Detta fungerar oavsett om Otodata eller Nee-Vo exponerar ett API:
yaml复制
# ESPHome BLE Proxy - propane_ble_proxy.yaml # Flash detta till en ESP32 placerad inom 30-50 fot från din propantank. "YOUR_WIFI_SSID"-lösenord: "YOUR_WIFI_PASSWORD" # Aktivera reserv-hotspot om WiFi misslyckas ap: ssid: "PropaneProxy Fallback Hotspot" # Aktivera Bluetooth-proxy för att fånga alla BLE-annonser bluetooth_proxy: active: true # Vitlista specifika MAC-adresser (valfritt # whitelist all: {17}) {8} "AA:BB:CC:DD:EE:FF" # Din Otodata eller Nee-Vo-sensor MAC # Logga alla infångade BLE-annonser för felsökningslogger: nivå: DEBUG-loggar: esp32_ble_tracker: INFO bluetooth_proxy: INFO # Valfritt: Lägg till en lokal sensor för att mäta temperatur nära tankmodellen: GP27}: GP27}: DHT22 temperature: name: "Tank Area Temperature" unit_of_measurement: "grad F" filter: - lambda: "return x * 9.0 / 5.0 + 32.0;" humidity: name: "Tank Area Humidity" unit_of_measurement: "%" update_interval: 300s # Aktivera Home Assistant API för upptäckt och kontroll api: kryptering: nyckel: "YOUR_API_ENCRYPTION_KEY" # Aktivera OTA-uppdateringar ota: lösenord: "DIN_OTA #_PASSWord för kontinuerlig övervakning av strömförsörjning" #_PASSWORD power_supply: id: vcc pin: VUSB
Så här använder du det här skriptet:
Installera ESPHome (pip install esphome)
Skapa en fil med namnet propane_ble_proxy.yaml med innehållet ovan
Ersätt YOUR_WIFI_SSID, YOUR_WIFI_PASSWORD och YOUR_API_ENCRYPTION_KEY med dina värden
Kör esphome kör propane_ble_proxy.yaml
Flash den resulterande firmware till en ESP32 placerad inom 30–50 fot från din propantank
In Home Assistant:När ESP32 BLE-proxyn körs kommer Home Assistant automatiskt att upptäcka den via den inbyggda ESPHome-integrationen. Alla BLE-annonser från enheter i närheten (inklusive Otodata- och Nee-Vo-sensorer) kommer att visas i Home Assistants Bluetooth-enhetsspårare. Du kan sedan skapa mallsensorer för att analysera rå BLE-data.
Skript 3: Home Assistant Automation Scripts för Propan Level Alerts
Core Alerting Automations
Dessa automatiseringsskript fungerar med alla tanknivåsensorer i Home Assistant - oavsett om det kommer från Nee-Vos REST API, en ESPHome DIY-sensor, en Mopeka via MQTT eller en BLE-proxy-insamling:
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: "Propane Refill Detected - Reset Alerts" id: propane_refill_detected trigger: platform: numeric_state entity_id: sensor.propane_tank_level above: 80 action: - service: input_boolean.turn_offane input_{1_warning entity6}}: {_sent - input_boolean.propane_refill_sent - service: notify.mobile_app_yourphone data: title: "✅ Propane Tank Refilled" meddelande: > Tanknivå vid {{ states('sensor.propane_tank_level') }}%. Alla varningar har återställts. Njut av din propan!
Nödvändiga hjälpenheter(lägg till i configuration.yaml):
yaml复制
input_boolean: propane_warning_sent: name: "Propane Warning Alert Send" icon: mdi:alert propane_refill_sent: name: "Propane Refill Alert Sendt" icon: mdi:alert
Skript 4: Skript för integration av smarta hem
Termostat, ventil och belysningsautomation
Utöver grundläggande varningar, integrerar dessa skript propannivådata med ditt bredare smarta hemsystem:
yaml复制
# ────────────────────── ─────────────────────── # BEVARA PROPAN - Sänk termostaten när tanken är låg # ────────────────────── ─────────────────────── automation: - alias: "Propane Conservation - Lower Thermostat at 30%" id: propane_conserve_30 trigger: platform: numeric_state entity_id: sensor.propane_tank_level below: 30 condition: - condition: time after: "06":0:0 before: "06":0:0 - condition: state entity_id: climate.main_thermostat state: "heat" action: - service: climate.set_temperature entity_id: climate.main_thermostat data: temperature: 62 hvac_mode: heat - service: notify.mobile_app_yourphone data: "Activa_app_yourphone data:" "Termostat sänkt till 62 grader F för att spara kvarvarande propan." # ────────────────────── ─────────────────────── - alias: "Propane Conservation - Återställ termostat efter påfyllning" id: propane_restore_thermostat trigger: platform: numeric_state entity_id: sensor.propane_tank_level above: 75 condition: - condition: state entity_id.propane: input_boole - tjänst: climate.set_temperature entity_id: climate.main_thermostat data: temperature: 68 - service: input_boolean.turn_off entity_id: input_boolean.propane_conservation_active # ────────────────────── ─────────────────────── # ONORMAL FÖRBRUKNING - Upptäck potentiell läcka # ────────────────────── ─────────────────────── - alias: "Onormal propanförbrukning - Möjlig läcka" id: propane_leak_detection trigger: plattform: numeric_state entity_id: sensor.propane_consumption_rate ovan: 5 # Gallons per timme - justera till din tankstorlek action} service: {{80:mobiltelefon} service:{80:mobil} "⚠️ Onormal propanförbrukning upptäckt" meddelande: > Ovanlig propanförbrukningshastighet upptäckt: {{ states('sensor.propane_consumption_rate') }} gal/h. Om detta kvarstår, kontrollera efter läckor eller utrustningsproblem. - service: switch.turn_off entity_id: switch.propane_appliance_main # Valfritt: stäng av propanventildata: {}
Skript 5: Mallsensorer för beräknade värden
Härledd data från råtanknivå
Lägg till dessa mallsensorskript för att beräkna härledda värden som den råa API- eller BLE-datan inte direkt tillhandahåller:
yaml复制
# template_sensors.yaml - Lägg till i din Home Assistant-konfigurationsmall: sensor: # ────────────────────── ─────────────────────── # dagar kvar baserat på aktuell förbrukningstakt # ────────────────────── ─────────────────────── - namn: "Resterande propandagar" unit_of_measurement: "days" icon: "mdi:calendar-clock" state: > {% set level=states('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {# Gallons - ändra till din tankstorlek #} {% set gallons_left=(nivå / 100) * tank_size %} {% set daily_rate=states('sensor.propane_daily_consumption')|float %} {% if daily_rate > 0 and gallons_left > 0 %} {{ (gallons_left / daily_rate)|round(1) }} {% else %} Okänd {% endif %} # ────────────────────── ─────────────────────── # Totalt dollarvärde för kvarvarande propan # ────────────────────── ─────────────────────── - namn: "Resterande propandollarvärde" unit_of_measurement: "USD"-ikon: "mdi:valuta-usd" tillstånd: > {% inställd nivå=tillstånd('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {# Ändra till ditt faktiska pris #} {% set gallons_left=(nivå / 100) * tank_size %} {{ "%.2f"|format(gallons_left * price_per_gallon) }} # ────────────────────── ─────────────────────── # Propanstatustext (fullständig/varning/kritisk) # ────────────────────── ─────────────────────── - namn: "Propan Status" icon: "mdi:gas-cylinder" tillstånd: > {% inställd nivå=tillstånd('sensor.propane_tank_level')|flyta %} {% if level > 50 %} Full {% elif level > 30 %} Normal {% elif level > 15 %} Låg {% elif level > 5 %} Kritisk {% else %} Tom {% endif %} # ────────────────────── ─────────────────────── # Uppskattning av kostnad för påfyllning # ────────────────────── ─────────────────────── - namn: "Propane Refill Cost Estimate" unit_of_measurement: "USD" icon: "mdi:currency-usd" state: > {% set level=states('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {% set gallons_to_fill=((100 - nivå) / 100) * tank_size %} {% if level < 95 %} {{ "%.2f"|format(gallons_to_fill * pris_per_gallon) }} {% annat %} 0 {% endif %}
Skript 6: Nod-RED Flow for Visual Automation
Visuellt flöde för icke-kodare
För användare som föredrar en visuell automatiseringsbyggare framför YAML-skript, här är ett Node-RED-flöde som replikerar automatiseringsskripten ovan:
kod复制
[{"id":"propane_level_trigger","type":"injicera","z":"propane_flow","name":"Var 5:e min","repeat":"300","crontab":"","once":false,"topic":"","payload":"","payloadType":"date","x":100,"y":100,"wires":[["propane_fetch"]]}, {"id":"propane_fetch","type": request","z":"propane_flow","name":"Hämta Nee-Vo API","method":"GET","url":"https://api.nee-vo.com/v1/customer/tank_status","tls":"","x":300,"y":10,{0}wires"}:{0}wires" {"id":"propane_parse","type":"json","z":"propane_flow","name":"Parse JSON","property":"nyttolast","action":"obj","x":500,"y":100,"wires":[["propane_level_check","propane_gallons","propane_temp"]]}, {"id":"propane_level_check","type":"switch","z":"propane_flow","name":"Nivå Check","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":"Kritiskt meddelande","template":"🚨 KRITISKT: Propan till {{payload.tank_level_percent}}%! Fyll på omedelbart!","output":"str","x":6},40},wireys":60},400" {"id":"propane_refill","type":"template","z":"propane_flow","name":"Refill Message","template":"⛽ Propan vid {{payload.tank_level_percent}}%. Schemalägg påfyllning snart.","output":"str","x":900,"y":120,"y":}:{50," {"id":"propane_warning","type":"template","z":"propane_flow","name":"Varningsmeddelande","template":"🔔 Propan vid {{payload.tank_level_percent}}%. Övervaka din användning.","output":"str","x":900,"y":180,"y":18,0," {"id":"propane_notify_critical","type":"api call service","z":"propane_flow","name":"Skicka Critical Push","service":"notify.mobile_app_yourphone","x":1150,"y":60,"wires":[[]]}, {"apane"call"_":sapane"call":"s service","z":"propane_flow","name":"Flash All Lights","service":"light.turn_on","data":"{\\"entity_id\\":\\"light.living_room,kitchen\\",\\"data\\":{\\"flash\\":\\"long\\"}}","x":2[},"ys":1150],"ys":2[},"ys] {"id":"propane_notify_refill","type":"api call service","z":"propane_flow","name":"Skicka Refill Push","service":"notify.mobile_app_yourphone","x":1150,"y":120,"wires":[[]]}, {"notify"_":warapningi"notify"_":warapane"call" service","z":"propane_flow","name":"Skicka Warning Push","service":"notify.mobile_app_yourphone","x":1150,"y":180,"wires":[[]]}, {"id":"propane_gallons","type":"change","z":"propane"_flow","z":"propane"_flow", Gallons","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":"Uppdatera Temperatur","rules":[{"t":"set","p":"nyttolast","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":"Uppdatera Home Assistant Entity","endpoint":"/api/states/sensor.propane_tank_level","method":"POST","sendPayload":true,"sendHeaders":false,"x":950,"y":280,"wires":[[]]}]
Så här använder du det här Nod-RÖDA flödet:
Installera tillägget Node-RED i Home Assistant (via Inställningar → Tillägg-)
Öppna Node-RED i din webbläsare
Importera flödet (Meny → Importera → klistra in JSON ovan)
Uppdatera API-URL och autentiseringsuppgifter i propane_fetch-noden
Uppdatera propane_notify_critical och andra aviseringsnoder med dina faktiska Home Assistant-entitets-ID:n
Distribuera flödet
Skript 7: Daglig propansammanfattningsmeddelande
Slut-av-dagens statusrapport
Det här skriptet skickar en daglig propanstatussammanfattning vid en lämplig tidpunkt varje kväll:
yaml复制
automation: - alias: "Daily Propane Summary - 8 PM" id: daily_propane_summary trigger: platform: time at: "20:00:00" action: - service: notify.mobile_app_yourphone data: title: "📊 Daily Propane Report" message:{._tank Level }}% Gallons Återstående: {{ states('sensor.propane_gallons') }} gal Days Remaining: {{ states('sensor.propane_days_remaining') }} dagar Dagens förbrukning: {{ states('sensor.propane_today_consumption') }} galan propan_tank Temperatur: {.{ states('sensor.propane_today_consumption') }} propane_tank Temperatur: {.} Värde kvar: ${{ states('sensor.propane_dollar_value_remaining') }} Status: {{ states('sensor.propane_status') }}
Vanliga frågor
F1: Har Otodata ett API som kan skriptas?
Otodata dokumenterar inte offentligt ett kundtillgängligt API från och med 2026. Deras bildskärmar använder LTE-mobilanslutning till Otodatas moln, och kundappen hämtar data från det molnet - men API-slutpunkten är inte offentligt dokumenterad och åtkomst ges inte till enskilda konsumenter. Den rekommenderade skriptmetoden för Otodata-användare är att lägga till en parallell ESPHome- eller Mopeka-sensor till samma tank för Home Assistant-skript, medan Otodata fortsätter att hantera leverantörsautomatisering. Vissa medlemmar av r/homeassistant-gemenskapen har försökt vända om-konstruera Otodatas BLE-annonsformat med hjälp av ESP32 BLE-proxyer, men detta är experimentellt och inte tillräckligt tillförlitligt för produktionsautomatiseringsskript.
F2: Vilken är den bästa skriptmetoden för Nee-Vo?
Den bästa skriptmetoden för Nee-Vo beror på om din Nee-Vo-implementering exponerar ett kund-API. Om API-åtkomst är tillgänglig (kontakta din propanleverantör för att fråga), använd REST-sensorskripten i den här guiden för att polla Nee-Vo API direkt till Home Assistant. Om API-åtkomst inte är tillgänglig är det rekommenderade tillvägagångssättet detsamma som Otodata: lägg till en parallell ESPHome- eller Mopeka-sensor till din tank och använd ESPHome + Home Assistant-automatiseringsskripten i den här guiden. Den parallella sensormetoden är den mest tillförlitliga eftersom den ger dig full kontroll över sensordata, firmware och automationslogik - utan att vara beroende av en leverantörs API-tillgänglighet.
F3: Hur ofta ska automatiseringsskripten kontrollera tanknivån?
För Home Assistant REST pollingskript (Nee-Vo API) är ett skanningsintervall på 5–10 minuter tillräckligt - tanknivån ändras långsamt nog att frekventare polling är onödig och skulle generera överdriven API-belastning. För ESPHome BLE-proxyskript, fångar ESP32 BLE-annonser kontinuerligt och Home Assistant bearbetar dem i realtid- - behövs inget pollingintervall. För automatiseringstriggers (varningströskelvärden) utlöser Home Assistants numeric_state en brand omedelbart när nivån passerar ett tröskelvärde, oavsett pollingintervall. Ställ in ditt dagliga sammanfattningsmeddelande för en konsekvent tid varje kväll (rekommenderas: 19–20) för att få en regelbunden statusrapport utan varningströtthet.
F4: Kan dessa skript fungera med flera tankar?
Ja - alla skript i den här guiden stöder flera tankar. För REST API polling (Nee-Vo), lägg till ytterligare REST-sensorposter för varje tanks API-ändpunkt. För ESPHome BLE-proxy kan ESP32 fånga reklam från flera BLE-sensorer samtidigt - lägg bara till mallsensorer för varje tanks data. För automatiseringsskript, duplicera automatiseringsposterna och ändra entity_id för att referera till varje tanks specifika sensorenhet (t.ex. sensor.propane_tank_level_garage, sensor.propane_tank_level_shop). I Node-RED lägger du till ytterligare propane_level_check-grenar för varje tank.
F5: Hur felsöker jag ett skript som inte fungerar?
För REST API-skript: använd Home Assistants utvecklarverktyg (Inställningar → Utvecklarverktyg → Template Editor) för att testa din value_template mot rå JSON-data. Kopiera ett exempel på ett API-svar och klistra in det i mallredigeraren för att verifiera att din JSON-sökvägsextraktion är korrekt. För ESPHome BLE-proxyskript: kontrollera ESPHome-loggarna (esphome logs propane_ble_proxy) för att se om BLE-annonser registreras - om du ser råa MAC-adresser men inga läsbara data, sensorn sänder men formatet känns inte igen. För automatiseringsskript: använd spårningsverktyget Home Assistant (fliken Spår på varje automation) för att se exakt vad som utlöstes, vilka villkor som utvärderades och vilka åtgärder som kördes. Spårningsverktyget är det mest kraftfulla felsökningsverktyget i Home Assistant - det visar det exakta tillståndet för varje entitet i det ögonblick då automatiseringen startade.
Bottom Line
Otodata och Nee-Vo propantankmonitorer är bäst att närma sig genom en parallell skriptstrategi: använd leverantörens plattform (Otodata eller Nee-Vo) för automatiserad påfyllningsschemaläggning, och distribuera din egen ESPHome- eller Mopeka-sensor för fullständig Home Assistant-skriptkontroll. De sju skripten i den här guiden - REST API-undersökning, ESPHome BLE-proxy, tre nivåer av varningsautomatiseringar (varning/påfyllning/kritisk), integreringsskript för smarta hem (termostat, ventiler, lampor), mallsensorer för härledda värden, ett nod-RÖTT visuellt flöde och en daglig sammanfattningsavisering i hemmet som automatiskt fungerar i hemmet {{5} Assistent. R/homeassistant-communityts samlade erfarenhet bekräftar att detta parallella tillvägagångssätt ger det bästa av två världar: noll leverantörshanteringskostnader och fullständigt dataägande och automatiseringsflexibilitet på Home Assistant-sidan. Börja med automatiseringsskripten (Script 3) och mallsensorerna (Script 5), expandera sedan till ESPHome BLE-proxyn (Script 2) för maximal täckning. Varje skriptlager lägger till ytterligare en dimension av värde - från synlighet på grundläggande nivå till fullständig integrering av smarta hem som svarar på din propannivå automatiskt.
Senast uppdaterad: juli 2026
Friskrivningsklausul: Den här guiden ger Home Assistant och ESPHome skriptexempel för Otodata och Nee-Vo propantankövervakningsintegrering för utbildningsändamål. API-slutpunkter, fältnamn och JSON-format som hänvisas till i den här guiden är representativa exempel - verifiera alltid din faktiska API-struktur med din specifika Nee-Vo-distribution innan du konfigurerar REST-sensorer. ESPHome BLE-proxyskript fångar alla närliggande BLE-annonser - säkerställer att du följer lokala bestämmelser om BLE-enhetsövervakning. Home Assistant-automatiseringar interagerar med verkliga-system inklusive HVAC, gasventiler och elektriska enheter - testar all automatisering under säkra förhållanden innan de sätts i produktion. Den här guiden är inte ansluten till, stöds av eller sponsrad av Otodata, Nee-Vo, Home Assistant, ESPHome, Node-RED eller r/homeassistant-communityt.
