Pluggit ventilation unit ( modbus )

I have a Pluggit ventilation unit, a use the modbus component to read a sensor data it’s works perfectly.

based by http://www.pluggit.com/fileserver/files/1413/609560454939420/21_08_2015_pluggit_uvc_controller_modbus_tcp_ip.pdf

modbus:
  name: pluggit
  type: tcp
  host: 192.168.X.Y
  port: 502

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Outdoor_T1
        hub: pluggit
        slave: 1
        register: 133
        unit_of_measurement: C
        count: 2
        data_type: float

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Supply_T2
        hub: pluggit
        slave: 1
        register: 135
        unit_of_measurement: C
        count: 2
        data_type: float

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Extract_T3
        hub: pluggit
        slave: 1
        register: 137
        unit_of_measurement: C
        count: 2
        data_type: float

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Exhaust_T4
        hub: pluggit
        slave: 1
        register: 139
        unit_of_measurement: C
        count: 2
        data_type: float
  - platform: modbus
    scan_interval: 10
    registers:
      - name: Bypass_State
        hub: pluggit
        slave: 1
        register: 198   #40199
        unit_of_measurement: status
        count: 1
        data_type: uint

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Bypass_State_REQ
        hub: pluggit
        slave: 1
        register: 168   #40169
        unit_of_measurement: Register_Value
        count: 1
        data_type: uint

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Bypass_remaining_time
        hub: pluggit
        slave: 1
        register: 264   #40265
        unit_of_measurement: minutes
        count: 1
        data_type: uint

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Fan_Level
        hub: pluggit
        slave: 1
        register: 324   #40325
        unit_of_measurement: Step
        count: 1
        data_type: int

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Fan1_Speed
        hub: pluggit
        slave: 1
        register: 101
        unit_of_measurement: rpm
        count: 2
        data_type: float

  - platform: modbus
    scan_interval: 10
    registers:
      - name: Fan2_Speed
        hub: pluggit
        slave: 1
        register: 103
        unit_of_measurement: rpm
        count: 2
        data_type: float

but the writing to register not working, I think it’s a timing problem:

  - platform: modbus
    registers:
      - name: FAN_2_4
        hub: pluggit
        slave: 1
        register: 324 #40325
        command_on: 4
        command_off: 2
#        verify_state: false

It possible to integrate this plugin https://github.com/smarthomeNG/plugins/tree/master/pluggit to HA?

regards
Pimpalavista

1 Like

Hi there. I also have a pluggit system (AP460) and would like to change fan speed based upon CO2 measurement (done through KNX) and also see if I can work out a warning system based upon pressure change to say when the filters need to be cleaned.
I however am a complete beginner with HA. Do I just need to get the IP address of my unit then dump the text above in the configuration.yaml file? I’m happy to share the filter warning if I can get it to work.

@pimpalavista I only just caught this with the recent reply by @britaway so you may already have sorted this out?

If not for my use case when I write to modbus registers I use an automation like this:

- id: IrrigationStartTime
  alias: Irrigation Start Time
  trigger:
    platform: state
    entity_id: input_number.slider1
  action:
    service: modbus.write_register
    data_template:
      hub: hub3
      unit: 3
      address: 3074
      value: "{{ states.input_number.slider1.state|int }}"

But like I said your use case may differ?

You are treating this like a switch right? A switch is binary 0 or 1

Don’t think you can send a 4 or a 2 value for that? Treat it like a sensor I think?

Hi Pimpalavista,

how to you interprete the bypass status and buypass state req?

I miss the understanding?!

Did you get the writing working?

Br,
Senbei

Hi Again, firstly great effort on this!
I have been having a go with my set-up (HA on a Pi and A460) and have the following script in the config file, and am getting the wrong output value:

modbus:
  name: pluggit
  type: tcp
  host: 192.168.xx.xx
  port: 502

sensor:
  - platform: modbus
    registers:
      - name: Outdoor_T1
        hub: pluggit
        unit_of_measurement: °C
        slave: 1
        register: 133
        data_type: float

The output I get is 3DegC. The actual value from the Pluggit unit is 24DegC.

Any idea what is going wrong?

After some digging and advice I got it working, and also VOC and humidity sensors. Here is the script if use to anybody:

  - platform: modbus
    registers:
      - name: Outdoor_T1
        hub: pluggit
        unit_of_measurement: °C
        slave: 1
        count: 2
        reverse_order: 1
        register: 132
        data_type: float
        
  - platform: modbus        
    registers:
      - name: VOC
        hub: pluggit
        unit_of_measurement: ppm
        slave: 1
        count: 2
        reverse_order: 1
        register: 430
        data_type: uint

  - platform: modbus        
    registers:
      - name: HumidityPI
        hub: pluggit
        unit_of_measurement: humidity
        slave: 1
        count: 2
        reverse_order: 1
        register: 196
        data_type: uint

°C

only C !!!

Hi Senbei,

Sorry
I stooped this project…

Maybe in winter time…

regards
Pimpalavista

Now wintertime is coming… :wink:

The new style of modbus register:

modbus:
  name: pluggit 
  type: tcp
  host: 192.168.X.Y 
  port: 502
  sensors:
    - name: Outdoor_T1 
      slave: 1
      address: 133 
      unit_of_measurement: C
      count: 2
      data_type: float

    - name: Supply_T2 
      slave: 1
      address: 135 
      unit_of_measurement: C
      count: 2
      data_type: float

    - name: Extract_T3 
      slave: 1
      address: 137 
      unit_of_measurement: C
      count: 2
      data_type: float

    - name: Exhaust_T4 
      slave: 1
      address: 139 
      unit_of_measurement: C
      count: 2
      data_type: float

    - name: RoomTemp_WirelesRemote_T5
      slave: 1
      address: 141 
      unit_of_measurement: C
      count: 2
      data_type: float

    - name: Bypass_State
      slave: 1
      address: 198   #40199
      unit_of_measurement: status 
      count: 1
      data_type: uint

    - name: Bypass_State_REQ
      slave: 1
      address: 168   #40169
      unit_of_measurement: Register_Value 
      count: 1
      data_type: uint

    - name: Bypass_remaining_time
      slave: 1
      address: 264   #40265
      unit_of_measurement: minutes 
      count: 1
      data_type: uint

    - name: Fan_Level
      slave: 1
      address: 324   #40325
      unit_of_measurement: Step 
      count: 1
      data_type: int

    - name: Fan1_Speed
      slave: 1
      address: 101 
      unit_of_measurement: rpm 
      count: 2
      data_type: float

    - name: Fan2_Speed
      slave: 1
      address: 103 
      unit_of_measurement: rpm 
      count: 2
      data_type: float

Hi Senbei,



type: button
show_state: true
tap_action:
  action: call-service
  service: modbus.write_register
  service_data:
    address: 324
    unit: 255
    value: [1,0]
    hub: pluggit
  target: {}
show_icon: true
show_name: true
name: Pluggit Fan 1


type: button
show_state: true
tap_action:
  action: call-service
  service: modbus.write_register
  service_data:
    address: 324
    unit: 255
    value: [2,0]
    hub: pluggit
  target: {}
show_icon: true
show_name: true
name: Pluggit Fan 2


type: button
show_state: true
tap_action:
  action: call-service
  service: modbus.write_register
  service_data:
    address: 324
    unit: 255
    value: [3,0]
    hub: pluggit
  target: {}
show_icon: true
show_name: true
name: Pluggit Fan 3


type: button
show_state: true
tap_action:
  action: call-service
  service: modbus.write_register
  service_data:
    address: 324
    unit: 255
    value: [3,0]
    hub: pluggit
  target: {}
show_icon: true
show_name: true
name: Pluggit Fan 3


type: button
show_state: true
tap_action:
  action: call-service
  service: modbus.write_register
  service_data:
    address: 324
    unit: 255
    value: [4,0]
    hub: pluggit
  target: {}
show_icon: true
show_name: true
name: Pluggit Fan 4

regards
Pimpalavista