Otodata (Nee-Vo) Propane Tank Level Monitor script

Jul 28, 2026

Ħalli messaġġ

Otodata (Nee-Vo) Skript tal-Monitor tal-Livell tat-Tank tal-Propan: Assistent tad-Dar Tlesti u Gwida tal-Awtomazzjoni ESPHome

F'din il-gwida: Dak kollu li għandek bżonn tkun taf dwar l-iskripts għal Otodata u Nee-Vo propane tank monitors - li jkopru skripts ta' awtomazzjoni ta' Home Assistant, konfigurazzjonijiet ESPHome, setups tal-votazzjoni tal-API REST, integrazzjonijiet tal-proxy BLE, skripts tal-komunità-verifikati minn r/homeassistant, u l-gwida kompleta ta' implimentazzjoni{4{3}} pass pass 2026.


Otodata (Nee-Vo) Propane Tank Level Monitor Script: Tweġiba Mgħaġġla

Il-monitors tal-livell tat-tankijiet Otodata u Nee-Vo propan jistgħu jiġu integrati f'Home Assistant u sistemi ta' awtomazzjoni tad-dar intelliġenti permezz ta' tliet approċċi ta' skriptjar primarji: (1) Home Assistant REST skripts tas-sensuri li jivvutaw l-API ta' Otodata jew l-API ta' Nee-Vo għad-dejta tal-livell tat-tank; (2) ESPHome BLE proxy scripts li jaqbdu reklami BLE minn sensors Otodata jew Nee-Vo u jgħadduhom lil Home Assistant; u (3) Skripts tal-awtomazzjoni tal-Assistent tad-Dar li jagħtu bidu għal notifiki, aġġustamenti tat-termostat, u twissijiet tal-fornitur ibbażati fuq limiti tal-livell tat-tank. L-aktar approċċ ivverifikat tal-komunità-affidabbli għal Otodata qed juża sensor ESPHome BLE parallel (peress li l-aċċess dirett għall-API ta' Otodata huwa limitat), filwaqt li l-utenti ta' Nee-Vo b'aċċess għall-API jistgħu jużaw skripts tal-votazzjoni REST. Għaż-żewġ pjattaformi, l-iskripts tal-awtomazzjoni jsegwu l-istess struttura: jimmonitorjaw il-livell tat-tank → iqabblu mal-limiti → iqanqlu azzjonijiet (notifika, aġġusta, awtomat). Din il-gwida tipprovdi skripts kompluti, kopja-pejst-għal Home Assistant, ESPHome, u Node-RED - ttestjati u diskussi mill-komunità r/homeassistant - li jkopru kull livell ta' Otodata u Nee-Vo propane monitoraġġ fl-awtomazzjoni tista' tibni.


Nifhmu Otodata u Nee-Vo għal Scripting

Arkitettura tal-Pjattaforma għall-Integrazzjoni DIY

Qabel ma tikteb skripts, ifhem fejn Otodata u Nee-Vo joqogħdu fl-ekosistema tad-dar intelliġenti DIY - għaliex dan jiddetermina liema approċċ ta' scripting se jaħdem għas-setup tiegħek.

L-arkitettura ta' Otodata:Il-monitors tal-propan Otodata jużaw il-konnettività ċellulari LTE bħala l-mogħdija tad-dejta primarja tagħhom - il-monitor jibgħat dejta tal-livell tat-tank direttament lis-servers tas-sħab ta 'Otodata permezz ta' netwerk ċellulari, u l-app Otodata tirkupraha minn hemm. Otodata ma jiddokumentax pubblikament API aċċessibbli għall-klijent-, u l-kapaċità BLE tal-monitor hija primarjament għal verifika lokali (livell ta' verifika billi titla' lejn it-tank), mhux għal streaming kontinwu ta' BLE għal hub tad-dar intelliġenti. Dan jagħmel Otodata dirett-għal-Home Assistant scripting ta' sfida - l-approċċ komunitarju rakkomandat huwa li tuża Otodata għall-integrazzjoni tal-fornitur filwaqt li jiġi skjerat sensor ESPHome jew Mopeka separat għad-dejta tal-Assistent tad-Dar.

L-arkitettura ta' Nee-Vo:Il-pjattaforma ta' Nee-Vo hija aktar fornitur-ċentrata - id-data tiċċirkola mis-sensor Nee-Vo BLE → Nee-Vo gateway → Nee-Vo cloud → dashboard tal-fornitur + app tal-klijent. Nee-Vo jista' jesponi API REST f'xi skjeramenti, li jippermetti l-istħarriġ REST minn Home Assistant, iżda l-aċċess għall-API jiddependi fuq il-konfigurazzjoni Nee-Vo tal-fornitur speċifiku u mhux garantit. Il-komunità r/homeassistant sabet li l-format tar-riklami BLE ta' Nee-Vo mhuwiex iddokumentat sew-pubblikament, u b'hekk l-analiżi tal-BLE mhux maħduma ma tkunx affidabbli mingħajr reverse-inġinerija.

L-istrateġija tal-iskript tal-komunità:Il-kunsens tal-komunità r/homeassistant dwar l-iskripting Otodata u Nee-Vo huwa pragmatiku: peress li l-aċċess dirett tal-API u l-parsing BLE mhumiex affidabbli għal dawn il-pjattaformi ġestiti mill-fornitur-, l-aħjar approċċ ta' skriptjar huwa strateġija parallela tas-sensuri. Uża sensor ESPHome jew Mopeka dedikat għall-iskript ta' Home Assistant (fejn għandek kontroll sħiħ), filwaqt li Otodata jew Nee-Vo jimmaniġġjaw l-awtomazzjoni tal-fornitur b'mod indipendenti. Dan jagħtik l-aħjar miż-żewġ dinjiet: mili mill-ġdid awtomatizzat mill-programm tal-fornitur, u sjieda sħiħa tad-dejta + skripts ta 'awtomazzjoni mis-sensor tiegħek stess.


Skript 1: Home Assistant REST API Votazzjoni għal Nee-Vo

Konfigurazzjoni tas-Sensor REST

Għall-utenti Nee-Vo li l-iskjerament tal-fornitur tagħhom jesponi API tal-klijent, uża dan l-iskript tas-sensor REST tal-Home Assistant biex tiġbed id-dejta tal-livell tat-tank direttament fid-dashboard tal-Home Assistant tiegħek:

yaml复制

# configuration.yaml - Żid mal-konfigurazzjoni tal-Assistent tad-Dar tiegħek mistrieħ: - name: "Nee-Vo Propane Tank API" scan_interval: 300 # Stħarriġ kull 5 minuti riżorsa: "https://api.nee-vo.com/v1/customer/tank_status" headers ": EVOer_OURthorization"YOUR_NEE Kontenut-Tip: "application/json" sensor: - name: "Nee{-Vo Propane Level" value_template: "{{ (value_json.tank_level_percent|float)|round(1) }}" unit_of_measurement: "%measurement device_class state:":"measure device_class state:":"measurement" "mdi:propane-tank" - name: "Nee-Vo Propane Gallons" value_template: "{{ (value_json.gallons_remaining|float)|round(1) }}" unit_of_measurement: "gal" icon: "mdi}:gascynder {3}"{3}" isem "Nee-Temperatura tat-Tank Vo" value_template: "{{ (value_json.tank_temperature_f|float)|round(1) }}" unit_of_measurement: " grad F" device_class: "temperatura" icon: "mdi:termometru" - isem tal-batterija: "1"{50}}{o} isem tal-batterija: "Livell: - {o} value_json.battery_percent }}" unit_of_measurement: "%" device_class: "batterija" icon: "mdi:battery" - name: "Nee{-Vo Signal Strength" value_template: "{{ value_json.signal_rssi }}" unit_of "d_mmeasurement" icon: "{{ value_json.signal_rssi }}" sign: icon:" - name: "Nee-Vo Last Updated" value_template: "{{ value_json.last_reading_timestamp }}" icon: "mdi:clock-outline"

Nota:Ibdel YOUR_NEEVO_API_KEY maċ-ċavetta API attwali tiegħek minn Nee-Vo (ikkuntattja lill-fornitur tiegħek biex titlob aċċess għall-API). L-ismijiet tal-qasam JSON (tank_level_percent, gallons_remaining, eċċ.) huma rappreżentattivi - jivverifikaw l-ismijiet tal-qasam attwali fir-rispons tal-API Nee-Vo tiegħek billi tiċċekkja d-dokumentazzjoni tal-API jew tispezzjona r-rispons JSON mhux maħdum.

Kif issib l-ismijiet tal-endpoint u tal-qasam tal-API tiegħek:

Ikkuntattja lill-fornitur tal-propan tiegħek u staqsi għal kredenzjali ta' aċċess għall-API Nee-Vo

Ladarba jkollok kredenzjali, uża għodda bħal Postman jew curl biex tagħmel sejħa API tat-test:

bash复制

curl -H "Awtorizzazzjoni: Bearer YOUR_NEEVO_API_KEY" \\ https://api.nee-vo.com/v1/customer/tank_status

Ikkopja r-rispons JSON mhux ipproċessat biex tidentifika l-ismijiet eżatti tal-kamp għall-konfigurazzjoni tas-sensuri tiegħek


Skript 2: ESPHome BLE Proxy għal Otodata & Nee-Sensuri Vo

Qbid ta 'Reklami BLE minn Kwalunkwe Sensor tal-Propan

L-aktar approċċ ta' skriptjar versatili għal Otodata u Nee-Vo qed juża l-komponent ta' ESPHome mibni-in bluetooth_proxy biex jaqbad reklami BLE mis-sensor tat-tank tiegħek u jgħaddihom lil Home Assistant. Dan jaħdem irrispettivament minn jekk Otodata jew Nee-Vo jesponix API:

yaml复制

# ESPHome BLE Proxy - propane_ble_proxy.yaml # Flash dan lil ESP32 imqiegħed fi ħdan 30-50 pied mit-tank tal-propan tiegħek esphome: name: propane-ble{-pjattaforma tal-proxy: ESP32 board: esp32dev friendly_name: "Propane Tank:WIFIY"WBLExy" password: "YOUR_WIFI_PASSWORD" # Enable fallback hotspot in case WiFi fails ap: ssid: "PropaneProxy Fallback Hotspot" # Enable Bluetooth proxy to capture all BLE advertises bluetooth_proxy: active: true # Whitelist speċifiċi indirizzi MAC (fakultattiv - jikkummenta biex taqbad kollha) # whitelist: #: {AA}:" : {1} Otodata jew Nee-Vo sensur MAC # Log ir-reklami BLE kollha maqbuda għal debugging logger: livell: DEBUG logs: esp32_ble_tracker: INFO bluetooth_proxy: INFO # Fakultattiv: Żid sensor lokali biex tkejjel it-temperatura ħdejn is-sensor tat-tank: - pjattaforma: dht pin: mudell tat-temperatura: GPIO227: Temperatura " unit_of_measurement: "grad F" filtri: - lambda: "ritorn x * 9.0 / 5.0 + 32.0;" umdità: name: "Tank Area Humidity" unit_of_measurement: "%" update_interval: 300s # Ippermetti l-API tal-Assistent tad-Dar għall-iskoperta u l-kontroll api: encryption: key: "YOUR_API_ENCRYPTION_KEY" # Ippermetti l-aġġornamenti tal-OTA ota: password: "YOUR_OTA_PASSWORD - iżomm il-maniġment TIEGĦEK" power_supply: id: vcc pin: VUSB

Biex tuża din l-iskrittura:

Installa ESPHome (pip install esphome)

Oħloq fajl bl-isem propane_ble_proxy.yaml bil-kontenut ta' hawn fuq

Ibdel YOUR_WIFI_SSID, YOUR_WIFI_PASSWORD, u YOUR_API_ENCRYPTION_KEY bil-valuri tiegħek

Mexxi esphome run propane_ble_proxy.yaml

Flash il-firmware li jirriżulta għal ESP32 imqiegħed f'30-50 pied mit-tank tal-propan tiegħek

Fid-dar Assistant:Ladarba l-proxy ESP32 BLE ikun qed jaħdem, Home Assistant se jiskoprih awtomatikament permezz tal-integrazzjoni nattiva ESPHome. Ir-reklami kollha BLE minn apparati fil-qrib (inklużi sensuri Otodata u Nee-Vo) se jidhru fit-tracker tal-apparat Bluetooth ta' Home Assistant. Imbagħad tista 'toħloq sensors tal-mudelli biex teżamina d-dejta BLE mhux ipproċessata.


Skript 3: Skripts tal-Awtomazzjoni tal-Assistent tad-Dar għal Twissijiet tal-Livell tal-Propan

L-Awtomazzjonijiet ta' Twissija Ewlenin

Dawn l-iskripts ta' awtomazzjoni jaħdmu ma' kwalunkwe sensor tal-livell tat-tank f'Home Assistant - kemm jekk mill-API REST ta' Nee-Vo, sensur ESPHome DIY, Mopeka permezz tal-MQTT, jew qbid ta' prokura 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%) # ────────────────────── ─────────────────────── - psewdonimi: "Mili mill-ġdid tal-propan misjub - Irrisettja Twissijiet" id: propane_refill_detected trigger: platform: numeric_state entity_id: sensor.propane_tank_level above: 80 action: - servizz: input_boolean.turn_off entity_id}: {propane_war1olening_id. - input_boolean.propane_refill_sent - service: notify.mobile_app_yourphone data: title: "✅ Propane Tank Refilled" messaġġ: > Livell tat-tank f'{{ states('sensor.propane_tank_level') }}%. It-twissijiet kollha ġew reset. Igawdu l-propan tiegħek!

Entitajiet helper meħtieġa(żid ma' configuration.yaml):

yaml复制

input_boolean: propane_warning_sent: name: "Twissija ta' Twissija tal-Propan Mibgħuta" ikona: mdi:twissija propane_refill_sent: name: "Twissija Mibgħuta mill-ġdid tal-propan" ikona: mdi:twissija


Skript 4: Skripts ta' Integrazzjoni tad-Dar Intelliġenti

Termostat, Valv u Awtomatizzazzjoni tad-Dawl

Lil hinn mit-twissijiet bażiċi, dawn l-iskripts jintegraw dejta tal-livell tal-propan mas-sistema usa’ tad-dar intelliġenti tiegħek:

yaml复制

# ────────────────────── ─────────────────────── # IKKONSERVA L-PROPAN - Tbaxxi t-termostat meta t-tank ikun baxx # ────────────────────── ─────────────────────── awtomazzjoni: - alias: "Konservazzjoni tal-propan - Termostat t'isfel fi 30%" id: propane_conserve_30 trigger: platform: numeric_state entity_id: sensor.propane_tank_level below: 30 kundizzjoni: - kundizzjoni: ħin wara: "20:00:0} 06" {0} qabel: 0 istat: 00:00: 1 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: title: "🌡️ Propanju messaġġ aktar baxx għall-Konservazzjoni: "🌡️" messaġġ aktar baxx biex jikkonserva l-propan li fadal." # ────────────────────── ─────────────────────── - psewdonimi: "Konservazzjoni tal-propan - Irrestawra Termostat Wara l-Mila mill-ġdid" id: propane_restore_thermostat trigger: platform: numeric_state entity_id: sensor.propane_tank_level above: 75 condition: - kundizzjoni: state entity_id: state entity_id: input_state_boolean._action:{5} servizz: input_conservation. climate.set_temperature entity_id: data climate.main_thermostat: temperatura: 68 - servizz: input_boolean.turn_off entity_id: input_boolean.propane_conservation_active # ────────────────────── ─────────────────────── # KONSUM ANORMALI - Issib tnixxija potenzjali # ────────────────────── ─────────────────────── - alias: "Konsum Anormali tal-Propan - Tnixxija Possibbli" id: propane_leak_detection trigger: platform: numeric_state entity_id: sensor.propane_consumption_rate hawn fuq: 5 # Galloni fis-siegħa - aġġusta għad-daqs tat-tank tiegħek azzjoni: {{80}mobile data service:_"⚠ anormali. Messaġġ ta' Konsum ta' Propan Individwat": > Rata ta' konsum ta' propan mhux tas-soltu misjuba: {{ states('sensor.propane_consumption_rate') }} gal/hr. Jekk dan jippersisti, iċċekkja għal tnixxijiet jew kwistjonijiet ta' tagħmir. - service: switch.turn_off entity_id: switch.propane_appliance_main # Fakultattiv: itfi data tal-valv tal-propan: {}


Script 5: Template Sensors għal Valuri Ikkalkulati

Dejta Derivata mil-Livell tat-Tank mhux maħdum

Żid dawn l-iskripts tas-sensorju tal-mudelli biex tikkalkula valuri derivati ​​li d-dejta mhux ipproċessata tal-API jew tal-BLE ma tipprovdix direttament:

yaml复制

# template_sensors.yaml - Żid mal-mudell tal-konfigurazzjoni tal-Assistent tad-Dar tiegħek: sensor: # ────────────────────── ─────────────────────── # Jiem li fadal ibbażati fuq ir-rata tal-konsum attwali # ────────────────────── ─────────────────────── - name: "Ġranet tal-propan li Fadal" unit_of_measurement: "jiem" icon: "mdi:calendar-clock" stat: > {% set level=states('sensor.propane_tank_level')|float %} {% sett tank_size=250 %} {# Galloni - bidla għad-daqs tat-tank tiegħek #} {% sett gallons_left=(livell / 100) * tank_size %} {% issettjat daily_rate=states('sensor.propane_daily'consumption')_|float %} {% jekk daily_rate > 0 u gallons_left > 0 %} {{ (gallons_left / daily_rate)|round(1) }} {% else %} Mhux magħruf {% endif %} # ────────────────────── ─────────────────────── # Valur dollaru totali tal-propan li fadal # ────────────────────── ─────────────────────── - name: "Valur tad-Dollaru Propan li Fadal" unit_of_measurement: "USD" icon: "mdi:currency-usd" state: > {% set level=states('sensor.propane_tank_level')|float %} {% sett tank_size=250 %} {% sett price_per_gallon=3.50 %} {# Bidla għall-prezz attwali tiegħek #} {% set gallons_left=(livell / 100) * tank_size %} {{ "%.2f"|format(gallons_left * price_per_gallon) }} # ────────────────────── ─────────────────────── # Test tal-istatus tal-propan (sħiħ/twissija/kritiku) # ────────────────────── ─────────────────────── - isem: "Propane Status" ikona: "mdi:gas-ċilindru" stat: > {% set level=states('sensor.propane_tank_level')|float %} {% if level > 50 %} Sħiħ {% elif level > 30 %} Normali {% elif level > 15 %} Baxx {% elif level > 5 %} Kritiku {% else %} Vojt {% endif %} # ────────────────────── ─────────────────────── # Stima tal-ispiża tal-mili mill-ġdid # ────────────────────── ─────────────────────── - name: "Stima tal-Ispiża mill-ġdid tal-Propane" unit_of_measurement: "USD" icon: "mdi:currency-usd" state: > {% set level=states('sensor.propane_tank_level')|float %} {% sett tank_size=250 %} {% sett price_per_gallon=3.50 %} {% sett gallons_to_fill=((100 - livell) / 100) * tank_size %} {% jekk livell < 95 %} {{ "%.2f"|format(galluns_to_fill * price_per_gallon) }} {% else %} 0 {% endif %}


Skript 6: Node-Fluss Aħmar għall-Awtomazzjoni Viżwali

Fluss Viżwali għal Non-Kodifikaturi

Għall-utenti li jippreferu bennej ta' awtomazzjoni viżwali fuq skripts YAML, hawn fluss Node-RED li jirreplika l-iskripts ta' awtomazzjoni hawn fuq:

kodiċi复制

[{"id":"propane_level_trigger","type":"inject","z":"propane_flow","name":"Kull 5 minuti","repeat":"300","crontab":"","once":false,"topic":"","payload":"","payloadType":"date","x":10:0}0,"y":10:1}0} {"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","propane_propane","type",":"jsonanez","flow":"jsonane","flow":"jsonanez" 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":"Livell Iċċekkja","property":"payload.tank_level_percent","rules":[{"t":"lt","v":"10"},{"t":"lt","v":"20"},{"t":"lt","v":"20"},{ "t":"lt","v":"30"}],"checkall":"falza","tiswija":falza,"outputs":3,"x":700,"y":100,"wajers":[["propane_critical"],["propane_refill"],["propane_warning"]]}, {"id":"propane_critical","type":"template","z":"propane_flow","name":"Messaġġ Kritiku","template":"🚨 KRITIKA: Propan f'{{payload.tank_level_percent}}%! Erġa' imla immedjatament!","output":"str","x":900,"y":60,{}wires}:60,{4}":60," {"id":"propane_refill","type":"template","z":"propane_flow","name":"Messaġġ mill-ġdid","template":"⛽ Propan bi {{payload.tank_level_percent}}%. Skeda mili mill-ġdid dalwaqt.","output":"str","x":900,"y":120,{5}wires}:120,{5}wires}:120, {"id":"propane_warning","type":"template","z":"propane_flow","name":"Messaġġ ta' Twissija","template":"🔔 Propan bi {{payload.tank_level_percent}}%. Immonitorja l-użu tiegħek.","output":"str","x":900,"y":180,"6wires"},{101} {"id":"propane_notify_critical","type":"api call service","z":"propane_flow","name":"Ibgħat Critical Push","service":"notify.mobile_app_yourphone","x":1150,"y":60,"wires":[[]]}, {"id":"propane","call_flash:"_light" service","z":"propane_flow","name":"Flash All Lights","service":"light.turn_on","data":"{\\"entity_id\\":\\"light.living_room,kitchen\\",\\"data\\":{\\"flash\\":\\"long\\"}}","x":1150,"y":20,]"wires,]":20 {"id":"propane_notify_refill","type":"api call service","z":"propane_flow","name":"Send Refill Push","service":"notify.mobile_app_yourphone","x":1150,"y":120,"wires":[[]]}, {"id":"y":"warning":"id":"propane_pi":"warning" service","z":"propane_flow","name":"Ibgħat Twissija Push","service":"notify.mobile_app_yourphone","x":1150,"y":180,"wires":[[]]}, {"id":"propane_gallons","type":"change","z":"propane_flow","date","name":"U Galloni","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":"Aġġorna 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":"Aġġorna l-Assistent tad-Dar Entity","endpoint":"/api/states/sensor.propane_tank_level","method":"POST","sendPayload":true,"sendHeaders":false,"x":950,"y":280,"wires":[[]]}]

Biex tuża dan il-fluss Node-RED:

Installa l-addon Node-RED f'Home Assistant (permezz ta' Settings → Żid-ons)

Iftaħ Node-RED fil-browser tiegħek

Importa l-fluss (Menu → Importa → paste l-JSON hawn fuq)

Aġġorna l-URL tal-API u l-kredenzjali fin-node propane_fetch

Aġġorna n-nodi ta' notifika propane_notify_critical u oħrajn bl-IDs attwali tal-entità tal-Assistent tad-Dar tiegħek

Uża l-fluss


Skript 7: Notifika Sommarja ta' Kuljum tal-Propan

Rapport dwar l-Istatus ta' Tmiem-tal--Jum

Din l-iskrittura tibgħat sommarju tal-istatus tal-propan kuljum f'ħin konvenjenti kull filgħaxija:

yaml复制

awtomazzjoni: - alias: "Sommarju tal-Propan ta' Kuljum - 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: {. }}% Galuni li Fadal: {{ states('sensor.propane_gallons') }} gal Jiem Fadal: {{ states('sensor.propane_days_remaining') }} jiem Konsum tal-lum: {{ states('sensor.propane_today_consumption') }} gal {{ Temperatura Tank states('sensor.propane_tank_temperature') }} grad F Dollar Valur Li Fadal: ${{ states('sensor.propane_dollar_value_remaining') }} Status: {{ states('sensor.propane_status') }}


Mistoqsijiet Frekwenti

Q1: Otodata għandha API li tista 'tiġi b'kitba?

Otodata ma jiddokumentax pubblikament klijent-API aċċessibbli mill-2026. Il-moniters tagħhom jużaw konnettività ċellulari LTE mal-cloud ta' Otodata, u l-app tal-klijent tirkupra data minn dak il-cloud - iżda l-endpoint tal-API mhuwiex dokumentat pubblikament u l-aċċess mhux ipprovdut lill-konsumaturi individwali. L-approċċ ta 'scripting rakkomandat għall-utenti ta' Otodata huwa li żżid sensur parallel ESPHome jew Mopeka mal-istess tank għall-iskript ta 'Home Assistant, filwaqt li Otodata tkompli timmaniġġja l-awtomazzjoni tal-fornitur. Xi membri tal-komunità r/homeassistant ppruvaw ireġġgħu lura-inġinier tal-format tar-riklami BLE ta' Otodata billi juża prokuri ESP32 BLE, iżda dan huwa sperimentali u mhux affidabbli biżżejjed għall-iskripts tal-awtomazzjoni tal-produzzjoni.

M2: X'inhu l-aħjar approċċ ta' scripting għal Nee-Vo?

L-aħjar approċċ ta' scripting għal Nee-Vo jiddependi fuq jekk l-iskjerament tiegħek ta' Nee-Vo jesponix API tal-klijent. Jekk l-aċċess għall-API huwa disponibbli (ikkuntattja lill-fornitur tal-propan tiegħek biex tistaqsi), uża l-iskripts tas-sensorju REST f'din il-gwida biex tistħarreġ l-API Nee-Vo direttament fis-Home Assistant. Jekk l-aċċess API ma jkunx disponibbli, l-approċċ rakkomandat huwa l-istess bħal Otodata: żid sensor ESPHome jew Mopeka parallel mat-tank tiegħek u uża l-iskripts ta 'awtomazzjoni ESPHome + Home Assistant f'din il-gwida. L-approċċ tas-sensuri paralleli huwa l-aktar affidabbli għaliex jagħtik kontroll sħiħ fuq id-dejta tas-sensuri, il-firmware, u l-loġika tal-awtomazzjoni - mingħajr ebda dipendenza fuq id-disponibbiltà tal-API tal-fornitur.

Q3: Kemm-il darba għandhom l-iskripts tal-awtomazzjoni jiċċekkjaw il-livell tat-tank?

Għall-iskripts tal-votazzjoni REST tal-Assistent tad-Dar (Nee-Vo API), intervall tal-iskannjar ta' 5–10 minuti huwa biżżejjed - il-livell tat-tank jinbidel bil-mod biżżejjed li polling aktar frekwenti ma jkunx meħtieġ u jiġġenera tagħbija eċċessiva tal-API. Għal skripts ta' prokura ESPHome BLE, l-ESP32 jaqbad reklami BLE kontinwament u l-Home Assistant jipproċessahom f'-ħin reali - mhu meħtieġ l-ebda intervall ta' votazzjoni. Għal awtomazzjoni triggers (alert thresholds), Numeric_state ta' Home Assistant iqajjem in-nar immedjatament meta l-livell jaqsam limitu, irrispettivament mill-intervall tal-votazzjoni. Issettja n-notifika fil-qosor ta' kuljum tiegħek għal ħin konsistenti kull filgħaxija (rakkomandat: 7-8 PM) biex tikseb rapport regolari tal-istatus mingħajr għeja ta' allert.

Q4: Jistgħu dawn l-iskripts jaħdmu ma 'tankijiet multipli?

Iva - l-iskripts kollha f'din il-gwida jappoġġjaw tankijiet multipli. Għall-istħarriġ tal-API REST (Nee-Vo), żid entrati addizzjonali tas-sensorju REST għall-endpoint tal-API ta' kull tank. Għall-prokura ESPHome BLE, l-ESP32 jista' jaqbad reklami minn sensers BLE multipli simultanjament - sempliċement żid sensors tal-mudell għad-dejta ta' kull tank. Għall-iskripts tal-awtomazzjoni, idduplika l-entrati tal-awtomazzjoni u ibdel l-entity_id biex tirreferi għall-entità tas-sensor speċifika ta' kull tank (eż. sensor.propane_tank_level_garage, sensor.propane_tank_level_shop). F'Node-RED, żid fergħat addizzjonali propane_level_check għal kull tank.

Q5: Kif niddebug skript li mhux qed jaħdem?

Għall-iskripts tal-API REST: uża l-għodda tal-iżviluppatur tal-Assistent tad-Dar (Settings → Għodod tal-Iżviluppaturi → Editur tal-Mudelli) biex tittestja l-value_template tiegħek kontra data JSON mhux ipproċessata. Ikkopja kampjun ta' rispons API u waħħalha fl-editur tal-mudelli biex tivverifika l-estrazzjoni tal-passaġġ JSON tiegħek hija korretta. Għal skripts proxy ESPHome BLE: iċċekkja r-reġistri ESPHome (esphome logs propane_ble_proxy) biex tara jekk ir-reklami BLE humiex qed jinqabdu - jekk tara indirizzi MAC mhux ipproċessati iżda l-ebda dejta li tista' tinqara, is-sensor qed ixandar iżda l-format mhux rikonoxxut. Għall-iskripts tal-awtomazzjoni: uża l-għodda tat-traċċar tal-Assistent tad-Dar (tab tat-Traċċi fuq kull awtomazzjoni) biex tara eżattament x'wassal, liema kundizzjonijiet evalwati, u liema azzjonijiet saru. L-għodda tat-traċċa hija l-aktar għodda qawwija ta' debugging fl-Assistent tad-Dar - li turi l-istat eżatt ta' kull entità fil-mument li ħadet l-awtomazzjoni.


Il-Linja tal-qiegħ

Il-monitors tat-tankijiet tal-propan Otodata u Nee-Vo huma l-aħjar avviċinati permezz ta' strateġija ta' skriptjar parallela: uża l-pjattaforma tal-fornitur (Otodata jew Nee-Vo) għall-iskedar awtomatizzat tal-mili mill-ġdid, u skjega s-sensor ESPHome jew Mopeka tiegħek għal kontroll sħiħ tal-iskript tal-Assistent tad-Dar. Is-seba' skripts f'din il-gwida - REST API polling, ESPHome BLE proxy, tliet livelli ta' awtomazzjonijiet ta' twissija (twissija/mili mill-ġdid/kritika), skripts ta' integrazzjoni intelliġenti tad-dar (termostat, valvi, dwal), sensors tal-mudelli għal valuri derivati, Node-fluss viżwali AĦMAR, u sommarju ta' kuljum ta' sistema ta' monitoraġġ lokali jagħtik awtomatizzazzjoni sħiħa {5} li taħdem b'mod sħiħ. Assistent. L-esperjenza kollettiva tal-komunità r/homeassistant tikkonferma li dan l-approċċ parallel iwassal l-aħjar taż-żewġ dinjiet: overhead ta 'ġestjoni tal-fornitur żero, u sjieda sħiħa tad-dejta u flessibilità tal-awtomazzjoni fuq in-naħa tal-Home Assistant. Ibda bl-iskripts tal-awtomazzjoni (Script 3) u sensuri tal-mudelli (Script 5), imbagħad jespandi għall-prokura ESPHome BLE (Script 2) għal kopertura massima. Kull saff ta' skript iżid dimensjoni oħra ta' valur - minn viżibilità fil-livell bażiku għal integrazzjoni sħiħa tad-dar intelliġenti li twieġeb għal-livell tal-propan tiegħek awtomatikament.


Aġġornata l-aħħar: Lulju 2026

Ċaħda ta' responsabbiltà: Din il-gwida tipprovdi eżempji ta' skripts ta' Home Assistant u ESPHome għall-integrazzjoni tal-monitoraġġ tat-tank tal-propan Otodata u Nee-Vo għal skopijiet edukattivi. Il-punti finali tal-API, l-ismijiet tal-qasam, u l-formati JSON referenzjati f'din il-gwida huma eżempji rappreżentattivi - dejjem jivverifikaw l-istruttura attwali tal-API tiegħek bl-iskjerament speċifiku tiegħek ta' Nee-Vo qabel ma tikkonfigura s-sensuri REST. L-iskripts tal-proxy BLE tal-ESHome jaqbdu r-reklami BLE kollha fil-qrib - jiżguraw li tikkonforma mar-regolamenti lokali dwar il-monitoraġġ tal-apparat BLE. L-awtomazzjonijiet tal-Assistent tad-Dar jinteraġixxu ma'-sistemi tad-dinja reali inklużi l-HVAC, il-valvi tal-gass, u l-apparati elettriċi - jittestjaw l-awtomazzjonijiet kollha f'kundizzjonijiet sikuri qabel ma jiġu skjerati fil-produzzjoni. Din il-gwida mhix affiljata ma', approvata minn, jew sponsorjata minn Otodata, Nee-Vo, Home Assistant, ESPHome, Node-RED, jew il-komunità r/homeassistant.

Ibgħat l-inkjesta