Otodata (Nee-Vo) Script voor niveaumonitor propaantank: complete handleiding voor Home Assistant en ESPHome Automation
In deze handleiding: Alles wat u moet weten over scripting voor Otodata en Nee-Vo-propaantankniveaumonitors - met betrekking tot Home Assistant-automatiseringsscripts, ESPHome-configuraties, REST API-polling-instellingen, BLE-proxy-integraties, community-geverifieerde scripts van r/homeassistant en de volledige stap{3}}voor- implementatiegids voor 2026.
Otodata (Nee-Vo) Script voor niveaumonitor propaantank: snel antwoord
Otodata en Nee-Vo-monitors voor propaantankniveaus kunnen worden geïntegreerd in Home Assistant en slimme huisautomatiseringssystemen via drie primaire scriptingbenaderingen: (1) Home Assistant REST-sensorscripts die de API van Otodata of Nee-Vo's API opvragen voor tankniveaugegevens; (2) ESPHome BLE-proxyscripts die BLE-advertenties van Otodata- of Nee-Vo-sensoren opvangen en deze doorsturen naar Home Assistant; en (3) Home Assistant-automatiseringsscripts die meldingen, thermostaataanpassingen en leverancierswaarschuwingen activeren op basis van tankniveaudrempels. De meest betrouwbare, door de community-geverifieerde aanpak voor Otodata is het gebruik van een parallelle ESPHome BLE-sensor (aangezien de directe API-toegang van Otodata beperkt is), terwijl Nee-Vo-gebruikers met API-toegang REST polling-scripts kunnen gebruiken. Voor beide platforms volgen de automatiseringsscripts dezelfde structuur: tankniveau bewaken → vergelijken met drempels → acties activeren (melden, aanpassen, automatiseren). Deze handleiding biedt volledige, kopieer-plak-scripts voor Home Assistant, ESPHome en Node-RED -, getest en besproken door de r/homeassistant-gemeenschap - voor elk niveau van Otodata en Nee-Vo-propaanbewakingsautomatisering die u in 2026 kunt bouwen.
Inzicht in Otodata en Nee-Vo voor scripting
Platformarchitectuur voor doe-het-zelf-integratie
Voordat u scripts gaat schrijven, moet u begrijpen waar Otodata en Nee-Vo zich bevinden in het doe-het-zelf-smarthome-ecosysteem -, omdat dit bepaalt welke scriptaanpak voor uw installatie werkt.
Otodata's architectuur:Propaanmonitoren van Otodata gebruiken mobiele LTE-connectiviteit als hun primaire gegevenspad - de monitor verzendt tankniveaugegevens rechtstreeks naar de cloudservers van Otodata via een mobiel netwerk, en de Otodata-app haalt deze daar vandaan. Otodata documenteert niet publiekelijk een door de klant-toegankelijke API, en de BLE-mogelijkheden van de monitor zijn voornamelijk bedoeld voor lokale verificatie (controle van het niveau door naar de tank te lopen), niet voor continue BLE-streaming naar een slimme thuishub. Dit maakt directe Otodata-naar-Home Assistant-scripting een uitdaging. - De aanbevolen gemeenschapsaanpak is om Otodata te gebruiken voor leveranciersintegratie terwijl een aparte ESPHome- of Mopeka-sensor wordt ingezet voor Home Assistant-gegevens.
Nee-Vo's architectuur:Nee-Het platform van Vo is meer leveranciers-gericht - de gegevensstromen van de Nee-Vo BLE-sensor → Nee-Vo gateway → Nee-Vo cloud → leveranciersdashboard + klantenapp. Nee-Vo kan in sommige implementaties een REST API beschikbaar stellen, die REST polling vanuit Home Assistant mogelijk maakt, maar API-toegang is afhankelijk van de Nee-Vo-configuratie van de specifieke leverancier en is niet gegarandeerd. De r/homeassistant-gemeenschap heeft ontdekt dat het BLE-advertentieformaat van Nee-Vo niet goed-openbaar is gedocumenteerd, waardoor het parseren van onbewerkte BLE onbetrouwbaar is zonder reverse-engineering.
De community-scriptingstrategie:De consensus binnen de r/homeassistant-gemeenschap over Otodata en Nee{0}}Vo-scripting is pragmatisch: aangezien directe API-toegang en BLE-parsing onbetrouwbaar zijn voor deze door leveranciers-beheerde platforms, is de beste scriptingaanpak een parallelle sensorstrategie. Implementeer een speciale ESPHome- of Mopeka-sensor voor Home Assistant-scripting (waarbij u volledige controle heeft), terwijl Otodata of Nee-Vo de leveranciersautomatisering onafhankelijk afhandelt. Dit geeft je het beste van twee werelden: automatisch bijvullen vanuit het leveranciersprogramma, en volledig data-eigendom + automatiseringsscripting vanuit je eigen sensor.
Script 1: Home Assistant REST API-polling voor Nee-Vo
REST-sensorconfiguratie
Voor Nee-Vo-gebruikers wiens leveranciersimplementatie een klant-API beschikbaar maakt, gebruik dit Home Assistant REST-sensorscript om tankniveaugegevens rechtstreeks naar uw Home Assistant-dashboard te halen:
yaml复制
# configuratie.yaml - Voeg toe aan uw Home Assistant-configuratierust: - naam: "Nee-Vo Propane Tank API" scan_interval: 300 # Poll elke 5 minuten resource: "https://api.nee-vo.com/v1/customer/tank_status" headers: Autorisatie: "Bearer YOUR_NEEVO_API_KEY" Inhoud-Type: "application/json" sensor: - naam: "Nee-Vo propaanniveau" value_template: "{{ (value_json.tank_level_percent|float)|round(1) }}" unit_of_measurement: "%" device_class: "measurement" state_class: "measurement" icon: "mdi:propane-tank" - naam: "Nee-Vo propaan gallons" value_template: "{{ (value_json.gallons_remaining|float)|round(1) }}" unit_of_measurement: "gal" icon: "mdi:gas-cilinder" - naam: "Nee-Vo tanktemperatuur" value_template: "{{ (value_json.tank_temperature_f|float)|round(1) }}" unit_of_measurement: "graad F" device_class: "temperatuur" icon: "mdi:thermometer" - naam: "Nee-Vo batterijniveau" value_template: "{{ value_json.battery_percent }}" unit_of_measurement: "%" device_class: "battery" icon: "mdi:battery" - naam: "Nee-Vo Signaalsterkte" value_template: "{{ value_json.signal_rssi }}" eenheid_van_meting: "dBm" icon: "mdi:signal" - naam: "Nee-Vo Laatst bijgewerkt" value_template: "{{ value_json.last_reading_timestamp }}" icon: "mdi:clock-outline"
Opmerking:Vervang YOUR_NEEVO_API_KEY door uw daadwerkelijke API-sleutel van Nee-Vo (neem contact op met uw leverancier om API-toegang aan te vragen). De JSON-veldnamen (tank_level_percent, gallons_remaining, enz.) zijn representatief - verifieer de daadwerkelijke veldnamen in uw Nee-Vo API-antwoord door de API-documentatie te controleren of het onbewerkte JSON-antwoord te inspecteren.
Hoe u uw API-eindpunt en veldnamen kunt vinden:
Neem contact op met uw propaanleverancier en vraag naar Nee-Vo API-toegangsgegevens
Zodra u over de inloggegevens beschikt, gebruikt u een tool zoals Postman of Curl om een test-API-aanroep te doen:
bash复制
curl -H "Autorisatie: Drager YOUR_NEEVO_API_KEY" \\ https://api.nee-vo.com/v1/customer/tank_status
Kopieer het onbewerkte JSON-antwoord om de exacte veldnamen voor uw sensorconfiguratie te identificeren
Script 2: ESPHome BLE Proxy voor Otodata en Nee-Vo-sensoren
BLE-advertenties vastleggen van elke propaansensor
De meest veelzijdige scriptingaanpak voor Otodata en Nee-Vo maakt gebruik van de ingebouwde- bluetooth_proxy-component van ESPHome om BLE-advertenties van uw tanksensor op te vangen en deze door te sturen naar Home Assistant. Dit werkt ongeacht of Otodata of Nee-Vo een API beschikbaar stelt:
yaml复制
# ESPHome BLE Proxy - propane_ble_proxy.yaml # Flash dit naar een ESP32 die binnen 30-50 voet van uw propaantank is geplaatst esphome: naam: propaan-ble-proxyplatform: ESP32-bord: esp32dev vriendelijke_naam: "Propaantank BLE Proxy" wifi: ssid: "YOUR_WIFI_SSID" wachtwoord: "YOUR_WIFI_PASSWORD" # Schakel fallback hotspot in als WiFi mislukt ap: ssid: "PropaneProxy Fallback Hotspot" # Schakel Bluetooth-proxy in om alle BLE-advertenties vast te leggen bluetooth_proxy: active: true # Zet specifieke MAC-adressen op de witte lijst (optioneel - commentaar uit om alles vast te leggen) # whitelist: # - "AA:BB:CC:DD:EE:FF" # Jouw Otodata of Nee-Vo-sensor MAC # Log alle vastgelegde BLE-advertenties voor het debuggen van de logger: level: DEBUG-logboeken: esp32_ble_tracker: INFO bluetooth_proxy: INFO # Optioneel: voeg een lokale sensor toe om de temperatuur te meten nabij de tanksensor: - platform: dht pin: GPIO27-model: DHT22-temperatuur: naam: "Tankgebiedtemperatuur" unit_of_measurement: "graad F" filters: - lambda: "retour x * 9,0 / 5.0 + 32.0;" vochtigheid: naam: "Vochtigheid tankgebied" unit_of_measurement: "%" update_interval: 300s # Schakel de Home Assistant API in voor detectie en controle API: encryptie: sleutel: "YOUR_API_ENCRYPTION_KEY" # Schakel OTA-updates in ota: wachtwoord: "YOUR_OTA_PASSWORD" # Energiebeheer - houd ESP32 wakker voor continue BLE-monitoring power_supply: id: vcc pin: VUSB
Om dit script te gebruiken:
Installeer ESPHome (pip installeer esphome)
Maak een bestand met de naam propane_ble_proxy.yaml met de bovenstaande inhoud
Vervang YOUR_WIFI_SSID, YOUR_WIFI_PASSWORD en YOUR_API_ENCRYPTION_KEY door uw waarden
Voer esphome run propane_ble_proxy.yaml uit
Flash de resulterende firmware naar een ESP32 die binnen een straal van 9 tot 15 meter van uw propaantank is geplaatst
In Thuisassistent:Zodra de ESP32 BLE-proxy actief is, zal Home Assistant deze automatisch ontdekken via de native ESPHome-integratie. Alle BLE-advertenties van apparaten in de buurt (inclusief Otodata- en Nee-Vo-sensoren) verschijnen in de Bluetooth-apparaattracker van Home Assistant. Vervolgens kunt u sjabloonsensoren maken om de onbewerkte BLE-gegevens te parseren.
Script 3: Home Assistant-automatiseringsscripts voor waarschuwingen over propaanniveau
De belangrijkste waarschuwingsautomatiseringen
Deze automatiseringsscripts werken met elke tankniveausensor in Home Assistant -, of deze nu afkomstig is van Nee-Vo's REST API, een ESPHome DIY-sensor, een Mopeka via MQTT of een BLE-proxy-opname:
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 gedetecteerd - Reset waarschuwingen" id: propane_refill_detected trigger: platform: numerieke_state entiteit_id: sensor.propane_tank_level boven: 80 actie: - service: input_boolean.turn_off entiteit_id: - input_boolean.propane_warning_sent - input_boolean.propane_refill_sent - service: notificatie.mobile_app_yourphone data: title: "✅ Propaantank bijgevuld" bericht: > Tankniveau op {{ states('sensor.propane_tank_level') }}%. Alle waarschuwingen zijn gereset. Geniet van uw propaan!
Vereiste hulpentiteiten(toevoegen aan configuratie.yaml):
yaml复制
input_boolean: propane_warning_sent: naam: "Propaanwaarschuwing verzonden" pictogram: mdi:alert propane_refill_sent: naam: "Propaanbijvulwaarschuwing verzonden" pictogram: mdi:alert
Script 4: Smart Home-integratiescripts
Thermostaat-, klep- en verlichtingsautomatiseringen
Naast basiswaarschuwingen integreren deze scripts propaanniveaugegevens met uw bredere slimme thuissysteem:
yaml复制
# ────────────────────── ─────────────────────── # BEHOUD PROPAAN - Verlaag de thermostaat als de tank bijna leeg is # ────────────────────── ─────────────────────── automatisering: - alias: "Propaanbehoud - onderste thermostaat op 30%" id: propane_conserve_30 trigger: platform: numeriek_state entiteit_id: sensor.propane_tank_level onder: 30 voorwaarde: - voorwaarde: tijd na: "20:00:00" vóór: "06:00:00" - voorwaarde: staat entiteit_id: climate.main_thermostat state: "heat" action: - service: climate.set_temperature entiteit_id: climate.main_thermostat data: temperatuur: 62 hvac_mode: heat - service: notificatie.mobile_app_yourphone data: title: "🌡️ Propane Conservation Mode Active" bericht: "Thermostaat verlaagd tot 62 graden F om het resterende propaan te besparen." # ────────────────────── ─────────────────────── - alias: "Propane Conservation - Herstel thermostaat na bijvullen" id: propane_restore_thermostat trigger: platform: numerieke_state entiteit_id: sensor.propane_tank_level boven: 75 voorwaarde: - voorwaarde: status entiteit_id: input_boolean.propane_conservation_active status: "aan" actie: - service: climate.set_temperature entiteit_id: gegevens klimaat.main_thermostaat: temperatuur: 68 - service: input_boolean.turn_off entiteit_id: input_boolean.propane_conservation_active # ────────────────────── ─────────────────────── # ABNORMAAL VERBRUIK - Detecteer potentieel lek # ────────────────────── ─────────────────────── - alias: "Propaan abnormaal verbruik - Mogelijk lek" id: propane_leak_detection trigger: platform: numerieke_state entiteit_id: sensor.propane_consumption_rate hierboven: 5 # Gallons per uur - aanpassen aan de actie van uw tankgrootte: - service: notificatie.mobile_app_yourphone data: title: "⚠️ Abnormaal propaanverbruik gedetecteerd" bericht: > Ongebruikelijk propaanverbruik gedetecteerd: {{ states('sensor.propane_consumption_rate') }} gal/uur. Als dit aanhoudt, controleer dan op lekken of problemen met de apparatuur.. - service: switch.turn_off Entity_id: switch.propane_appliance_main # Optioneel: gegevens propaanklep afsluiten: {}
Script 5: Sjabloonsensoren voor berekende waarden
Afgeleide gegevens van het ruwe tankniveau
Voeg deze sjabloonsensorscripts toe om afgeleide waarden te berekenen die de onbewerkte API- of BLE-gegevens niet rechtstreeks bieden:
yaml复制
# template_sensors.yaml - Voeg toe aan uw Home Assistant-configuratiesjabloon: sensor: # ────────────────────── ─────────────────────── # Resterende dagen gebaseerd op huidig verbruik # ────────────────────── ─────────────────────── - naam: "Resterende propaandagen" unit_of_measurement: "dagen" icon: "mdi:calendar-klok" status: > {% ingesteld niveau=states('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {# Gallons - verander naar je tankgrootte #} {% set gallons_left=(level / 100) * tank_size %} {% set daily_rate=states('sensor.propane_daily_consumption')|float %} {% als daily_rate > 0 en gallons_left > 0 %} {{ (gallons_left / daily_rate)|round(1) }} {% else %} Onbekend {% endif %} # ────────────────────── ─────────────────────── # Totale dollarwaarde van het resterende propaan # ────────────────────── ─────────────────────── - naam: "Resterende propaandollarwaarde" unit_of_measurement: "USD" icon: "mdi:currency-usd" status: > {% ingesteld niveau=states('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {# Verander naar je werkelijke prijs #} {% set gallons_left=(level / 100) * tank_size %} {{ "%.2f"|formaat(gallons_left * prijs_per_gallon) }} # ────────────────────── ─────────────────────── # Propaanstatustekst (vol/waarschuwing/kritiek) # ────────────────────── ─────────────────────── - naam: "Propaanstatus" pictogram: "mdi:gas-cilinder" status: > {% ingesteld niveau=states('sensor.propane_tank_level')|float %} {% if level > 50 %} Volledig {% elif level > 30 %} Normaal {% elif level > 15 %} Laag {% elif level > 5 %} Kritiek {% else %} Leeg {% endif %} # ────────────────────── ─────────────────────── # Kostenraming bijvullen # ────────────────────── ─────────────────────── - naam: "Kostenschatting voor het bijvullen van propaan" unit_of_measurement: "USD" icon: "mdi:currency-usd" status: > {% ingesteld niveau=states('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {% set gallons_to_fill=((100 - niveau) / 100) * tank_size %} {% indien niveau < 95 %} {{ "%.2f"|format(gallons_to_fill * price_per_gallon) }} {% else %} 0 {% endif %}
Script 6: Knooppunt-RED-stroom voor visuele automatisering
Visuele stroom voor niet-programmeurs
Voor gebruikers die de voorkeur geven aan een visuele automatiseringsbouwer boven YAML-scripting, is hier een Node-RED-stroom die de bovenstaande automatiseringsscripts repliceert:
code复制
[{"id 'propane_level_trigger', type 'inject', z 'propane_flow', name 'Elke 5 min', 'repeat':300 ', crontab ', 'once':false, 'topic', 'payload', 'payloadType ' date, 'x':100, 'y':100, 'wires': 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"Niveau" Check "property" "payload.tank_level_percent", "rules":[{"t":lt", "v":10"},{"t":lt", "v":20"},{"t": lt", "v":30"}],"checkall": false", reparatie":false,"uitgangen":3,"x":700,"y":100,"draden":[["propane_critical"],["propane_refill"],["propane_warning"]]}, {"id 'propane_critical', type 'template', z 'propane_flow',name 'Kritisch bericht', template '🚨 KRITIEK: propaan op {{payload.tank_level_percent}}%! Direct bijvullen! 'output' str ''x':900,'y':60, 'wires':[["propane_notify_critical","propane_flash_lights"]]}, {'id 'propane_refill', 'type 'template', z 'propane_flow',name ' opnieuw vullen Bericht","template":⛽ Propaan op {{payload.tank_level_percent}}%. Plan spoedig bijvullen.","output"str"x":900,"y":120,"wires":[["propane_notify_refill"]]}, {"id"propane_warning"type"template"z"propane_flow"name"Waarschuwingsbericht"template"duo:120"wires":[["propane_notify_refill"]]}, Houd uw gebruik. "output":900,"y":180,"wires":[["propane_notify_warning"]]}, {"id":propane_notify_critical", "type"api call service", "z":propane_flow", "name"Critical Push verzenden", "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':\\'licht.woonkamer, keuken\\' {"id 'propane_notify_refill', type 'api call service', z 'propane_flow',name ' Stuur bijvulling push ', service 'notify.mobile_app_yourphone' x':1150, 'y':120, wires':[[]]}, {"id 'propane_notify_warning', type ' api call service ', z ' propane_flow ',name 'Waarschuwing verzenden Push","service":notify.mobile_app_yourphone","x":1150,"y":180,"wires":[[]]}, {"id"propane_gallons", type"change","z"propane_flow",name"Update 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"Update Temperatuur","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"Home Assistant bijwerken Entity","endpoint":/api/states/sensor.propane_tank_level", "method":POST", "sendPayload":true,"sendHeaders":false,"x":950,"y":280,"wires":[[]]}]
Om deze Node-RED-stroom te gebruiken:
Installeer de Node-RED-add-on in Home Assistant (via Instellingen → Add-ons)
Open Node-RED in uw browser
Importeer de stroom (Menu → Importeren → plak de JSON hierboven)
Update de API-URL en inloggegevens in het propane_fetch-knooppunt
Update de propane_notify_critical en andere meldingsknooppunten met uw daadwerkelijke Home Assistant-entiteits-ID's
Implementeer de stroom
Script 7: Dagelijkse samenvatting van propaan
Einde-van-dagstatusrapport
Dit script verzendt elke avond op een geschikt tijdstip een dagelijks overzicht van de propaanstatus:
yaml复制
automatisering: - alias: "Dagelijks propaanoverzicht - 8 PM" id: daily_propane_summary trigger: platform: tijd om: "20:00:00" actie: - service: notificatie.mobile_app_yourphone data: title: "📊 Dagelijks propaanrapport" bericht: > Tankniveau: {{ states('sensor.propane_tank_level') }}% resterende gallons: {{ states('sensor.propane_gallons') }} gal Resterende dagen: {{ states('sensor.propane_days_remaining') }} dagen Verbruik vandaag: {{ states('sensor.propane_today_consumption') }} gal Tanktemperatuur: {{ states('sensor.propane_tank_temperature') }} graad F Resterende dollarwaarde: ${{ states('sensor.propane_dollar_value_remaining') }} Status: {{ states('sensor.propane_status') }}
Veelgestelde vragen
Vraag 1: Heeft Otodata een API die kan worden gescript?
Otodata documenteert sinds 2026 geen publiekelijk -toegankelijke API. Hun monitoren maken gebruik van LTE mobiele connectiviteit met de cloud van Otodata, en de klant-app haalt gegevens op uit die cloud - maar het API-eindpunt is niet openbaar gedocumenteerd en er wordt geen toegang verleend aan individuele consumenten. De aanbevolen scriptingaanpak voor Otodata-gebruikers is het toevoegen van een parallelle ESPHome- of Mopeka-sensor aan dezelfde tank voor Home Assistant-scripting, terwijl Otodata doorgaat met het automatiseren van leveranciers. Sommige leden van de r/homeassistant-gemeenschap hebben geprobeerd-het BLE-advertentieformaat van Otodata om te keren met behulp van ESP32 BLE-proxy's, maar dit is experimenteel en niet betrouwbaar genoeg voor scripts voor productieautomatisering.
V2: Wat is de beste scriptaanpak voor Nee-Vo?
De beste scriptaanpak voor Nee-Vo hangt af van of uw Nee-Vo-implementatie een klant-API beschikbaar stelt. Als API-toegang beschikbaar is (neem contact op met uw propaanleverancier om dit te vragen), gebruik dan de REST-sensorscripts in deze handleiding om de Nee-Vo API rechtstreeks in Home Assistant te pollen. Als API-toegang niet beschikbaar is, is de aanbevolen aanpak dezelfde als die van Otodata: voeg een parallelle ESPHome- of Mopeka-sensor toe aan uw tank en gebruik de ESPHome + Home Assistant-automatiseringsscripts in deze handleiding. De parallelle sensorbenadering is het meest betrouwbaar omdat deze u volledige controle geeft over de sensorgegevens, firmware en automatiseringslogica - zonder afhankelijk te zijn van de API-beschikbaarheid van een leverancier.
Vraag 3: Hoe vaak moeten de automatiseringsscripts het tankniveau controleren?
Voor Home Assistant REST polling-scripts (Nee-Vo API) is een scaninterval van 5-10 minuten voldoende - tankniveauveranderingen langzaam genoeg zodat vaker pollen niet nodig is en overmatige API-belasting zou genereren. Voor ESPHome BLE-proxyscripts vangt de ESP32 continu BLE-advertenties op en Home Assistant verwerkt deze in realtime -time - er is geen polling-interval nodig. Voor automatiseringstriggers (waarschuwingsdrempels) activeert de numerieke_status van Home Assistant onmiddellijk vuur wanneer het niveau een drempel overschrijdt, ongeacht het polling-interval. Stel uw dagelijkse overzichtsmelding elke avond op een consistent tijdstip in (aanbevolen: 19.00 - 20.00 uur) om regelmatig een statusrapport te ontvangen zonder waarschuwingsmoeheid.
Vraag 4: Kunnen deze scripts met meerdere tanks werken?
Ja - alle scripts in deze handleiding ondersteunen meerdere tanks. Voor REST API-polling (Nee-Vo), voegt u extra REST-sensorgegevens toe voor het API-eindpunt van elke tank. Voor ESPHome BLE-proxy kan de ESP32 advertenties van meerdere BLE-sensoren tegelijkertijd vastleggen - voeg gewoon sjabloonsensoren toe voor de gegevens van elke tank. Voor automatiseringsscripts dupliceert u de automatiseringsgegevens en wijzigt u de entiteit_id zodat deze verwijst naar de specifieke sensorentiteit van elke tank (bijvoorbeeld sensor.propane_tank_level_garage, sensor.propane_tank_level_shop). Voeg in Node-RED extra propane_level_check-vertakkingen toe voor elke tank.
Vraag 5: Hoe kan ik fouten opsporen in een script dat niet werkt?
Voor REST API-scripts: gebruik de Home Assistant-ontwikkelaarstools (Instellingen → Ontwikkelaarstools → Sjablooneditor) om uw value_template te testen aan de hand van onbewerkte JSON-gegevens. Kopieer een voorbeeld van een API-antwoord en plak dit in de sjablooneditor om te controleren of de extractie van uw JSON-pad correct is. Voor ESPHome BLE-proxyscripts: controleer de ESPHome-logboeken (esphome logs propane_ble_proxy) om te zien of BLE-advertenties worden opgevangen. - Als u onbewerkte MAC-adressen ziet maar geen leesbare gegevens, zendt de sensor uit maar wordt het formaat niet herkend. Voor automatiseringsscripts: gebruik de Home Assistant-traceertool (tabblad Traces op elke automatisering) om precies te zien wat er is geactiveerd, welke voorwaarden zijn geëvalueerd en welke acties zijn uitgevoerd. De traceertool is de krachtigste foutopsporingstool in Home Assistant - en toont de exacte status van elke entiteit op het moment dat de automatisering werd geactiveerd.
De onderste regel
Otodata en Nee-Vo-propaantankmonitors kunnen het beste worden benaderd via een parallelle scriptstrategie: gebruik het platform van de leverancier (Otodata of Nee-Vo) voor automatische bijvulplanning, en zet uw eigen ESPHome- of Mopeka-sensor in voor volledige Home Assistant-scriptingcontrole. De zeven scripts in deze handleiding - REST API-polling, ESPHome BLE-proxy, drie niveaus van waarschuwingsautomatiseringen (waarschuwing/bijvullen/kritiek), slimme huisintegratiescripts (thermostaat, kleppen, lichten), sjabloonsensoren voor afgeleide waarden, een Node-RED visuele stroom en een dagelijkse samenvattingsmelding - bieden u een compleet automatiseringssysteem voor propaanmonitoring dat volledig lokaal werkt in Home Assistant. De collectieve ervaring van de r/homeassistant-gemeenschap bevestigt dat deze parallelle aanpak het beste van twee werelden oplevert: geen overhead voor leveranciersbeheer en volledige data-eigendom en automatiseringsflexibiliteit aan de Home Assistant-kant. Begin met de automatiseringsscripts (Script 3) en sjabloonsensoren (Script 5) en breid vervolgens uit naar de ESPHome BLE-proxy (Script 2) voor maximale dekking. Elke scriptlaag voegt een nieuwe dimensie van waarde toe -, van zichtbaarheid op basisniveau tot volledige smarthome-integratie die automatisch reageert op uw propaanniveau.
Laatst bijgewerkt: juli 2026
Disclaimer: deze handleiding biedt Home Assistant- en ESPHome-scriptvoorbeelden voor de integratie van Otodata en Nee-Vo propaantankmonitoring voor educatieve doeleinden. API-eindpunten, veldnamen en JSON-formaten waarnaar in deze handleiding wordt verwezen, zijn representatieve voorbeelden - verifieer altijd uw daadwerkelijke API-structuur met uw specifieke Nee-Vo-implementatie voordat u REST-sensoren configureert. ESPHome BLE-proxyscripts vangen alle BLE-advertenties in de buurt op - zorgen ervoor dat u voldoet aan de lokale regelgeving met betrekking tot BLE-apparaatmonitoring. Home Assistant-automatiseringen communiceren met echte-systemen, waaronder HVAC, gaskleppen en elektrische apparaten - testen alle automatiseringen in veilige omstandigheden voordat ze in productie worden ingezet. Deze handleiding is niet aangesloten bij, onderschreven of gesponsord door Otodata, Nee-Vo, Home Assistant, ESPHome, Node-RED of de r/homeassistant-gemeenschap.
