write-Eigenschaft nun auch an holding-Register
This commit is contained in:
parent
825547889c
commit
497a0e48e3
863
paramod.yaml
863
paramod.yaml
@ -22,759 +22,114 @@ modbus:
|
|||||||
max_input_addr: 45
|
max_input_addr: 45
|
||||||
max_holding_addr: 61
|
max_holding_addr: 61
|
||||||
modbus_coils:
|
modbus_coils:
|
||||||
- MgtSystem:
|
- MgtSystem: {addr: 0, write: false, mqtt: false, influxdb: false, comment: Leitsystem aktiv}
|
||||||
addr: 0
|
- HK1pres: {addr: 1, write: false, mqtt: false, influxdb: false, comment: HK1 vorhanden}
|
||||||
write: false
|
- HK2pres: {addr: 2, write: false, mqtt: false, influxdb: false, comment: HK2 vorhanden}
|
||||||
mqtt: false
|
- HK3pres: {addr: 3, write: false, mqtt: false, influxdb: false, comment: HK3 vorhanden}
|
||||||
influxdb: false
|
- TWrelease: {addr: 4, write: true, mqtt: false, influxdb: false, comment: Trinkwassererwärmung freigegeben}
|
||||||
comment: Leitsystem aktiv
|
- TWlock: {addr: 5, write: true, mqtt: false, influxdb: false, comment: Trinkwassererwärmung gesperrt}
|
||||||
- HK1pres:
|
- Zrelease: {addr: 6, write: true, mqtt: false, influxdb: false, comment: Zirkulation freigegeben}
|
||||||
addr: 1
|
- Zlock: {addr: 7, write: true, mqtt: false, influxdb: false, comment: Zirkulation gesperrt}
|
||||||
write: false
|
- SHKpres: {addr: 8, write: false, mqtt: false, influxdb: false, comment: Schwimmbadheizkrei vorhanden}
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: HK1 vorhanden
|
|
||||||
- HK2pres:
|
|
||||||
addr: 2
|
|
||||||
write: false
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: HK2 vorhanden
|
|
||||||
- HK3pres:
|
|
||||||
addr: 3
|
|
||||||
write: false
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: HK3 vorhanden
|
|
||||||
- TWrelease:
|
|
||||||
addr: 4
|
|
||||||
write: true
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: Trinkwassererwärmung freigegeben
|
|
||||||
- TWlock:
|
|
||||||
addr: 5
|
|
||||||
write: true
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: Trinkwassererwärmung gesperrt
|
|
||||||
- Zrelease:
|
|
||||||
addr: 6
|
|
||||||
write: true
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: Zirkulation freigegeben
|
|
||||||
- Zlock:
|
|
||||||
addr: 7
|
|
||||||
write: true
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: Zirkulation gesperrt
|
|
||||||
- SHKpres:
|
|
||||||
addr: 8
|
|
||||||
write: false
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: Schwimmbadheizkrei vorhanden
|
|
||||||
modbus_input_register:
|
modbus_input_register:
|
||||||
- TA:
|
- TA: {addr: 0, type: INT16, factor: 0.1, mqtt: true, influxdb: true}
|
||||||
addr: 0
|
- TV: {addr: 1, type: INT16, factor: 0.1, mqtt: true, influxdb: true}
|
||||||
type: INT16
|
- TR: {addr: 2, type: INT16, factor: 0.1, mqtt: true, influxdb: true}
|
||||||
factor: 0.1
|
- TWO: {addr: 3, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
mqtt: true
|
- TPO: {addr: 4, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
influxdb: true
|
- TPU: {addr: 5, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- TZR: {addr: 6, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
- TV:
|
- TV2: {addr: 7, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
addr: 1
|
- TR2: {addr: 8, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
type: INT16
|
- RI1: {addr: 9, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
factor: 0.1
|
- RI2: {addr: 10, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
mqtt: true
|
- TSA: {addr: 11, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
influxdb: true
|
- FATV: {addr: 12, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- FATR: {addr: 13, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
- TR:
|
- TVKH: {addr: 14, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
addr: 2
|
- TRKH: {addr: 15, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
type: INT16
|
- TPOKH: {addr: 16, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
factor: 0.1
|
- TV3: {addr: 17, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
mqtt: true
|
- TR3: {addr: 18, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
influxdb: true
|
- TSB: {addr: 19, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
comment: null
|
- TVSB: {addr: 20, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
- TWO:
|
- TRSB: {addr: 21, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
addr: 3
|
- TWE: {addr: 22, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
type: INT16
|
- TWA: {addr: 23, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
factor: 0.1
|
- TWS: {addr: 24, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
mqtt: false
|
- TVSI: {addr: 25, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
influxdb: true
|
- TK: {addr: 26, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
comment: null
|
- FATV1: {addr: 27, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
- TPO:
|
- FATV2: {addr: 28, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
addr: 4
|
- FATV3: {addr: 29, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
type: INT16
|
- FATV4: {addr: 30, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
factor: 0.1
|
- TSE: {addr: 31, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
mqtt: false
|
- TW: {addr: 32, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
influxdb: true
|
- TSV: {addr: 33, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- TW2: {addr: 34, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
- TPU:
|
- S: {addr: 35, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
addr: 5
|
- TAM: {addr: 36, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
type: INT16
|
- TAM2: {addr: 37, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
factor: 0.1
|
- TSA1: {addr: 38, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
mqtt: false
|
- TSA2: {addr: 39, type: INT16, factor: 0.1, mqtt: false, influxdb: false}
|
||||||
influxdb: true
|
- TSP: {addr: 40, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- TWW: {addr: 41, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
- TZR:
|
- TKW: {addr: 42, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
addr: 6
|
- VKW: {addr: 43, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
type: INT16
|
- VSPm: {addr: 44, type: INT16, factor: 0.1, mqtt: false, influxdb: true}
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TV2:
|
|
||||||
addr: 7
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TR2:
|
|
||||||
addr: 8
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- RI1:
|
|
||||||
addr: 9
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- RI2:
|
|
||||||
addr: 10
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TSA:
|
|
||||||
addr: 11
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- FATV:
|
|
||||||
addr: 12
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- FATR:
|
|
||||||
addr: 13
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TVKH:
|
|
||||||
addr: 14
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TRKH:
|
|
||||||
addr: 15
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TPOKH:
|
|
||||||
addr: 16
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TV3:
|
|
||||||
addr: 17
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TR3:
|
|
||||||
addr: 18
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TSB:
|
|
||||||
addr: 19
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TVSB:
|
|
||||||
addr: 20
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TRSB:
|
|
||||||
addr: 21
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TWE:
|
|
||||||
addr: 22
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TWA:
|
|
||||||
addr: 23
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TWS:
|
|
||||||
addr: 24
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TVSI:
|
|
||||||
addr: 25
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TK:
|
|
||||||
addr: 26
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- FATV1:
|
|
||||||
addr: 27
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- FATV2:
|
|
||||||
addr: 28
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- FATV3:
|
|
||||||
addr: 29
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- FATV4:
|
|
||||||
addr: 30
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TSE:
|
|
||||||
addr: 31
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TW:
|
|
||||||
addr: 32
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TSV:
|
|
||||||
addr: 33
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TW2:
|
|
||||||
addr: 34
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- S:
|
|
||||||
addr: 35
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TAM:
|
|
||||||
addr: 36
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TAM2:
|
|
||||||
addr: 37
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TSA1:
|
|
||||||
addr: 38
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TSA2:
|
|
||||||
addr: 39
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TSP:
|
|
||||||
addr: 40
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TWW:
|
|
||||||
addr: 41
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TKW:
|
|
||||||
addr: 42
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- VKW:
|
|
||||||
addr: 43
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- VSPm:
|
|
||||||
addr: 44
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
modbus_holding_register:
|
modbus_holding_register:
|
||||||
- nothing:
|
- nothing: {addr: 0, type: UINT16, factor: 1, write: true, mqtt: false, influxdb: false}
|
||||||
addr: 0
|
- ErrLS: {addr: 1, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
type: UINT16
|
- TVsoll: {addr: 2, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
factor: 1.0
|
- TV2soll: {addr: 3, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
mqtt: false
|
- TV3soll: {addr: 4, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
influxdb: false
|
- HK1soll: {addr: 5, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- HK2soll: {addr: 6, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
- ErrLS:
|
- HK3soll: {addr: 7, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
addr: 1
|
- TWWsoll: {addr: 8, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
type: UINT16
|
- TV1max: {addr: 9, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
factor: 1.0
|
- TV2max: {addr: 10, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
mqtt: false
|
- TV3max: {addr: 11, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
influxdb: true
|
- ErrHR: {addr: 12, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- ErrSR: {addr: 13, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
- TVsoll:
|
- ErrWE1_1: {addr: 14, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
addr: 2
|
- ErrWE1_2: {addr: 15, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
type: INT16
|
- ErrWE1_3: {addr: 16, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
factor: 0.1
|
- ErrWE1_4: {addr: 17, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
mqtt: false
|
- ErrWE1_5: {addr: 18, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
influxdb: true
|
- KollLei: {addr: 19, type: UINT16, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- TagesS: {addr: 20, type: UINT16, factor: 0.1, write: false, mqtt: true, influxdb: true}
|
||||||
- TV2soll:
|
- GesS: {addr: 21, type: UINT32, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
addr: 3
|
- GesWW: {addr: 23, type: UINT32, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
type: INT16
|
- GesZ: {addr: 25, type: UINT32, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
factor: 0.1
|
- HGesK1: {addr: 27, type: UINT32, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
mqtt: false
|
- StartK1: {addr: 29, type: UINT32, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
influxdb: false
|
- HGesPel: {addr: 31, type: UINT32, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- VGesPel: {addr: 33, type: UINT16, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
- TV3soll:
|
- StatWW: {addr: 34, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
addr: 4
|
- StatZ: {addr: 35, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
type: INT16
|
- StatHK1: {addr: 36, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
factor: 0.1
|
- StatHK2: {addr: 37, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
mqtt: false
|
- StatHK3: {addr: 38, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
influxdb: false
|
- StatS: {addr: 39, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
comment: null
|
- StatSB: {addr: 40, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
- HK1soll:
|
- StatK1: {addr: 41, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
addr: 5
|
- StatPel: {addr: 42, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
type: UINT16
|
- StatKH: {addr: 43, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
factor: 1.0
|
- TPOsoll: {addr: 44, type: UINT16, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
mqtt: false
|
- FATVsoll: {addr: 45, type: UINT16, factor: 0.1, write: false, mqtt: false, influxdb: true}
|
||||||
influxdb: true
|
- TSBsollHK: {addr: 46, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
comment: null
|
- TSBsollS: {addr: 47, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
- HK2soll:
|
- BetrHK1: {addr: 48, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: true}
|
||||||
addr: 6
|
- BetrHK2: {addr: 49, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
type: UINT16
|
- BetrHK3: {addr: 50, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
factor: 1.0
|
- BetrSB: {addr: 51, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
mqtt: false
|
- GesKKsoll: {addr: 52, type: INT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
influxdb: false
|
- KKsollWE1: {addr: 53, type: UINT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
comment: null
|
- KKsollWE2: {addr: 54, type: UINT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
- HK3soll:
|
- KKsollWE3: {addr: 55, type: UINT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
addr: 7
|
- KKsollWE4: {addr: 56, type: UINT16, factor: 0.1, write: false, mqtt: false, influxdb: false}
|
||||||
type: UINT16
|
- ErrWE1: {addr: 57, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
factor: 1.0
|
- ErrWE2: {addr: 58, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
mqtt: false
|
- ErrWE3: {addr: 59, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
influxdb: false
|
- ErrWE4: {addr: 60, type: UINT16, factor: 1, write: false, mqtt: false, influxdb: false}
|
||||||
comment: null
|
|
||||||
- TWWsoll:
|
|
||||||
addr: 8
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TV1max:
|
|
||||||
addr: 9
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TV2max:
|
|
||||||
addr: 10
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TV3max:
|
|
||||||
addr: 11
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- ErrHR:
|
|
||||||
addr: 12
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- ErrSR:
|
|
||||||
addr: 13
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- ErrWE1_1:
|
|
||||||
addr: 14
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- ErrWE1_2:
|
|
||||||
addr: 15
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- ErrWE1_3:
|
|
||||||
addr: 16
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- ErrWE1_4:
|
|
||||||
addr: 17
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- ErrWE1_5:
|
|
||||||
addr: 18
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- KollLei:
|
|
||||||
addr: 19
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TagesS:
|
|
||||||
addr: 20
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: true
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- GesS:
|
|
||||||
addr: 21
|
|
||||||
type: UINT32
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- GesWW:
|
|
||||||
addr: 23
|
|
||||||
type: UINT32
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- GesZ:
|
|
||||||
addr: 25
|
|
||||||
type: UINT32
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- HGesK1:
|
|
||||||
addr: 27
|
|
||||||
type: UINT32
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- StartK1:
|
|
||||||
addr: 29
|
|
||||||
type: UINT32
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- HGesPel:
|
|
||||||
addr: 31
|
|
||||||
type: UINT32
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- VGesPel:
|
|
||||||
addr: 33
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- StatWW:
|
|
||||||
addr: 34
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- StatZ:
|
|
||||||
addr: 35
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- StatHK1:
|
|
||||||
addr: 36
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- StatHK2:
|
|
||||||
addr: 37
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- StatHK3:
|
|
||||||
addr: 38
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- StatS:
|
|
||||||
addr: 39
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- StatSB:
|
|
||||||
addr: 40
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- StatK1:
|
|
||||||
addr: 41
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- StatPel:
|
|
||||||
addr: 42
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- StatKH:
|
|
||||||
addr: 43
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TPOsoll:
|
|
||||||
addr: 44
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- FATVsoll:
|
|
||||||
addr: 45
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- TSBsollHK:
|
|
||||||
addr: 46
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- TSBsollS:
|
|
||||||
addr: 47
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- BetrHK1:
|
|
||||||
addr: 48
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: true
|
|
||||||
comment: null
|
|
||||||
- BetrHK2:
|
|
||||||
addr: 49
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- BetrHK3:
|
|
||||||
addr: 50
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- BetrSB:
|
|
||||||
addr: 51
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- GesKKsoll:
|
|
||||||
addr: 52
|
|
||||||
type: INT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- KKsollWE1:
|
|
||||||
addr: 53
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- KKsollWE2:
|
|
||||||
addr: 54
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- KKsollWE3:
|
|
||||||
addr: 55
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- KKsollWE4:
|
|
||||||
addr: 56
|
|
||||||
type: UINT16
|
|
||||||
factor: 0.1
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- ErrWE1:
|
|
||||||
addr: 57
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- ErrWE2:
|
|
||||||
addr: 58
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- ErrWE3:
|
|
||||||
addr: 59
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
- ErrWE4:
|
|
||||||
addr: 60
|
|
||||||
type: UINT16
|
|
||||||
factor: 1.0
|
|
||||||
mqtt: false
|
|
||||||
influxdb: false
|
|
||||||
comment: null
|
|
||||||
@ -24,6 +24,7 @@ pub struct ModbusHoldingRegisterConfig {
|
|||||||
pub addr: u16,
|
pub addr: u16,
|
||||||
pub r#type: Option<String>,
|
pub r#type: Option<String>,
|
||||||
pub factor: Option<f64>,
|
pub factor: Option<f64>,
|
||||||
|
pub write: Option<bool>,
|
||||||
pub mqtt: Option<bool>,
|
pub mqtt: Option<bool>,
|
||||||
pub influxdb: Option<bool>,
|
pub influxdb: Option<bool>,
|
||||||
pub comment: Option<String>,
|
pub comment: Option<String>,
|
||||||
|
|||||||
@ -29,7 +29,7 @@ pub fn start_mqtt_thread(config: Arc<Mutex<AppConfig>>, values: Arc<Mutex<Modbus
|
|||||||
for (name, val) in &values.modbus_input_register_values {
|
for (name, val) in &values.modbus_input_register_values {
|
||||||
if let Some(v) = val {
|
if let Some(v) = val {
|
||||||
if should_publish(&config, name, "input_register") {
|
if should_publish(&config, name, "input_register") {
|
||||||
let topic = format!("{}/{}", path, name);
|
let topic = format!("{}/{}/state", path, name);
|
||||||
let payload = format!("{}", v);
|
let payload = format!("{}", v);
|
||||||
let _ = client.publish(topic, QoS::AtLeastOnce, false, payload);
|
let _ = client.publish(topic, QoS::AtLeastOnce, false, payload);
|
||||||
}
|
}
|
||||||
@ -39,7 +39,7 @@ pub fn start_mqtt_thread(config: Arc<Mutex<AppConfig>>, values: Arc<Mutex<Modbus
|
|||||||
for (name, val) in &values.modbus_holding_register_values {
|
for (name, val) in &values.modbus_holding_register_values {
|
||||||
if let Some(v) = val {
|
if let Some(v) = val {
|
||||||
if should_publish(&config, name, "holding_register") {
|
if should_publish(&config, name, "holding_register") {
|
||||||
let topic = format!("{}/{}", path, name);
|
let topic = format!("{}/{}/state", path, name);
|
||||||
let payload = format!("{}", v);
|
let payload = format!("{}", v);
|
||||||
let _ = client.publish(topic, QoS::AtLeastOnce, false, payload);
|
let _ = client.publish(topic, QoS::AtLeastOnce, false, payload);
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ pub fn start_mqtt_thread(config: Arc<Mutex<AppConfig>>, values: Arc<Mutex<Modbus
|
|||||||
for (name, val) in &values.modbus_coils_values {
|
for (name, val) in &values.modbus_coils_values {
|
||||||
if let Some(v) = val {
|
if let Some(v) = val {
|
||||||
if should_publish(&config, name, "coils") {
|
if should_publish(&config, name, "coils") {
|
||||||
let topic = format!("{}/{}", path, name);
|
let topic = format!("{}/{}/state", path, name);
|
||||||
let payload = format!("{}", v);
|
let payload = format!("{}", v);
|
||||||
let _ = client.publish(topic, QoS::AtLeastOnce, false, payload);
|
let _ = client.publish(topic, QoS::AtLeastOnce, false, payload);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,6 +56,34 @@ function addRow() {
|
|||||||
<button class="delete-btn" onclick="deleteRow(this)">🗑️</button>
|
<button class="delete-btn" onclick="deleteRow(this)">🗑️</button>
|
||||||
</td>
|
</td>
|
||||||
`;
|
`;
|
||||||
|
} else if (typeof tableId !== 'undefined' && tableId === 'modbus_holding_registers') {
|
||||||
|
newRow.innerHTML = `
|
||||||
|
<td><input type='text' class='text-input' data-field='bezeichnung' value='' /></td>
|
||||||
|
<td><input type='text' class='text-input' data-field='adresse' value='' /></td>
|
||||||
|
<td><input type='text' class='text-input' data-field='type' value='' /></td>
|
||||||
|
<td><input type='text' class='text-input' data-field='faktor' value='1.0' /></td>
|
||||||
|
<td>
|
||||||
|
<label class='switch'>
|
||||||
|
<input type='checkbox' class='bool-input' data-field='write' />
|
||||||
|
<span class='slider'></span>
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<label class='switch'>
|
||||||
|
<input type='checkbox' class='bool-input' data-field='mqtt' />
|
||||||
|
<span class='slider'></span>
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<label class='switch'>
|
||||||
|
<input type='checkbox' class='bool-input' data-field='influxdb' />
|
||||||
|
<span class='slider'></span>
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button class="delete-btn" onclick="deleteRow(this)">🗑️</button>
|
||||||
|
</td>
|
||||||
|
`;
|
||||||
} else {
|
} else {
|
||||||
newRow.innerHTML = `
|
newRow.innerHTML = `
|
||||||
<td><input type='text' class='text-input' data-field='bezeichnung' value='' /></td>
|
<td><input type='text' class='text-input' data-field='bezeichnung' value='' /></td>
|
||||||
@ -119,6 +147,20 @@ async function saveTable() {
|
|||||||
influxdb: influxdb,
|
influxdb: influxdb,
|
||||||
comment: comment
|
comment: comment
|
||||||
};
|
};
|
||||||
|
} else if (typeof tableId !== 'undefined' && tableId === 'modbus_holding_registers') {
|
||||||
|
const write = row.querySelector("input[data-field='write']")?.checked || false;
|
||||||
|
const rtype = row.querySelector("input[data-field='type']")?.value || null;
|
||||||
|
const factor = parseFloat(row.querySelector("input[data-field='factor']")?.value || row.querySelector("input[data-field='faktor']")?.value || '1.0');
|
||||||
|
const comment = row.querySelector("input[data-field='comment']")?.value || null;
|
||||||
|
value = {
|
||||||
|
addr: addr,
|
||||||
|
rtype: rtype,
|
||||||
|
factor: factor,
|
||||||
|
write: write,
|
||||||
|
mqtt: mqtt,
|
||||||
|
influxdb: influxdb,
|
||||||
|
comment: comment
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
const rtype = row.querySelector("input[data-field='type']")?.value || null;
|
const rtype = row.querySelector("input[data-field='type']")?.value || null;
|
||||||
const factor = parseFloat(row.querySelector("input[data-field='factor']")?.value || row.querySelector("input[data-field='faktor']")?.value || '1.0');
|
const factor = parseFloat(row.querySelector("input[data-field='factor']")?.value || row.querySelector("input[data-field='faktor']")?.value || '1.0');
|
||||||
|
|||||||
@ -37,6 +37,10 @@
|
|||||||
<th>Adresse</th>
|
<th>Adresse</th>
|
||||||
{% if table_id == "modbus_coils" %}
|
{% if table_id == "modbus_coils" %}
|
||||||
<th>Write</th>
|
<th>Write</th>
|
||||||
|
{% elif table_id == "modbus_holding_registers" or table_id == "modbus_holding_register" %}
|
||||||
|
<th>Type</th>
|
||||||
|
<th>Faktor</th>
|
||||||
|
<th>Write</th>
|
||||||
{% else %}
|
{% else %}
|
||||||
<th>Type</th>
|
<th>Type</th>
|
||||||
<th>Faktor</th>
|
<th>Faktor</th>
|
||||||
@ -63,6 +67,15 @@
|
|||||||
<span class='slider'></span>
|
<span class='slider'></span>
|
||||||
</label>
|
</label>
|
||||||
</td>
|
</td>
|
||||||
|
{% elif table_id == "modbus_holding_registers" or table_id == "modbus_holding_register" %}
|
||||||
|
<td><input type='text' class='text-input' data-field='type' value='{{ row.type | default(value="") }}' /></td>
|
||||||
|
<td><input type='text' class='text-input' data-field='factor' value='{{ row.factor | default(value="") }}' /></td>
|
||||||
|
<td>
|
||||||
|
<label class='switch'>
|
||||||
|
<input type='checkbox' class='bool-input' data-field='write' {% if row.write %}checked{% endif %} />
|
||||||
|
<span class='slider'></span>
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
{% else %}
|
{% else %}
|
||||||
<td><input type='text' class='text-input' data-field='type' value='{{ row.type | default(value="") }}' /></td>
|
<td><input type='text' class='text-input' data-field='type' value='{{ row.type | default(value="") }}' /></td>
|
||||||
<td><input type='text' class='text-input' data-field='factor' value='{{ row.factor | default(value="") }}' /></td>
|
<td><input type='text' class='text-input' data-field='factor' value='{{ row.factor | default(value="") }}' /></td>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user