v0.15.6 — Bugfix: Dead Code, Missing Probes, Path Hacks
Fixes
🟠 #5 — One-time Backfill Scripts Moved to Archive
All four one-time data migration scripts moved from scripts/ to archive/scripts/:
apex_outlet_backfill.py,apex_controller_backfill.py,apex_power_backfill.py,apex_fusion_log_backfill.py
These were polluting the active codebase and confusing new readers. Git preserved the history.
🟠 #6 — Dead collect() Removed, Daemon Loop Deduplicated
ApexCollector.collect()was returning[]— removed.- Extracted the daemon loop from
apex_unified_scraper.pyinto a reusablerun_daemon()function. ApexCollector.run()now delegates torun_daemon()instead of duplicating 60 lines of signal-handling + sleep-loop logic.
🟠 #7 — Broken InfluxDB Delete Predicate Fixed
The outlet backfill's delete phase tried to match missing tags with device_group='' which silently failed in InfluxDB. Fixed to delete all records in the time range (they're rewritten with device_group by the backfill points).
🟠 #8 — Missing ORP Probe Added to ILog Sync
DID_MAP in apex_fusion_ilog_sync.py was missing base_ORP. Historical ORP data from Fusion was being silently dropped. Added with proper probe_name/probe_type/unit tags matching the real-time scraper's schema.
🟠 #9 — Sys.Path Hacks Consolidated
- Added
ensure_scripts_path()helper toreef_core.py— single source of truth for path management. - Updated
collector.pyandapex_csv_import.pyto use it instead of inlinesys.path.insert(0, ...).
Docker Fix
- Removed
COPY scripts/apex_fusion_log_backfill.pyfromDockerfile.cron(file moved to archive). - If you built v0.15.6 images: rebuild
apex-cronto pick up the Dockerfile change.