@things-factory/integration-base 9.0.5 → 9.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/engine/task/publish.js +4 -1
- package/dist-server/engine/task/publish.js.map +1 -1
- package/dist-server/engine/task/state-read.js +4 -1
- package/dist-server/engine/task/state-read.js.map +1 -1
- package/dist-server/engine/task/state-write.js +4 -1
- package/dist-server/engine/task/state-write.js.map +1 -1
- package/dist-server/engine/task/utils/substitute-multi.d.ts +7 -0
- package/dist-server/engine/task/utils/substitute-multi.js +37 -0
- package/dist-server/engine/task/utils/substitute-multi.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/integration/task/publish.ja.md +46 -8
- package/helps/integration/task/publish.ko.md +40 -2
- package/helps/integration/task/publish.md +42 -4
- package/helps/integration/task/publish.ms.md +42 -4
- package/helps/integration/task/publish.zh.md +45 -4
- package/helps/integration/task/state-read.ja.md +42 -2
- package/helps/integration/task/state-read.ko.md +42 -2
- package/helps/integration/task/state-read.md +42 -2
- package/helps/integration/task/state-read.ms.md +42 -2
- package/helps/integration/task/state-read.zh.md +42 -2
- package/helps/integration/task/state-write.ja.md +43 -0
- package/helps/integration/task/state-write.ko.md +43 -0
- package/helps/integration/task/state-write.md +46 -3
- package/helps/integration/task/state-write.ms.md +43 -0
- package/helps/integration/task/state-write.zh.md +44 -1
- package/package.json +2 -2
@@ -1,16 +1,54 @@
|
|
1
1
|
# publish
|
2
2
|
|
3
|
-
|
3
|
+
subscription APIを介して要求されたすべてのSubscriberにデータをブロードキャストするタスクです。
|
4
4
|
|
5
|
-
|
5
|
+
クライアントアプリケーションでデータサブスクリプションを要求する方法は以下の通りです:
|
6
6
|
|
7
|
-
-
|
8
|
-
- wss://[server host:port]/subscription APIを介してsubscribe
|
7
|
+
- Board UIでsubscriberを通じて要求できます。
|
8
|
+
- wss://[server host:port]/subscription APIを介してsubscribe要求できます。
|
9
9
|
|
10
|
-
##
|
10
|
+
## パラメーター
|
11
11
|
|
12
|
-
-
|
13
|
-
- シナリオ内のステップ名で、ブロードキャストしたいデータを指定します。
|
14
|
-
- タグ
|
12
|
+
- tag
|
15
13
|
- データをブロードキャストする際には、タグを付けて送る必要があります。
|
16
14
|
- Subscriberもデータをsubscribeする際には、受け取りたいタグを設定して、該当のタグが付いたブロードキャストだけを受信できます。
|
15
|
+
- **動的サポート**: 以下のパターンを使用した動的置換をサポートします:
|
16
|
+
- `#{user.id}_status` - #{...} パターン使用
|
17
|
+
- `${user.role}_prefs` - ${...} パターン使用
|
18
|
+
- `{{domain.name}}_data` - {{...}} パターン使用
|
19
|
+
- `static_name` - 静的名前 (置換なし)
|
20
|
+
|
21
|
+
## 使用例
|
22
|
+
|
23
|
+
### 静的使用
|
24
|
+
|
25
|
+
```json
|
26
|
+
{
|
27
|
+
"task": "publish",
|
28
|
+
"params": {
|
29
|
+
"tag": "machine"
|
30
|
+
}
|
31
|
+
}
|
32
|
+
```
|
33
|
+
|
34
|
+
### 動的使用
|
35
|
+
|
36
|
+
```json
|
37
|
+
{
|
38
|
+
"task": "publish",
|
39
|
+
"params": {
|
40
|
+
"tag": "#{machine.code}"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### 混合使用
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "publish",
|
50
|
+
"params": {
|
51
|
+
"tag": "#{machine.code}_${sensor.code}"
|
52
|
+
}
|
53
|
+
}
|
54
|
+
```
|
@@ -9,8 +9,46 @@ subscription API를 통해서 요청된 모든 Subscriber에게 데이타를 브
|
|
9
9
|
|
10
10
|
## parameters
|
11
11
|
|
12
|
-
- [accessor](../concept/data-accessor.md)
|
13
|
-
- 시나리오 내의 하나의 스텝이름으로, 브로드캐스트하고자 하는 데이타를 지정한다.
|
14
12
|
- tag
|
15
13
|
- 데이타를 브로드캐스트할 때 태그를 부여해서 보내야한다.
|
16
14
|
- subscriber들도 data를 subscribe할 때, 받고자 하는 테그를 설정하여, 해당 태그가 부여된 브로드캐스트만 받을 수 있다.
|
15
|
+
- **동적 지원**: 다음 패턴을 사용한 동적 치환을 지원합니다:
|
16
|
+
- `#{user.id}_status` - #{...} 패턴 사용
|
17
|
+
- `${user.role}_prefs` - ${...} 패턴 사용
|
18
|
+
- `{{domain.name}}_data` - {{...}} 패턴 사용
|
19
|
+
- `static_name` - 정적 이름 (치환 없음)
|
20
|
+
|
21
|
+
## 사용 예시
|
22
|
+
|
23
|
+
### 정적 사용
|
24
|
+
|
25
|
+
```json
|
26
|
+
{
|
27
|
+
"task": "publish",
|
28
|
+
"params": {
|
29
|
+
"tag": "machine"
|
30
|
+
}
|
31
|
+
}
|
32
|
+
```
|
33
|
+
|
34
|
+
### 동적 사용
|
35
|
+
|
36
|
+
```json
|
37
|
+
{
|
38
|
+
"task": "publish",
|
39
|
+
"params": {
|
40
|
+
"tag": "#{machine.code}"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### 혼합 사용
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "publish",
|
50
|
+
"params": {
|
51
|
+
"tag": "#{machine.code}_${sensor.code}"
|
52
|
+
}
|
53
|
+
}
|
54
|
+
```
|
@@ -7,10 +7,48 @@ Ways to request data subscription in client applications include:
|
|
7
7
|
- It can be requested through the Board UI via subscribers.
|
8
8
|
- Subscription requests can be made through the wss://[server host:port]/subscription API.
|
9
9
|
|
10
|
-
##
|
10
|
+
## parameters
|
11
11
|
|
12
|
-
-
|
13
|
-
- As a step name within the scenario, specifies the data to be broadcast.
|
14
|
-
- Tag
|
12
|
+
- tag
|
15
13
|
- When broadcasting data, it is necessary to attach a tag.
|
16
14
|
- When subscribers subscribe to data, they can receive only broadcasts with the specified tag.
|
15
|
+
- **Dynamic Support**: Supports dynamic substitution using the following patterns:
|
16
|
+
- `#{user.id}_status` - Using #{...} pattern
|
17
|
+
- `${user.role}_prefs` - Using ${...} pattern
|
18
|
+
- `{{domain.name}}_data` - Using {{...}} pattern
|
19
|
+
- `static_name` - Static name (no substitution)
|
20
|
+
|
21
|
+
## Usage Examples
|
22
|
+
|
23
|
+
### Static Usage
|
24
|
+
|
25
|
+
```json
|
26
|
+
{
|
27
|
+
"task": "publish",
|
28
|
+
"params": {
|
29
|
+
"tag": "machine"
|
30
|
+
}
|
31
|
+
}
|
32
|
+
```
|
33
|
+
|
34
|
+
### Dynamic Usage
|
35
|
+
|
36
|
+
```json
|
37
|
+
{
|
38
|
+
"task": "publish",
|
39
|
+
"params": {
|
40
|
+
"tag": "#{machine.code}"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### Mixed Usage
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "publish",
|
50
|
+
"params": {
|
51
|
+
"tag": "#{machine.code}_${sensor.code}"
|
52
|
+
}
|
53
|
+
}
|
54
|
+
```
|
@@ -7,10 +7,48 @@ Cara untuk meminta langganan data dalam aplikasi klien termasuk:
|
|
7
7
|
- Ini dapat diminta melalui Board UI melalui subscriber.
|
8
8
|
- Permintaan langganan dapat dilakukan melalui wss://[server host:port]/subscription API.
|
9
9
|
|
10
|
-
##
|
10
|
+
## parameter
|
11
11
|
|
12
|
-
-
|
13
|
-
- Sebagai nama langkah dalam skenario, menentukan data yang akan disiarkan.
|
14
|
-
- Tag
|
12
|
+
- tag
|
15
13
|
- Ketika menyiarkan data, perlu melampirkan tag.
|
16
14
|
- Ketika subscriber berlangganan data, mereka hanya dapat menerima siaran dengan tag yang ditentukan.
|
15
|
+
- **Sokongan Dinamik**: Menyokong penggantian dinamik menggunakan corak:
|
16
|
+
- `#{user.id}_status` - Menggunakan corak #{...}
|
17
|
+
- `${user.role}_prefs` - Menggunakan corak ${...}
|
18
|
+
- `{{domain.name}}_data` - Menggunakan corak {{...}}
|
19
|
+
- `static_name` - Nama statik (tiada penggantian)
|
20
|
+
|
21
|
+
## Contoh Penggunaan
|
22
|
+
|
23
|
+
### Penggunaan Statik
|
24
|
+
|
25
|
+
```json
|
26
|
+
{
|
27
|
+
"task": "publish",
|
28
|
+
"params": {
|
29
|
+
"tag": "machine"
|
30
|
+
}
|
31
|
+
}
|
32
|
+
```
|
33
|
+
|
34
|
+
### Penggunaan Dinamik
|
35
|
+
|
36
|
+
```json
|
37
|
+
{
|
38
|
+
"task": "publish",
|
39
|
+
"params": {
|
40
|
+
"tag": "#{machine.code}"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### Penggunaan Campuran
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "publish",
|
50
|
+
"params": {
|
51
|
+
"tag": "#{machine.code}_${sensor.code}"
|
52
|
+
}
|
53
|
+
}
|
54
|
+
```
|
@@ -4,13 +4,54 @@
|
|
4
4
|
|
5
5
|
客户端应用程序请求数据订阅的方式包括:
|
6
6
|
|
7
|
-
- 可以通过Board UI
|
7
|
+
- 可以通过Board UI通过subscriber请求。
|
8
8
|
- 可以通过wss://[server host:port]/subscription API进行订阅请求。
|
9
9
|
|
10
10
|
## 参数
|
11
11
|
|
12
|
+
- tag
|
13
|
+
- 广播数据时,需要附加标签。
|
14
|
+
- 当订阅者订阅数据时,他们只能接收带有指定标签的广播。
|
15
|
+
- **动态支持**: 支持使用以下模式的动态替换:
|
16
|
+
- `#{user.id}_status` - 使用 #{...} 模式
|
17
|
+
- `${user.role}_prefs` - 使用 ${...} 模式
|
18
|
+
- `{{domain.name}}_data` - 使用 {{...}} 模式
|
19
|
+
- `static_name` - 静态名称 (无替换)
|
20
|
+
|
21
|
+
## 使用示例
|
22
|
+
|
23
|
+
### 静态使用
|
24
|
+
|
25
|
+
```json
|
26
|
+
{
|
27
|
+
"task": "publish",
|
28
|
+
"params": {
|
29
|
+
"tag": "machine"
|
30
|
+
}
|
31
|
+
}
|
32
|
+
```
|
33
|
+
|
34
|
+
### 动态使用
|
35
|
+
|
36
|
+
```json
|
37
|
+
{
|
38
|
+
"task": "publish",
|
39
|
+
"params": {
|
40
|
+
"tag": "#{machine.code}"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### 混合使用
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "publish",
|
50
|
+
"params": {
|
51
|
+
"tag": "#{machine.code}_${sensor.code}"
|
52
|
+
}
|
53
|
+
}
|
54
|
+
```
|
55
|
+
|
12
56
|
- [存取器](../concept/data-accessor.md)
|
13
57
|
- 作为场景中的步骤名称,指定要广播的数据。
|
14
|
-
- 标签
|
15
|
-
- 在广播数据时,需要附加标签。
|
16
|
-
- 当订阅者订阅数据时,他们只能接收具有指定标签的广播。
|
@@ -1,8 +1,48 @@
|
|
1
1
|
# state-read
|
2
2
|
|
3
|
-
[状態登録簿(state-register)](../concept/state-register.md)
|
3
|
+
[状態登録簿(state-register)](../concept/state-register.md)に定義された一つの状態から値を読み取るタスクです。
|
4
4
|
|
5
5
|
## パラメーター
|
6
6
|
|
7
7
|
- 名前
|
8
|
-
-
|
8
|
+
- 読み取りたい対象状態の「名前」を指定します
|
9
|
+
- **動的サポート**: 以下のパターンを使用した動的置換をサポートします:
|
10
|
+
- `#{user.id}_status` - #{...} パターン使用
|
11
|
+
- `${user.role}_prefs` - ${...} パターン使用
|
12
|
+
- `{{domain.name}}_data` - {{...}} パターン使用
|
13
|
+
- `static_name` - 静的名前 (置換なし)
|
14
|
+
|
15
|
+
## 使用例
|
16
|
+
|
17
|
+
### 静的使用
|
18
|
+
|
19
|
+
```json
|
20
|
+
{
|
21
|
+
"task": "state-read",
|
22
|
+
"params": {
|
23
|
+
"name": "machine-10"
|
24
|
+
}
|
25
|
+
}
|
26
|
+
```
|
27
|
+
|
28
|
+
### 動的使用
|
29
|
+
|
30
|
+
```json
|
31
|
+
{
|
32
|
+
"task": "state-read",
|
33
|
+
"params": {
|
34
|
+
"name": "#{machine.code}"
|
35
|
+
}
|
36
|
+
}
|
37
|
+
```
|
38
|
+
|
39
|
+
### 混合使用
|
40
|
+
|
41
|
+
```json
|
42
|
+
{
|
43
|
+
"task": "state-read",
|
44
|
+
"params": {
|
45
|
+
"name": "#{machine.code}_${sensor.code}"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
```
|
@@ -1,8 +1,48 @@
|
|
1
1
|
# state-read
|
2
2
|
|
3
|
-
[상태등록부(state-register)](../concept/state-register.md)에 정의된 하나의
|
3
|
+
[상태등록부(state-register)](../concept/state-register.md)에 정의된 하나의 상태에 값을 읽는 태스크이다.
|
4
4
|
|
5
5
|
## parameters
|
6
6
|
|
7
7
|
- name
|
8
|
-
-
|
8
|
+
- 읽고자 하는 대상 상태 "이름"을 지정한다
|
9
|
+
- **동적 지원**: 다음 패턴을 사용한 동적 치환을 지원합니다:
|
10
|
+
- `#{user.id}_status` - #{...} 패턴 사용
|
11
|
+
- `${user.role}_prefs` - ${...} 패턴 사용
|
12
|
+
- `{{domain.name}}_data` - {{...}} 패턴 사용
|
13
|
+
- `static_name` - 정적 이름 (치환 없음)
|
14
|
+
|
15
|
+
## 사용 예시
|
16
|
+
|
17
|
+
### 정적 사용
|
18
|
+
|
19
|
+
```json
|
20
|
+
{
|
21
|
+
"task": "state-read",
|
22
|
+
"params": {
|
23
|
+
"name": "machine-10"
|
24
|
+
}
|
25
|
+
}
|
26
|
+
```
|
27
|
+
|
28
|
+
### 동적 사용
|
29
|
+
|
30
|
+
```json
|
31
|
+
{
|
32
|
+
"task": "state-read",
|
33
|
+
"params": {
|
34
|
+
"name": "#{machine.code}"
|
35
|
+
}
|
36
|
+
}
|
37
|
+
```
|
38
|
+
|
39
|
+
### 혼합 사용
|
40
|
+
|
41
|
+
```json
|
42
|
+
{
|
43
|
+
"task": "state-read",
|
44
|
+
"params": {
|
45
|
+
"name": "#{machine.code}_${sensor.code}"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
```
|
@@ -1,8 +1,48 @@
|
|
1
1
|
# state-read
|
2
2
|
|
3
|
-
[State Register](../concept/state-register.md) defines a task to read
|
3
|
+
[State Register](../concept/state-register.md) defines a task to read values from one state.
|
4
4
|
|
5
5
|
## parameters
|
6
6
|
|
7
7
|
- name
|
8
|
-
- Specifies the "name" of the state to be
|
8
|
+
- Specifies the "name" of the target state to be read
|
9
|
+
- **Dynamic Support**: Supports dynamic substitution using the following patterns:
|
10
|
+
- `#{user.id}_status` - Using #{...} pattern
|
11
|
+
- `${user.role}_prefs` - Using ${...} pattern
|
12
|
+
- `{{domain.name}}_data` - Using {{...}} pattern
|
13
|
+
- `static_name` - Static name (no substitution)
|
14
|
+
|
15
|
+
## Usage Examples
|
16
|
+
|
17
|
+
### Static Usage
|
18
|
+
|
19
|
+
```json
|
20
|
+
{
|
21
|
+
"task": "state-read",
|
22
|
+
"params": {
|
23
|
+
"name": "machine-10"
|
24
|
+
}
|
25
|
+
}
|
26
|
+
```
|
27
|
+
|
28
|
+
### Dynamic Usage
|
29
|
+
|
30
|
+
```json
|
31
|
+
{
|
32
|
+
"task": "state-read",
|
33
|
+
"params": {
|
34
|
+
"name": "#{machine.code}"
|
35
|
+
}
|
36
|
+
}
|
37
|
+
```
|
38
|
+
|
39
|
+
### Mixed Usage
|
40
|
+
|
41
|
+
```json
|
42
|
+
{
|
43
|
+
"task": "state-read",
|
44
|
+
"params": {
|
45
|
+
"name": "#{machine.code}_${sensor.code}"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
```
|
@@ -1,8 +1,48 @@
|
|
1
1
|
# state-read
|
2
2
|
|
3
|
-
[Daftar keadaan(state-register)](../concept/state-register.md) mendefinisikan tugas untuk membaca nilai
|
3
|
+
[Daftar keadaan(state-register)](../concept/state-register.md) mendefinisikan tugas untuk membaca nilai dari satu keadaan.
|
4
4
|
|
5
5
|
## parameter
|
6
6
|
|
7
7
|
- nama
|
8
|
-
- Menentukan "nama" keadaan yang
|
8
|
+
- Menentukan "nama" keadaan sasaran yang ingin dibaca
|
9
|
+
- **Sokongan Dinamik**: Menyokong penggantian dinamik menggunakan corak:
|
10
|
+
- `#{user.id}_status` - Menggunakan corak #{...}
|
11
|
+
- `${user.role}_prefs` - Menggunakan corak ${...}
|
12
|
+
- `{{domain.name}}_data` - Menggunakan corak {{...}}
|
13
|
+
- `static_name` - Nama statik (tiada penggantian)
|
14
|
+
|
15
|
+
## Contoh Penggunaan
|
16
|
+
|
17
|
+
### Penggunaan Statik
|
18
|
+
|
19
|
+
```json
|
20
|
+
{
|
21
|
+
"task": "state-read",
|
22
|
+
"params": {
|
23
|
+
"name": "machine-10"
|
24
|
+
}
|
25
|
+
}
|
26
|
+
```
|
27
|
+
|
28
|
+
### Penggunaan Dinamik
|
29
|
+
|
30
|
+
```json
|
31
|
+
{
|
32
|
+
"task": "state-read",
|
33
|
+
"params": {
|
34
|
+
"name": "#{machine.code}"
|
35
|
+
}
|
36
|
+
}
|
37
|
+
```
|
38
|
+
|
39
|
+
### Penggunaan Campuran
|
40
|
+
|
41
|
+
```json
|
42
|
+
{
|
43
|
+
"task": "state-read",
|
44
|
+
"params": {
|
45
|
+
"name": "#{machine.code}_${sensor.code}"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
```
|
@@ -1,8 +1,48 @@
|
|
1
1
|
# state-read
|
2
2
|
|
3
|
-
[状态登记册(state-register)](../concept/state-register.md)
|
3
|
+
[状态登记册(state-register)](../concept/state-register.md)中定义了从一个状态读取值的任务。
|
4
4
|
|
5
5
|
## 参数
|
6
6
|
|
7
7
|
- 名称
|
8
|
-
-
|
8
|
+
- 指定要读取的目标状态的"名称"
|
9
|
+
- **动态支持**: 支持使用以下模式的动态替换:
|
10
|
+
- `#{user.id}_status` - 使用 #{...} 模式
|
11
|
+
- `${user.role}_prefs` - 使用 ${...} 模式
|
12
|
+
- `{{domain.name}}_data` - 使用 {{...}} 模式
|
13
|
+
- `static_name` - 静态名称 (无替换)
|
14
|
+
|
15
|
+
## 使用示例
|
16
|
+
|
17
|
+
### 静态使用
|
18
|
+
|
19
|
+
```json
|
20
|
+
{
|
21
|
+
"task": "state-read",
|
22
|
+
"params": {
|
23
|
+
"name": "machine-10"
|
24
|
+
}
|
25
|
+
}
|
26
|
+
```
|
27
|
+
|
28
|
+
### 动态使用
|
29
|
+
|
30
|
+
```json
|
31
|
+
{
|
32
|
+
"task": "state-read",
|
33
|
+
"params": {
|
34
|
+
"name": "#{machine.code}"
|
35
|
+
}
|
36
|
+
}
|
37
|
+
```
|
38
|
+
|
39
|
+
### 混合使用
|
40
|
+
|
41
|
+
```json
|
42
|
+
{
|
43
|
+
"task": "state-read",
|
44
|
+
"params": {
|
45
|
+
"name": "#{machine.code}_${sensor.code}"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
```
|
@@ -8,5 +8,48 @@
|
|
8
8
|
|
9
9
|
- 名前
|
10
10
|
- 書き込みたい対象状態の「名前」を指定します
|
11
|
+
- **動的サポート**: 以下のパターンを使用した動的置換をサポートします:
|
12
|
+
- `#{user.id}_status` - #{...} パターン使用
|
13
|
+
- `${user.role}_prefs` - ${...} パターン使用
|
14
|
+
- `{{domain.name}}_data` - {{...}} パターン使用
|
15
|
+
- `static_name` - 静的名前 (置換なし)
|
11
16
|
- [アクセサ](../concept/data-accessor.md)
|
12
17
|
- シナリオ内のステップ名で、書き込みたいデータを指定します。
|
18
|
+
|
19
|
+
## 使用例
|
20
|
+
|
21
|
+
### 静的使用
|
22
|
+
|
23
|
+
```json
|
24
|
+
{
|
25
|
+
"task": "state-write",
|
26
|
+
"params": {
|
27
|
+
"name": "user_status",
|
28
|
+
"accessor": "machine-10"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
```
|
32
|
+
|
33
|
+
### 動的使用
|
34
|
+
|
35
|
+
```json
|
36
|
+
{
|
37
|
+
"task": "state-write",
|
38
|
+
"params": {
|
39
|
+
"name": "#{machine.code}",
|
40
|
+
"accessor": "result.status"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### 混合使用
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "state-write",
|
50
|
+
"params": {
|
51
|
+
"name": "#{machine.code}_${sensor.code}",
|
52
|
+
"accessor": "user.preferences"
|
53
|
+
}
|
54
|
+
}
|
55
|
+
```
|
@@ -8,5 +8,48 @@
|
|
8
8
|
|
9
9
|
- name
|
10
10
|
- 쓰고자 하는 대상 상태 "이름"을 지정한다
|
11
|
+
- **동적 지원**: 다음 패턴을 사용한 동적 치환을 지원합니다:
|
12
|
+
- `#{user.id}_status` - #{...} 패턴 사용
|
13
|
+
- `${user.role}_prefs` - ${...} 패턴 사용
|
14
|
+
- `{{domain.name}}_data` - {{...}} 패턴 사용
|
15
|
+
- `static_name` - 정적 이름 (치환 없음)
|
11
16
|
- [accessor](../concept/data-accessor.md)
|
12
17
|
- 시나리오 내의 하나의 스텝이름으로, 쓰고자 하는 데이타를 지정한다.
|
18
|
+
|
19
|
+
## 사용 예시
|
20
|
+
|
21
|
+
### 정적 사용
|
22
|
+
|
23
|
+
```json
|
24
|
+
{
|
25
|
+
"task": "state-write",
|
26
|
+
"params": {
|
27
|
+
"name": "user_status",
|
28
|
+
"accessor": "machine-10"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
```
|
32
|
+
|
33
|
+
### 동적 사용
|
34
|
+
|
35
|
+
```json
|
36
|
+
{
|
37
|
+
"task": "state-write",
|
38
|
+
"params": {
|
39
|
+
"name": "#{machine.code}",
|
40
|
+
"accessor": "result.status"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### 혼합 사용
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "state-write",
|
50
|
+
"params": {
|
51
|
+
"name": "#{machine.code}_${sensor.code}",
|
52
|
+
"accessor": "user.preferences"
|
53
|
+
}
|
54
|
+
}
|
55
|
+
```
|
@@ -1,12 +1,55 @@
|
|
1
1
|
# state-write
|
2
2
|
|
3
|
-
[State Register](../concept/state-register.md) defines a task
|
3
|
+
[State Register](../concept/state-register.md) defines a task to write values to one state.
|
4
4
|
|
5
|
-
> ⚠️ If the StateRegister with the specified name
|
5
|
+
> ⚠️ If autoPublish is set to true in the StateRegister with the specified name, data publish will automatically occur when writing values.
|
6
6
|
|
7
7
|
## parameters
|
8
8
|
|
9
9
|
- name
|
10
10
|
- Specifies the "name" of the target state to be written
|
11
|
+
- **Dynamic Support**: Supports dynamic substitution using the following patterns:
|
12
|
+
- `#{user.id}_status` - Using #{...} pattern
|
13
|
+
- `${user.role}_prefs` - Using ${...} pattern
|
14
|
+
- `{{domain.name}}_data` - Using {{...}} pattern
|
15
|
+
- `static_name` - Static name (no substitution)
|
11
16
|
- [accessor](../concept/data-accessor.md)
|
12
|
-
-
|
17
|
+
- As a step name within the scenario, specifies the data to be written.
|
18
|
+
|
19
|
+
## Usage Examples
|
20
|
+
|
21
|
+
### Static Usage
|
22
|
+
|
23
|
+
```json
|
24
|
+
{
|
25
|
+
"task": "state-write",
|
26
|
+
"params": {
|
27
|
+
"name": "user_status",
|
28
|
+
"accessor": "machine-10"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
```
|
32
|
+
|
33
|
+
### Dynamic Usage
|
34
|
+
|
35
|
+
```json
|
36
|
+
{
|
37
|
+
"task": "state-write",
|
38
|
+
"params": {
|
39
|
+
"name": "#{machine.code}",
|
40
|
+
"accessor": "result.status"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### Mixed Usage
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "state-write",
|
50
|
+
"params": {
|
51
|
+
"name": "#{machine.code}_${sensor.code}",
|
52
|
+
"accessor": "user.preferences"
|
53
|
+
}
|
54
|
+
}
|
55
|
+
```
|