NEWS
[gelöst] Wert von Objekt hat einen Klammerwert - wie trennen
-
Ich habe bei einem Sensor eine Besonderheit, dass der Wert bei dem Objekt der Instanz so dargestellt wird.
Dort ist beim Wert 3 die 65(5) eingetragen. Beim Wert 6 steht hinter dem Wert 63 ein % Zeichen.
Wenn man die Objekte dann für eine Funktion nutzt kommt beim Wert 3 die Zahl 5 und beim Wert 6 wie gewünscht die Zahl 63.
Wie kann man das ändern, damit man die Zahl 65 bekommt anstelle der (5)?
-
@peter-c sagte: 65(5) eingetragen.
Das sind Wertelisten, wobei der Wert vom Typ "Zahl" ist. In den OBJEKTDATEN (Expertenmodus) stehen unter common.states die zugeordneten Zustände (als Text).
@peter-c sagte in Wert von Objekt hat einen Klammerwert - wie trennen:
Wie kann man das ändern, damit man die Zahl 65 bekommt anstelle der (5)?
getObject(id).common.states[val]
val
enthält den Wert (5), also z.B. dp.state.val bei Trigger-DP oder getState(id).val bei anderen DP. -
@paul53 said in Wert von Objekt hat einen Klammerwert - wie trennen:
Wie kann man das ändern, damit man die Zahl 65 bekommt anstelle der (5)?
Soweit gefunden. Die Werte sind eine Art Liste
{ "type": "state", "common": { "type": "number", "states": { "0": "40", "1": "45", "2": "50", "3": "55", "4": "60", "5": "65", "6": "70", "7": "75", "8": "80" }, "read": true, "write": true, "name": "dehumidify_set_enum", "role": "level", "custom": { "history.0": { "enabled": true, "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": 0, "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "retention": 31536000, "customRetentionDuration": 365, "maxLength": 960, "enableDebugLogs": false } } }, "native": { "code": "dehumidify_set_enum", "defaultValue": "", "canTrigger": true, "type": "obj", "executable": true, "mode": "rw", "defaultRecommend": false, "name": "除湿值", "property": { "range": [ "40", "45", "50", "55", "60", "65", "70", "75", "80" ], "type": "enum" }, "subType": "enum", "id": 3, "editPermission": false }, "_id": "tuya.0.bfab36eff4be49952162kd.3", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.tuya.0", "user": "system.user.admin", "ts": 1743290078999 }
Kann man die in der Konvertierungsfunktion des Alias trennen?
-
@peter-c sagte in Wert von Objekt hat einen Klammerwert - wie trennen:
Kann man die in der Konvertierungsfunktion des Alias trennen?
Klar! Das ist doch linear und lässt sich einfach berechnen:
val * 5 + 40
-
@codierknecht said in Wert von Objekt hat einen Klammerwert - wie trennen:
@peter-c sagte in Wert von Objekt hat einen Klammerwert - wie trennen:
Kann man die in der Konvertierungsfunktion des Alias trennen?
Klar! Das ist doch linear und lässt sich einfach berechnen:
val * 5 + 40
Danke jetzt passt es...
-
@peter-c sagte: Konvertierungsfunktion des Alias
Schreibkonvertierung:
val >= 40 ? Math.round(val / 5 - 8) : 0