NEWS
[done] Alias-Device mit Konvertierungsfunktion schreibend
-
Hallo,
kann mir bitte jemand helfen und sagen, wie die Konvertierungsfunktion beim Schreiben lauten muss?
Beim Ursprungsdatenpunkt wird bei "0" die Pumpe deaktiviert, bei "2" aktiviert. "1" wird nicht unterstützt.
So klappt es bei Lesend:
Schreibend habe ich leider keine Idee.
-
Hier nch die Definition vom Ursprungs DP:
{ "common": { "read": true, "write": true, "name": "Switch", "type": "number", "min": 0, "max": 2, "role": "level", "states": { "0": "OFF", "1": "LO", "2": "HI" }, "desc": "Geschwindigkeitsstufe der Pumpe", "def": 0, "custom": { "influxdb.0": { "enabled": true, "storageType": "", "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": "0", "changesMinDelta": "0", "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "enableDebugLogs": false, "debounce": "1000" } } }, "native": {}, "type": "state", "_id": "javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Switch", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1681122476325 }
Hier vom Alias:
{ "_id": "alias.0.Wellis_WP.Pumpe_1.SET", "common": { "name": "SET", "role": "switch.light", "type": "number", "read": true, "write": true, "alias": { "id": "javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Switch", "read": "val == '2'", "write": "val == '2'" }, "custom": { "influxdb.0": { "enabled": true, "storageType": "", "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": "0", "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "enableDebugLogs": false, "debounce": 0 } } }, "native": {}, "type": "state", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1681123729501 }
-
ich bin da nicht 100%ig fit, aber das hier müsste es tun:
val ? 2 : 0
Übersetzt in etwa: "Wenn val (=true), dann schreibe '2', sonst '0'
-
Der Original-DP ist vom Typ "number", also
"read": "val == 2", "write": "val ? 2 : 0"
Ändere den Alias-Typ in "boolean".
-
@marc-berg besten dank dafür.
-
@paul53 danke, hat geklappt.