Otodata (Nee-Vo) propano bako lygio monitoriaus scenarijus: visas namų asistento ir ESPHome automatizavimo vadovas
Šiame vadove: viskas, ką reikia žinoti apie scenarijus, skirtus Otodata ir Nee-Vo propano bako lygio monitoriams -, apimantis Home Assistant automatizavimo scenarijus, ESPHome konfigūracijas, REST API apklausų sąrankas, BLE tarpinio serverio integravimą, bendruomenės-patvirtintus scenarijus iš r/homeassistant 2026 m.
Otodata (Nee{0}}Vo) propano bako lygio stebėjimo scenarijus: greitas atsakymas
„Otodata“ ir „Nee{0}}Vo“ propano bako lygio monitorius galima integruoti į „Home Assistant“ ir išmaniąsias namų automatizavimo sistemas naudojant tris pagrindinius scenarijų sudarymo būdus: (1) „Home Assistant“ REST jutiklių scenarijus, kurie apklausia „Otodata“ API arba „Nee{2}}Vo“ API rezervuaro lygio duomenims; (2) ESPHome BLE tarpinio serverio scenarijai, fiksuojantys BLE reklamas iš „Otodata“ arba „Nee{4}}Vo“ jutiklių ir persiunčiantys juos „Home Assistant“; ir (3) „Home Assistant“ automatizavimo scenarijai, suaktyvinantys pranešimus, termostato koregavimus ir tiekėjo įspėjimus pagal bako lygio slenksčius. Patikimiausias bendruomenės{7}}patikrintas „Otodata“ metodas yra lygiagretus ESPHome BLE jutiklis (nes tiesioginė „Otodata“ API prieiga yra ribota), o „Nee{8}}Vo“ naudotojai, turintys API prieigą, gali naudoti REST apklausos scenarijus. Abiejų platformų automatizavimo scenarijų struktūra yra tokia pati: stebėti bako lygį → palyginti su slenksčiais → suaktyvinti veiksmus (pranešti, koreguoti, automatizuoti). Šiame vadove pateikiami užbaigti, kopijuoti-įklijuoti-parengti „Home Assistant“, „ESPHome“ ir „Node{13}}RED - scenarijai, kuriuos išbandė ir aptarė r/homeassistant bendruomenė - ir apima visus Otodata ir Nee{16}}monitoringo automatizavimo 20 propane lygius.
„Otodata“ ir „Nee{0}}Vo for Scripting“ supratimas
Platformos architektūra, skirta „pasidaryk pats“ integracijai
Prieš rašydami scenarijus, išsiaiškinkite, kur „Otodata“ ir „Nee{0}}Vo sėdi „pasidaryk pats“ išmaniųjų namų ekosistemoje -, nes tai lemia, kuris scenarijų sudarymo metodas veiks jūsų sąrankai.
„Otodata“ architektūra:„Otodata“ propano monitoriai naudoja LTE korinį ryšį kaip pagrindinį duomenų kelią - monitorius siunčia rezervuaro lygio duomenis tiesiai į „Otodata“ debesies serverius per korinį tinklą, o „Otodata“ programa juos nuskaito iš ten. „Otodata“ viešai nedokumentuoja klientui{2}}prieinamos API, o monitoriaus BLE funkcija visų pirma skirta vietiniam patikrinimui (lygio tikrinimui einant iki bako), o ne nuolatiniam BLE srautiniam perdavimui į išmaniųjų namų centrą. Dėl to tiesioginis „Otodata“-į-Home Assistant scenarijus tampa sudėtingas -. Rekomenduojamas bendruomenės metodas yra naudoti „Otodata“ tiekėjams integruoti, kartu diegiant atskirą „ESPHome“ arba „Mopeka“ jutiklį „Home Assistant“ duomenims.
Nee{0}}Vo architektūra:Nee-Vo platforma labiau orientuota į tiekėją-- duomenų srautai iš Nee-Vo BLE jutiklio → Nee-Vo gateway → Nee-Vo debesis → tiekėjo prietaisų skydelis ir kliento programa. Nee-Vo gali atskleisti REST API kai kuriuose diegimuose, kurie įgalina REST apklausą iš Home Assistant, tačiau API prieiga priklauso nuo konkretaus tiekėjo Nee{9}}Vo konfigūracijos ir nėra garantuojama. R/homeassistant bendruomenė nustatė, kad Nee{11}}Vo BLE reklamos formatas nėra gerai{12}}viešai dokumentuotas, todėl neapdorotas BLE analizavimas be atvirkštinės{13}}inžinerijos yra nepatikimas.
Bendruomenės scenarijų strategija:„R/homeassistant“ bendruomenės sutarimas dėl „Otodata“ ir „Nee{0}}Vo“ scenarijų yra pragmatiškas: kadangi tiesioginė API prieiga ir BLE analizavimas šiose tiekėjo{1}}valdomose platformose yra nepatikimi, geriausias scenarijų sudarymo metodas yra lygiagrečių jutiklių strategija. Įdiekite specialų ESPHome arba Mopeka jutiklį Home Assistant scenarijui kurti (kur jūs visiškai valdote), o „Otodata“ arba „Nee{3}}Vo“ tiekėjo automatizavimą tvarko savarankiškai. Tai suteikia jums geriausius iš abiejų pasaulių: automatinį tiekėjo programos papildymą ir visišką duomenų nuosavybę + automatizuotą scenarijų iš jūsų paties jutiklio.
1 scenarijus: „Home Assistant“ REST API apklausa, skirta Nee{1}}Vo
REST jutiklio konfigūracija
„Nee{0}}Vo“ naudotojams, kurių tiekėjas atskleidžia kliento API, naudokite šį „Home Assistant“ REST jutiklio scenarijų, kad gautumėte bako lygio duomenis tiesiai į „Home Assistant“ prietaisų skydelį:
yaml复制
# configuration.yaml - Pridėti prie „Home Assistant“ konfigūracijos likusios dalies: - pavadinimas: „Nee-Vo Propane Tank API“ scan_interval: 300 # Apklausa kas 5 minutes išteklius: „https://api.nee-vo.com/v1/customer/tank_status“ headersBearer: Authorization YOUR_NEEVO_API_KEY" Turinys-Tipas: "application/json" jutiklis: - pavadinimas: "Nee-Vo Propane Level" value_template: "{{ (value_json.tank_level_percent|float) round(1) }"measureasment of:_measure_class"|būsenos_klasė: "matavimo" piktograma: "mdi:propanas-bakas" - pavadinimas: "Nee-Vo propano galonai" value_template: "{{ (value_json.gallons_remaining|float)|round(1) }}" unit:_of_measurement: icon "mdi:gas-cylinder" - name: "Nee-Vo Tank Temperature" value_template: "{{ (value_json.tank_temperature_f|float)|round(1) }}" unit_of_measurement: " F laipsnis" icon {thermometer0}":{thermometer0}" Ne unit_of_measurement: "dBm" piktograma: "mdi:signal" - name: "Nee
Pastaba:Pakeiskite YOUR_NEEVO_API_KEY tikruoju API raktu iš Nee-Vo (susisiekite su tiekėju ir paprašykite API prieigos). JSON laukų pavadinimai (tank_level_percent, gallons_remaining ir tt) yra tipiški - patikrinkite tikrus laukų pavadinimus savo Nee{10}}Vo API atsakyme, patikrindami API dokumentaciją arba neapdorotą JSON atsakymą.
Kaip rasti API galutinio taško ir laukų pavadinimus:
Susisiekite su propano tiekėju ir paprašykite Nee{0}}Vo API prieigos kredencialų
Kai turėsite kredencialus, naudokite tokį įrankį kaip Postman arba curl, kad atliktumėte bandomąjį API iškvietimą:
bash复制
curl -H "Įgaliojimas: nešėjas YOUR_NEEVO_API_KEY" \\ https://api.nee-vo.com/v1/customer/tank_status
Nukopijuokite neapdorotą JSON atsakymą, kad nustatytumėte tikslius jutiklio konfigūracijos laukų pavadinimus
2 scenarijus: ESPHome BLE tarpinis serveris, skirtas Otodata ir Nee{1}}Vo jutikliams
Užfiksuokite BLE reklamas iš bet kurio propano jutiklio
Pats universaliausias „Otodata“ ir „Nee{0}}Vo“ scenarijų sudarymo metodas yra „ESPHome“ integruoto -bluetooth_proxy komponento naudojimas, kad būtų užfiksuoti BLE skelbimai iš jūsų rezervuaro jutiklio ir persiųsti juos „Home Assistant“. Tai veikia neatsižvelgiant į tai, ar „Otodata“, ar „Nee{4}}Vo“ atskleidžia API:
yaml复制
# ESPHome BLE tarpinis serveris - propane_ble_proxy.yaml # Atkurkite tai ESP32, esančiame 30-50 pėdų atstumu nuo jūsų propano rezervuaro esphome: name: propane-ble-proxy platforma: ESP32 plokštė: esp32dev friendly_name: "BLEpansid: wifi" „YOUR_WIFI_SSID“ slaptažodis: „YOUR_WIFI_PASSWORD“ # Įgalinti atsarginį viešosios interneto prieigos tašką, jei „WiFi“ nepavyktų ap: ssid: „PropaneProxy Fallback Hotspot“ # Įgalinti „Bluetooth“ tarpinį serverį, kad užfiksuotų visus BLE skelbimus bluetooth_proxy: active: true # Į baltąjį sąrašą įtraukti konkretūs MAC adresai (baltasis sąrašas {{17}) #1 komentaras _ "AA:BB:CC:DD:EE:FF" # Jūsų Otodata arba Nee-Vo jutiklis MAC # Užregistruokite visus užfiksuotus BLE skelbimus, skirtus derinimo registratoriui: lygis: DEBUG žurnalai: esp32_ble_tracker: INFO bluetooth_proxy: INFO # Pasirenkama: pridėkite vietinį jutiklį temperatūrai matuoti šalia rezervuaro. DHT22 temperatūra: pavadinimas: "Bako ploto temperatūra" matavimo vienetas: " F laipsnis" filtrai: - lambda: "grįžta x * 9.0 / 5.0 + 32.0;" drėgnumas: pavadinimas: "Bako ploto drėgmė" matavimo vienetas: "%" atnaujinimo_intervalas: 300 s # Įgalinti "Home Assistant" API, kad būtų galima aptikti ir valdyti API: šifravimas: raktas: "YOUR_API_ENCRYPTION_KEY" # Įgalinti OTA naujinimus ota: slaptažodis: "YOUR_OTAPLE" - nuolatinis ESAPLE tvarkymas #3 stebėjimo maitinimo_maitinimas: id: vcc kaištis: VUSB
Norėdami naudoti šį scenarijų:
Įdiekite ESPHome (pip install esphome)
Sukurkite failą pavadinimu propane_ble_proxy.yaml su aukščiau pateiktu turiniu
Pakeiskite YOUR_WIFI_SSID, YOUR_WIFI_PASSWORD ir YOUR_API_ENCRYPTION_KEY savo vertėmis
Paleiskite esphome paleiskite propane_ble_proxy.yaml
Perkelkite gautą programinę-aparatinę įrangą į ESP32, esantį 30–50 pėdų atstumu nuo propano bako
Namų asistente:Kai ESP32 BLE tarpinis serveris paleidžiamas, namų asistentas automatiškai jį atras naudodamas vietinę ESPHome integraciją. Visi netoliese esančių įrenginių BLE skelbimai (įskaitant „Otodata“ ir „Nee-Vo“ jutiklius) bus rodomi „Home Assistant“ „Bluetooth“ įrenginio stebėjimo priemonėje. Tada galite sukurti šablono jutiklius, kad išanalizuoti neapdorotus BLE duomenis.
3 scenarijus: namų asistento automatizavimo scenarijai propano lygio įspėjimams
Pagrindinė įspėjimo automatika
Šie automatizavimo scenarijai veikia su bet kokiu „Home Assistant“ - bako lygio jutikliu, nesvarbu, ar tai yra Nee-Vo REST API, ESPHome „pasidaryk pats“ jutiklis, „Mopeka“ per MQTT, ar BLE tarpinio serverio fiksavimas:
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 %) # ────────────────────── ─────────────────────── - pseudonimas: „Aptiktas pakartotinis propano užpildymas - Iš naujo nustatyti įspėjimus“ id: propane_refill_detected trigeris: platforma: numeric_state entity_id: sensor.propane_tank_level above: 80 action: - service: input_boolean.6}turn:_off input_boolean.propane_warning_sent - input_boolean.propane_refill_sent - service: notify.mobile_app_yourphone data: title: "✅ Propane Tank Refilled" message: > Bako lygis yra {{ states('sensor.level')}_tank. Visi įspėjimai buvo nustatyti iš naujo. Mėgaukitės savo propanu!
Reikalingi pagalbiniai subjektai(pridėti prie configuration.yaml):
yaml复制
įvestis
4 scenarijus: išmaniųjų namų integravimo scenarijai
Termostatas, vožtuvas ir apšvietimo automatika
Be pagrindinių įspėjimų, šie scenarijai integruoja propano lygio duomenis į platesnę išmaniųjų namų sistemą:
yaml复制
# ────────────────────── ─────────────────────── # TAUPYKITE PROPANĄ - Nuleiskite termostatą, kai bakas yra žemas # ────────────────────── ─────────────────────── automatizavimas: - pseudonimas: "Propano išsaugojimas - Apatinis termostatas esant 30%" id: propano_conserve_30 trigeris: platforma: numeric_state entity_id: sensor.propane_tank_level žemiau: 30 sąlyga: - sąlyga: laikas po: "06":0: 0 prieš: "06": 0 - sąlyga: būsena entity_id: ilmasto.main_termostato būsena: "šiluma" veiksmas: - paslauga: klimatas.set_temperature entity_id:climate.main_thermostat duomenys: temperatūra: 62 hvac_mode: karštis - paslauga: notify.mobile_app_yourphone data: The Modermt message: "Panostaservation️" sumažinta iki 62 laipsnių F, kad išsaugotų likusį propaną. # ────────────────────── ─────────────────────── - pseudonimas: "Propano išsaugojimas - Atkurti termostatą po papildymo" id: propane_restore_thermostat trigeris: platforma: numeric_state entity_id: sensor.propane_tank_level above: 75 condition: - condition: state_enityne_state_id:servation veiksmas: - paslauga: klimatas.set_temperature entity_id: klimat.main_thermostat duomenys: temperatūra: 68 - paslauga: input_boolean.turn_off entity_id: input_boolean.propane_conservation_active # ────────────────────── ─────────────────────── # NENORMALUS SĄNAUDOJIMAS - Aptikti galimą nuotėkį # ────────────────────── ─────────────────────── - pseudonimas: "Nenormalus propano suvartojimas - Galimas nuotėkis" id: propane_leak_detection trigeris: platforma: numeric_state entity_id: sensor.propane_consumption_rate aukščiau: 5 # galonų per valandą - veiksmas: pritaikykite savo bako dydį {{8} pranešimo Jei taip ir toliau, patikrinkite, ar nėra nuotėkio ar įrangos problemų. - paslauga: switch.turn_off entity_id: switch.propane_appliance_main # Pasirenkama: išjunkite propano vožtuvo duomenis: {}
5 scenarijus: šablonų jutikliai apskaičiuotoms reikšmėms
Išvestiniai duomenys iš neapdoroto rezervuaro lygio
Pridėkite šiuos šablono jutiklio scenarijus, kad apskaičiuotumėte išvestines vertes, kurių neapdoroti API arba BLE duomenys tiesiogiai nepateikia:
yaml复制
# template_sensors.yaml - Pridėkite prie namų asistento konfigūracijos šablono: jutiklis: # ────────────────────── ─────────────────────── Liko # dienų, atsižvelgiant į dabartinį suvartojimo rodiklį # ────────────────────── ─────────────────────── - pavadinimas: "Liko propano dienų" matavimo vienetas: "dienų" piktograma: "mdi:calendar-clock" būsena: > {% nustatytas lygis=būsenos('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {# Gallons - change to your baker size #} {% set gallons_left=(level / 100) * tank_size %} {% set daily_rate=states('sensor.propane_daily_consu)|float %} {% if daily_rate > 0 and gallons_left > 0 %} {{ (galons_left / daily_rate)|round(1) }} {% else %} Nežinoma {% endif %} # ────────────────────── ─────────────────────── # Bendra likusio propano vertė doleriais # ────────────────────── ─────────────────────── - pavadinimas: "Likusi propano dolerio vertė" matavimo vienetas: "USD" piktograma: "mdi:currency-usd" būsena: > {% nustatyto lygio=būsenos('sensor.propano_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {# Pakeiskite į faktinę kainą #} {% set gallons_left=(level / 100) * bako_dydis %} {{ "%.2f"|formatas(galonų_kairėje * kaina_už_galoną) }} # ────────────────────── ─────────────────────── # Propano būsenos tekstas (visas / įspėjimas / kritinis) # ────────────────────── ─────────────────────── - pavadinimas: "Propano būsena" piktograma: "mdi:gas-cylinder" būsena: > {% nustatytas lygis=būsenos('sensor.propane_tank_level')|plūduriuoti %} {% jei lygis > 50 %} Pilnas {% elif lygis > 30 %} Normalus {% elif lygis > 15 %} Žemas {% elif lygis > 5 %} Kritinis {% else %} Tuščias {% endif %} # ────────────────────── ─────────────────────── # Užpildymo išlaidų sąmata # ────────────────────── ─────────────────────── - name: "Propane Refill Cost Estimate" unit_of_measurement: "USD" icon: "mdi:currency-usd" status: > {% set level=states('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {% set gallons_to_fill=((100 - level) / 100) * bako_dydis %} {%, jei lygis < 95 %} {{ "%.2f"|format(galons_to_fill * kaina_už_galoną) }} {% else %} 0 {% endif %}
6 scenarijus: mazgas-raudonas srautas vizualiniam automatizavimui
Vaizdinis srautas ne{0}}koduotojams
Naudotojams, kurie teikia pirmenybę vaizdo automatizavimo kūrimo priemonei, o ne YAML scenarijui, čia yra mazgo{0}}RED srautas, atkartojantis aukščiau nurodytus automatizavimo scenarijus:
kodas复制
[{"id":"propano_lygio_trigger","type":"inject","z":"propano_flow","name":"Kas 5 min","repeat":"300","crontab":"","once":false,"topic":"","payload":"","payloadType":"date","x":100,"y":100,"wires":[["propane_fetch"]]}, {"id":"propano_fetch","tipas":" užklausa","z":"propano_srautas","pavadinimas":"Fetch Nee{18}}Vo API","metodas":"GET","url":"https://api.nee-vo.com/v1/customer/tank_status","tls":"","x":300,{1}s:10,"y {"id":"propane_parse","type":"json","z":"propane_flow","name":"Išanalizuoti JSON","property":"payload","action":"obj","x":500,"y":100,"wires":[["propane_level_check","propane_gallons","propane_temp"]]}, {"id":"propano_level_check","type":"switch","z":"propano_flow","name":"Lygis Patikrinkite","property":"payload.tank_level_percent","taisyklės":[{"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":"Critical Message","template":"🚨 KRITINIS: propanas {{payload.tank_level_percent}}%! Užpildykite nedelsiant!","output":"str","x":900,"y":60,"wires":[["propane_notify_critical","propane_flash_lights"]]}, {"id":"propane_refill","type":"template","z":"propane_flow","name":"Refill Message","template":"⛽ Propanepercentk_pay greitai.","output":"str","x":900,"y":120,"wires":[["propane_notify_refill"]]}, {"id":"propane_warning","type":"template","z":"propane_flow","name":"Įspėjamasis pranešimas","šablonas":"🔔 Propanepercent. jūsų {}._% naudojimas.","output":"str","x":900,"y":180,"wires":[["propane_notify_warning"]]}, {"id":"propane_notify_critical","type":"api call service","z":"propano_flow","name":"Siųsti kritinę informaciją Push","service":"notify.mobile_app_yourphone","x":1150,"y":60,"wires":[[]]}, {"id":"propane_flash_lights","type":"api call service","z":"propane_flow","name":"Flash All Lights","service":"light.turn_on","data":"{\\"entity_id\\":\\"light.living_room,virtuve\\",\\"data\\":{\\"flash\\":\\"long\\"}}","x":1150,"y":20,"laidai":[[]]}, {"id":"propane_notify_refill","type":"api skambučių paslauga","z":"propane_flow","name":"Siųsti papildymo spaudimą","service":"notify.mobile_app_yourphone","x":1150,"y":120,"wires":[[]]}, {"id":"propane_notify_warning","type":"api skambučių paslauga","z":"propane_flow","name":"Siųsti įspėjimą","service":"notify.mobile_app_yourphone","x":1150,"y":180,"wires":[[]]}, {"id":"propano_galons","type":"change","z":"propano_flow","name":"Atnaujinti Galons","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.gallons_remaining","tot":"msg"}],"x":700,"y":260,"wires":[["propane_ha_entity"]]}, {"id":"propano_temp","type":"change","z":"propane_flow","name":"Atnaujinti Temperature","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{116}}api","z":"propane_flow","name":"Atnaujinti namų padėjėją Entity","endpoint":"/api/states/sensor.propane_tank_level","method":"POST","sendPayload":true,"sendHeaders":false,"x":950,"y":280,"wires":[[]]}]
Norėdami naudoti šį mazgo{0}}RED srautą:
Įdiekite „Node{0}}RED“ priedą „Home Assistant“ (per „Nustatymai“ → „Priedai“{1}})
Naršyklėje atidarykite Node{0}}RED
Importuokite srautą (meniu → importuoti → įklijuokite JSON aukščiau)
Atnaujinkite API URL ir kredencialus propane_fetch mazge
Atnaujinkite propane_notify_critical ir kitus pranešimų mazgus naudodami tikruosius namų asistento subjekto ID
Paskirstykite srautą
7 scenarijus: kasdieninis propano suvestinės pranešimas
-Dienos pabaigos-būsenos ataskaita
Šis scenarijus siunčia kasdienę propano būsenos suvestinę patogiu laiku kiekvieną vakarą:
yaml复制
automatizavimas: - 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: "📊 Dienos propano lygio ataskaita": > states('sensor.propane_tank_level') }}% galonų Likęs: {{ states('sensor.propane_gallons') }} gal Liko dienų: {{ states('sensor.propane_days_remaining') }} dienų Šiandienos suvartojimas: {{ states_consneumptoday. Bako temperatūra: {{ states('sensor.propane_tank_temperature') }} laipsnis F Likusi dolerio vertė: ${{ states('sensor.propane_dollar_value_remaining') }} Būsena: {{ states('sensor.propane_status') }}
Dažnai užduodami klausimai
1 klausimas: ar „Otodata“ turi API, kuriai galima sukurti scenarijų?
Nuo 2026 m. „Otodata“ viešai nedokumentuoja kliento{0}}prieinamos API. Jų monitoriuose naudojamas LTE mobilusis ryšys su „Otodata“ debesimi, o kliento programa nuskaito duomenis iš to debesies -, tačiau API galutinis taškas nėra viešai dokumentuotas, o prieiga nesuteikiama atskiriems vartotojams. „Otodata“ naudotojams rekomenduojamas scenarijų sudarymo būdas yra pridėti lygiagretųjį ESPHome arba Mopeka jutiklį prie to paties bako, kad būtų galima kurti „Home Assistant“ scenarijus, o „Otodata“ ir toliau tvarko tiekėjo automatizavimą. Kai kurie r/homeassistant bendruomenės nariai bandė pakeisti{5}}Otodata BLE reklamos formatą naudodami ESP32 BLE tarpinius serverius, tačiau tai yra eksperimentinė ir nepakankamai patikima gamybos automatizavimo scenarijams.
2 klausimas: koks yra geriausias „Nee{1}}Vo“ scenarijų sudarymo metodas?
Geriausias „Nee{0}}Vo“ scenarijų sudarymo metodas priklauso nuo to, ar „Nee-Vo“ diegimas atskleidžia kliento API. Jei API prieiga yra prieinama (susisiekite su propano tiekėju, kad paklaustumėte), naudokite REST jutiklio scenarijus šiame vadove, kad apklaustumėte Nee-Vo API tiesiai į Home Assistant. Jei API prieiga nepasiekiama, rekomenduojamas metodas yra toks pat kaip Otodata: pridėkite lygiagretųjį ESPHome arba Mopeka jutiklį prie bako ir naudokite ESPHome + Home Assistant automatizavimo scenarijus šiame vadove. Lygiagretus jutiklio metodas yra patikimiausias, nes jis suteikia visišką jutiklio duomenų, programinės įrangos ir automatizavimo logikos valdymą -, nepriklausant nuo tiekėjo API prieinamumo.
3 klausimas: kaip dažnai automatikos scenarijai turėtų tikrinti bako lygį?
„Home Assistant“ REST apklausos scenarijus (Nee-Vo API) pakanka 5–10 minučių nuskaitymo intervalo - bako lygis keičiasi pakankamai lėtai, todėl nereikia dažniau apklausti ir sukeltų per didelę API apkrovą. ESPHome BLE tarpinio serverio scenarijų atveju ESP32 nuolat fiksuoja BLE skelbimus, o namų asistentas juos apdoroja realiuoju laiku -laiku - nereikia jokio apklausos intervalo. Automatizavimo aktyviklių (įspėjimo slenksčių) atveju „Home Assistant“ numeric_state suaktyvina iš karto, kai lygis peržengia slenkstį, neatsižvelgiant į apklausos intervalą. Nustatykite savo dienos suvestinės pranešimą pastoviam laikui kiekvieną vakarą (rekomenduojama: 19–20 val.), kad gautumėte reguliarią būsenos ataskaitą be perspėjančio nuovargio.
4 klausimas: Ar šie scenarijai gali veikti su keliomis talpyklomis?
Taip - visi šio vadovo scenarijai palaiko kelis bakus. REST API apklausai (Nee-Vo) pridėkite papildomų REST jutiklio įrašų prie kiekvieno bako API galutinio taško. ESPHome BLE tarpiniam serveriui ESP32 gali užfiksuoti reklamas iš kelių BLE jutiklių vienu metu - tiesiog pridėkite šablonų jutiklius prie kiekvieno rezervuaro duomenų. Jei naudojate automatizavimo scenarijus, pakartokite automatizavimo įrašus ir pakeiskite entity_id, kad būtų nuoroda į kiekvieno rezervuaro jutiklio objektą (pvz., sensor.propane_tank_level_garage, sensor.propane_tank_level_shop). Prie Node{19}}RED pridėkite papildomų propano_level_check šakų prie kiekvieno rezervuaro.
5 klausimas: kaip derinti neveikiantį scenarijų?
REST API scenarijai: naudokite „Home Assistant“ kūrėjo įrankius (Nustatymai → Kūrėjo įrankiai → Šablonų redagavimo priemonė), kad patikrintumėte savo value_template pagal neapdorotus JSON duomenis. Nukopijuokite pavyzdinį API atsakymą ir įklijuokite jį į šablonų redagavimo priemonę, kad patikrintumėte, ar JSON kelio ištraukimas yra teisingas. Jei naudojate ESPHome BLE tarpinio serverio scenarijus: patikrinkite ESPHome žurnalus (esphome logs propane_ble_proxy), kad sužinotumėte, ar fiksuojami BLE skelbimai -, jei matote neapdorotus MAC adresus, bet nėra nuskaitomų duomenų, jutiklis transliuoja, bet formatas neatpažįstamas. Automatizavimo scenarijai: naudokite „Home Assistant“ sekimo įrankį (kiekvieno automatizavimo skirtuką „Traces“), kad sužinotumėte, kas tiksliai suaktyvino, kokios sąlygos įvertintos ir kokie veiksmai buvo atlikti. Sekimo įrankis yra galingiausias „Home Assistant“ derinimo įrankis -. Jis rodo tikslią kiekvieno objekto būseną automatikos suaktyvinimo momentu.
Esmė
„Otodata“ ir „Nee{0}}Vo“ propano bako monitorius geriausia pasiekti naudojant lygiagrečią scenarijų strategiją: automatiniam papildymo planavimui naudokite tiekėjo platformą („Otodata“ arba „Nee-Vo“) ir įdiekite savo ESPHome arba Mopeka jutiklį, kad galėtumėte visiškai valdyti „Home Assistant“ scenarijų. Septyni šio vadovo scenarijai - REST API apklausa, ESPHome BLE tarpinis serveris, trys įspėjimų automatizavimo pakopos (įspėjimas / papildymas / kritinis), išmaniųjų namų integravimo scenarijai (termostatas, vožtuvai, lemputės), išvestinių verčių šablonų jutikliai, mazgas{4}}RED vaizdinis srautas ir kasdieninis automatinio veikimo stebėjimo pranešimas {{5}. vietoje namų asistente. Kolektyvinė r/homeassistant bendruomenės patirtis patvirtina, kad šis lygiagretus metodas suteikia geriausius iš abiejų pasaulių: nulinės tiekėjo valdymo išlaidos ir visiškas duomenų nuosavybės ir automatizavimo lankstumas namų asistento pusėje. Pradėkite nuo automatizavimo scenarijų (3 scenarijus) ir šablonų jutiklių (5 scenarijus), tada išplėskite iki ESPHome BLE tarpinio serverio (2 scenarijus), kad būtų maksimaliai aprėpta. Kiekvienas scenarijaus sluoksnis prideda dar vieną vertės aspektą - nuo pagrindinio lygio matomumo iki visiškos išmaniųjų namų integracijos, kuri automatiškai reaguoja į propano lygį.
Paskutinį kartą atnaujinta: 2026 m. liepos mėn
Atsisakymas: šiame vadove pateikiami „Home Assistant“ ir „ESPHome“ scenarijų pavyzdžiai, skirti „Otodata“ ir „Nee{0}}Vo“ propano bako stebėjimo integravimui švietimo tikslais. API galutiniai taškai, laukų pavadinimai ir JSON formatai, nurodyti šiame vadove, yra tipiniai pavyzdžiai - prieš konfigūruodami REST jutiklius, visada patikrinkite tikrąją API struktūrą naudodami konkrečią Nee-Vo diegimą. ESPHome BLE tarpinio serverio scenarijai fiksuoja visus netoliese esančius BLE skelbimus - užtikrina, kad laikysitės vietinių taisyklių dėl BLE įrenginių stebėjimo. „Home Assistant“ automatika sąveikauja su realiomis -pasaulio sistemomis, įskaitant ŠVOK, dujų vožtuvus ir elektros prietaisus -, prieš pradėdami naudoti gamyboje, patikrina visą automatizavimą saugiomis sąlygomis. Šis vadovas nėra susijęs su „Otodata“, „Nee{10}}Vo“, „Home Assistant“, „ESPHome“, „Node{11}}RED“ arba „r/homeassistant“ bendruomene, jo neparemia ir neremia.
