Set room temp from variable

I’m working on a flow to automate transitioning away from peak price periods.
I’m using variables per room to store the Setpoint based on manual changes in the app or from a Thermostat. When the Tibber price exceeds NORMAL, the “Expensive” profile is triggered. The CurrentSetpoint is then transformed to a StoredSetpoint, which will be used when transitioning back to the Normal power profile. The goal is to then set the rooms back to the temperature transitioned away from when the power became expensive. I have yet to be able to utilize the variable to set the desired room temp. The following works with the desired value set static to ex. 11 degrees.

{“cmd”:“set”,“component”:“room”,“id”:9,“param”:{“heating”:{“desired”:11}},“requestId”:null}

However I can’t seem to find the correct format for pulling in a variable in place of the static number.

This does not work:
{“cmd”:“set”,“component”:“room”,“id”:9,“param”:{“heating”:{“desired”:"{{$.Variable}}"}},“requestId”:null}
{“cmd”:“set”,“component”:“room”,“id”:9,“param”:{“heating”:{“desired”:"{{.Variable}}"}},“requestId”:null}
{“cmd”:“set”,“component”:“room”,“id”:9,“param”:{“heating”:{“desired”:"{{Variable StoredSetpointVariable false}}"}},“requestId”:null}
{“cmd”:“set”,“component”:“room”,“id”:9,“param”:{“heating”:{“desired”:{{.Variable}}}},“requestId”:null}

Anyone? Any ideas?

{
  "Id": "Olp1HZd4sCo8k6x",
  "ClassId": "Olp1HZd4sCo8k6x",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2022-03-31T07:40:44.242895769+02:00",
  "UpdatedAt": "2022-03-31T18:00:23.06526606+02:00",
  "Name": "Set room Temp Setpoint",
  "Group": "Heat",
  "Description": "",
  "Nodes": [
    {
      "Id": "2",
      "Type": "time_trigger",
      "Label": "00:01",
      "SuccessTransition": "4",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "38 * * * *",
            "Name": "00:01"
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 216,
        "y": 256
      },
      "TypeAlias": "Time trigger"
    },
    {
      "Id": "4",
      "Type": "action",
      "Label": "",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:app/rn:vinculum/ad:1",
      "Service": "vinculum",
      "ServiceInterface": "cmd.pd7.request",
      "Config": {
        "DefaultValue": {
          "Value": {
            "cmd": "set",
            "component": "room",
            "id": 9,
            "param": {
              "heating": {
                "desired": "{{$.Variable}}"
              }
            },
            "requestId": null
          },
          "ValueType": "object"
        },
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "pt:j1/mt:rsp/rt:cloud/rn:remote-client/ad:smarthome-app",
        "VariableName": "StoredSetpointVariable",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {},
        "IsVariableGlobal": true,
        "VariableType": "float"
      },
      "Ui": {
        "nodeType": "",
        "x": 200,
        "y": 475
      },
      "TypeAlias": "Action"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "parallel"
}

I havent tested myself with your scenario, but earlier i tested out to pass variable into a timeline event.
Use template to create your message, and then pass in the input variable in payload configuration in the action node :slight_smile: (and remove the object that is there now)

Tested - works fine! Thanks! I managed to get it working shortly after posting the question, based on another flow where I found a similar approach.

1 Like