[ { "id": "example-comment", "type": "comment", "name": "Air+ Control Test - Click inject buttons to test each command", "info": "This example demonstrates all v3 control capabilities:\n\n**Power Control:**\n- Power ON/OFF (keeps current mode)\n\n**Mode Control:** \n- Auto, Sleep, Turbo, Manual modes\n- Changes mode without affecting power\n\n**Fan Speed:**\n- Speed 1 (Low), Speed 2 (High)\n- AC3737 has only 2 manual speeds\n- Only changes speed, not mode/power\n\n**Humidity (AC3737 with humidifier):**\n- 40%, 60% target humidity\n\n**Display Light:**\n- Off (0), Dim (50), Bright (100)\n\n**Child Lock:**\n- ON/OFF (v3 protocol: D03103)\n\n**Combined:**\n- Power ON + Auto mode together\n\n**Refresh:**\n- Get current device state\n\n**Setup:**\n1. Configure account in nodes\n2. Select your device \n3. Deploy\n4. Use inject buttons to test", "x": 270, "y": 40, "wires": [] }, { "id": "inject-power-on", "type": "inject", "name": "Power ON", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"power\":true}", "payloadType": "json", "x": 120, "y": 100, "wires": [["control-node"]] }, { "id": "inject-power-off", "type": "inject", "name": "Power OFF", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"power\":false}", "payloadType": "json", "x": 120, "y": 140, "wires": [["control-node"]] }, { "id": "inject-mode-auto", "type": "inject", "name": "Mode: Auto", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"mode\":\"auto\"}", "payloadType": "json", "x": 130, "y": 200, "wires": [["control-node"]] }, { "id": "inject-mode-sleep", "type": "inject", "name": "Mode: Sleep", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"mode\":\"sleep\"}", "payloadType": "json", "x": 130, "y": 240, "wires": [["control-node"]] }, { "id": "inject-mode-turbo", "type": "inject", "name": "Mode: Turbo", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"mode\":\"turbo\"}", "payloadType": "json", "x": 130, "y": 280, "wires": [["control-node"]] }, { "id": "inject-fan-1", "type": "inject", "name": "Fan: Speed 1 (Low)", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"fanSpeed\":1}", "payloadType": "json", "x": 150, "y": 340, "wires": [["control-node"]] }, { "id": "inject-fan-2", "type": "inject", "name": "Fan: Speed 2 (High)", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"fanSpeed\":2}", "payloadType": "json", "x": 150, "y": 380, "wires": [["control-node"]] }, { "id": "inject-humidity-40", "type": "inject", "name": "Humidity: 40%", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"targetHumidity\":40}", "payloadType": "json", "x": 140, "y": 480, "wires": [["control-node"]] }, { "id": "inject-humidity-60", "type": "inject", "name": "Humidity: 60%", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"targetHumidity\":60}", "payloadType": "json", "x": 140, "y": 520, "wires": [["control-node"]] }, { "id": "inject-light-off", "type": "inject", "name": "Light: Off", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"displayLight\":0}", "payloadType": "json", "x": 120, "y": 580, "wires": [["control-node"]] }, { "id": "inject-light-dim", "type": "inject", "name": "Light: Dim", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"displayLight\":50}", "payloadType": "json", "x": 120, "y": 620, "wires": [["control-node"]] }, { "id": "inject-light-bright", "type": "inject", "name": "Light: Bright", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"displayLight\":100}", "payloadType": "json", "x": 130, "y": 660, "wires": [["control-node"]] }, { "id": "inject-lock-on", "type": "inject", "name": "Child Lock: ON", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"childLock\":true}", "payloadType": "json", "x": 140, "y": 720, "wires": [["control-node"]] }, { "id": "inject-lock-off", "type": "inject", "name": "Child Lock: OFF", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"childLock\":false}", "payloadType": "json", "x": 140, "y": 760, "wires": [["control-node"]] }, { "id": "inject-combined", "type": "inject", "name": "ON + Auto", "props": [{ "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "", "payload": "{\"power\":true,\"mode\":\"auto\"}", "payloadType": "json", "x": 120, "y": 820, "wires": [["control-node"]] }, { "id": "inject-refresh", "type": "inject", "name": "Refresh", "props": [{ "p": "topic", "vt": "str" }, { "p": "payload" }], "repeat": "", "crontab": "", "once": false, "topic": "refresh", "payload": "{}", "payloadType": "json", "x": 110, "y": 880, "wires": [["control-node"]] }, { "id": "control-node", "type": "airplus-control", "name": "", "account": "", "device": "", "deviceName": "", "x": 330, "y": 490, "wires": [["debug-success"], ["debug-error"]] }, { "id": "debug-success", "type": "debug", "name": "Success", "active": true, "console": false, "complete": "true", "x": 520, "y": 470, "wires": [] }, { "id": "debug-error", "type": "debug", "name": "Error", "active": true, "console": false, "complete": "true", "x": 510, "y": 510, "wires": [] } ]