Porting KNX Home server to Home assistant

Hello everyone,

i’m new to Home Assistant, started 3 days ago, and can’t stop thinking about it :sweat_smile: .

2 years ago i bought a house that is fully working on KNX.
The homeserver Gira is very expensive and if it breaks i want to have a spare, but when everything is working i want the server gone.
This is because of the price. Gira Homeserver is like 3000 euro and a Rasberry pi like 50 euro’s.
Also i like to play with Home Assistant and not so much with KNX.

First i need to know if someone can help me in the whole project.
The KNX system has like 1250 components so it will be a big project.

Some things i figured out and are working already:
The lights on HUE bridge are added the KNX lights i’m working on, 10 window blinders, Nuki (door locks), temp sensors, power wattage usage.

The biggest issue i have now, is setting up the Floor heating and the normal heating.
Later i want to try to add my airco’s but thats something for later on.

So how i think it works, i put on my floorheating in, say my living room, what will happen (i think) is:
CV must go on, heating waterpump must go on, valve has to open.
Valve stays open till the room is on temperature ?

My config files are:
/homeassistant/configuration.yaml

homeassistant:
  packages: !include_dir_named Packages 
# 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

/homeassistant/Packages/knx.yaml

knx:
  light:
    - name: "Slaapkamer"
      address: "4/2/0"
      state_address: "4/2/51"
      brightness_address: "4/2/1"
      
    - name: "Keuken"
      address: "4/1/39"
      state_address: "4/1/40"
      brightness_address: "4/1/47"
      
    - name: "Woonkamer KNX"
      address: "4/1/59"
      state_address: "4/1/62"
      brightness_address: "4/1/60"
      
    - name: "Woonkamer 1"
      address: "4/1/68"
      state_address: "4/1/71"
      brightness_address: "4/1/69"
      
    - name: "Woonkamer 2"
      address: "4/1/73"
      state_address: "4/1/76"
      brightness_address: "4/1/74"
      
#####      
#####      - name: "Dimmable light"
#####        address: "1/0/9"
#####       state_address: "1/1/9"
#####       brightness_address: "1/2/9"
#####        brightness_state_address: "1/3/9"
      
  switch:
    - name: "Meterkast"
      address: "4/1/95"
      
  sensor:
    - name: "Woonkamer Temp [voor]"
      state_address: "3/1/0"
      type: "temperature"
      sync_state: "every 5"
    - name: "Hal Temp"
      state_address: "3/1/1"
      type: "temperature"
      sync_state: "every 5"
    - name: "Slaapkamer Temp"
      state_address: "3/1/3"      
      type: "temperature"
      sync_state: "every 5"
    - name: "Keuken Temp"
      state_address: "3/1/4"      
      type: "temperature"
      sync_state: "every 5"
    - name: "Alex Temp"
      state_address: "3/1/5"      
      type: "temperature"
      sync_state: "every 5"
    - name: "Luna Temp"
      state_address: "3/1/6"      
      type: "temperature"
      sync_state: "every 5"
    - name: "Kantoor Temp"
      state_address: "3/1/7"      
      type: "temperature"
      sync_state: "every 5"
    - name: "Badkamer Temp"
      state_address: "3/1/8"      
      type: "temperature"
      sync_state: "every 5"
    - name: "Woonkamer Temp [achter]"
      state_address: "3/1/9"      
      type: "temperature"
      sync_state: "every 5"
    - name: "Veranda [achterdeur] Temp"
      state_address: "3/1/11"      
      type: "temperature"
      sync_state: "every 5"
    - name: "Studio Temp"
      state_address: "3/1/14"      
      type: "temperature"
      sync_state: "every 5"
      #################### Power Sensor
    - name: "Power Total Watt"
      state_address: "1/3/3"      
      type: "power"
    - name: "power L1 status"
      state_address: "1/3/0"      
      type: "power"
    - name: "power L2 status"
      state_address: "1/3/1"      
      type: "power"
    - name: "power L3 status"
      state_address: "1/3/2"      
      type: "power"
    - name: "power Totaal eeuwig"
      state_address: "1/3/4"      
      type: "active_energy_kwh"
    - name: "power Totaal vandaag"
      state_address: "1/3/5"      
      type: "active_energy_kwh"  
##### Dit hieronder werkt niet, geen idee wat Fase voor Type is.
##### name: "Fase L1"
##### state_address: "1/3/6"      
##### type: "apparant_energy"
##### name: "Fase L2"
##### state_address: "1/3/7"      
##### type: "apparant_energy_kvah"        
##### name: "Fase L3"
##### state_address: "1/3/8"      
##### type: "active_energy_mwh"   
  cover:    
    - name: "woonkamer Linksachter"
      move_long_address: "4/5/12"
      move_short_address: "4/5/13"
      stop_address: "4/5/17"
      position_address: "4/5/14"
      position_state_address: "4/5/16"
      travelling_time_down: 18
      travelling_time_up: 20
    - name: "woonkamer Rechtsachter"
      move_long_address: "4/5/18"
      move_short_address: "4/5/19"
      stop_address: "4/5/23"
      position_address: "4/5/20"
      position_state_address: "4/5/22"
      travelling_time_down: 18
      travelling_time_up: 20
    - name: "woonkamer straat"
      move_long_address: "4/5/24"
      move_short_address: "4/5/25"
      stop_address: "4/5/29"
      position_address: "4/5/26"
      position_state_address: "4/5/28"
      travelling_time_down: 18
      travelling_time_up: 20
    - name: "Studio"
      move_long_address: "4/5/30"
      move_short_address: "4/5/31"
      stop_address: "4/5/35"
      position_address: "4/5/32"
      position_state_address: "4/5/34"
      travelling_time_down: 18
      travelling_time_up: 20
    - name: "Achterdeur"
      move_long_address: "4/5/36"
      move_short_address: "4/5/37"
      stop_address: "4/5/41"
      position_address: "4/5/38"
      position_state_address: "4/5/40"
      travelling_time_down: 18
      travelling_time_up: 20
    - name: "Keuken links"
      move_long_address: "4/5/42"
      move_short_address: "4/5/43"
      stop_address: "4/5/47"
      position_address: "4/5/44"
      position_state_address: "4/5/46"
      travelling_time_down: 18
      travelling_time_up: 20
    - name: "Keuken rechts"
      move_long_address: "4/5/48"
      move_short_address: "4/5/49"
      stop_address: "4/5/53"
      position_address: "4/5/50"
      position_state_address: "4/5/52"
      travelling_time_down: 18
      travelling_time_up: 20
    - name: "Badkamer"
      move_long_address: "4/5/60"
      move_short_address: "4/5/61"
      stop_address: "4/5/65"
      position_address: "4/5/62"
      position_state_address: "4/5/64"
      travelling_time_down: 9
      travelling_time_up: 10
    - name: "Voorraadkast"
      move_long_address: "4/5/54"
      move_short_address: "4/5/55"
      stop_address: "4/5/59"
      position_address: "4/5/56"
      position_state_address: "4/5/58"
      travelling_time_down: 9
      travelling_time_up: 10

And the last file:
/homeassistant/Packages/verwarming.yaml

knx:
climate:
    # Verwarmingscontrollers
    - name: "Woonkamer Verwarming"
      temperature_address: "0/2/0"
      target_temperature_address: "0/2/0"
      target_temperature_state_address: "0/2/0"
    - name: "Keuken Verwarming"
      temperature_address: "0/2/1"
      target_temperature_address: "0/2/1"
      target_temperature_state_address: "0/2/1"
    - name: "Hal Verwarming"
      temperature_address: "0/2/2"
      target_temperature_address: "0/2/2"
      target_temperature_state_address: "0/2/2"
    - name: "Slaapkamer-Inloopkast Verwarming"
      temperature_address: "0/2/3"
      target_temperature_address: "0/2/3"
      target_temperature_state_address: "0/2/3"
    - name: "Badkamer Verwarming"
      temperature_address: "0/2/4"
      target_temperature_address: "0/2/4"
      target_temperature_state_address: "0/2/4"
    - name: "Beau Verwarming"
      temperature_address: "0/2/5"
      target_temperature_address: "0/2/5"
      target_temperature_state_address: "0/2/5"
    - name: "Beneden Verwarming"
      temperature_address: "0/2/6"
      target_temperature_address: "0/2/6"
      target_temperature_state_address: "0/2/6"
    - name: "Boven Verwarming"
      temperature_address: "0/2/7"
      target_temperature_address: "0/2/7"
      target_temperature_state_address: "0/2/7"
    - name: "Indy Verwarming"
      temperature_address: "0/2/8"
      target_temperature_address: "0/2/8"
      target_temperature_state_address: "0/2/8"
    - name: "Kantoor Verwarming"
      temperature_address: "0/2/9"
      target_temperature_address: "0/2/9"
      target_temperature_state_address: "0/2/9"
    - name: "Studio Verwarming"
      temperature_address: "0/2/10"
      target_temperature_address: "0/2/10"
      target_temperature_state_address: "0/2/10"
      
# Number-instellingen voor instelbare ventielpositie in procenten
number:
    - name: "Slaapkamer Ventiel Percentage"
      address: "3/0/1"
      min: 0
      max: 100
      step: 1
    - name: "Slaapkamer Inloopkast Ventiel Percentage"
      address: "3/0/6"
      min: 0
      max: 100
      step: 1
    - name: "Kantoor Ventiel Percentage"
      address: "3/0/11"
      min: 0
      max: 100
      step: 1
    - name: "Beau Ventiel Percentage"
      address: "3/0/16"
      min: 0
      max: 100
      step: 1
    - name: "Indy Ventiel Percentage"
      address: "3/0/21"
      min: 0
      max: 100
      step: 1
    - name: "Badkamer Ventiel Percentage"
      address: "3/0/26"
      min: 0
      max: 100
      step: 1
    - name: "Hal Ventiel Percentage"
      address: "3/0/31"
      min: 0
      max: 100
      step: 1
    - name: "Keuken Ventiel Percentage"
      address: "3/0/36"
      min: 0
      max: 100
      step: 1
    - name: "Woonkamer 1 Ventiel Percentage"
      address: "3/0/41"
      min: 0
      max: 100
      step: 1
    - name: "Woonkamer 2 Ventiel Percentage"
      address: "3/0/46"
      min: 0
      max: 100
      step: 1
    - name: "Woonkamer 3 Ventiel Percentage"
      address: "3/0/51"
      min: 0
      max: 100
      step: 1
    - name: "Studio Ventiel Percentage"
      address: "3/0/56"
      min: 0
      max: 100
      step: 1

# Switch voor het aan/uitzetten van de ventielen
switch:
    - name: "Slaapkamer Ventiel"
      address: "3/0/0"
      state_address: "3/0/4"
    - name: "Slaapkamer Inloopkast Ventiel"
      address: "3/0/5"
      state_address: "3/0/9"
    - name: "Kantoor Ventiel"
      address: "3/0/10"
      state_address: "3/0/14"
    - name: "Beau Ventiel"
      address: "3/0/15"
      state_address: "3/0/19"
    - name: "Indy Ventiel"
      address: "3/0/20"
      state_address: "3/0/24"
    - name: "Badkamer Ventiel"
      address: "3/0/25"
      state_address: "3/0/29"
    - name: "Hal Ventiel"
      address: "3/0/30"
      state_address: "3/0/34"
    - name: "Keuken Ventiel"
      address: "3/0/35"
      state_address: "3/0/39"
    - name: "Woonkamer 1 Ventiel"
      address: "3/0/40"
      state_address: "3/0/44"
    - name: "Woonkamer 2 Ventiel"
      address: "3/0/45"
      state_address: "3/0/49"
    - name: "Woonkamer 3 Ventiel"
      address: "3/0/50"
      state_address: "3/0/54"
    - name: "Studio Ventiel"
      address: "3/0/55"
      state_address: "3/0/59"

    # CV en pomp schakelaars
    - name: "CV Aan/Uit"
      address: "3/3/0"
    - name: "CV Service Aan/Uit"
      address: "3/3/3"
    - name: "Pomp Vloerverwarming Aan/Uit"
      address: "3/3/7"

    # Schakelmateriaal
    - name: "Keuken Schakel Aan/Uit"
      address: "3/4/0"
    - name: "Hal Schakel Aan/Uit"
      address: "3/4/2"
    - name: "Badkamer Schakel Aan/Uit"
      address: "3/4/4"
    - name: "Woonkamer Schakel Aan/Uit"
      address: "3/4/6"
    - name: "Slaapkamer Schakel Aan/Uit"
      address: "3/4/8"
    - name: "Kantoor Schakel Aan/Uit"
      address: "3/4/10"
    - name: "Indy Schakel Aan/Uit"
      address: "3/4/12"
    - name: "Beau Schakel Aan/Uit"
      address: "3/4/14"
    - name: "Studio Schakel Aan/Uit"
      address: "3/4/18"
      
    # Temperatuursensoren
sensor:
    - name: "Woonkamer Temperatuur voor"
      state_address: "3/1/0"
      type: temperature
    - name: "Hal Temperatuur"
      state_address: "3/1/1"
      type: temperature
    - name: "Overloop Temperatuur"
      state_address: "3/1/2"
      type: temperature
    - name: "Slaapkamer Temperatuur"
      state_address: "3/1/3"
      type: temperature
    - name: "Keuken Temperatuur"
      state_address: "3/1/4"
      type: temperature
    - name: "Indy Temperatuur"
      state_address: "3/1/5"
      type: temperature
    - name: "Beau Temperatuur"
      state_address: "3/1/6"
      type: temperature
    - name: "Kantoor Temperatuur"
      state_address: "3/1/7"
      type: temperature
    - name: "Badkamer Temperatuur"
      state_address: "3/1/8"
      type: temperature
    - name: "Woonkamer Temperatuur achter"
      state_address: "3/1/9"
      type: temperature
    - name: "Hal Temperatuur voordeur"
      state_address: "3/1/10"
      type: temperature
    - name: "Veranda achterdeur Temperatuur"
      state_address: "3/1/11"
      type: temperature
    - name: "Veranda opzij weg Temperatuur"
      state_address: "3/1/12"
      type: temperature
    - name: "Veranda opzij container Temperatuur"
      state_address: "3/1/13"
      type: temperature
    - name: "Studio Temperatuur"
      state_address: "3/1/14"
      type: temperature
    - name: "Slaapkamer Ventiel Positie-indicator"
      state_address: "3/0/2"
      type: percentage
    - name: "Slaapkamer Inloopkast Ventiel Positie-indicator"
      state_address: "3/0/7"
      type: percentage
    - name: "Kantoor Ventiel Positie-indicator"
      state_address: "3/0/12"
      type: percentage
    - name: "Beau Ventiel Positie-indicator"
      state_address: "3/0/17"
      type: percentage
    - name: "Indy Ventiel Positie-indicator"
      state_address: "3/0/22"
      type: percentage
    - name: "Badkamer Ventiel Positie-indicator"
      state_address: "3/0/27"
      type: percentage
    - name: "Hal Ventiel Positie-indicator"
      state_address: "3/0/32"
      type: percentage
    - name: "Keuken Ventiel Positie-indicator"
      state_address: "3/0/37"
      type: percentage
    - name: "Woonkamer 1 Ventiel Positie-indicator"
      state_address: "3/0/42"
      type: percentage
    - name: "Woonkamer 2 Ventiel Positie-indicator"
      state_address: "3/0/47"
      type: percentage
    - name: "Woonkamer 3 Ventiel Positie-indicator"
      state_address: "3/0/52"
      type: percentage
    - name: "Studio Ventiel Positie-indicator"
      state_address: "3/0/57"
      type: percentage
      
binary_sensor:
    # Status Sensoren
    - name: "CV Status"
      state_address: "3/3/1"
    - name: "Pomp Vloerverwarming Status"
      state_address: "3/3/8"
    - name: "Keuken Schakel Status"
      state_address: "3/4/1"
    - name: "Hal Schakel Status"
      state_address: "3/4/3"
    - name: "Badkamer Schakel Status"
      state_address: "3/4/5"
    - name: "Woonkamer Schakel Status"
      state_address: "3/4/7"
    - name: "Slaapkamer Schakel Status"
      state_address: "3/4/9"
    - name: "Kantoor Schakel Status"
      state_address: "3/4/11"
    - name: "Indy Schakel Status"
      state_address: "3/4/13"
    - name: "Beau Schakel Status"
      state_address: "3/4/15"
    - name: "Studio Schakel Status"
      state_address: "3/4/19"

First of all, did i add the right lines, or did a made some mistakes?
When i check the file verwarming.yaml
I get errors:

Invalid config for 'number' at Packages/verwarming.yaml, line 66: required key 'platform' not provided
Invalid config for 'number' at Packages/verwarming.yaml, line 71: required key 'platform' not provided
Invalid config for 'number' at Packages/verwarming.yaml, line 76: required key 'platform' not provided
Invalid config for 'number' at Packages/verwarming.yaml, line 81: required key 'platform' not provided
Invalid config for 'number' at Packages/verwarming.yaml, line 86: required key 'platform' not provided
Invalid config for 'number' at Packages/verwarming.yaml, line 91: required key 'platform' not provided
Invalid config for 'number' at Packages/verwarming.yaml, line 96: required key 'platform' not provided
Invalid config for 'number' at Packages/verwarming.yaml, line 101: required key 'platform' not provided
Invalid config for 'number' at Packages/verwarming.yaml, line 106: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 265: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 267: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 269: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 271: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 273: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 275: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 277: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 279: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 281: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 283: required key 'platform' not provided
Invalid config for 'binary_sensor' at Packages/verwarming.yaml, line 285: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 181: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 184: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 187: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 190: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 193: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 196: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 199: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 202: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 205: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 208: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 211: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 214: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 217: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 220: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 223: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 226: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 229: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 232: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 235: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 238: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 241: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 244: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 247: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 250: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 253: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 256: required key 'platform' not provided
Invalid config for 'sensor' at Packages/verwarming.yaml, line 259: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 114: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 117: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 120: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 123: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 126: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 129: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 132: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 135: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 138: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 141: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 144: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 147: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 152: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 154: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 156: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 160: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 162: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 164: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 166: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 168: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 170: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 172: required key 'platform' not provided
Invalid config for 'switch' at Packages/verwarming.yaml, line 174: required key 'platform' not provided

Any help would be appreciated!
Tom

I don’t know much about packages, but to me

… this looks fine

… this is missing indentation at “climate” and the other platforms.