Inhaltsverzeichnis

Intro

Um Daten von einer Vaillant Heizung in eine InfluxDB zu überführen, kann man dies mit einem Vr900 Gateway und einem MyVaillant Konto umsetzen. Hierfür stehen ein paar nette Python Libraries zur Verfügung, wobei die eine ein Fork von der anderen ist und die meisten das gleiche machen. Diese Libs verbinden sich mit der MyVaillant API.

  1. MyVaillant: MyVaillant auf PyPi
  2. VR900_Connector: VR900 Connector auf PyPi

Eine Verbindung mit dem EBUS direkt ist zwar möglich, dafür benötigt man aber einen anderen / Selbstbau Adapter und einen extra Dienst. Welche Daten dann aus dem EBUS auslesbar sind, ist auch noch recht fraglich und bedarf einiges an Entwicklung. Evtl. dazu später mehr in meinem Wiki aber hier nun erstmal die Integration nach folgendem Schaubild:

Implementierung

MyPyllant VENV

JSON Data returned from MyVaillant

JSON RAW

JSON Output example
[
  {
    "extra_fields": {
      "continuous_heating_start_setpoint": -26.0,
      "alternative_point": -21.0,
      "heating_circuit_bivalence_point": 0.0,
      "dhw_bivalence_point": -7.0,
      "adaptive_heating_curve": true,
      "dhw_maximum_loading_time": 60,
      "dhw_hysteresis": 5.0,
      "dhw_flow_setpoint_offset": 25.0,
      "max_flow_setpoint_heatpump_error": 25.0,
      "dhw_maximum_temperature": 80.0,
      "hybrid_control_strategy": "BIVALENCE_POINT",
      "paralell_tank_loading_allowed": false,
      "outdoor_temperature": 2.75,
      "outdoor_temperature_average24h": 3.4375,
      "system_flow_temperature": 52.0625,
      "system_water_pressure": 2.1,
      "legionella_protection_start_weekday": "SUNDAY",
      "energy_manager_state": "HEATING",
      "system_off": false,
      "controller_type": "VRC700",
      "controller_revision": "R6",
      "system_scheme": 2,
      "backup_heater_type": "CONDENSING",
      "backup_heater_allowed_for": "DOMESTIC_HOT_WATER_AND_HEATING",
      "temporary_allow_backup_heater": "DISABLED",
      "module_configuration_v_r71": 3,
      "energy_provide_power_cut_behavior": "DISABLE_HEATPUMP",
      "smart_photovoltaic_buffer_offset": 10.0,
      "external_energy_management_activation": false,
      "operation_mode_effect": "ALL",
      "dhw_hysteresis_minimum": 3.0,
      "dhw_hysteresis_maximum": 20.0
    },
    "id": "XXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXX",
    "state": {
      "system": {
        "outdoor_temperature": 2.75,
        "outdoor_temperature_average24h": 3.4375,
        "system_flow_temperature": 52.0625,
        "system_water_pressure": 2.1,
        "legionella_protection_start_weekday": "SUNDAY",
        "energy_manager_state": "HEATING",
        "system_off": false
      },
      "zones": [
        {
          "index": 0,
          "desired_room_temperature_setpoint_heating": 22.0,
          "desired_room_temperature_setpoint": 22.0,
          "current_room_temperature": 21.9375,
          "current_room_humidity": 41.0,
          "current_special_function": "NONE"
        }
      ],
      "circuits": [
        {
          "index": 0,
          "circuit_state": "HEATING",
          "current_circuit_flow_temperature": 52.0625,
          "heating_circuit_flow_setpoint": 55.510765,
          "calculated_energy_manager_state": "HEATING_ACTIVE"
        }
      ],
      "dhw": [
        {
          "index": 255,
          "current_special_function": "NONE",
          "current_dhw_temperature": 54.9375
        }
      ],
      "ventilations": []
    },
    "configuration": {
      "system": {
        "continuous_heating_start_setpoint": -26.0,
        "alternative_point": -21.0,
        "heating_circuit_bivalence_point": 0.0,
        "dhw_bivalence_point": -7.0,
        "adaptive_heating_curve": true,
        "dhw_maximum_loading_time": 60,
        "dhw_hysteresis": 5.0,
        "dhw_flow_setpoint_offset": 25.0,
        "max_flow_setpoint_heatpump_error": 25.0,
        "dhw_maximum_temperature": 80.0,
        "hybrid_control_strategy": "BIVALENCE_POINT",
        "paralell_tank_loading_allowed": false
      },
      "zones": [
        {
          "index": 0,
          "general": {
            "name": "HEIZKREIS ",
            "holiday_start_date_time": "2025-12-24T23:00:00Z",
            "holiday_end_date_time": "2025-12-28T23:00:00Z",
            "holiday_setpoint": 19.0
          },
          "heating": {
            "operation_mode_heating": "AUTO",
            "set_back_temperature": 19.0,
            "day_temperature_heating": 22.0,
            "time_program_heating": {
              "meta_info": {
                "min_slots_per_day": 0,
                "max_slots_per_day": 3,
                "setpoint_required_per_slot": false
              },
              "monday": [
                {
                  "start_time": 360,
                  "end_time": 450
                },
                {
                  "start_time": 990,
                  "end_time": 1380
                }
              ],
              "tuesday": [
                {
                  "start_time": 360,
                  "end_time": 450
                },
                {
                  "start_time": 990,
                  "end_time": 1380
                }
              ],
              "wednesday": [
                {
                  "start_time": 360,
                  "end_time": 450
                },
                {
                  "start_time": 770,
                  "end_time": 1080
                },
                {
                  "start_time": 1080,
                  "end_time": 1380
                }
              ],
              "thursday": [
                {
                  "start_time": 360,
                  "end_time": 450
                },
                {
                  "start_time": 990,
                  "end_time": 1380
                }
              ],
              "friday": [
                {
                  "start_time": 360,
                  "end_time": 450
                },
                {
                  "start_time": 990,
                  "end_time": 1380
                }
              ],
              "saturday": [
                {
                  "start_time": 420,
                  "end_time": 1440
                }
              ],
              "sunday": [
                {
                  "start_time": 420,
                  "end_time": 1380
                }
              ]
            }
          },
          "cooling": {},
          "desired_room_temperature_setpoint_heating": 22.0,
          "desired_room_temperature_setpoint": 22.0,
          "current_room_temperature": 21.9375,
          "current_room_humidity": 41.0,
          "current_special_function": "NONE",
          "is_active": true,
          "zone_binding": "CENTRAL_CONTROL",
          "associated_circuit_index": 0
        }
      ],
      "circuits": [
        {
          "index": 0,
          "heating_curve": 1.3999999,
          "heating_flow_temperature_minimum_setpoint": 15.0,
          "heating_flow_temperature_maximum_setpoint": 90.0,
          "heat_demand_limited_by_outside_temperature": 20.0,
          "heating_circuit_flow_setpoint_excess_offset": 0.0,
          "epsilon": 2.0,
          "setback_mode_enabled": true,
          "room_temperature_control_mode": "NON",
          "circuit_state": "HEATING",
          "current_circuit_flow_temperature": 52.0625,
          "heating_circuit_flow_setpoint": 55.510765,
          "calculated_energy_manager_state": "HEATING_ACTIVE",
          "mixer_circuit_type_external": "HEATING",
          "heating_circuit_type": "DIRECT_HEATING_CIRCUIT",
          "is_cooling_allowed": false
        }
      ],
      "dhw": [
        {
          "index": 255,
          "operation_mode_dhw": "AUTO",
          "tapping_setpoint": 57.0,
          "holiday_start_date_time": "2025-12-24T23:00:00Z",
          "holiday_end_date_time": "2025-12-28T23:00:00Z",
          "time_program_dhw": {
            "meta_info": {
              "min_slots_per_day": 0,
              "max_slots_per_day": 3,
              "setpoint_required_per_slot": false
            },
            "monday": [
              {
                "start_time": 330,
                "end_time": 450
              },
              {
                "start_time": 1050,
                "end_time": 1380
              }
            ],
            "tuesday": [
              {
                "start_time": 330,
                "end_time": 450
              },
              {
                "start_time": 1050,
                "end_time": 1380
              }
            ],
            "wednesday": [
              {
                "start_time": 330,
                "end_time": 450
              },
              {
                "start_time": 1050,
                "end_time": 1380
              }
            ],
            "thursday": [
              {
                "start_time": 330,
                "end_time": 450
              },
              {
                "start_time": 1050,
                "end_time": 1380
              }
            ],
            "friday": [
              {
                "start_time": 330,
                "end_time": 450
              },
              {
                "start_time": 1050,
                "end_time": 1380
              }
            ],
            "saturday": [
              {
                "start_time": 420,
                "end_time": 660
              },
              {
                "start_time": 1080,
                "end_time": 1440
              }
            ],
            "sunday": [
              {
                "start_time": 420,
                "end_time": 660
              },
              {
                "start_time": 1020,
                "end_time": 1440
              }
            ]
          },
          "time_program_circulation_pump": {
            "meta_info": {
              "min_slots_per_day": 0,
              "max_slots_per_day": 3,
              "setpoint_required_per_slot": false
            },
            "monday": [
              {
                "start_time": 360,
                "end_time": 450
              },
              {
                "start_time": 900,
                "end_time": 1380
              }
            ],
            "tuesday": [
              {
                "start_time": 360,
                "end_time": 450
              },
              {
                "start_time": 900,
                "end_time": 1380
              }
            ],
            "wednesday": [
              {
                "start_time": 360,
                "end_time": 450
              },
              {
                "start_time": 900,
                "end_time": 1380
              }
            ],
            "thursday": [
              {
                "start_time": 360,
                "end_time": 450
              },
              {
                "start_time": 900,
                "end_time": 1380
              }
            ],
            "friday": [
              {
                "start_time": 360,
                "end_time": 450
              },
              {
                "start_time": 900,
                "end_time": 1380
              }
            ],
            "saturday": [
              {
                "start_time": 420,
                "end_time": 660
              },
              {
                "start_time": 1020,
                "end_time": 1440
              }
            ],
            "sunday": [
              {
                "start_time": 420,
                "end_time": 660
              },
              {
                "start_time": 1020,
                "end_time": 1440
              }
            ]
          },
          "current_special_function": "NONE",
          "current_dhw_temperature": 54.9375,
          "min_setpoint": 35.0,
          "max_setpoint": 70.0
        }
      ],
      "ventilations": []
    },
    "home": {
      "extra_fields": {
        "online_state": "ONLINE",
        "child_devices": [],
        "migration_finished_at": "2024-02-15T23:06:55.189934087Z"
      },
      "country_code": "DE",
      "timezone": "Europe/Berlin",
      "nomenclature": "VR 900",
      "serial_number": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "state": "CLAIMED",
      "system_id": "XXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXX",
      "home_name": "Zuhause",
      "address": {
        "street": "Geheimstra\u00dfe",
        "extension": null,
        "city": "Geheimort",
        "postal_code": "00000",
        "country_code": "DE"
      },
      "product_information": "VR900",
      "migration_state": "FINISHED",
      "cag": false,
      "firmware_version": "331.40.37",
      "firmware": {
        "version": "331.40.37",
        "connected_to_old_io_t_platform": null,
        "update_enabled": true,
        "update_required": false
      },
      "product_metadata": {
        "product_type": "VR900",
        "production_year": "15",
        "production_week": "43",
        "article_number": "0020197116"
      }
    },
    "brand": "vaillant",
    "timezone": "Europe/Berlin",
    "control_identifier": "vrc700",
    "connected": true,
    "diagnostic_trouble_codes": [
      {
        "serial_number": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "article_number": "0020266797",
        "codes": []
      },
      {
        "serial_number": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "article_number": "0020274256",
        "codes": []
      },
      {
        "serial_number": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "article_number": "0020197116",
        "codes": []
      },
      {
        "serial_number": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "article_number": "0000000000",
        "codes": []
      }
    ],
    "properties": {
      "system": {
        "controller_type": "VRC700",
        "controller_revision": "R6",
        "system_scheme": 2,
        "backup_heater_type": "CONDENSING",
        "backup_heater_allowed_for": "DOMESTIC_HOT_WATER_AND_HEATING",
        "temporary_allow_backup_heater": "DISABLED",
        "module_configuration_v_r71": 3,
        "energy_provide_power_cut_behavior": "DISABLE_HEATPUMP",
        "smart_photovoltaic_buffer_offset": 10.0,
        "external_energy_management_activation": false,
        "operation_mode_effect": "ALL",
        "dhw_hysteresis_minimum": 3.0,
        "dhw_hysteresis_maximum": 20.0
      },
      "zones": [
        {
          "index": 0,
          "is_active": true,
          "zone_binding": "CENTRAL_CONTROL",
          "associated_circuit_index": 0
        }
      ],
      "circuits": [
        {
          "index": 0,
          "mixer_circuit_type_external": "HEATING",
          "heating_circuit_type": "DIRECT_HEATING_CIRCUIT",
          "is_cooling_allowed": false
        }
      ],
      "dhw": [
        {
          "index": 255,
          "min_setpoint": 35.0,
          "max_setpoint": 70.0
        }
      ],
      "ventilations": []
    },
    "current_system": {
      "system_type": "UNKNOWN",
      "has_emf_capable_devices": false,
      "primary_heat_generator": null,
      "secondary_heat_generators": [],
      "electric_backup_heater": null,
      "solar_station": null,
      "ventilation": null,
      "gateway": null
    },
    "zones": [
      {
        "extra_fields": {},
        "system_id": "XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXXX",
        "general": {
          "extra_fields": {
            "holiday_setpoint": 19.0
          },
          "name": "HEIZKREIS ",
          "timezone": "Europe/Berlin",
          "holiday_start_date_time": "2025-12-25 00:00:00+01:00",
          "holiday_end_date_time": "2025-12-29 00:00:00+01:00"
        },
        "timezone": "Europe/Berlin",
        "control_identifier": "vrc700",
        "index": 0,
        "zone_binding": "CENTRAL_CONTROL",
        "heating": {
          "extra_fields": {},
          "control_identifier": "vrc700",
          "operation_mode_heating": "AUTO",
          "set_back_temperature": 19.0,
          "time_program_heating": {
            "extra_fields": {},
            "monday": [
              {
                "extra_fields": {},
                "index": 0,
                "weekday_name": "monday",
                "start_time": 360,
                "end_time": 450,
                "setpoint": null
              },
              {
                "extra_fields": {},
                "index": 1,
                "weekday_name": "monday",
                "start_time": 990,
                "end_time": 1380,
                "setpoint": null
              }
            ],
            "tuesday": [
              {
                "extra_fields": {},
                "index": 0,
                "weekday_name": "tuesday",
                "start_time": 360,
                "end_time": 450,
                "setpoint": null
              },
              {
                "extra_fields": {},
                "index": 1,
                "weekday_name": "tuesday",
                "start_time": 990,
                "end_time": 1380,
                "setpoint": null
              }
            ],
            "wednesday": [
              {
                "extra_fields": {},
                "index": 0,
                "weekday_name": "wednesday",
                "start_time": 360,
                "end_time": 450,
                "setpoint": null
              },
              {
                "extra_fields": {},
                "index": 1,
                "weekday_name": "wednesday",
                "start_time": 770,
                "end_time": 1080,
                "setpoint": null
              },
              {
                "extra_fields": {},
                "index": 2,
                "weekday_name": "wednesday",
                "start_time": 1080,
                "end_time": 1380,
                "setpoint": null
              }
            ],
            "thursday": [
              {
                "extra_fields": {},
                "index": 0,
                "weekday_name": "thursday",
                "start_time": 360,
                "end_time": 450,
                "setpoint": null
              },
              {
                "extra_fields": {},
                "index": 1,
                "weekday_name": "thursday",
                "start_time": 990,
                "end_time": 1380,
                "setpoint": null
              }
            ],
            "friday": [
              {
                "extra_fields": {},
                "index": 0,
                "weekday_name": "friday",
                "start_time": 360,
                "end_time": 450,
                "setpoint": null
              },
              {
                "extra_fields": {},
                "index": 1,
                "weekday_name": "friday",
                "start_time": 990,
                "end_time": 1380,
                "setpoint": null
              }
            ],
            "saturday": [
              {
                "extra_fields": {},
                "index": 0,
                "weekday_name": "saturday",
                "start_time": 420,
                "end_time": 1440,
                "setpoint": null
              }
            ],
            "sunday": [
              {
                "extra_fields": {},
                "index": 0,
                "weekday_name": "sunday",
                "start_time": 420,
                "end_time": 1380,
                "setpoint": null
              }
            ],
            "meta_info": {
              "min_slots_per_day": 0,
              "max_slots_per_day": 3,
              "setpoint_required_per_slot": false
            }
          },
          "manual_mode_setpoint_heating": null,
          "day_temperature_heating": 22.0
        },
        "current_special_function": "NONE",
        "is_active": true,
        "heating_state": null,
        "is_cooling_allowed": null,
        "is_manual_cooling_active": null,
        "cooling": null,
        "current_room_temperature": 21.9375,
        "desired_room_temperature_setpoint_heating": 22.0,
        "desired_room_temperature_setpoint_cooling": null,
        "desired_room_temperature_setpoint": 22.0,
        "current_room_humidity": 41.0,
        "associated_circuit": {
          "extra_fields": {
            "heating_circuit_flow_setpoint_excess_offset": 0.0,
            "heating_circuit_type": "DIRECT_HEATING_CIRCUIT",
            "timezone": "Europe/Berlin",
            "epsilon": 2.0,
            "room_temperature_control_mode": "NON",
            "setback_mode_enabled": true,
            "heating_circuit_flow_setpoint": 55.510765
          },
          "system_id": "XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXXX",
          "index": 0,
          "circuit_state": "HEATING",
          "mixer_circuit_type_external": "HEATING",
          "set_back_mode_enabled": null,
          "zones": [],
          "is_cooling_allowed": false,
          "current_circuit_flow_temperature": 52.0625,
          "heating_curve": 1.3999999,
          "heating_flow_temperature_minimum_setpoint": 15.0,
          "heating_flow_temperature_maximum_setpoint": 90.0,
          "heat_demand_limited_by_outside_temperature": 20.0,
          "min_flow_temperature_setpoint": null,
          "calculated_energy_manager_state": "HEATING_ACTIVE"
        },
        "associated_circuit_index": 0,
        "quick_veto_start_date_time": null,
        "quick_veto_end_date_time": null
      }
    ],
    "circuits": [
      {
        "extra_fields": {
          "heating_circuit_flow_setpoint_excess_offset": 0.0,
          "heating_circuit_type": "DIRECT_HEATING_CIRCUIT",
          "timezone": "Europe/Berlin",
          "epsilon": 2.0,
          "room_temperature_control_mode": "NON",
          "setback_mode_enabled": true,
          "heating_circuit_flow_setpoint": 55.510765
        },
        "system_id": "XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXXX",
        "index": 0,
        "circuit_state": "HEATING",
        "mixer_circuit_type_external": "HEATING",
        "set_back_mode_enabled": null,
        "zones": [],
        "is_cooling_allowed": false,
        "current_circuit_flow_temperature": 52.0625,
        "heating_curve": 1.3999999,
        "heating_flow_temperature_minimum_setpoint": 15.0,
        "heating_flow_temperature_maximum_setpoint": 90.0,
        "heat_demand_limited_by_outside_temperature": 20.0,
        "min_flow_temperature_setpoint": null,
        "calculated_energy_manager_state": "HEATING_ACTIVE"
      }
    ],
    "domestic_hot_water": [
      {
        "extra_fields": {
          "holiday_start_date_time": "2025-12-24T23:00:00Z",
          "holiday_end_date_time": "2025-12-28T23:00:00Z",
          "timezone": "Europe/Berlin"
        },
        "system_id": "XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXXX",
        "index": 255,
        "control_identifier": "vrc700",
        "current_special_function": "NONE",
        "max_setpoint": 70.0,
        "min_setpoint": 35.0,
        "operation_mode_dhw": "AUTO",
        "time_program_dhw": {
          "extra_fields": {},
          "monday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "monday",
              "start_time": 330,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "monday",
              "start_time": 1050,
              "end_time": 1380
            }
          ],
          "tuesday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "tuesday",
              "start_time": 330,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "tuesday",
              "start_time": 1050,
              "end_time": 1380
            }
          ],
          "wednesday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "wednesday",
              "start_time": 330,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "wednesday",
              "start_time": 1050,
              "end_time": 1380
            }
          ],
          "thursday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "thursday",
              "start_time": 330,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "thursday",
              "start_time": 1050,
              "end_time": 1380
            }
          ],
          "friday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "friday",
              "start_time": 330,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "friday",
              "start_time": 1050,
              "end_time": 1380
            }
          ],
          "saturday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "saturday",
              "start_time": 420,
              "end_time": 660
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "saturday",
              "start_time": 1080,
              "end_time": 1440
            }
          ],
          "sunday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "sunday",
              "start_time": 420,
              "end_time": 660
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "sunday",
              "start_time": 1020,
              "end_time": 1440
            }
          ],
          "meta_info": {
            "min_slots_per_day": 0,
            "max_slots_per_day": 3,
            "setpoint_required_per_slot": false
          }
        },
        "time_program_circulation_pump": {
          "extra_fields": {},
          "monday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "monday",
              "start_time": 360,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "monday",
              "start_time": 900,
              "end_time": 1380
            }
          ],
          "tuesday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "tuesday",
              "start_time": 360,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "tuesday",
              "start_time": 900,
              "end_time": 1380
            }
          ],
          "wednesday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "wednesday",
              "start_time": 360,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "wednesday",
              "start_time": 900,
              "end_time": 1380
            }
          ],
          "thursday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "thursday",
              "start_time": 360,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "thursday",
              "start_time": 900,
              "end_time": 1380
            }
          ],
          "friday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "friday",
              "start_time": 360,
              "end_time": 450
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "friday",
              "start_time": 900,
              "end_time": 1380
            }
          ],
          "saturday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "saturday",
              "start_time": 420,
              "end_time": 660
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "saturday",
              "start_time": 1020,
              "end_time": 1440
            }
          ],
          "sunday": [
            {
              "extra_fields": {},
              "index": 0,
              "weekday_name": "sunday",
              "start_time": 420,
              "end_time": 660
            },
            {
              "extra_fields": {},
              "index": 1,
              "weekday_name": "sunday",
              "start_time": 1020,
              "end_time": 1440
            }
          ],
          "meta_info": {
            "min_slots_per_day": 0,
            "max_slots_per_day": 3,
            "setpoint_required_per_slot": false
          }
        },
        "current_dhw_temperature": 54.9375,
        "tapping_setpoint": 57.0
      }
    ],
    "ventilation": [],
    "devices": [],
    "mpc": {
      "devices": []
    },
    "rts": {
      "statistics": []
    },
    "energy_management": {},
    "eebus": {
      "ski": "",
      "brand": "",
      "type": "",
      "model": "",
      "spine_enabled": false,
      "spine_enabled_status": "DETERMINED",
      "spine_capable": false
    },
    "ambisense_capability": false,
    "ambisense_rooms": []
  }
]

JSON Keys

Beschreibung Pfad Feldnamen
Warmwassertemperatur current_dhw_temperature
Vorlauftemperatur Ist system_flow_temperature
current_circuit_flow_temperature
Vorlauftemperatur Soll circuits.extra_fields.heating_circuit_flow_setpoint
Rücklauftemperatur
Wasserdruck
Therme Zustand
Therme Modus circuit_state
Brennerzustand
Heizkurve heating_curve
Raumtemperatur
Außentemperatur outdoor_temperature
Ist Innentemperatur current_room_temperature
Soll Innentemperatur desired_room_temperature_setpoint
Luftfeuchtigkeit current_room_humidity
Zustand Zirkpumnpe

Telegraf Config - Simpel

Diese Seite geht davon aus, dass Telegraf bereits korrekt konfiguriert wurde, daher in Verwendung ist und die Daten im gewünschten Ziel landen, wie z.B. einer InfluxDB. Daher muss nur ein einfaches exec Input mit JSON Datenformat in Telegraf angelegt werden. Bitte daran denken, dass die angegebenen Variablen als Umgebungsvariable in /etc/default/telegraf angegeben sein müssen.

[[inputs.exec]]
  ## Commands array
  commands = [ "/opt/vaillant/bin/python3 -m myPyllant.export '${VAILLANT-BENUTZERNAME}' '${VAILLANT-PASSWORD}' --country germany vaillant" ]
  name_override="heizung"
  timeout = "30s"
  interval = "5m" # das darf nicht weniger als 5 Minuten sein, sonst tritt eine Sperre der Abfragen seitens myVaillant ein (Quota)
 
  data_format = "json"
  json_strict = false
  json_string_fields = ["extra_fields_energy_manager_state",
                        "state_system_energy_manager_state",
                        "circuits_*_circuit_state",
                        "circuits_*_mixer_circuit_type_external",
                        "circuits_*_calculated_energy_manager_state",
                        "dhw_*_current_special_function",
                        "zones_*_heating_operation_mode_heating",
                        "zones_*_current_special_function",
                        "zones_*_heating_state",
                        "zones_*_associated_circuit_circuit_state",
                        "zones_*_associated_circuit_mixer_circuit_type_external",
                        "zones_*_associated_circuit_calculated_energy_manager_state",
                        "domestic_hot_water_current_special_function",
                        "domestic_hot_water_operation_mode_dhw"
]

59