Skip to content
flum78 edited this page Sep 16, 2022 · 16 revisions

Initially created by Smartzeug for his Youtube series on Home Assistant

Information based on: https://community.home-assistant.io/t/pluggit-ventilation-unit-modbus/108284

Please help out by adding more registers or even making this a custom component.

TODOs

Usage

configuration.yaml

modbus:
  name: pluggit 
  type: tcp
  host: IP_ADDRESS_OF_VENTILLATION_UNIT
  port: 502
  sensors:
    - name: Outdoor_T1
      address: 133
      unit_of_measurement: °C
      count: 2
      precision: 2
      data_type: float32
      device_class: temperature

    - name: Supply_T2
      address: 135
      unit_of_measurement: °C
      count: 2
      precision: 2
      data_type: float32
      device_class: temperature

    - name: Extract_T3
      address: 137
      unit_of_measurement: °C
      count: 2
      precision: 2
      data_type: float32
      device_class: temperature

    - name: Exhaust_T4
      address: 139
      unit_of_measurement: °C
      count: 2
      precision: 2
      data_type: float32
      device_class: temperature

    - name: RoomTemp_WirelesRemote_T5
      address: 141 
      unit_of_measurement: °C
      count: 2
      data_type: float32

    - name: Bypass_State
      address: 198
      count: 1
      data_type: uint16
      unit_of_measurement: status

    - name: Bypass_remaining_time
      address: 264
      unit_of_measurement: min
      count: 1
      data_type: uint16

    - name: Fan_Level
      address: 323
      unit_of_measurement: Step 
      count: 2
      data_type: uint32

    - name: Fan1_Speed
      address: 101 
      unit_of_measurement: rpm 
      count: 2
      data_type: float32

    - name: Fan2_Speed
      address: 103 
      unit_of_measurement: rpm 
      count: 2
      data_type: float32
    
    - name: Filter_Remaining_Time
      address: 553 
      unit_of_measurement: days 
      count: 2
      data_type: uint32

    - name: Pluggit VOC
      address: 430 #40431
      count: 1
      data_type: uint16
      #device_class: none
      unit_of_measurement: ppm

    - name: Pluggit Feuchte
      address: 196 #40197
      count: 1
      data_type: uint16
      device_class: humidity
      unit_of_measurement: RH%

    - name: Pluggit Modus
      address: 472 #40473
      count: 1
      data_type: uint16
      #device_class: none

Service Calls to Control the Unit

Start/End Summer Mode

According to the docs there should be two discrete commands to turn the summer mode on or off. On my P310 both commands will toggle the state of the summer mode between on and off, no matter what the current status is. I analyzed the traffic from the Pluggit Android app and it actually always sends 0x8800 (End Summer Mode) every time. Looks like Pluggit changed something internally and didn't bother to update the documentation. For the sake of completeness I documented both Start and End actions below, but they behave the same. At least on my system.

Note: Summer Mode is not the automatic bypass. Summer mode disables the Intake fan, to suck in air from opened windows, instead.

      # Start Summer Mode (Toggles Summer Mode)
      service: modbus.write_register
      data:
        address: 168
        hub: Pluggit
        value:
          - 0x0800
          - 0

      # End Summer Mode (Toggles Summer Mode)
      service: modbus.write_register
      data:
        address: 168
        hub: Pluggit
        value:
          - 0x8800
          - 0

      # Open / Close the Bypass
      service: modbus.write_register
      data:
        address: 212
        hub: Pluggit
        value:
          - 0 for close / 255 for open
          - 0

Set Fan Speed manual

Create a manuel card in the lovelace dashboard. Then enter:

show_name: false
show_icon: true
type: button
show_state: true
tap_action:
  action: call-service
  service: modbus.write_register
  service_data:
    address: 324
    unit: 255
    value:
      - 1   # Here you can define the speed (0-4)
      - 0
    hub: pluggit
  target: {}
name: Pluggit Step 1
icon: mdi:fan-speed-1
icon_height: 30px

Many more addresses (registers) can be taken from the official docs of Pluggit: http://www.pluggit.com/fileserver/files/1413/609560454939420/21_08_2015_pluggit_uvc_controller_modbus_tcp_ip.pdf

  • The registers are allocated from 0-15 instead of 1-16, so you need to subtract 1 from the register addresses in the documentation. You can also skip the "40" because they are ignored by the PLC of the Pluggit unit. All addresses above follow these conventions.

You might need to write to the register minus one. So to write to register 169, write to register 168 instead. Use the decimal numbers from the official docs or use the hexadecimal numbers prepended with 0x. See the examples above.

Please feel free to add more things here. This is a Wiki for a reason!