Monitoring of Hargassner heating while pulling data from Hargassner Web-API.
- Pulls data from Hargassner Web-API
- Configuration of credentials for Hargassner Web-API or InfluxDB via YMAL configuraton file
- Extracts widget names and values automatically and stores them into InluxDB: The widget name serves as measurement name in InfluxDB and the installation information (ID, name, slug) are used as tags.
- Maps state names to numerical values for persitance with InfluxDB
- Verbose logging into rotating files (5 files, max 10 MB per file)
- Console log level can be configured via configuration file
Exaple dashboard can be found in grafana
folder.
Visualization of heating boiler and buffer values:
Visualization of solar plant values:
- Hargassner heating installation sends data vie its Internet Gateway to Hargassner server and you have an account for Hargassner WEB-APP / APP.
- Required SW for pulling data:
- Required SW for viewing data:
- Hargassner heating installation with Internet Gateway sends data to Hargassner web service
- Python code of
hargassner_web_api_pull
retrieves data and stores it into InfluxDB - Data is visualized with Grafana Dashboards
- Rename
config_template.yml
toconfig.yml
and fill in required information - Install dependencies with
poetry install
- Execute options:
- Single run: execute
poetry run python hargassner_web_api_pull/hg_data_pull.py
- Run it in a shell-loop every minute:
./pull_data.sh
- Use crontab to run it regularly as long as system is up
- Single run: execute
- Add InfluxDB instance as data source to Grafana
- Import dashboard provided in
grafana
directory
Defines the mapping of the state string values into numeric values for InfluxDB.
State name | German meaning | Numberic value |
---|---|---|
STATE_OFF | Aus | 0 |
STATE_IGNITION | Zündung | 1 |
STATE_EFFICIENCY_FIRE | Leistungsbrand | 2 |
STATE_DEASHING | Entaschung | 3 |
State name | German meaning | Numberic value |
---|---|---|
STATE_CHARGING | Ladung Puffer | 10 |
STATE_ON | ?? | 11 |
State name | German meaning | Numberic value |
---|---|---|
STATE_OFF | Aus | 0 |
STATE_HEATING | Heizen | 20 |
STATE_REDUCTION_TRANSITION | Absenken Rampe | 21 |
State name | German meaning | Numberic value |
---|---|---|
STATE_OFF | Aus | 0 |
To log into the Hargassner web API one also needs client_id
and client_secret
. This is configured
in config.yml
and usually does not need to be changed. If you think you need to change it, follow
this procedure:
- Open https://web.hargassner.at in browser
- Open the network analysis console of the browser (F12 in Firefox, tab "Network analysis")
- Log into the web application with your user / password
- Find the
POST https://web.hargassner.at/api/auth/login
call in the trace - Switch to the
Request
tab, copy values from the variablesclient_id
andclient_secret