This guide assumes familiarity with the following information:
Commandnode (Sending a Device Command)
Attributenode (Creating a Bixby Response Using a Device Status)
In this guide, you'll learn how to perform an arithmetic operation of addition using a
Sum node in an action flow. You can use a
Sum node to increase the attribute value of a device, such as the volume or brightness level, by a specific integer within a specified range. While this guide highlights the addition operation, you can also use other arithmetic operations in Bixby Home Studio (BHS). The device used in this guide is a SmartThings-enabled TV.
This guide uses the example "Increase the volume of the television" to raise the TV's volume level by a reasonable amount in response to the user's command.
The goal is to define an action flow with the
volume-increase voice intent for the device. For this voice intent, the user should be satisfied that the volume has increased a reasonable amount.
Example: "Increase the volume of the television."
You need to add and configure an
Attribute node to fetch the attribute value. In this example, you should fetch the current volume value of the TV, which is an attribute of the audioVolume capability.
To add and configure this node, do the following:
Attribute node from the action flow nodes sidebar to the editor area.
Select the node. This opens the Node Configuration menu on the right of the editor area.
audioVolumecapability. In most cases, you can leave the component selection as the default option,
main. For more information on components, see the note at the end of this section.
audioVolumeattribute. Click SAVE.
The Node Configuration window will look like the following:
Most devices have only one operating section or compartment. In this case, the only option for component is main. If a device has many sections or compartments that you can operate independently, there will be multiple component options, such as
Now you're ready to add a
Sum node to the action flow.
A satisfactory volume level varies from person to person; in this guide, you'll increase the current volume level by 10.
Constantnode from the action flow nodes sidebar to the editor area.
Attributenode and the
Constantnode get passed to a
Sumnode, whose output sets the final
audioVolumeof the device.
Sumnode from the sidebar to the editor area. The
Sumnode has two input data ports (
rightValue), and one output data port. The output port returns the result of adding the
Constantnode to one input port of the
Sumnode, and the
Attributenode to the other input port.
Next, you need to add a
Command node to the action flow to set the device's
Finally, add a
Command node. The output value of the
Sum node will be the argument for the
Command node. Configure the
Command node to tell the device to set its
audioVolume to the argument value:
Commandnode to the flow editor area. Then, click the node to open the Node Configuration menu on the right. Click APPEND NEW ITEM.
Commandnode should now have a dynamic input port for the
audioVolumevalue. The input value determines the volume value for this device.
Sumnode's value data port to the
Commandnode's dynamic input port.
Startnode's main port to the
Sumnode's trigger port and the
Sumnode's main port to the
Commandnode's trigger port.
Here's the finished action flow:
To test the action flow, click the Try It button at the top right of the editor window. The flow editor should look like this:
As shown in the previous image, the current
audioVolume value is 21. To increment it by 10, configure a
Constant node to have a value of 10. Those two values are fed into the
Sum node, which gives the result of 31. This value is sent to the device using the
Command node to set the
audioVolume to 31.
You can use any of the Math nodes while performing arithmetic operations. For more information about the various operations, see the
math section in the Nodes reference page.
You can also perform calculations with the Sub Graph feature to reduce the complexity of a graph and separate functionality into distinctive and reusable sections.
The Node Recommendation feature enables you to get recommendations for next possible nodes, and can make it easier to create a graph.
For an additional example, see the "Increase the Brightness of the Device by a Value" Sample Graph.