<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Thema "Tutorial: Setting Target Temperature etc. with Node-Red" in The Viessmann API</title>
    <link>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/280094#M1112</link>
    <description>&lt;P&gt;&lt;STRONG&gt;Soll-Temperatur etc. mit Node-Red ändern&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This post is a sequel to the two previous posts I've created concerning the Viessmann API in conjunction with Node-Red.&lt;/P&gt;&lt;P&gt;1. &lt;A href="https://www.viessmann-community.com/t5/The-Viessmann-API/How-to-avoid-sudden-death-after-180-days-automatic/td-p/261034" target="_self"&gt;Automatic initialization of access and refresh tokens in Node-Red Applications&lt;/A&gt;&lt;/P&gt;&lt;P&gt;2. &lt;A href="https://www.viessmann-community.com/t5/The-Viessmann-API/Using-Node-Red-to-visualize-ViCare-data/td-p/195606" target="_self"&gt;Using Node Red to visualize ViCare data&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Both focus on getting access and visualizing data grabbed from the Viessmann servers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now it's about time to actually manipulate your heating's settings:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CaCicala_0-1668962288824.png" style="width: 999px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/13910iF7B20DBB2C10005A/image-size/large?v=v2&amp;amp;px=999" role="button" title="CaCicala_0-1668962288824.png" alt="CaCicala_0-1668962288824.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This example is about changing the temperature setting for operation mode "normal" of heating circuit 0.&lt;/P&gt;&lt;P&gt;We can build on the universal header function node introduced in post #2 stated above&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The&amp;nbsp; &lt;U&gt;&lt;STRONG&gt;Function node&lt;/STRONG&gt; &lt;/U&gt;looks like this - pls bear with me for using the german UI of NR:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CaCicala_1-1668962361515.png" style="width: 999px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/13911iBDF314DF4B33D760/image-size/large?v=v2&amp;amp;px=999" role="button" title="CaCicala_1-1668962361515.png" alt="CaCicala_1-1668962361515.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The &lt;EM&gt;setTo&lt;/EM&gt; variable in line 5 contains the target value set in the slider node - msg.payload is converted to a context variable called &lt;EM&gt;flow.fbhSetNormal&lt;/EM&gt; thereafter.&lt;/P&gt;&lt;P&gt;Variable &lt;EM&gt;atoken&lt;/EM&gt; contains our old acquantance &lt;STRONG&gt;access token&lt;/STRONG&gt; from my previous posts. The same goes for the other context variables &lt;EM&gt;installationID&lt;/EM&gt;, &lt;EM&gt;gatewaySerial&lt;/EM&gt;, and &lt;EM&gt;deviceID&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The &lt;U&gt;&lt;STRONG&gt;http Request Node&lt;/STRONG&gt;&lt;/U&gt; looks like this:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CaCicala_2-1668962825980.png" style="width: 999px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/13912i1AE951B66629AE3E/image-size/large?v=v2&amp;amp;px=999" role="button" title="CaCicala_2-1668962825980.png" alt="CaCicala_2-1668962825980.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Please note that this is a POST request. Otherwise we couldn't send the header data with it.&lt;/P&gt;&lt;P&gt;The URL looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial}}/devices/{{deviceId}}/features/heating.circuits.1.operating.programs.normal/commands/setTemperature&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That's it! I hope you find this useful. Any comments and cudos are greatly appreciated. Below is the JSON code representation which can also be found at my &lt;A href="https://rustimation.eu" target="_self"&gt;website&lt;/A&gt; including more detailed explanations in German.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have a nice day!&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;[
    {
        "id": "99b3d95f7fa3ad1d",
        "type": "http request",
        "z": "31c57f8640528976",
        "name": "Set Feature",
        "method": "POST",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial}}/devices/{{deviceId}}/features/heating.circuits.1.operating.programs.normal/commands/setTemperature",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 630,
        "y": 2600,
        "wires": [
            [
                "4605eaf04f3c2604"
            ]
        ]
    },
    {
        "id": "c842be0ce0f3e826",
        "type": "function",
        "z": "31c57f8640528976",
        "name": "Headers &amp;amp; Parameter",
        "func": "var atoken = flow.get('accessToken')\nvar setTo = flow.get('fbhSetNormal')\n\nmsg.payload = {\n    \"targetTemperature\": setTo\n}\nmsg.headers = {};\nmsg.headers['content-type'] = 'application/json',\nmsg.headers['Authorization'] = \"Bearer \" + atoken;\n\nmsg.installationID = flow.get('installationID');\nmsg.gatewaySerial = flow.get('gatewaySerial');\nmsg.deviceId = flow.get('deviceID');\n;\nreturn msg;\n\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 420,
        "y": 2600,
        "wires": [
            [
                "99b3d95f7fa3ad1d"
            ]
        ]
    },
    {
        "id": "4605eaf04f3c2604",
        "type": "debug",
        "z": "31c57f8640528976",
        "name": "debug 15",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 800,
        "y": 2600,
        "wires": []
    },
    {
        "id": "9a849f443a5d2d2b",
        "type": "ui_slider",
        "z": "31c57f8640528976",
        "name": "Slider sets temperature",
        "label": "Soll °C FBH",
        "tooltip": "",
        "group": "f0f24855fdba9035",
        "order": 7,
        "width": 0,
        "height": 0,
        "passthru": false,
        "outs": "end",
        "topic": "topic",
        "topicType": "msg",
        "min": "5",
        "max": "30",
        "step": 1,
        "className": "",
        "x": 430,
        "y": 2520,
        "wires": [
            [
                "1fca8de48b2fca36"
            ]
        ]
    },
    {
        "id": "1fca8de48b2fca36",
        "type": "change",
        "z": "31c57f8640528976",
        "name": "Set Flow variable ",
        "rules": [
            {
                "t": "set",
                "p": "fbhSetNormal",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 690,
        "y": 2520,
        "wires": [
            [
                "c842be0ce0f3e826"
            ]
        ]
    },
    {
        "id": "f0f24855fdba9035",
        "type": "ui_group",
        "name": "Status",
        "tab": "7e5ee24d.2d5ae4",
        "order": 4,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "7e5ee24d.2d5ae4",
        "type": "ui_tab",
        "name": "Heating",
        "icon": "dashboard",
        "order": 3,
        "disabled": false,
        "hidden": false
    }
]&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 09 Feb 2023 08:27:46 GMT</pubDate>
    <dc:creator>CaCicala</dc:creator>
    <dc:date>2023-02-09T08:27:46Z</dc:date>
    <item>
      <title>Tutorial: Setting Target Temperature etc. with Node-Red</title>
      <link>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/280094#M1112</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Soll-Temperatur etc. mit Node-Red ändern&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This post is a sequel to the two previous posts I've created concerning the Viessmann API in conjunction with Node-Red.&lt;/P&gt;&lt;P&gt;1. &lt;A href="https://www.viessmann-community.com/t5/The-Viessmann-API/How-to-avoid-sudden-death-after-180-days-automatic/td-p/261034" target="_self"&gt;Automatic initialization of access and refresh tokens in Node-Red Applications&lt;/A&gt;&lt;/P&gt;&lt;P&gt;2. &lt;A href="https://www.viessmann-community.com/t5/The-Viessmann-API/Using-Node-Red-to-visualize-ViCare-data/td-p/195606" target="_self"&gt;Using Node Red to visualize ViCare data&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Both focus on getting access and visualizing data grabbed from the Viessmann servers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now it's about time to actually manipulate your heating's settings:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CaCicala_0-1668962288824.png" style="width: 999px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/13910iF7B20DBB2C10005A/image-size/large?v=v2&amp;amp;px=999" role="button" title="CaCicala_0-1668962288824.png" alt="CaCicala_0-1668962288824.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This example is about changing the temperature setting for operation mode "normal" of heating circuit 0.&lt;/P&gt;&lt;P&gt;We can build on the universal header function node introduced in post #2 stated above&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The&amp;nbsp; &lt;U&gt;&lt;STRONG&gt;Function node&lt;/STRONG&gt; &lt;/U&gt;looks like this - pls bear with me for using the german UI of NR:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CaCicala_1-1668962361515.png" style="width: 999px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/13911iBDF314DF4B33D760/image-size/large?v=v2&amp;amp;px=999" role="button" title="CaCicala_1-1668962361515.png" alt="CaCicala_1-1668962361515.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The &lt;EM&gt;setTo&lt;/EM&gt; variable in line 5 contains the target value set in the slider node - msg.payload is converted to a context variable called &lt;EM&gt;flow.fbhSetNormal&lt;/EM&gt; thereafter.&lt;/P&gt;&lt;P&gt;Variable &lt;EM&gt;atoken&lt;/EM&gt; contains our old acquantance &lt;STRONG&gt;access token&lt;/STRONG&gt; from my previous posts. The same goes for the other context variables &lt;EM&gt;installationID&lt;/EM&gt;, &lt;EM&gt;gatewaySerial&lt;/EM&gt;, and &lt;EM&gt;deviceID&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The &lt;U&gt;&lt;STRONG&gt;http Request Node&lt;/STRONG&gt;&lt;/U&gt; looks like this:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CaCicala_2-1668962825980.png" style="width: 999px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/13912i1AE951B66629AE3E/image-size/large?v=v2&amp;amp;px=999" role="button" title="CaCicala_2-1668962825980.png" alt="CaCicala_2-1668962825980.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Please note that this is a POST request. Otherwise we couldn't send the header data with it.&lt;/P&gt;&lt;P&gt;The URL looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial}}/devices/{{deviceId}}/features/heating.circuits.1.operating.programs.normal/commands/setTemperature&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That's it! I hope you find this useful. Any comments and cudos are greatly appreciated. Below is the JSON code representation which can also be found at my &lt;A href="https://rustimation.eu" target="_self"&gt;website&lt;/A&gt; including more detailed explanations in German.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have a nice day!&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;[
    {
        "id": "99b3d95f7fa3ad1d",
        "type": "http request",
        "z": "31c57f8640528976",
        "name": "Set Feature",
        "method": "POST",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial}}/devices/{{deviceId}}/features/heating.circuits.1.operating.programs.normal/commands/setTemperature",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 630,
        "y": 2600,
        "wires": [
            [
                "4605eaf04f3c2604"
            ]
        ]
    },
    {
        "id": "c842be0ce0f3e826",
        "type": "function",
        "z": "31c57f8640528976",
        "name": "Headers &amp;amp; Parameter",
        "func": "var atoken = flow.get('accessToken')\nvar setTo = flow.get('fbhSetNormal')\n\nmsg.payload = {\n    \"targetTemperature\": setTo\n}\nmsg.headers = {};\nmsg.headers['content-type'] = 'application/json',\nmsg.headers['Authorization'] = \"Bearer \" + atoken;\n\nmsg.installationID = flow.get('installationID');\nmsg.gatewaySerial = flow.get('gatewaySerial');\nmsg.deviceId = flow.get('deviceID');\n;\nreturn msg;\n\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 420,
        "y": 2600,
        "wires": [
            [
                "99b3d95f7fa3ad1d"
            ]
        ]
    },
    {
        "id": "4605eaf04f3c2604",
        "type": "debug",
        "z": "31c57f8640528976",
        "name": "debug 15",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 800,
        "y": 2600,
        "wires": []
    },
    {
        "id": "9a849f443a5d2d2b",
        "type": "ui_slider",
        "z": "31c57f8640528976",
        "name": "Slider sets temperature",
        "label": "Soll °C FBH",
        "tooltip": "",
        "group": "f0f24855fdba9035",
        "order": 7,
        "width": 0,
        "height": 0,
        "passthru": false,
        "outs": "end",
        "topic": "topic",
        "topicType": "msg",
        "min": "5",
        "max": "30",
        "step": 1,
        "className": "",
        "x": 430,
        "y": 2520,
        "wires": [
            [
                "1fca8de48b2fca36"
            ]
        ]
    },
    {
        "id": "1fca8de48b2fca36",
        "type": "change",
        "z": "31c57f8640528976",
        "name": "Set Flow variable ",
        "rules": [
            {
                "t": "set",
                "p": "fbhSetNormal",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 690,
        "y": 2520,
        "wires": [
            [
                "c842be0ce0f3e826"
            ]
        ]
    },
    {
        "id": "f0f24855fdba9035",
        "type": "ui_group",
        "name": "Status",
        "tab": "7e5ee24d.2d5ae4",
        "order": 4,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "7e5ee24d.2d5ae4",
        "type": "ui_tab",
        "name": "Heating",
        "icon": "dashboard",
        "order": 3,
        "disabled": false,
        "hidden": false
    }
]&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2023 08:27:46 GMT</pubDate>
      <guid>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/280094#M1112</guid>
      <dc:creator>CaCicala</dc:creator>
      <dc:date>2023-02-09T08:27:46Z</dc:date>
    </item>
    <item>
      <title>Betreff: Tutorial: Setting Target Temperature etc. with Node-Red</title>
      <link>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/280640#M1113</link>
      <description>&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Update:&lt;/STRONG&gt;&lt;/U&gt;The flow can be simplified a bit by connecting the silder's payload directly to the function node. That way no context variable for the temperature setting is needed. The function node then looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;var atoken = flow.get('accessToken')&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;var setTo = msg.payload&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;msg.payload = {"targetTemperature": setTo}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;msg.headers = {};&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;msg.headers['content-type'] = 'application/json',&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;msg.headers['Authorization'] = "Bearer " + atoken;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;msg.installationID = flow.get('installationID');&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;msg.gatewaySerial = flow.get('gatewaySerial');&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;msg.deviceId = flow.get('deviceID');&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;return msg;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and the simplified flow looks like this:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CaCicala_0-1669042235054.png" style="width: 999px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/13972iF0AC8F3DD4D930AC/image-size/large?v=v2&amp;amp;px=999" role="button" title="CaCicala_0-1669042235054.png" alt="CaCicala_0-1669042235054.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;Cheers&lt;/DIV&gt;&lt;DIV&gt;Chris&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 21 Nov 2022 14:59:39 GMT</pubDate>
      <guid>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/280640#M1113</guid>
      <dc:creator>CaCicala</dc:creator>
      <dc:date>2022-11-21T14:59:39Z</dc:date>
    </item>
    <item>
      <title>Betreff: Tutorial: Setting Target Temperature etc. with Node-Red</title>
      <link>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/311582#M1390</link>
      <description>&lt;P&gt;5 minutes to late - did it the same way myself.&lt;/P&gt;&lt;P&gt;You could connect the reading from the API to the input of the slider - it will now show the current settings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your work !!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JrgWende_0-1676058082045.png" style="width: 400px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/17405i1C34F9A2B20C8ABC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JrgWende_0-1676058082045.png" alt="JrgWende_0-1676058082045.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JrgWende_1-1676058159997.png" style="width: 400px;"&gt;&lt;img src="https://community.viessmann.de/t5/image/serverpage/image-id/17406i77173AC5AE59C542/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JrgWende_1-1676058159997.png" alt="JrgWende_1-1676058159997.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2023 19:42:53 GMT</pubDate>
      <guid>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/311582#M1390</guid>
      <dc:creator>JörgWende</dc:creator>
      <dc:date>2023-02-10T19:42:53Z</dc:date>
    </item>
    <item>
      <title>Betreff: Tutorial: Setting Target Temperature etc. with Node-Red</title>
      <link>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/311679#M1391</link>
      <description>&lt;P&gt;Hallo Jörg,&lt;/P&gt;&lt;P&gt;thats what I did in my own setup. Feed back the setting from the API to the slider node. Accidently I created an endless loop by setting the slider's config checkmark at &lt;EM&gt;&lt;STRONG&gt;If msg arrives on input, pass through to output:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;This behaviour eats up your "number of requests" quota much faster. In fact, it's doubling your number of requests. And worse with several sliders. So take care to &lt;STRONG&gt;uncheck&lt;/STRONG&gt; this feature.&lt;/P&gt;&lt;P&gt;For improved usability (avoiding accidential setting of the slider especially on mobile devices) I have separated temperature setting and issuing the command. Check this out at my &lt;A href="https://www.rustimation.eu/index.php/viessmann-api-und-node-red-teil-4/" target="_self"&gt;website&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have fun!&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2023 11:18:02 GMT</pubDate>
      <guid>https://community.viessmann.de/t5/The-Viessmann-API/Tutorial-Setting-Target-Temperature-etc-with-Node-Red/m-p/311679#M1391</guid>
      <dc:creator>CaCicala</dc:creator>
      <dc:date>2023-02-11T11:18:02Z</dc:date>
    </item>
  </channel>
</rss>

