This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
PGUSER="uditest"
|
PGUSER="udi-hottis"
|
||||||
PGHOST=`kubectl get services traefik -n system -o jsonpath="{.status.loadBalancer.ingress[0].ip}"`
|
PGHOST=`kubectl get services traefik -n system -o jsonpath="{.status.loadBalancer.ingress[0].ip}"`
|
||||||
PGPASSWORD=`kubectl get secrets uditest-db-cred -n udi-test -o jsonpath="{.data.PGPASSWORD}" | base64 --decode`
|
PGPASSWORD=`kubectl get secrets default-udi-db-cred -n udi -o jsonpath="{.data.PGPASSWORD}" | base64 --decode`
|
||||||
PGSSLMODE=require
|
PGSSLMODE=require
|
||||||
PGDATABASE="uditest"
|
PGDATABASE="uditest"
|
||||||
export PGUSER PGHOST PGPASSWORD PGSSLMODE PGDATABASE
|
export PGUSER PGHOST PGPASSWORD PGSSLMODE PGDATABASE
|
||||||
|
@ -4,72 +4,6 @@
|
|||||||
"tlsEnable": "false"
|
"tlsEnable": "false"
|
||||||
},
|
},
|
||||||
"topicMappings": [
|
"topicMappings": [
|
||||||
{
|
|
||||||
"topics": [ "IoT/PV/Values" ],
|
|
||||||
"handler": "PV",
|
|
||||||
"id": "PV",
|
|
||||||
"config": {
|
|
||||||
"attributes": {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"topics": [ "IoT/MBGW3/Measurement" ],
|
|
||||||
"handler": "MBGW3",
|
|
||||||
"id": "MBGW3",
|
|
||||||
"config": {
|
|
||||||
"attributes": {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"topics": [ "dt1/ai/periodic/1" ],
|
|
||||||
"handler": "DT1T",
|
|
||||||
"id": "DT1T.0",
|
|
||||||
"config": {
|
|
||||||
"attributes": {
|
|
||||||
"Application": "Temperature Wago",
|
|
||||||
"Device": "Freezer",
|
|
||||||
"HardLow": "-273",
|
|
||||||
"SoftLow": "-50",
|
|
||||||
"SoftHigh": "20",
|
|
||||||
"HardHigh": "100"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"topics": [ "dt1/ai/periodic/3" ],
|
|
||||||
"handler": "DT1T",
|
|
||||||
"id": "DT1T.1",
|
|
||||||
"config": {
|
|
||||||
"attributes": {
|
|
||||||
"Application": "Temperature Wago",
|
|
||||||
"Device": "Outdoor",
|
|
||||||
"HardLow": "-273",
|
|
||||||
"SoftLow": "-60",
|
|
||||||
"SoftHigh": "60",
|
|
||||||
"HardHigh": "100"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"topics": [ "IoT/OneWireGW/Bus 1/#" ],
|
|
||||||
"handler": "SVER",
|
|
||||||
"id": "SVER0",
|
|
||||||
"config": {
|
|
||||||
"databaseConnStr": "",
|
|
||||||
"attributes": {
|
|
||||||
"application": "Temperature Heating",
|
|
||||||
"payloadRegex": "(\\d+(\\.\\d+)?)\\s*([^0-9\\s]\\S*)",
|
|
||||||
"deviceFrom": "topic",
|
|
||||||
"devicePart": "3",
|
|
||||||
"valueFrom": "payload",
|
|
||||||
"valuePart": "1",
|
|
||||||
"unitFrom": "payload",
|
|
||||||
"unitPart": "3"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"topics": [ "NR/Multisensor/+/Temperatur" ],
|
"topics": [ "NR/Multisensor/+/Temperatur" ],
|
||||||
"handler": "SVEJ",
|
"handler": "SVEJ",
|
||||||
@ -85,46 +19,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"topics": [ "NR/Multisensor/+/Feuchte" ],
|
"topics": [ "zigbee2mqtt/+" ],
|
||||||
"handler": "SVEJ",
|
"handler": "SVEJ",
|
||||||
"id": "SVEJ1",
|
"id": "SVEJ1",
|
||||||
"config": {
|
"config": {
|
||||||
"databaseConnStr": "",
|
"databaseConnStr": "",
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"application": "Humidity Multisensor",
|
"application": "Temperature Multisensor",
|
||||||
"deviceSelector": "T:2",
|
"deviceSelector": "L:1",
|
||||||
"valueSelector": "J:$.CurrentRelativeHumidity",
|
"valueSelector": "J:$.temperature",
|
||||||
"unitSelector": "C:%"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"topics": [ "shellyplusht/+/status/temperature:0" ],
|
|
||||||
"handler": "SVEJ",
|
|
||||||
"id": "SVEJ2",
|
|
||||||
"config": {
|
|
||||||
"databaseConnStr": "",
|
|
||||||
"attributes": {
|
|
||||||
"application": "Temperature Shelly Plus HT",
|
|
||||||
"deviceSelector": "T:1",
|
|
||||||
"valueSelector": "J:$.tC",
|
|
||||||
"unitSelector": "C:°C"
|
"unitSelector": "C:°C"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"topics": [ "shellyplusht/+/status/humidity:0" ],
|
|
||||||
"handler": "SVEJ",
|
|
||||||
"id": "SVE4",
|
|
||||||
"config": {
|
|
||||||
"databaseConnStr": "",
|
|
||||||
"attributes": {
|
|
||||||
"application": "Humidity Shelly Plus HT",
|
|
||||||
"deviceSelector": "T:1",
|
|
||||||
"valueSelector": "J:$.rh",
|
|
||||||
"unitSelector": "C:%"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"archiver": {
|
"archiver": {
|
||||||
|
@ -70,5 +70,27 @@ func (self *DatabaseHandle) GetDeviceByLabelAndApplication(applicationLabel stri
|
|||||||
return &device, nil
|
return &device, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *DatabaseHandle) GetDeviceByLabel(deviceLabel string) (*Device, error) {
|
||||||
|
if ! self.initialized {
|
||||||
|
err := fmt.Errorf("Database connection not initialized")
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var device Device
|
||||||
|
result := self.dbh.
|
||||||
|
Preload("Application").
|
||||||
|
Preload("DeviceType").
|
||||||
|
Where("devices.label = ?", deviceLabel).
|
||||||
|
First(&device)
|
||||||
|
|
||||||
|
if result.Error != nil {
|
||||||
|
err := fmt.Errorf("Query failed: %s", result.Error)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &device, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user