Virtuell slider for å stille på en Int eller float variabel?

Hei.

Er det noen som har klart å lage en virtuell slider for å stille på en Int eller float variabel?
Nærmeste jeg har kommet er å lage en slider som setter en verdi, men står som ? og viser ikke satt verdi.

Hei @EndreFH!
Jeg legger ved et eksempel som fungerer :slight_smile:

{
  "Id": "IBJUfS77x7cLxrF",
  "ClassId": "IBJUfS77x7cLxrF",
  "Author": "espenh.no",
  "Version": 0,
  "CreatedAt": "2024-12-19T09:21:43.230324772+01:00",
  "UpdatedAt": "2024-12-19T09:49:35.39538852+01:00",
  "Name": "set_int_to_global_var",
  "Group": "int_global_var",
  "Description": "",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "trigger",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:flow/ad:1/sv:out_lvl_switch/ad:IBJUfS77x7cLxrF_0",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "ConnectorID": "",
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": true,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": ""
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 221,
        "y": 216
      },
      "TypeAlias": "Trigger",
      "LastValue": 32
    },
    {
      "Id": "2",
      "Type": "action",
      "Label": "send report",
      "SuccessTransition": "3",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:flow/ad:1/sv:out_lvl_switch/ad:IBJUfS77x7cLxrF_0",
      "Service": "out_lvl_switch",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": ""
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": true,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 221,
        "y": 370
      },
      "TypeAlias": "Action",
      "LastValue": 32
    },
    {
      "Id": "3",
      "Type": "set_variable",
      "Label": "set input to global var",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": false,
        "Name": "desired_int",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 218,
        "y": 531
      },
      "TypeAlias": "Set variable"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "parallel"
}

Det er en virtuell dimmer som lagrer inputen i en global variabel som jeg kalte desired_int.
I ditt oppsett må du nok først lage en global variabel som er int (og ikke ha in memory), deretter kan du importere koden over, og så må du justere den siste noden i den flowen til å være det samme som din variabel. Husk å lagre flowen :slight_smile:
Du kan da trykke på register device for å gjøre den tilgjengelig i appen.

Som en test opprettet jeg en snarvei uten noen handlinger som jeg bruker i en ny flow som trigger. I action under payload velger jeg input variable fra den globale variabelen.


Ved endring av den virtuelle enheten kan du se i message stream:
CleanShot 2024-12-19 at 09.57.30

Ved å trigge snarveien (som et eksempel) kan vi se at cmd.lvl.set blir satt til samme verdi:
CleanShot 2024-12-19 at 09.58.23

Lykke til :slight_smile:

Hei.

Jeg utvidet den slik at bryteren også fungerer. Jeg foretrekker “APPARAT” foiran “LYS”, men begge kan bare gi 1-100%. Har også en transform som konverterer til en annen verdi til en global unit.

Vet du om er det noen mulighet for å å forandre range til f.eks. 0-100, 0-50 osv. og evt. bytte unit? Eller er dette låst til “APPARAT” og “LYS”?

{
  "Id": "8feyr0snzWziaue",
  "ClassId": "8feyr0snzWziaue",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2024-12-18T11:11:56.336133176+01:00",
  "UpdatedAt": "2024-12-22T21:00:54.881200404+01:00",
  "Name": "eRifter Charging Setpoint",
  "Group": "",
  "Description": "",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "Button",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:flow/ad:1/sv:out_lvl_switch/ad:8feyr0snzWziaue_0",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.binary.set",
      "Config": {
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": true,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": "bool"
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 537,
        "y": 111
      },
      "TypeAlias": "Trigger"
    },
    {
      "Id": "2",
      "Type": "action",
      "Label": "Send Response",
      "SuccessTransition": "3",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:flow/ad:1/sv:out_lvl_switch/ad:8feyr0snzWziaue_0",
      "Service": "out_lvl_switch",
      "ServiceInterface": "evt.binary.report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "bool"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 538,
        "y": 318
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "3",
      "Type": "set_variable",
      "Label": "vBryter Set Status",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": false,
        "Name": "eRifter_vBryter",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 691,
        "y": 909
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "11",
      "Type": "trigger",
      "Label": "Slider",
      "SuccessTransition": "12",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:flow/ad:1/sv:out_lvl_switch/ad:8feyr0snzWziaue_0",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": true,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": "bool"
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 1112,
        "y": 107
      },
      "TypeAlias": "Trigger"
    },
    {
      "Id": "12",
      "Type": "action",
      "Label": "Send Response",
      "SuccessTransition": "13",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:flow/ad:1/sv:out_lvl_switch/ad:8feyr0snzWziaue_0",
      "Service": "out_lvl_switch",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1147,
        "y": 320
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "13",
      "Type": "set_variable",
      "Label": "Set Slider Value",
      "SuccessTransition": "16",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": false,
        "Name": "eRifter_vSlider",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 1141,
        "y": 523
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "14",
      "Type": "action",
      "Label": "New Value enables the Button",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:flow/ad:1/sv:out_lvl_switch/ad:8feyr0snzWziaue_0",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.binary.set",
      "Config": {
        "DefaultValue": {
          "Value": true,
          "ValueType": "bool"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1184,
        "y": 1122
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "15",
      "Type": "set_variable",
      "Label": "vBryter ON",
      "SuccessTransition": "14",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": true,
          "ValueType": "bool"
        },
        "IsVariableInMemory": false,
        "Name": "eRifter_vBryter",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 1163,
        "y": 925
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "16",
      "Type": "transform",
      "Label": "% --> kWh",
      "SuccessTransition": "15",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": "eRifter_vSlider / 100.0 * 45.0",
        "IsLVariableGlobal": true,
        "IsRVariableGlobal": false,
        "IsTargetVariableGlobal": true,
        "IsTargetVariableInMemory": false,
        "LVariableName": "eRifter_vSlider",
        "RValue": {
          "Value": 0,
          "ValueType": "int"
        },
        "RVariableName": "",
        "Rtype": "var",
        "TargetVariableName": "eRifter_Ønsket_Lading_kWh",
        "TargetVariableType": "float",
        "Template": "",
        "TransformType": "calc",
        "ValueMapping": [],
        "XPathMapping": []
      },
      "Ui": {
        "nodeType": "",
        "x": 1140,
        "y": 711
      },
      "TypeAlias": "Transform"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "parallel"
}