빌딩자동화시스템(ADS)


ADS는 TwinCAT을 실행하는 Beckhoff 자동화 장치와 이 인터페이스를 구현하는 다른 장치 간의 통신을 위한 device-independent이고 fieldbus independent 인터페이스를 말합니다.

현재 홈어시스턴트에는 다음과 같은 장치 유형이 지원됩니다.

설정

ADS를 활성화하려면 configuration.yaml 파일에 다음 줄을 추가하십시오 :

# Example configuration.yaml entry
ads:
  device: '127.0.0.1.1.1'
  port: 801

Configuration Variables

device

(string)(Required)

The AMS NetId that identifies the device.

port

(integer)(Required)

The port that runs the AMS server on the device, typically this would be 801 or 851.

ip_address

(string)(Optional)

The IP address of the ADS device, if not set the first 4 bytes of the device id will be used.

서비스

ADS 통합구성요소는 write_by_name 서비스를 등록하여 ADS 장치의 변수에 값을 쓸 수 있습니다.

{
    "adsvar": ".myvariable",
    "adstype": "int",
    "value": 123
}

서비스 매개 변수 :

  • adsvar: ADS 장치의 변수 이름 TwinCAT2에서 전역 변수에 액세스하려면 앞에 붙는 점 .myvariable을 사용하고 TwinCAT3의 경우 GBL.myvariable을 사용하십시오.
  • adstype: 변수의 유형을 지정하십시오. 다음 중 하나를 사용하십시오 :int, byte, uint, bool
  • value: 변수에 쓰여질 값.

Binary Sensor

ads 이진 센서 플랫폼을 사용하여 ADS 장치에서 boolean 값을 모니터링할 수 있습니다.

ADS 장치를 사용하려면 먼저 ADS hub를 설정한 다음 configuration.yaml 파일에 다음을 추가해야합니다.

# Example configuration.yaml entry
binary_sensor:
  - platform: ads
    adsvar: .boolean1

Configuration Variables

adsvar

(string)(Required)

The name of the variable which you want to access on the ADS device.

name

(string)(Optional)

An identifier for the light in the frontend.

device_class

(string)(Optional)

Sets the class of the device, changing the device state and icon that is displayed on the frontend.

Light

ads 조명 플랫폼을 사용하면 connecte ADS 조명을 제어할 수 있습니다.

ADS 장치를 사용하려면 먼저 ADS hub를 설정한 다음 configuration.yaml 파일에 다음을 추가해야합니다.

# Example configuration.yaml entry
light:
  - platform: ads
    adsvar: GVL.enable_light
    adsvar_brightness: GVL.brightness

Configuration Variables

adsvar

(string)(Required)

The name of the boolean variable that switches the light on

adsvar_brightness

(string)(Optional)

The name of the variable that controls the brightness, use an unsigned integer on the PLC side

name

(string)(Optional)

An identifier for the Light in the frontend

Sensor

ads 센서 플랫폼을 사용하면 ADS 장치의 숫자 변수값을 읽을 수 있습니다. 변수는 INT, UINT, BYTE, DINT 또는 UDINT 유형일 수 있습니다.

ADS 장치를 사용하려면 먼저 ADS hub를 설정한 다음 configuration.yaml 파일에 다음을 추가해야합니다.

# Example configuration.yaml entry
sensor:
  - platform: ads
    adsvar: GVL.temperature
    unit_of_measurement: '°C'
    adstype: integer

Configuration Variables

adsvar

(string)(Required)

The name of the variable which you want to access.

adstype

(string)(Optional)

The datatype of the ADS variable, possible values are int, uint, byte, dint, udint.

Default value:

int

name

(string)(Optional)

An identifier for the sensor.

factor

(integer)(Optional)

A factor that divides the stored value before displaying in Home Assistant.

Default value:

1

factor는 고정 소수점을 구현하는데 사용할 수 있습니다. 예를 들어, 소수점 이하 두 자리로 고정 소수점 값을 표시하려면 factor를 100으로 설정하십시오. 123의 변수값은 1.23으로 표시됩니다.

Switch

ads 스위치 플랫폼은 연결된 ADS 장치의 boolean 변수에 액세스합니다. 변수는 이름으로 식별됩니다.

ADS 장치를 사용하려면 먼저 ADS hub를 설정한 다음 configuration.yaml 파일에 다음을 추가해야합니다.

# Example configuration.yaml entry
switch:
  - platform: ads
    adsvar: .global_bool

Configuration Variables

adsvar

(string)(Required)

The name of the variable which you want to access on the ADS device.

name

(string)(Optional)

An identifier for the switch in the frontend.

Cover

ads 커버 플랫폼을 사용하면 연결된 ADS 커버를 제어할 수 있습니다.

ADS 장치를 사용하려면 먼저 ADS hub를 설정한 다음 configuration.yaml 파일에 다음을 추가해야합니다.

# Example configuration.yaml entry
cover:
  - platform: ads
    name: Curtain master bed room
    adsvar_open: covers.master_bed_room_open
    adsvar_close: covers.master_bed_room_close
    adsvar_stop: covers.master_bed_room_stop
    device_class: curtain

Configuration Variables

adsvar

(string)(Required)

The name of the boolean variable that returns the current status of the cover (True = closed)

adsvar_position

(string)(Optional)

The name of the variable that returns the current cover position, use a byte variable on the PLC side

adsvar_set_position

(string)(Optional)

The name of the variable that sets the new cover position, use a byte variable on the PLC side

adsvar_open

(string)(Optional)

The name of the boolean variable that triggers the cover to open

adsvar_close

(string)(Optional)

The name of the boolean variable that triggers the cover to close

adsvar_stop

(string)(Optional)

The name of the boolean variable that triggers the cover to stop

name

(string)(Optional)

An identifier for the Cover in the frontend

device_class

(device_class)(Optional)

Sets the class of the device, changing the device state and icon that is displayed on the frontend.