Otodata (Nee-Vo) پروپین ٹینک لیول مانیٹر اسکرپٹ

Jul 28, 2026

ایک پیغام چھوڑیں۔

Otodata (Nee-Vo) پروپین ٹینک لیول مانیٹر اسکرپٹ: مکمل ہوم اسسٹنٹ اور ESPHome آٹومیشن گائیڈ

اس گائیڈ میں: ہر وہ چیز جو آپ کو Otodata اور Nee کے لیے اسکرپٹنگ کے بارے میں جاننے کی ضرورت ہے-Vo پروپین ٹینک لیول مانیٹر - کور اسسٹنٹ آٹومیشن اسکرپٹس، ESPHome کنفیگریشنز، REST API پولنگ سیٹ اپس، BLE پراکسی انٹیگریشنز، کمیونٹی-تصدیق شدہ اسکرپٹس، r/host سے مکمل 2026 کے لیے مرحلہ-درجہ-عمل درآمد گائیڈ۔


Otodata (Nee-Vo) پروپین ٹینک لیول مانیٹر اسکرپٹ: فوری جواب

Otodata اور Nee-Vo پروپین ٹینک لیول مانیٹرس کو ہوم اسسٹنٹ اور سمارٹ ہوم آٹومیشن سسٹمز میں تین بنیادی اسکرپٹنگ طریقوں کے ذریعے ضم کیا جا سکتا ہے: (1) ہوم اسسٹنٹ REST سینسر اسکرپٹس جو Otodata's API یا Nee-Vo's API کو ٹینک لیول ڈیٹا کے لیے پول کرتے ہیں۔ (2) ESPHome BLE پراکسی اسکرپٹس جو Otodata یا Nee-Vo سینسرز سے BLE اشتہارات حاصل کرتی ہیں اور انہیں ہوم اسسٹنٹ کو بھیجتی ہیں۔ اور (3) ہوم اسسٹنٹ آٹومیشن اسکرپٹس جو ٹینک لیول تھریشولڈز کی بنیاد پر اطلاعات، تھرموسٹیٹ ایڈجسٹمنٹ، اور سپلائر الرٹس کو متحرک کرتی ہیں۔ Otodata کے لیے سب سے زیادہ قابل اعتماد کمیونٹی-تصدیق شدہ نقطہ نظر ایک متوازی ESPHome BLE سینسر کا استعمال کر رہا ہے (چونکہ Otodata کی براہ راست API رسائی محدود ہے)، جبکہ Nee-API رسائی والے Vo صارفین REST پولنگ اسکرپٹس استعمال کر سکتے ہیں۔ دونوں پلیٹ فارمز کے لیے، آٹومیشن اسکرپٹ ایک ہی ڈھانچے کی پیروی کرتے ہیں: مانیٹر ٹینک کی سطح → حد سے موازنہ کریں → ٹرگر ایکشنز (اطلاع دیں، ایڈجسٹ کریں، خودکار)۔ یہ گائیڈ ہوم اسسٹنٹ، ESPHome، اور نوڈ کے لیے مکمل، کاپی-پیسٹ-اسکرپٹس فراہم کرتا ہے-RED - جس کا تجربہ کیا گیا اور r/homeassistant کمیونٹی - نے Otodata اور Nee کے ہر سطح کا احاطہ کرتے ہوئے{16}Vo propane2020 میں خودکار طریقے سے مانیٹرنگ کر سکتے ہیں۔


Otodata اور Nee-Vo for Scripting کو سمجھنا

DIY انٹیگریشن کے لیے پلیٹ فارم آرکیٹیکچر

اسکرپٹ لکھنے سے پہلے، سمجھیں کہ Otodata اور Nee-Vo DIY سمارٹ ہوم ایکو سسٹم میں کہاں بیٹھتے ہیں - کیونکہ یہ طے کرتا ہے کہ آپ کے سیٹ اپ کے لیے کون سا اسکرپٹنگ اپروچ کام کرے گا۔

اوٹوڈیٹا کا فن تعمیر:Otodata پروپین مانیٹر LTE سیلولر کنیکٹوٹی کو اپنے بنیادی ڈیٹا پاتھ کے طور پر استعمال کرتے ہیں - مانیٹر ٹینک لیول کا ڈیٹا براہ راست Otodata کے کلاؤڈ سرورز کو سیلولر نیٹ ورک کے ذریعے بھیجتا ہے، اور Otodata ایپ اسے وہاں سے بازیافت کرتی ہے۔ Otodata عوامی طور پر کسی صارف-قابل رسائی API کو دستاویز نہیں کرتا ہے، اور مانیٹر کی BLE صلاحیت بنیادی طور پر مقامی تصدیق کے لیے ہے (ٹینک تک چل کر سطح کی جانچ کرنا)، نہ کہ اسمارٹ ہوم ہب تک مسلسل BLE اسٹریمنگ کے لیے۔ یہ براہ راست Otodata-سے-ہوم اسسٹنٹ اسکرپٹنگ کو چیلنج کرتا ہے - تجویز کردہ کمیونٹی اپروچ یہ ہے کہ سپلائر کے انضمام کے لیے Otodata کا استعمال کیا جائے جبکہ ہوم اسسٹنٹ ڈیٹا کے لیے علیحدہ ESPHome یا Mopeka سینسر کی تعیناتی کی جائے۔

نی-وو کا فن تعمیر:Nee-Vo کا پلیٹ فارم زیادہ فراہم کنندہ ہے-مرکزی - ڈیٹا Nee سے آتا ہے-Vo BLE سینسر → Nee-Vo gateway → Nee-Vo cloud → سپلائر ڈیش بورڈ + کسٹمر ایپ۔ Nee-Vo کچھ تعیناتیوں میں REST API کو ظاہر کر سکتا ہے، جو ہوم اسسٹنٹ سے REST پولنگ کو قابل بناتا ہے، لیکن API تک رسائی مخصوص سپلائر کی Nee-Vo کی ترتیب پر منحصر ہے اور اس کی ضمانت نہیں ہے۔ r/homeassistant کمیونٹی نے پایا ہے کہ Nee-Vo کے BLE اشتہار کا فارمیٹ ٹھیک نہیں ہے-عوامی طور پر دستاویزی ہے، جس سے خام BLE پارسنگ کو ریورس-انجینئرنگ کے بغیر ناقابل بھروسہ بنایا گیا ہے۔

کمیونٹی اسکرپٹنگ کی حکمت عملی:Otodata اور Nee-Vo اسکرپٹنگ پر r/homeassistant کمیونٹی کا اتفاق عملی ہے: چونکہ براہ راست API رسائی اور BLE پارسنگ ان فراہم کنندہ-منظم پلیٹ فارمز کے لیے ناقابل بھروسہ ہے، اس لیے اسکرپٹنگ کا بہترین طریقہ ایک متوازی سینسر کی حکمت عملی ہے۔ ہوم اسسٹنٹ اسکرپٹنگ (جہاں آپ کے پاس مکمل کنٹرول ہے) کے لیے ایک وقف شدہ ESPHome یا Mopeka سینسر تعینات کریں، جبکہ Otodata یا Nee-Vo سپلائر آٹومیشن کو آزادانہ طور پر ہینڈل کرتا ہے۔ یہ آپ کو دونوں جہانوں میں بہترین چیزیں فراہم کرتا ہے: سپلائر پروگرام سے خودکار ریفلز، اور مکمل ڈیٹا کی ملکیت + آپ کے اپنے سینسر سے آٹومیشن اسکرپٹنگ۔


اسکرپٹ 1: ہوم اسسٹنٹ REST API پولنگ برائے Nee{1}}Vo

REST سینسر کنفیگریشن

Nee-Vo صارفین کے لیے جن کے سپلائر کی تعیناتی کسٹمر API کو ظاہر کرتی ہے، یہ ہوم اسسٹنٹ REST سینسر اسکرپٹ استعمال کریں تاکہ ٹینک لیول ڈیٹا کو براہ راست اپنے ہوم اسسٹنٹ ڈیش بورڈ میں کھینچیں:

yaml复制

# configuration.yaml - اپنے ہوم اسسٹنٹ کنفیگریشن ریسٹ میں شامل کریں: - name: "Nee-Vo Propane Tank API" scan_interval: 300 # پول ہر 5 منٹ پر وسائل: "https://api.nee-vo.com/v1/customer"/tank_status: "headerstearization:" آپ کا مواد device_class: "maasurement" state_class: "measurement" icon: "mdi:propane-tank" - name: "Nee-Vo Propane Gallons" value_template: "{{ (value_json.gallons_remaining|Unit)" float_1}"_of_ground"}|icon: "mdi:gas-cylinder" - name: "Nee-Vo Tank Temperature" value_template: "{{ (value_json.tank_temperature_f|float)|round(1) }}" unit_of_measurement: "degree icondimter:" device: "temperature" - نام: "Nee-Vo بیٹری لیول" ویلیو_ٹیمپلیٹ: "{{ value_json.battery_percent }}" unit_of_measurement: "%" device_class: "battery" icon: "mdi:battery" - name: "Nee{{template"{60}} کی قیمت: value_json.signal_rssi }}" unit_of_measurement: "dBm" آئیکن: "mdi:signal" - name: "Nee-Vo Last Updated" value_template: "{{ value_json.last_reading_timestamp }}" icon: "mdi:".

نوٹ:YOUR_NEEVO_API_KEY کو Nee-Vo سے اپنی اصل API کلید سے تبدیل کریں (API رسائی کی درخواست کرنے کے لیے اپنے سپلائر سے رابطہ کریں)۔ JSON فیلڈ کے نام (tank_level_percent، gallons_remaining، وغیرہ) نمائندہ ہیں - اپنے Nee میں حقیقی فیلڈ کے ناموں کی تصدیق کریں{10}}API دستاویزات کو چیک کرکے یا خام JSON جواب کا معائنہ کرکے Vo API جواب دیں۔

اپنے API کے اختتامی نقطہ اور فیلڈ کے نام کیسے تلاش کریں:

اپنے پروپین سپلائر سے رابطہ کریں اور Nee-Vo API رسائی کی اسناد طلب کریں

ایک بار جب آپ کے پاس اسناد ہو جائیں تو، ٹیسٹ API کال کرنے کے لیے پوسٹ مین یا curl جیسے ٹول کا استعمال کریں:

bash复制

curl -H "اجازت: بیئرر YOUR_NEEVO_API_KEY" \\ https://api.nee-vo.com/v1/customer/tank_status

اپنے سینسر کنفیگریشن کے عین مطابق فیلڈ کے ناموں کی شناخت کے لیے خام JSON جواب کو کاپی کریں۔


اسکرپٹ 2: ESPHome BLE پراکسی برائے Otodata & Nee-Vo سینسر

کسی بھی پروپین سینسر سے BLE اشتہارات حاصل کرنا

Otodata اور Nee{0}Vo کے لیے سب سے زیادہ ورسٹائل اسکرپٹنگ اپروچ آپ کے ٹینک سینسر سے BLE اشتہارات کیپچر کرنے اور ہوم اسسٹنٹ کو فارورڈ کرنے کے لیے ESPHome کے بلٹ-بلوٹوتھ_proxy جزو کا استعمال کر رہا ہے۔ یہ اس بات سے قطع نظر کام کرتا ہے کہ Otodata یا Nee-Vo ایک API کو ظاہر کرتا ہے:

yaml复制

# ESPHome BLE پراکسی - propane_ble_proxy.yaml # اسے اپنے پروپین ٹینک کے 30-50 فٹ کے فاصلے پر رکھے ہوئے ESP32 پر فلیش کریں esphome: name: propane-ble-proxy platform: ESP32 board: esply_ble_proxy. wifi: ssid: "YOUR_WIFI_SSID" پاس ورڈ: "YOUR_WIFI_PASSWORD" # وائی فائی کے ناکام ہونے کی صورت میں فال بیک ہاٹ اسپاٹ کو فعال کریں: ssid: "PropaneProxy Fallback Hotspot" # تمام BLE اشتہارات کیپچر کرنے کے لیے بلوٹوتھ پراکسی کو فعال کریں: بلوٹوتھ_پروکسی مخصوص ایڈریس - سب کو کیپچر کرنے کے لیے تبصرہ کریں) # وائٹ لسٹ: # - "AA:BB:CC:DD:EE:FF" # آپ کا اوٹو ڈیٹا یا نی-Vo سینسر MAC # لاگ ان کریں تمام کیپچر کیے گئے BLE اشتہارات کو ڈیبگ کرنے کے لیے: لیول: DEBUG logs: INFO_3_proth INFO # اختیاری: ٹینک سینسر کے قریب درجہ حرارت کی پیمائش کرنے کے لیے ایک مقامی سینسر شامل کریں: - پلیٹ فارم: dht پن: GPIO27 ماڈل: DHT22 درجہ حرارت: نام: "ٹینک ایریا ٹمپریچر" یونٹ_آف_میسرمنٹ: "ڈگری F" فلٹرز: - lambda /32; humidity: name: "Tank Area Humidity" unit_of_measurement: "%" update_interval: 300s # دریافت اور کنٹرول api کے لیے ہوم اسسٹنٹ API کو فعال کریں: encryption: key: "YOUR_API_ENCRYPTION_KEY" # OTA اپڈیٹس کو فعال کریں۔ مسلسل BLE نگرانی کے لیے power_supply: id: vcc pin: VUSB

اس اسکرپٹ کو استعمال کرنے کے لیے:

ESPHome انسٹال کریں (pip install esphome)

اوپر والے مواد کے ساتھ propane_ble_proxy.yaml کے نام سے ایک فائل بنائیں

YOUR_WIFI_SSID، YOUR_WIFI_PASSWORD، اور YOUR_API_ENCRYPTION_KEY کو اپنی اقدار سے تبدیل کریں

esphome رن propane_ble_proxy.yaml چلائیں۔

نتیجے میں آنے والے فرم ویئر کو آپ کے پروپین ٹینک کے 30-50 فٹ کے اندر رکھا ہوا ESP32 پر فلیش کریں۔

ہوم اسسٹنٹ میں:ESP32 BLE پراکسی چلنے کے بعد، ہوم اسسٹنٹ اسے مقامی ESPHome انٹیگریشن کے ذریعے خود بخود دریافت کر لے گا۔ قریبی آلات کے تمام BLE اشتہارات (بشمول Otodata اور Nee{2}}Vo سینسر) ہوم اسسٹنٹ کے بلوٹوتھ ڈیوائس ٹریکر میں ظاہر ہوں گے۔ اس کے بعد آپ خام BLE ڈیٹا کو پارس کرنے کے لیے ٹیمپلیٹ سینسر بنا سکتے ہیں۔


اسکرپٹ 3: ہوم اسسٹنٹ آٹومیشن اسکرپٹس برائے پروپین لیول الرٹس

کور الرٹنگ آٹومیشن

یہ آٹومیشن اسکرپٹ ہوم اسسٹنٹ - میں کسی بھی ٹینک لیول سینسر کے ساتھ کام کرتی ہیں چاہے Nee-Vo's REST API، ESPHome DIY سینسر، MQTT کے ذریعے Mopeka، یا 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%) # ────────────────────── ─────────────────────── - عرف: "پروپین ریفِل کا پتہ چلا - الرٹس کو دوبارہ ترتیب دیں" id: propane_refill_detected trigger: platform: numeric_state entity_id: sensor.propane_tank_level above: 80 ایکشن: - service: input_idole {11}an service: input_id}} input_boolean.propane_warning_sent - input_boolean.propane_refill_sent - service: notify.mobile_app_yourphone data: title: "✅ Propane Tank Refilled" پیغام: > ٹینک کی سطح {{ states('sensor.propane')%_tankle}} پر تمام انتباہات کو دوبارہ ترتیب دیا گیا ہے۔ اپنے پروپین کا لطف اٹھائیں!

مددگار اداروں کی ضرورت ہے۔(configuration.yaml میں شامل کریں):

yaml复制

input_boolean: propane_warning_sent: name: "پروپین وارننگ الرٹ بھیجا گیا" آئیکن: mdi:alert propane_refill_sent: name: "Propane refill Alert Sent" آئیکن: mdi:alert


اسکرپٹ 4: اسمارٹ ہوم انٹیگریشن اسکرپٹس

تھرموسٹیٹ، والو اور لائٹنگ آٹومیشن

بنیادی انتباہات کے علاوہ، یہ اسکرپٹس آپ کے وسیع تر سمارٹ ہوم سسٹم کے ساتھ پروپین لیول ڈیٹا کو مربوط کرتی ہیں:

yaml复制

# ────────────────────── ─────────────────────── # ٹانک کم ہونے پر پروپین - لوئر تھرموسٹیٹ کو محفوظ رکھیں # ────────────────────── ─────────────────────── آٹومیشن: - عرف: "پروپین کنزرویشن - لوئر تھرموسٹیٹ 30% پر" id: propane_conserve_30 trigger: platform: numeric_state entity_id: sensor.propane_tank_level below: 30 شرط: -: "0 وقت کے بعد: 0 شرط: 0 کے بعد: 0" "06:00:00" - حالت: ریاست entity_id: climate.main_thermostat ریاست: "heat" ایکشن: - service: climate.set_temperature entity_id: climate.main_thermostat ڈیٹا: درجہ حرارت: 62 hvac_mode: heat {{31}mobile data: app_notify} service. "🌡️ پروپین کنزرویشن موڈ ایکٹیو" پیغام: "بقیہ پروپین کو محفوظ کرنے کے لیے تھرموسٹیٹ کو 62 ڈگری F تک کم کر دیا گیا۔" # ────────────────────── ─────────────────────── - عرف: "پروپین کنزرویشن - دوبارہ بھرنے کے بعد تھرموسٹیٹ کو بحال کریں" id: propane_restore_thermostat trigger: platform: numeric_state entity_id: sensor.propane_tank_level above: 75 شرط: - شرط: حالت: - input_boolean.propane_conservation_active حالت: "آن" ایکشن: - سروس: climate.set_temperature entity_id: climate.main_thermostat ڈیٹا: درجہ حرارت: 68 - سروس: input_boolean.turn_off entity_id: input_boolean.propane_conservation_active # ────────────────────── ─────────────────────── # غیر معمولی کھپت - ممکنہ لیک کا پتہ لگائیں # ────────────────────── ─────────────────────── - عرف: "Propane Abnormal Consumption - Posible Leak" id: propane_leak_detection trigger: platform: numeric_state entity_id: sensor.propane_consumption_rate اوپر: 5 # گیلن فی گھنٹہ آپ کے ٹینک کا سائز - ایڈجسٹ کریں notify.mobile_app_yourphone ڈیٹا: عنوان: "⚠️ غیر معمولی پروپین کھپت کا پتہ چلا" پیغام: > غیر معمولی پروپین کھپت کی شرح کا پتہ چلا: {{ states('sensor.propane_consumption_rate') }} gal/hr۔ اگر یہ برقرار رہتا ہے تو، لیک یا آلات کے مسائل کی جانچ کریں. - سروس: switch.turn_off entity_id: switch.propane_appliance_main # اختیاری: پروپین والو ڈیٹا کو بند کریں: {}


اسکرپٹ 5: حسابی اقدار کے لیے ٹیمپلیٹ سینسر

خام ٹینک کی سطح سے حاصل کردہ ڈیٹا

اخذ کردہ اقدار کا حساب لگانے کے لیے ان ٹیمپلیٹ سینسر اسکرپٹس کو شامل کریں جو خام API یا BLE ڈیٹا براہ راست فراہم نہیں کرتا ہے:

yaml复制

# template_sensors.yaml - اپنے ہوم اسسٹنٹ کنفیگریشن ٹیمپلیٹ میں شامل کریں: سینسر: # ────────────────────── ─────────────────────── موجودہ کھپت کی شرح کی بنیاد پر # دن باقی ہیں # ────────────────────── ─────────────────────── - نام: "پروپین کے دن باقی ہیں" unit_of_measurement: "days" icon: "mdi:calendar-clock" حالت: > {% set level=states('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {# گیلن - آپ کے ٹینک کے سائز میں تبدیلی #} {% set gallons_left=(سطح / 100) * tank_size %} {% set daily_rate=states('sensor.lyconiption_propane)|float %} {% if daily_rate > 0 اور gallons_left > 0 %} {{ (gallons_left / daily_rate)|راؤنڈ(1) }} {% else %} نامعلوم {% endif %} # ────────────────────── ─────────────────────── # باقی پروپین کی کل ڈالر کی قیمت # ────────────────────── ─────────────────────── - نام: "پروپین ڈالر ویلیو باقی" یونٹ_of_measurement: "USD" آئیکن: "mdi:currency-usd" state: > {% set level=states('sensor.propane_tank_level')|float %} {% set tank_size=250 %} {% set price_per_gallon=3.50 %} {# آپ کی اصل قیمت میں تبدیلی #} {% set gallons_left=(level / 100) * tank_size %} {{ "%.2f"|فارمیٹ(گیلن_بائیں *قیمت_فی_گیلن) }} # ────────────────────── ─────────────────────── # پروپین اسٹیٹس ٹیکسٹ (مکمل/انتباہ/تنقیدی) # ────────────────────── ─────────────────────── - نام: "پروپین اسٹیٹس" آئیکن: "mdi:gas-سلنڈر" حالت: > {% سیٹ لیول=اسٹیٹس('sensor.propane_tank_level')|فلوٹ %} {% اگر سطح > 50 %} مکمل {% elif سطح > 30 %} عمومی {% elif سطح > 15 %} کم {% elif سطح > 5 %} نازک {% else %} خالی {% endif %} # ────────────────────── ─────────────────────── # دوبارہ بھرنے کی لاگت کا تخمینہ # ────────────────────── ─────────────────────── - نام: "پروپین ریفِل لاگت کا تخمینہ" unit_of_measurement: "USD" آئیکن: "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 - سطح) / 100) * ٹینک_سائز %} {% اگر سطح <95 %f} {{ "%. فارمیٹ (گیلن_سے_فِل * قیمت_پر_گیلن) }} {% else %} 0 {% endif %}


اسکرپٹ 6: نوڈ-بصری آٹومیشن کے لیے ریڈ فلو

غیر-کوڈرز کے لیے بصری بہاؤ

ان صارفین کے لیے جو YAML اسکرپٹنگ پر بصری آٹومیشن بلڈر کو ترجیح دیتے ہیں، یہاں ایک نوڈ-ریڈ فلو ہے جو اوپر والے آٹومیشن اسکرپٹس کو نقل کرتا ہے:

کوڈ 复制

[{"id":"propane_level_trigger","type":"inject","z":"propane_flow","name":"ہر 5 min","repeat":"300","crontab":"","one":false,"topic":"","payload":"","payloadType":"date","x":100,"y":100,"wires":[["propane_fetch"]]}, {"id":"propane_fetch","" درخواست","z":"propane_flow","name":"Fetch Nee-Vo API","method":"GET","url":"https://api.nee-vo.com/v1/customer/tank_status","tls":","x":300,"y"{1}}"} {"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":"سطح چیک کریں","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":"تنقیدی پیغام","template":"🚨 اہم: پروپین {{payload.tank_level_percent}}% پر! دوبارہ بھریں فوری طور پر!","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":"⛽ Propane at {[["propane_notify_critical","propane_flash_lights"]] refill جلد ہی استعمال۔ پش","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,kitchen\\",\\"data\\":{\\"flash\\":\\"long\\"}}","x":1150,"y":20,"wires":[[]]}, {"id":""_tify":"_propane service","z":"propane_flow","name":"Send Refill Push","service":"notify.mobile_app_yourphone","x":1150,"y":120,"wires":[[]]}, {"id":"propane_notify_warning","type":","epropane_notify_warning","type":""epiname:"api callend وارننگ پش","service":"notify.mobile_app_yourphone","x":1150,"y":180,"wires":[[]]}, {"id":"propane_gallons","type":"change","z":"propane_flow","name":"اپ ڈیٹ گیلن","قواعد":[{"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":"اپ ڈیٹ درجہ حرارت","قواعد":[{"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":"ہوم اسسٹنٹ کو اپ ڈیٹ کریں Entity","endpoint":"/api/states/sensor.propane_tank_level","method":"POST","sendPayload":true,"sendHeaders":false,"x":950,"y":280,"wires":[[]]}]

اس نوڈ کو استعمال کرنے کے لیے{{0}RED بہاؤ:

ہوم اسسٹنٹ میں نوڈ-ریڈ ایڈون انسٹال کریں (ترتیبات → ایڈ-آن کے ذریعے)

اپنے براؤزر میں نوڈ-RED کھولیں۔

بہاؤ درآمد کریں (مینو → درآمد → اوپر JSON پیسٹ کریں)

propane_fetch نوڈ میں API URL اور اسناد کو اپ ڈیٹ کریں۔

propane_notify_critical اور دیگر نوٹیفکیشن نوڈس کو اپنے اصل ہوم اسسٹنٹ entity IDs کے ساتھ اپ ڈیٹ کریں

بہاؤ تعینات کریں۔


اسکرپٹ 7: روزانہ پروپین سمری نوٹیفکیشن

اختتام-کے-دن کی حیثیت کی رپورٹ

یہ اسکرپٹ ہر شام ایک مناسب وقت پر روزانہ پروپین اسٹیٹس کا خلاصہ بھیجتا ہے:

yaml复制

آٹومیشن: - عرف: "ڈیلی پروپین سمری - 8 PM" id: daily_propane_summary trigger: platform: time at: "20:00:00" action: - service: notify.mobile_app_yourphone data: title: "📊 Daily Propane > {Tank Le Report" پیغام: - 8 states('sensor.propane_tank_level') }}% گیلن باقی: {{ states('sensor.propane_gallons') }} گیلن باقی رہ گئے دن: {{ states('sensor.propane_days_remaining') }} دن آج کا استعمال: {{ states('sensor.propane_today_consumption') }} gal ٹانک کا درجہ حرارت: {{ states('sensor.propane_tank_temperature') }} ڈگری F ڈالر کی قیمت باقی ہے: ${{ states('sensor.propane_dollar_value_remaining':} {}) states('sensor.propane_status') }}


اکثر پوچھے گئے سوالات

Q1: کیا Otodata میں ایسا API ہے جسے اسکرپٹ کیا جا سکتا ہے؟

Otodata 2026 تک کسی صارف-قابل رسائی API کو عوامی طور پر دستاویز نہیں کرتا ہے۔ ان کے مانیٹر Otodata کے کلاؤڈ سے LTE سیلولر کنیکٹیویٹی کا استعمال کرتے ہیں، اور کسٹمر ایپ اس کلاؤڈ سے ڈیٹا بازیافت کرتی ہے - لیکن API کا اختتامی نقطہ عوامی طور پر دستاویزی نہیں ہے اور انفرادی صارفین کو رسائی فراہم نہیں کی جاتی ہے۔ Otodata صارفین کے لیے تجویز کردہ اسکرپٹنگ اپروچ ہوم اسسٹنٹ اسکرپٹنگ کے لیے ایک ہی ٹینک میں متوازی ESPHome یا Mopeka سینسر شامل کرنا ہے، جبکہ Otodata سپلائر آٹومیشن کو ہینڈل کرتا رہتا ہے۔ کچھ r/homeassistant کمیونٹی کے اراکین نے ESP32 BLE پراکسیز کا استعمال کرتے ہوئے انجینئر Otodata کے BLE اشتہار کی شکل کو تبدیل کرنے کی کوشش کی ہے، لیکن یہ تجرباتی ہے اور پروڈکشن آٹومیشن اسکرپٹس کے لیے کافی قابل اعتماد نہیں ہے۔

Q2: Nee-Vo کے لیے اسکرپٹنگ کا بہترین طریقہ کیا ہے؟

Nee-Vo کے لیے اسکرپٹنگ کا بہترین طریقہ اس بات پر منحصر ہے کہ آیا آپ کی Nee-Vo کی تعیناتی ایک کسٹمر API کو ظاہر کرتی ہے۔ اگر API رسائی دستیاب ہے (پوچھنے کے لیے اپنے پروپین فراہم کنندہ سے رابطہ کریں)، اس گائیڈ میں REST سینسر اسکرپٹس کا استعمال کریں تاکہ Nee-Vo API کو براہ راست ہوم اسسٹنٹ میں پول کریں۔ اگر API تک رسائی دستیاب نہیں ہے تو، تجویز کردہ طریقہ Otodata جیسا ہی ہے: اپنے ٹینک میں ایک متوازی ESPHome یا Mopeka سینسر شامل کریں اور اس گائیڈ میں ESPHome + ہوم اسسٹنٹ آٹومیشن اسکرپٹس استعمال کریں۔ متوازی سینسر اپروچ سب سے زیادہ قابل اعتماد ہے کیونکہ یہ آپ کو سینسر ڈیٹا، فرم ویئر، اور آٹومیشن لاجک - پر مکمل کنٹرول فراہم کرتا ہے بغیر کسی سپلائر کی API کی دستیابی پر انحصار کے۔

Q3: آٹومیشن اسکرپٹ کو کتنی بار ٹینک کی سطح کی جانچ کرنی چاہئے؟

ہوم اسسٹنٹ REST پولنگ اسکرپٹس (Nee-Vo API) کے لیے، 5–10 منٹ کا اسکین وقفہ کافی ہے - ٹینک کی سطح میں آہستہ آہستہ اتنی تبدیلیاں ہوتی ہیں کہ زیادہ کثرت سے پولنگ غیر ضروری ہے اور ضرورت سے زیادہ API بوجھ پیدا کرے گی۔ ESPHome BLE پراکسی اسکرپٹس کے لیے، ESP32 BLE اشتہارات کو مسلسل پکڑتا ہے اور ہوم اسسٹنٹ ان کو حقیقی-وقت - میں پروسیس کرتا ہے کسی پولنگ وقفہ کی ضرورت نہیں ہے۔ آٹومیشن ٹرگرز (الرٹ تھریش ہولڈز) کے لیے، ہوم اسسٹنٹ کی عددی_اسٹیٹ پولنگ کے وقفہ سے قطع نظر، جب لیول ایک حد کو عبور کرتا ہے تو فوراً فائر کو متحرک کرتا ہے۔ بغیر کسی الرٹ تھکاوٹ کے باقاعدہ اسٹیٹس رپورٹ حاصل کرنے کے لیے ہر شام (تجویز کردہ: 7-8 PM) کے لیے اپنی یومیہ سمری نوٹیفکیشن مقرر کریں۔

Q4: کیا یہ اسکرپٹ ایک سے زیادہ ٹینکوں کے ساتھ کام کر سکتے ہیں؟

ہاں - تمام اسکرپٹ اس گائیڈ میں متعدد ٹینکوں کی حمایت کرتے ہیں۔ REST API پولنگ (Nee-Vo) کے لیے، ہر ٹینک کے API اینڈ پوائنٹ کے لیے اضافی REST سینسر اندراجات شامل کریں۔ ESPHome BLE پراکسی کے لیے، ESP32 متعدد BLE سینسر سے بیک وقت اشتہارات حاصل کر سکتا ہے - ہر ٹینک کے ڈیٹا کے لیے صرف ٹیمپلیٹ سینسر شامل کریں۔ آٹومیشن اسکرپٹس کے لیے، آٹومیشن اندراجات کو ڈپلیکیٹ کریں اور ہر ٹینک کی مخصوص سینسر ہستی (مثلاً، sensor.propane_tank_level_garage، sensor.propane_tank_level_shop) کا حوالہ دینے کے لیے entity_id کو تبدیل کریں۔ نوڈ-RED میں، ہر ٹینک کے لیے اضافی propane_level_check برانچیں شامل کریں۔

Q5: میں ایک اسکرپٹ کو کیسے ڈیبگ کروں جو کام نہیں کر رہا ہے؟

REST API اسکرپٹس کے لیے: ہوم اسسٹنٹ ڈویلپر ٹولز (ترتیبات → ڈویلپر ٹولز → ٹیمپلیٹ ایڈیٹر) استعمال کریں تاکہ آپ کے قدر_ٹیمپلیٹ کو خام JSON ڈیٹا کے خلاف جانچیں۔ ایک نمونہ API جواب کاپی کریں اور اسے ٹیمپلیٹ ایڈیٹر میں چسپاں کریں تاکہ یہ تصدیق ہو سکے کہ آپ کا JSON راستہ نکالنا درست ہے۔ ESPHome BLE پراکسی اسکرپٹس کے لیے: ESPHome لاگز (esphome logs propane_ble_proxy) کو چیک کریں کہ آیا BLE اشتہارات کیپچر کیے جا رہے ہیں - اگر آپ کو خام MAC ایڈریس نظر آتے ہیں لیکن پڑھنے کے قابل ڈیٹا نہیں ہے، سینسر براڈکاسٹ کر رہا ہے لیکن فارمیٹ کو تسلیم نہیں کیا گیا ہے۔ آٹومیشن اسکرپٹس کے لیے: ہوم اسسٹنٹ ٹریس ٹول (ہر آٹومیشن پر ٹریس ٹیب) کا استعمال کریں یہ دیکھنے کے لیے کہ کیا ہوا، کن حالات کا جائزہ لیا گیا، اور کون سی کارروائیاں چلیں۔ ٹریس ٹول ہوم اسسٹنٹ میں سب سے طاقتور ڈیبگنگ ٹول ہے - یہ آٹومیشن کے شروع ہونے کے وقت ہر ہستی کی صحیح حالت کو ظاہر کرتا ہے۔


نیچے کی لکیر

Otodata اور Nee-Vo پروپین ٹینک مانیٹر ایک متوازی اسکرپٹنگ حکمت عملی کے ذریعے بہترین طریقے سے پہنچتے ہیں: خودکار ری فل شیڈولنگ کے لیے سپلائر کے پلیٹ فارم (Otodata یا Nee-Vo) کا استعمال کریں، اور مکمل ہوم اسسٹنٹ اسکرپٹنگ کنٹرول کے لیے اپنا ESPHome یا Mopeka سینسر تعینات کریں۔ اس گائیڈ میں سات اسکرپٹس - REST API پولنگ، ESPHome BLE پراکسی، الرٹ آٹومیشن کے تین درجات (انتباہ/ریفل/کریٹیکل)، سمارٹ ہوم انٹیگریشن اسکرپٹس (تھرموسٹیٹ، والوز، لائٹس)، اخذ کردہ اقدار کے لیے ٹیمپلیٹ سینسرز، ایک نوڈ- روزانہ کا بہاؤ نہیں،-- آپ کو ایک مکمل پروپین مانیٹرنگ آٹومیشن سسٹم فراہم کرتا ہے جو ہوم اسسٹنٹ میں مکمل طور پر مقامی طور پر کام کرتا ہے۔ r/homeassistant کمیونٹی کا اجتماعی تجربہ اس بات کی تصدیق کرتا ہے کہ یہ متوازی نقطہ نظر دونوں جہانوں میں بہترین فراہم کرتا ہے: صفر سپلائر مینجمنٹ اوور ہیڈ، اور ہوم اسسٹنٹ کی طرف مکمل ڈیٹا کی ملکیت اور آٹومیشن لچک۔ آٹومیشن اسکرپٹس (اسکرپٹ 3) اور ٹیمپلیٹ سینسرز (اسکرپٹ 5) سے شروع کریں، پھر زیادہ سے زیادہ کوریج کے لیے ESPHome BLE پراکسی (اسکرپٹ 2) تک پھیلائیں۔ ہر اسکرپٹ پرت بنیادی سطح کی مرئیت سے لے کر مکمل سمارٹ ہوم انٹیگریشن تک قدر - کی ایک اور جہت کا اضافہ کرتی ہے جو آپ کے پروپین کی سطح پر خود بخود جواب دیتی ہے۔


آخری بار اپ ڈیٹ کیا گیا: جولائی 2026

اعلان دستبرداری: یہ ہدایت نامہ ہوم اسسٹنٹ اور ESPHome اسکرپٹنگ مثالیں فراہم کرتا ہے Otodata اور Nee{0}}تعلیمی مقاصد کے لیے Vo propane tank مانیٹرنگ انٹیگریشن۔ API اینڈ پوائنٹس، فیلڈ کے نام، اور JSON فارمیٹس جن کا حوالہ اس گائیڈ میں دیا گیا ہے وہ نمائندہ مثالیں ہیں - ہمیشہ اپنے حقیقی API ڈھانچے کی اپنے مخصوص Nee سے تصدیق کریں-REST سینسر کو ترتیب دینے سے پہلے Vo deployment۔ ESPHome BLE پراکسی اسکرپٹس تمام قریبی BLE اشتہارات کو حاصل کرتی ہیں - اس بات کو یقینی بناتے ہیں کہ آپ BLE ڈیوائس کی نگرانی کے حوالے سے مقامی ضوابط کی تعمیل کرتے ہیں۔ ہوم اسسٹنٹ آٹومیشن حقیقی-دنیا کے نظام بشمول HVAC، گیس والوز، اور برقی آلات کے ساتھ تعامل کرتے ہیں - پروڈکشن میں تعینات کرنے سے پہلے محفوظ حالات میں تمام آٹومیشن کی جانچ کرتے ہیں۔ یہ گائیڈ Otodata، Nee{10}Vo، Home اسسٹنٹ، ESPHome، Node-RED، یا r/homeassistant کمیونٹی سے وابستہ نہیں ہے، اس کی توثیق یا اسپانسر شدہ ہے۔

انکوائری بھیجنے