Files
voltage-monitor/config.py
Mateusz Gruszczyński 64887698d2 poprawki i eventy
2026-02-04 11:53:55 +01:00

70 lines
2.4 KiB
Python

# -*- coding: utf-8 -*-
import os
# Konfiguracja InfluxDB - Twoje specyficzne ustawienia
INFLUXDB_CONFIG = {
'host': os.getenv('INFLUXDB_HOST', 'stats.mngmnt.r.local'),
'port': int(os.getenv('INFLUXDB_PORT', 8087)),
'database': os.getenv('INFLUXDB_DATABASE', 'ha'),
'username': os.getenv('INFLUXDB_USER', ''),
'password': os.getenv('INFLUXDB_PASSWORD', ''),
}
# Konfiguracja Faz i zapytań SQL
PHASES = {
1: {
'entity_id': '0_electricity_meter_voltage_phase_1',
'label': 'L1',
'color': '#3498db',
'query': 'SELECT min("value") as voltage FROM "V" WHERE ("entity_id" = \'0_electricity_meter_voltage_phase_1\') AND time > now() - $timeFilter GROUP BY time($__interval) fill(null)'
},
2: {
'entity_id': '0_electricity_meter_voltage_phase_2',
'label': 'L2',
'color': '#9112f3',
'query': 'SELECT min("value") as voltage FROM "V" WHERE ("entity_id" = \'0_electricity_meter_voltage_phase_2\') AND time > now() - $timeFilter GROUP BY time($__interval) fill(null)'
},
3: {
'entity_id': '0_electricity_meter_voltage_phase_3',
'label': 'L3',
'color': '#2ecc71',
'query': 'SELECT min("value") as voltage FROM "V" WHERE ("entity_id" = \'0_electricity_meter_voltage_phase_3\') AND time > now() - $timeFilter GROUP BY time($__interval) fill(null)'
}
}
# Zakresy czasu
TIME_RANGES = {
'1h': {'filter': '1h', 'interval': '10s', 'label': '1h'},
'6h': {'filter': '6h', 'interval': '1m', 'label': '6h'},
'24h': {'filter': '24h', 'interval': '5m', 'label': '24h'},
'7d': {'filter': '7d', 'interval': '30m', 'label': '7d'},
'30d': {'filter': '30d', 'interval': '2h', 'label': '30d'},
'60d': {'filter': '60d', 'interval': '4h', 'label': '60d'},
'120d': {'filter': '120d', 'interval': '8h', 'label': '120d'},
'180d': {'filter': '180d', 'interval': '12h', 'label': '6m'},
'365d': {'filter': '365d', 'interval': '1d', 'label': '1r'}
}
DEFAULT_TIME_RANGE = '6h'
MEASUREMENT = 'V'
# ZAKRES BEZPIECZNY: 207V - 253V
VOLTAGE_THRESHOLDS = {
'min_safe': 207,
'max_safe': 253
}
# Skalowanie
GAUGE_CONFIG = {'min': 190, 'max': 270}
CHART_CONFIG = {'y_min': 190, 'y_max': 270, 'update_interval': 2000}
# Flask settings - PORT 8798
FLASK_CONFIG = {
'host': '0.0.0.0',
'port': 8798,
'debug': False,
'secret_key': os.getenv('SECRET_KEY', 'voltage-monitor-secret-key'),
}
FOOTER = {'author': 'www.linuxiarz.pl', 'year': '2026'}