add code
This commit is contained in:
		@@ -0,0 +1,5 @@
 | 
			
		||||
Setup um eine Weishautp wärmepumpe per ModBus in Homeassistant einzubinden
 | 
			
		||||
 | 
			
		||||
Ein Thread dazu:
 | 
			
		||||
https://community.home-assistant.io/t/weishaupt-heatpump-integration-via-modbus/436823
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								WBB_WP_ModbusTCP.xlsx.ods
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								WBB_WP_ModbusTCP.xlsx.ods
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										57
									
								
								homeassistant/config/configuration.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								homeassistant/config/configuration.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
			
		||||
 | 
			
		||||
# Loads default set of integrations. Do not remove.
 | 
			
		||||
default_config:
 | 
			
		||||
 | 
			
		||||
# Load frontend themes from the themes folder
 | 
			
		||||
frontend:
 | 
			
		||||
  themes: !include_dir_merge_named themes
 | 
			
		||||
 | 
			
		||||
automation: !include automations.yaml
 | 
			
		||||
script: !include scripts.yaml
 | 
			
		||||
 | 
			
		||||
scene: !include scenes.yaml
 | 
			
		||||
 | 
			
		||||
modbus: !include weishaupt.yaml
 | 
			
		||||
 | 
			
		||||
template: 
 | 
			
		||||
  select:
 | 
			
		||||
  - name: Systembetriebsart
 | 
			
		||||
    unique_id: wpump_mode
 | 
			
		||||
    state: "{{ states('sensor.wp_systembetriebsart_text') }}"
 | 
			
		||||
    options: "{{ ['Automatik', 'Heizen', 'Kühlen', 'Sommer', 'Standby', '2. WEZ']}}"
 | 
			
		||||
    select_option:
 | 
			
		||||
      service: modbus.write_register
 | 
			
		||||
      data:
 | 
			
		||||
        hub: wpump
 | 
			
		||||
        slave: 1
 | 
			
		||||
        address: 40001
 | 
			
		||||
        value: >
 | 
			
		||||
          {% if option == "Automatik" %} 0
 | 
			
		||||
          {% elif option == "Heizen" %} 1
 | 
			
		||||
          {% elif option == "Kühlen" %} 2
 | 
			
		||||
          {% elif option == "Sommer" %} 3
 | 
			
		||||
          {% elif option == "Standby" %} 4
 | 
			
		||||
          {% elif option == "2. WEZ" %} 5
 | 
			
		||||
          {% endif %}
 | 
			
		||||
  - name: Heizkreis Betriebsart
 | 
			
		||||
    unique_id: wpump_hk_mode
 | 
			
		||||
    state: "{{ states('sensor.wp_heizkreis_betriebsart_text') }}"
 | 
			
		||||
    options: "{{ ['Automatik', 'Komfort', 'Normal', 'Absenk', 'Standby']}}"
 | 
			
		||||
    select_option:
 | 
			
		||||
      service: modbus.write_register
 | 
			
		||||
      data:
 | 
			
		||||
        hub: wpump
 | 
			
		||||
        slave: 1
 | 
			
		||||
        address: 41103
 | 
			
		||||
        value: >
 | 
			
		||||
          {% if option == "Automatik" %}
 | 
			
		||||
            0
 | 
			
		||||
          {% elif option == "Komfort" %}
 | 
			
		||||
            1
 | 
			
		||||
          {% elif option == "Normal" %}
 | 
			
		||||
            2
 | 
			
		||||
          {% elif option == "Absenk" %}
 | 
			
		||||
            3
 | 
			
		||||
          {% elif option == "Standby" %}
 | 
			
		||||
            4
 | 
			
		||||
          {% endif %}
 | 
			
		||||
							
								
								
									
										15
									
								
								homeassistant/config/scenes.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								homeassistant/config/scenes.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
- id: '1731416586384'
 | 
			
		||||
  name: Neue Szene
 | 
			
		||||
  entities:
 | 
			
		||||
    select.heizkreis_betriebsart:
 | 
			
		||||
      options:
 | 
			
		||||
      - Automatik
 | 
			
		||||
      - Komfort
 | 
			
		||||
      - Normal
 | 
			
		||||
      - Absenk
 | 
			
		||||
      - Standby
 | 
			
		||||
      friendly_name: Heizkreis Betriebsart
 | 
			
		||||
      state: unknown
 | 
			
		||||
  metadata:
 | 
			
		||||
    select.heizkreis_betriebsart:
 | 
			
		||||
      entity_only: true
 | 
			
		||||
							
								
								
									
										248
									
								
								homeassistant/config/sensors.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										248
									
								
								homeassistant/config/sensors.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,248 @@
 | 
			
		||||
  #WW
 | 
			
		||||
  - name: WP_Warmwassersolltemperatur
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 32101
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: °C
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 0.1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
    unique_id: wpump.wwsolltemp
 | 
			
		||||
  - name: WP_Warmwassertemperatur
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 32102
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: °C
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 0.1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
    unique_id: wpump.wwtemp
 | 
			
		||||
  #System
 | 
			
		||||
  - name: WP_Betrieb
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 30006
 | 
			
		||||
    input_type: input
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 0
 | 
			
		||||
    data_type: int16
 | 
			
		||||
    unique_id: wpump.betrieb
 | 
			
		||||
  - name: WP_Stoerungsfrei
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 30005
 | 
			
		||||
    input_type: input
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 0
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_Außentemperatur
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 30001
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: °C
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 0.1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  #Heizkreis
 | 
			
		||||
  - name: WP_Raumsolltemperatur
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 31101
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: °C
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 0.1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_Vorlaufsolltemperatur
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 31104
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: °C
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 0.1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_Vorlauftemperatur
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 33104
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: °C
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 0.1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_Rücklauftemperatur
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 33105
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: °C
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 0.1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_Leistungsanforderung
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 33103
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: '%'
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_Heizkurve
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 41108
 | 
			
		||||
    input_type: holding
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 0.01
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 2
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  # 2. WEZ
 | 
			
		||||
  - name: WP_E1_Status
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 34104
 | 
			
		||||
    input_type: input
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 0
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_E2_Status
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 34105
 | 
			
		||||
    input_type: input
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 0
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_E1_Stunden
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 34106
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: h
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 0
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WP_E2_Stunden
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 34107
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: h
 | 
			
		||||
    state_class: measurement
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 0
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  #Stats
 | 
			
		||||
  - name: WPST_Gesamt_Tag
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36101
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WPST_Gesamt_Monat
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36103
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WPST_Gesamt_Jahr
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36104
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WPST_Heizen_Tag
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36201
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WPST_Heizen_Monat
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36203
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WPST_Heizen_Jahr
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36204
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WPST_WW_Tag
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36301
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WPST_WW_Monat
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36303
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
  - name: WPST_WW_Jahr
 | 
			
		||||
    slave: 1
 | 
			
		||||
    address: 36304
 | 
			
		||||
    input_type: input
 | 
			
		||||
    unit_of_measurement: kWh
 | 
			
		||||
    state_class: total_increasing 
 | 
			
		||||
    device_class: energy
 | 
			
		||||
    scale: 1
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    data_type: int16
 | 
			
		||||
							
								
								
									
										20
									
								
								homeassistant/config/weishaupt.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								homeassistant/config/weishaupt.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
- name: wpump
 | 
			
		||||
  type: tcp
 | 
			
		||||
  host: 192.168.1.7
 | 
			
		||||
  port: 502
 | 
			
		||||
  climates:
 | 
			
		||||
  - name: "WP_Warmwasser"
 | 
			
		||||
    #address: 42103
 | 
			
		||||
    address: 32102
 | 
			
		||||
    slave: 1
 | 
			
		||||
    input_type: input
 | 
			
		||||
    max_temp: 50
 | 
			
		||||
    min_temp: 15
 | 
			
		||||
    offset: 0
 | 
			
		||||
    precision: 1
 | 
			
		||||
    scale: 0.1
 | 
			
		||||
    target_temp_register: 42103
 | 
			
		||||
    temp_step: 1
 | 
			
		||||
    temperature_unit: C
 | 
			
		||||
    unique_id: 123-456-abc
 | 
			
		||||
  sensors: !include sensors.yaml
 | 
			
		||||
							
								
								
									
										14
									
								
								homeassistant/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								homeassistant/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
version: "3"
 | 
			
		||||
services:
 | 
			
		||||
  homeassisstant:
 | 
			
		||||
    container_name: homeassistant
 | 
			
		||||
    image: "ghcr.io/home-assistant/home-assistant:stable"
 | 
			
		||||
    ports: 
 | 
			
		||||
      - 8123:8123
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./config:/config
 | 
			
		||||
      - /etc/localtime:/etc/localtime:ro
 | 
			
		||||
      - /run/dbus:/run/dbus:ro
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    privileged: true
 | 
			
		||||
    network_mode: host
 | 
			
		||||
		Reference in New Issue
	
	Block a user