@things-factory/integration-base 9.0.5 → 9.0.12
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/connector/index.d.ts +1 -0
- package/dist-server/engine/connector/index.js +1 -0
- package/dist-server/engine/connector/index.js.map +1 -1
- package/dist-server/engine/connector/pyrun-connector.d.ts +16 -0
- package/dist-server/engine/connector/pyrun-connector.js +56 -0
- package/dist-server/engine/connector/pyrun-connector.js.map +1 -0
- package/dist-server/engine/task/index.d.ts +1 -0
- package/dist-server/engine/task/index.js +1 -0
- package/dist-server/engine/task/index.js.map +1 -1
- package/dist-server/engine/task/publish.js +4 -1
- package/dist-server/engine/task/publish.js.map +1 -1
- package/dist-server/engine/task/pyrun-execute.d.ts +1 -0
- package/dist-server/engine/task/pyrun-execute.js +43 -0
- package/dist-server/engine/task/pyrun-execute.js.map +1 -0
- 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/connector/pyrun-connector.ja.md +55 -0
- package/helps/integration/connector/pyrun-connector.ko.md +55 -0
- package/helps/integration/connector/pyrun-connector.md +55 -0
- package/helps/integration/connector/pyrun-connector.ms.md +55 -0
- package/helps/integration/connector/pyrun-connector.zh.md +55 -0
- 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/pyrun-execute.ja.md +36 -0
- package/helps/integration/task/pyrun-execute.ko.md +36 -0
- package/helps/integration/task/pyrun-execute.md +36 -0
- package/helps/integration/task/pyrun-execute.ms.md +36 -0
- package/helps/integration/task/pyrun-execute.zh.md +36 -0
- 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
- package/translations/en.json +1 -0
- package/translations/ja.json +1 -0
- package/translations/ko.json +1 -0
- package/translations/ms.json +1 -0
- package/translations/zh.json +1 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
# pyrun-execute
|
2
|
+
|
3
|
+
Tugas ini memanggil REST API pelayan Python Runner (pyrun) (`/api/run/{module}`) melalui pyrun-connector,
|
4
|
+
menjalankan modul Python yang ditetapkan dan memulangkan hasilnya.
|
5
|
+
|
6
|
+
## Parameter
|
7
|
+
|
8
|
+
- **module**: Nama modul Python yang hendak dijalankan (wajib)
|
9
|
+
- **input-params**: (Pilihan) Parameter input (objek pasangan kunci-nilai) untuk dihantar ke modul Python
|
10
|
+
|
11
|
+
## Contoh Penggunaan
|
12
|
+
|
13
|
+
```json
|
14
|
+
{
|
15
|
+
"task": "pyrun-execute",
|
16
|
+
"connection": "my-pyrun",
|
17
|
+
"params": {
|
18
|
+
"module": "hello_world",
|
19
|
+
"input": {
|
20
|
+
"name": "Ali",
|
21
|
+
"count": 3
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
```
|
26
|
+
|
27
|
+
## Hasil
|
28
|
+
|
29
|
+
- Jika berjaya, hasil pelaksanaan modul Python akan dipulangkan.
|
30
|
+
- Output piawai (stdout) akan direkodkan dalam log, dan ralat piawai (stderr) akan dianggap sebagai ralat.
|
31
|
+
- Jika exit_code bukan 0, tugas dianggap gagal dan ralat akan dibangkitkan.
|
32
|
+
|
33
|
+
## Nota
|
34
|
+
|
35
|
+
- Pengesahan pyrun-connector (token atau username/password) mungkin diperlukan.
|
36
|
+
- Parameter input akan dihantar sebagai objek `input` ke modul Python.
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# pyrun-execute
|
2
|
+
|
3
|
+
通过 pyrun-connector 调用 Python Runner (pyrun) 服务器的 REST API(`/api/run/{module}`),
|
4
|
+
执行指定的 Python 模块并返回执行结果的任务。
|
5
|
+
|
6
|
+
## 参数
|
7
|
+
|
8
|
+
- **module**: 要执行的 Python 模块名称(必填)
|
9
|
+
- **input-params**: (可选)传递给 Python 模块的输入参数(键值对对象)
|
10
|
+
|
11
|
+
## 使用示例
|
12
|
+
|
13
|
+
```json
|
14
|
+
{
|
15
|
+
"task": "pyrun-execute",
|
16
|
+
"connection": "my-pyrun",
|
17
|
+
"params": {
|
18
|
+
"module": "hello_world",
|
19
|
+
"input": {
|
20
|
+
"name": "张三",
|
21
|
+
"count": 3
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
```
|
26
|
+
|
27
|
+
## 执行结果
|
28
|
+
|
29
|
+
- 执行成功时,返回 Python 模块的执行结果(result)。
|
30
|
+
- 执行过程中标准输出(stdout)会被记录为日志,标准错误(stderr)会作为错误处理。
|
31
|
+
- exit_code 不为 0 时,任务会被视为失败并抛出错误。
|
32
|
+
|
33
|
+
## 备注
|
34
|
+
|
35
|
+
- 可能需要 pyrun-connector 的认证设置(token 或 username/password)。
|
36
|
+
- 输入参数会作为 `input` 对象传递给 Python 模块。
|
@@ -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
|
+
```
|
@@ -8,5 +8,48 @@
|
|
8
8
|
|
9
9
|
- nama
|
10
10
|
- Menentukan "nama" keadaan sasaran yang ingin ditulis
|
11
|
+
- **Sokongan Dinamik**: Menyokong penggantian dinamik menggunakan corak:
|
12
|
+
- `#{user.id}_status` - Menggunakan corak #{...}
|
13
|
+
- `${user.role}_prefs` - Menggunakan corak ${...}
|
14
|
+
- `{{domain.name}}_data` - Menggunakan corak {{...}}
|
15
|
+
- `static_name` - Nama statik (tiada penggantian)
|
11
16
|
- [aksesor](../concept/data-accessor.md)
|
12
17
|
- Sebuah nama langkah dalam skenario, yang menentukan data yang ingin ditulis.
|
18
|
+
|
19
|
+
## Contoh Penggunaan
|
20
|
+
|
21
|
+
### Penggunaan Statik
|
22
|
+
|
23
|
+
```json
|
24
|
+
{
|
25
|
+
"task": "state-write",
|
26
|
+
"params": {
|
27
|
+
"name": "user_status",
|
28
|
+
"accessor": "machine-10"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
```
|
32
|
+
|
33
|
+
### Penggunaan Dinamik
|
34
|
+
|
35
|
+
```json
|
36
|
+
{
|
37
|
+
"task": "state-write",
|
38
|
+
"params": {
|
39
|
+
"name": "#{machine.code}",
|
40
|
+
"accessor": "result.status"
|
41
|
+
}
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
### Penggunaan Campuran
|
46
|
+
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"task": "state-write",
|
50
|
+
"params": {
|
51
|
+
"name": "#{machine.code}_${sensor.code}",
|
52
|
+
"accessor": "user.preferences"
|
53
|
+
}
|
54
|
+
}
|
55
|
+
```
|
@@ -7,6 +7,49 @@
|
|
7
7
|
## 参数
|
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
|
+
```
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/integration-base",
|
3
|
-
"version": "9.0.
|
3
|
+
"version": "9.0.12",
|
4
4
|
"main": "dist-server/index.js",
|
5
5
|
"browser": "client/index.js",
|
6
6
|
"things-factory": true,
|
@@ -45,5 +45,5 @@
|
|
45
45
|
"readline": "^1.3.0",
|
46
46
|
"ses": "^1.5.0"
|
47
47
|
},
|
48
|
-
"gitHead": "
|
48
|
+
"gitHead": "2bb9eb1ca59f8b080ae7b0589c1cc085fe0f8a3f"
|
49
49
|
}
|
package/translations/en.json
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
"label.auth-key": "authentication key",
|
9
9
|
"label.connectionTimeoutMillis": "Connection Timeout (milliseconds)",
|
10
10
|
"label.idleTimeoutMillis": "Idle Timeout (milliseconds)",
|
11
|
+
"label.input-params": "input parameters",
|
11
12
|
"label.login-api-url": "login API URL",
|
12
13
|
"label.login-page-path": "login page path",
|
13
14
|
"label.maxPoolConnection": "Max Pool Connection",
|
package/translations/ja.json
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
"label.auth-key": "認証キー",
|
9
9
|
"label.connectionTimeoutMillis": "接続タイムアウト(ミリ秒)",
|
10
10
|
"label.idleTimeoutMillis": "アイドルタイムアウト(ミリ秒)",
|
11
|
+
"label.input-params": "入力パラメータ",
|
11
12
|
"label.login-api-url": "ログインAPI URL",
|
12
13
|
"label.login-page-path": "ログインページパス",
|
13
14
|
"label.maxPoolConnection": "最大プール接続数",
|
package/translations/ko.json
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
"label.auth-key": "인증 키",
|
9
9
|
"label.connectionTimeoutMillis": "연결 시간 제한 (밀리초)",
|
10
10
|
"label.idleTimeoutMillis": "유휴 시간 제한 (밀리초)",
|
11
|
+
"label.input-params": "입력 파라미터",
|
11
12
|
"label.login-api-url": "로그인 API URL",
|
12
13
|
"label.login-page-path": "로그인 페이지 경로",
|
13
14
|
"label.maxPoolConnection": "최대 풀 연결 수",
|
package/translations/ms.json
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
"label.auth-key": "Kunci pengesahan",
|
9
9
|
"label.connectionTimeoutMillis": "Had Masa Sambungan (milisaat)",
|
10
10
|
"label.idleTimeoutMillis": "Had Masa Tanpa Aktiviti (milisaat)",
|
11
|
+
"label.input-params": "parameter input",
|
11
12
|
"label.login-api-url": "URL API log masuk",
|
12
13
|
"label.login-page-path": "laluan halaman log masuk",
|
13
14
|
"label.maxPoolConnection": "Sambungan Pool Maksimum",
|
package/translations/zh.json
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
"label.auth-key": "认证密钥",
|
9
9
|
"label.connectionTimeoutMillis": "连接超时时间(毫秒)",
|
10
10
|
"label.idleTimeoutMillis": "空闲超时时间(毫秒)",
|
11
|
+
"label.input-params": "输入参数",
|
11
12
|
"label.login-api-url": "登录API URL",
|
12
13
|
"label.login-page-path": "登录页面路径",
|
13
14
|
"label.maxPoolConnection": "最大连接池连接数",
|