[ { "id": "d7276cd2.d6f55", "type": "tab", "label": "pythontest", "disabled": false, "info": "" }, { "id": "fb7f185017976c12", "type": "tab", "label": "function", "disabled": false, "info": "", "env": [] }, { "id": "eae44542acdaa468", "type": "tab", "label": "range & 5 lik not ", "disabled": false, "info": "", "env": [] }, { "id": "6177d20377cdf4aa", "type": "tab", "label": "mqtt", "disabled": false, "info": "", "env": [] }, { "id": "aeb58ce56387e9ba", "type": "tab", "label": "http", "disabled": false, "info": "", "env": [] }, { "id": "f524adac.427cd", "type": "tab", "label": "LedOnOff", "disabled": false, "info": "" }, { "id": "865fd56bd2aa6c1b", "type": "tab", "label": "template", "disabled": true, "info": "", "env": [] }, { "id": "49420abfd421ba7d", "type": "tab", "label": "join - sort", "disabled": false, "info": "", "env": [] }, { "id": "38c1232c5a502fa5", "type": "tab", "label": "thingspeak", "disabled": false, "info": "", "env": [] }, { "id": "8110de6e5f98b222", "type": "tab", "label": "faydalı", "disabled": false, "info": "", "env": [] }, { "id": "6737a32408769979", "type": "tab", "label": "Start-Stop-Gsheet", "disabled": false, "info": "", "env": [] }, { "id": "411814bb902c6af4", "type": "tab", "label": "http-get-send Gsheet", "disabled": false, "info": "", "env": [] }, { "id": "9bde042422357e14", "type": "tab", "label": "Simple API", "disabled": false, "info": "", "env": [] }, { "id": "94c5fcc2331b6425", "type": "tab", "label": "google takvim", "disabled": false, "info": "", "env": [] }, { "id": "14d59e3e77d41805", "type": "tab", "label": "ntfy APP", "disabled": false, "info": "", "env": [] }, { "id": "149380c1.63e107", "type": "subflow", "name": "Delivery subflow", "info": "", "category": "", "in": [ { "x": 50, "y": 81, "wires": [ { "id": "62560ae6ab8737dc" } ] } ], "out": [ { "x": 420, "y": 80, "wires": [ { "id": "62560ae6ab8737dc", "port": 0 } ] } ], "env": [ { "name": "controlProperty", "type": "str", "value": "control", "ui": { "label": { "en-US": "Property for OK or FAIL" }, "type": "input", "opts": { "types": [ "str", "env" ] } } }, { "name": "OKValue", "type": "str", "value": "OK", "ui": { "label": { "en-US": "Value of success" }, "type": "input", "opts": { "types": [ "str", "num", "bool", "env" ] } } }, { "name": "FAILValue", "type": "str", "value": "FAIL", "ui": { "label": { "en-US": "Value for failure" }, "type": "input", "opts": { "types": [ "str", "num", "bool", "env" ] } } }, { "name": "retrySecs", "type": "num", "value": "60", "ui": { "label": { "en-US": "Retry period (secs)" }, "type": "input", "opts": { "types": [ "num", "env" ] } } }, { "name": "maxQueue", "type": "num", "value": "100", "ui": { "label": { "en-US": "Max messages in queue" }, "type": "input", "opts": { "types": [ "str", "num", "env" ] } } }, { "name": "contextStore", "type": "str", "value": "default", "ui": { "label": { "en-US": "Context Store to use" }, "type": "input", "opts": { "types": [ "str", "env" ] } } } ], "color": "#DDAA99", "status": { "x": 440, "y": 160, "wires": [ { "id": "ed779289.25b5d8", "port": 0 } ] } }, { "id": "6be848a3b72bf19b", "type": "group", "z": "fb7f185017976c12", "style": { "stroke": "#999999", "stroke-opacity": "1", "fill": "none", "fill-opacity": "1", "label": true, "label-position": "nw", "color": "#a4a4a4" }, "nodes": [ "0ef8c8dfd92e3c99", "1fb9f8a983e43c8b", "65fbe6d6abc91c34", "0c2d51adc0110c94", "5f6fec07099851b5", "c6126d0fa9d04a15", "8a4c4b490e944c10", "fb0180bf1e5d6dde", "fb66729553d230c5", "54f8cc30aac7a0cf", "78d967a29431944d", "b86465722f87ab70" ], "x": 174, "y": 59, "w": 652, "h": 322 }, { "id": "5927e196b32c9b83", "type": "junction", "z": "6737a32408769979", "x": 560, "y": 200, "wires": [ [ "4513977d6341e377" ] ] }, { "id": "64982d5f203534bf", "type": "mqtt-broker", "d": true, "name": "", "broker": "public.cloud.shiftr.io", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "alitan/mesaj", "birthQos": "1", "birthRetain": "true", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "b11cbe817c4d2a5a", "type": "mqtt-broker", "name": "", "broker": "mqtt.eclipseprojects.io", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "8b7c6588.bb6268", "type": "mqtt-broker", "d": true, "name": "", "broker": "public.cloud.shiftr.io", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "df3e922bccf03df2", "type": "websocket-listener", "path": "/ws/test", "wholemsg": "false" }, { "id": "a34f4b1cbf4cf627", "type": "ui_tab", "name": "Home", "icon": "dashboard", "disabled": false, "hidden": false }, { "id": "235f36c073e9c254", "type": "ui_base", "theme": { "name": "theme-light", "lightTheme": { "default": "#0094CE", "baseColor": "#0094CE", "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif", "edited": true, "reset": false }, "darkTheme": { "default": "#097479", "baseColor": "#097479", "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif", "edited": false }, "customTheme": { "name": "Untitled Theme 1", "default": "#4B7930", "baseColor": "#4B7930", "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif" }, "themeState": { "base-color": { "default": "#0094CE", "value": "#0094CE", "edited": false }, "page-titlebar-backgroundColor": { "value": "#0094CE", "edited": false }, "page-backgroundColor": { "value": "#fafafa", "edited": false }, "page-sidebar-backgroundColor": { "value": "#ffffff", "edited": false }, "group-textColor": { "value": "#1bbfff", "edited": false }, "group-borderColor": { "value": "#ffffff", "edited": false }, "group-backgroundColor": { "value": "#ffffff", "edited": false }, "widget-textColor": { "value": "#111111", "edited": false }, "widget-backgroundColor": { "value": "#0094ce", "edited": false }, "widget-borderColor": { "value": "#ffffff", "edited": false }, "base-font": { "value": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif" } }, "angularTheme": { "primary": "indigo", "accents": "blue", "warn": "red", "background": "grey", "palette": "light" } }, "site": { "name": "Node-RED Dashboard", "hideToolbar": "false", "allowSwipe": "false", "lockMenu": "false", "allowTempTheme": "true", "dateFormat": "DD/MM/YYYY", "sizes": { "sx": 48, "sy": 48, "gx": 6, "gy": 6, "cx": 6, "cy": 6, "px": 0, "py": 0 } } }, { "id": "0766eb4e4d6d2e65", "type": "ui_group", "name": "Default", "tab": "a34f4b1cbf4cf627", "order": 1, "disp": true, "width": 6, "collapse": false, "className": "" }, { "id": "604722e297c402ef", "type": "mqtt-broker", "name": "", "broker": "wss://broker.emqx.io:8084/mqtt", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": 4, "keepalive": 60, "cleansession": true, "autoUnsubscribe": true, "birthTopic": "", "birthQos": "0", "birthRetain": "false", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closeRetain": "false", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willRetain": "false", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "e764aa22e9c3e143", "type": "global-config", "env": [ { "name": "MY_ENV", "value": "Ali TAN", "type": "str" } ], "modules": { "node-red-dashboard": "3.6.6", "node-red-contrib-google-calendar": "0.1.5", "@fetuffani/node-red-contrib-ntfy": "0.1.0", "node-red-contrib-ui-led": "0.4.11", "node-red-contrib-thingspeak": "0.0.4" } }, { "id": "a0bc964863b29b63", "type": "google-credentials", "displayName": "Google" }, { "id": "f3c3cb41d9e3745e", "type": "ntfy-credentials", "name": "", "server": "https://ntfy.sh", "username": "" }, { "id": "602725f6.15eee4", "type": "inject", "z": "149380c1.63e107", "name": "Retry ", "props": [ { "p": "${controlProperty}", "v": "__trigger", "vt": "str" } ], "repeat": "${retrySecs}", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 100, "y": 181, "wires": [ [ "62560ae6ab8737dc" ] ] }, { "id": "ed779289.25b5d8", "type": "status", "z": "149380c1.63e107", "name": "", "scope": [ "62560ae6ab8737dc" ], "x": 300, "y": 160, "wires": [ [] ] }, { "id": "62560ae6ab8737dc", "type": "function", "z": "149380c1.63e107", "name": "State machine", "func": "let store = env.get(\"contextStore\")\nif (store === \"default\") store = null\nlet stat = context.get(\"stat\", store) || {state: \"initial\", queue: []}\n// can't use a switch here I think as need to compare against env value\nconst control = msg[env.get(\"controlProperty\")]\n\nif (control === env.get(\"OKValue\")) {\n handleOK(stat)\n} else if (control === env.get(\"FAILValue\")) {\n handleFAIL(stat)\n} else if (control === \"__trigger\") {\n handleTrigger(stat)\n} else {\n // no valid control value so must be incoming message\n handleMessage(msg, stat)\n}\n//node.warn(`state: ${stat.state}`)\n// decide what to do next based on the new state\nswitch (stat.state) {\n case \"initial\":\n case \"waitingForMsg\":\n sendMsg(stat) // send next message if any\n break;\n \n case \"waitingForTrigger\":\n case \"waitingForOKFail\":\n // do nothing\n break;\n}\nnode.status( `${stat.queue.length} ${stat.state}` )\ncontext.set(\"stat\", stat, store)\nreturn null;\n\n// Called when message to be queued is received\nfunction handleMessage(msg, stat) {\n //node.warn(\"handleMessage\")\n // push a clone onto the queue\n stat.queue.push(RED.util.cloneMessage(msg))\n // limit number in queue\n const max = Number(env.get(\"maxQueue\"))\n if (!isNaN(max) && max > 0) {\n // max length hit, remove oldest\n if (stat.queue.length > max) stat.queue.shift()\n }\n // Simulate a trigger event to handle any state change needed\n handleTrigger(stat)\n}\n\n// Called to send the next message off the queue if any, but leaves it on queue\nfunction sendMsg(stat) {\n //node.warn(\"sendMsg\")\n let thisMsg = stat.queue[0]\n if (thisMsg) {\n // send a clone\n //node.warn(\"sending\")\n node.send(RED.util.cloneMessage(thisMsg))\n stat.state = \"waitingForOKFail\"\n } else {\n // nothing in queue\n stat.state = \"waitingForMsg\"\n }\n}\n\n// Called when OK response received\nfunction handleOK(stat) {\n //node.warn(\"handleOK\")\n // ignore if in wrong state\n if (stat.state === \"waitingForOKFail\") {\n // OK received so drop the top message \n stat.queue.shift()\n // set the state to waiting for message, which will allow the next one to be sent\n stat.state = \"waitingForMsg\"\n } else {\n node.warn(\"Ignoring unnexpected OK\")\n }\n}\n\n// Called when FAIL response received\nfunction handleFAIL(stat) {\n //node.warn(\"handleFAIL\")\n // ignore if in wrong state\n if (stat.state === \"waitingForOKFail\") {\n // FAIL received so go to waiting for trigger state\n stat.state = \"waitingForTrigger\"\n } else {\n node.warn(\"Ignoring unnexpected FAIL\")\n }\n}\n\n// Called when a trigger message is received or after a new incoming message is queued\nfunction handleTrigger(stat) {\n //node.warn(\"handleTrigger\")\n if (stat.state === \"waitingForTrigger\") {\n //node.warn(\"state to waiting\")\n // set it to watitingForMsg in order to trigger send \n stat.state = \"waitingForMsg\"\n }\n // ignore for other states\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 280, "y": 80, "wires": [ [] ] }, { "id": "a7d4e707.fd8a18", "type": "inject", "z": "d7276cd2.d6f55", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 240, "wires": [ [ "97c92fce.dd6f6" ] ] }, { "id": "97c92fce.dd6f6", "type": "template", "z": "d7276cd2.d6f55", "name": "", "field": "payload", "fieldType": "msg", "format": "python", "syntax": "plain", "template": "import time\n\nwhile True:\n print(time.ctime())\n time.sleep(10)\n", "output": "str", "x": 320, "y": 240, "wires": [ [ "1273e63.74b5c1a" ] ] }, { "id": "1273e63.74b5c1a", "type": "file", "z": "d7276cd2.d6f55", "name": "", "filename": "pythontest.py", "filenameType": "str", "appendNewline": false, "createDir": false, "overwriteFile": "true", "encoding": "none", "x": 520, "y": 240, "wires": [ [ "14057906.c24237" ] ] }, { "id": "14057906.c24237", "type": "exec", "z": "d7276cd2.d6f55", "command": "python3 pythontest.py", "addpay": false, "append": "", "useSpawn": "true", "timer": "", "winHide": false, "oldrc": false, "name": "", "x": 740, "y": 240, "wires": [ [ "a33c536c.9900e" ], [ "a33c536c.9900e" ], [] ] }, { "id": "a33c536c.9900e", "type": "debug", "z": "d7276cd2.d6f55", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 970, "y": 240, "wires": [] }, { "id": "0ef8c8dfd92e3c99", "type": "inject", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "1", "payloadType": "num", "x": 270, "y": 100, "wires": [ [ "8a4c4b490e944c10" ] ] }, { "id": "1fb9f8a983e43c8b", "type": "inject", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "3", "payloadType": "num", "x": 270, "y": 220, "wires": [ [ "8a4c4b490e944c10" ] ] }, { "id": "65fbe6d6abc91c34", "type": "inject", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "2", "payloadType": "num", "x": 270, "y": 160, "wires": [ [ "8a4c4b490e944c10" ] ] }, { "id": "0c2d51adc0110c94", "type": "inject", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "4", "payloadType": "num", "x": 270, "y": 280, "wires": [ [ "8a4c4b490e944c10" ] ] }, { "id": "5f6fec07099851b5", "type": "inject", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "5", "payloadType": "num", "x": 270, "y": 340, "wires": [ [ "8a4c4b490e944c10" ] ] }, { "id": "c6126d0fa9d04a15", "type": "debug", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "debug 9", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 720, "y": 140, "wires": [] }, { "id": "fb0180bf1e5d6dde", "type": "debug", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "debug 10", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 720, "y": 180, "wires": [] }, { "id": "fb66729553d230c5", "type": "debug", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "debug 11", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 720, "y": 220, "wires": [] }, { "id": "54f8cc30aac7a0cf", "type": "debug", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "debug 12", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 720, "y": 260, "wires": [] }, { "id": "78d967a29431944d", "type": "debug", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "debug 13", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 720, "y": 300, "wires": [] }, { "id": "b86465722f87ab70", "type": "comment", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "Çok çıkışlı fonksiyon", "info": "Fonksiyon Örneği", "x": 510, "y": 100, "wires": [] }, { "id": "13d0afefb156f78a", "type": "inject", "z": "fb7f185017976c12", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 250, "y": 460, "wires": [ [ "1f81d453e0e24cb6" ] ] }, { "id": "5f7651ec018f367b", "type": "inject", "z": "fb7f185017976c12", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "bool", "x": 250, "y": 520, "wires": [ [ "3630849c72ae8676", "9b73f22f64c0755b", "1f81d453e0e24cb6" ] ] }, { "id": "3630849c72ae8676", "type": "change", "z": "fb7f185017976c12", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "bool", "to": "falso", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 480, "y": 560, "wires": [ [ "d4fbe087ec3c7973" ] ] }, { "id": "9b73f22f64c0755b", "type": "range", "z": "fb7f185017976c12", "minin": "1", "maxin": "1", "minout": "100", "maxout": "100", "action": "clamp", "round": false, "property": "payload", "name": "", "x": 480, "y": 620, "wires": [ [ "d4fbe087ec3c7973" ] ] }, { "id": "1f81d453e0e24cb6", "type": "switch", "z": "fb7f185017976c12", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 470, "y": 480, "wires": [ [ "25a8457f2df1b7b9" ], [ "60df737168f572da" ] ] }, { "id": "25a8457f2df1b7b9", "type": "debug", "z": "fb7f185017976c12", "name": "debug 14", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 720, "y": 460, "wires": [] }, { "id": "60df737168f572da", "type": "debug", "z": "fb7f185017976c12", "name": "debug 15", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 720, "y": 500, "wires": [] }, { "id": "d4fbe087ec3c7973", "type": "debug", "z": "fb7f185017976c12", "name": "debug 16", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 720, "y": 540, "wires": [] }, { "id": "8dcd496f64229b82", "type": "inject", "z": "fb7f185017976c12", "name": "on", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"start\":true,\"sıcaklık\":35.41,\"basınç\":2.012}", "payloadType": "json", "x": 270, "y": 780, "wires": [ [ "bfb35b7fcd86f9da" ] ] }, { "id": "bfb35b7fcd86f9da", "type": "switch", "z": "fb7f185017976c12", "name": "", "property": "payload.start", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 490, "y": 800, "wires": [ [ "366f97a55d6a6a40" ], [ "822847f9a40823f8" ] ] }, { "id": "0d85e60af0f4ed62", "type": "inject", "z": "fb7f185017976c12", "name": "off", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"start\":false,\"sıcaklık\":35.41,\"basınç\":2.012}", "payloadType": "json", "x": 270, "y": 820, "wires": [ [ "bfb35b7fcd86f9da" ] ] }, { "id": "366f97a55d6a6a40", "type": "debug", "z": "fb7f185017976c12", "name": "debug 17", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 740, "y": 780, "wires": [] }, { "id": "822847f9a40823f8", "type": "change", "z": "fb7f185017976c12", "name": "", "rules": [ { "t": "delete", "p": "payload", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 770, "y": 840, "wires": [ [ "aaff07637868f376" ] ] }, { "id": "aaff07637868f376", "type": "debug", "z": "fb7f185017976c12", "name": "debug 18", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 960, "y": 840, "wires": [] }, { "id": "8a4c4b490e944c10", "type": "function", "z": "fb7f185017976c12", "g": "6be848a3b72bf19b", "name": "function 4", "func": "var gelen = msg.payload;\nif (gelen == 1) msg = [{payload: 'bir'}, null, null, null, null]; \nif (gelen == 2) msg = [null, {payload : 'iki'}, null, null, null]; \nif (gelen == 3) msg = [null, null, {payload : 'üç'}, null, null];\nif (gelen == 4) msg = [null, null, null, {payload : 'dört'}, null];\nif (gelen == 5) msg = [null, null, null, null, {payload: 'beş'}];\nreturn msg;", "outputs": 5, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 480, "y": 220, "wires": [ [ "c6126d0fa9d04a15" ], [ "fb0180bf1e5d6dde" ], [ "fb66729553d230c5" ], [ "54f8cc30aac7a0cf" ], [ "78d967a29431944d" ] ] }, { "id": "6b1833c0157d0e65", "type": "inject", "z": "eae44542acdaa468", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": "0.5", "topic": "", "payload": "{}", "payloadType": "json", "x": 170, "y": 220, "wires": [ [ "712ef91a974c8a1b" ] ] }, { "id": "2f2db9c4b0b56df1", "type": "range", "z": "eae44542acdaa468", "minin": "1", "maxin": "100", "minout": "100", "maxout": "1000", "action": "scale", "round": false, "property": "payload.ilk", "name": "", "x": 690, "y": 80, "wires": [ [ "20ebbcbd7718dd85" ] ] }, { "id": "20ebbcbd7718dd85", "type": "debug", "z": "eae44542acdaa468", "name": "result console", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.ilk", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 900, "y": 80, "wires": [] }, { "id": "712ef91a974c8a1b", "type": "function", "z": "eae44542acdaa468", "name": "rastgele 0-100 not üret", "func": "let rnd = Math.random()*100;\nmsg.payload.ilk = rnd.toFixed(1);\nmsg.payload.zero = rnd.toFixed(0);\nmsg.payload.round = Math.round(rnd);\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 440, "y": 220, "wires": [ [ "2f2db9c4b0b56df1", "54ec04f242565fb1", "80ddd7ac2d8a9544", "a94658b150a9d7e0", "dfac15625208c3ee", "46ecbb6abcce292d", "b4255b760a6e0a4c", "6637f513352d041f" ] ] }, { "id": "54ec04f242565fb1", "type": "debug", "z": "eae44542acdaa468", "name": "ilk", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.ilk", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 160, "wires": [] }, { "id": "80ddd7ac2d8a9544", "type": "debug", "z": "eae44542acdaa468", "name": "zero", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.zero", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 200, "wires": [] }, { "id": "a94658b150a9d7e0", "type": "debug", "z": "eae44542acdaa468", "name": "round", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.round", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 240, "wires": [] }, { "id": "dfac15625208c3ee", "type": "debug", "z": "eae44542acdaa468", "name": "full", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 280, "wires": [] }, { "id": "46ecbb6abcce292d", "type": "switch", "z": "eae44542acdaa468", "name": "", "property": "payload.ilk", "propertyType": "msg", "rules": [ { "t": "btwn", "v": "0", "vt": "num", "v2": "24.9", "v2t": "num" }, { "t": "btwn", "v": "25", "vt": "num", "v2": "44.9", "v2t": "num" }, { "t": "btwn", "v": "45", "vt": "num", "v2": "54.9", "v2t": "num" }, { "t": "btwn", "v": "55", "vt": "num", "v2": "69.9", "v2t": "num" }, { "t": "btwn", "v": "70", "vt": "num", "v2": "84.9", "v2t": "num" }, { "t": "gte", "v": "85", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 6, "x": 850, "y": 420, "wires": [ [ "52c7ff45fd74cfa4" ], [ "42d07ea5ac9ce91f" ], [ "b2aec0ba270500db" ], [ "11920ece4b6fbe69" ], [ "a4c205776fcb2219" ], [ "947bfc041d0d6e13" ] ] }, { "id": "52c7ff45fd74cfa4", "type": "function", "z": "eae44542acdaa468", "name": "Sıfır", "func": "msg.payload.sonuc = \"Sıfır\";\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1050, "y": 320, "wires": [ [ "271f57f8601a8243" ] ] }, { "id": "271f57f8601a8243", "type": "debug", "z": "eae44542acdaa468", "name": "debug 19", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.sonuc", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1220, "y": 320, "wires": [] }, { "id": "42d07ea5ac9ce91f", "type": "function", "z": "eae44542acdaa468", "name": "Bir", "func": "msg.payload.sonuc = \"Bir\";\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1050, "y": 360, "wires": [ [ "bebd9a1d67582845" ] ] }, { "id": "bebd9a1d67582845", "type": "debug", "z": "eae44542acdaa468", "name": "debug 20", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.sonuc", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1220, "y": 360, "wires": [] }, { "id": "b2aec0ba270500db", "type": "function", "z": "eae44542acdaa468", "name": "İki", "func": "msg.payload.sonuc = \"İki\";\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1050, "y": 400, "wires": [ [ "2067fbc612fad010" ] ] }, { "id": "2067fbc612fad010", "type": "debug", "z": "eae44542acdaa468", "name": "debug 21", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.sonuc", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1220, "y": 400, "wires": [] }, { "id": "11920ece4b6fbe69", "type": "function", "z": "eae44542acdaa468", "name": "Üç", "func": "msg.payload.sonuc = \"Üç\";\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1050, "y": 440, "wires": [ [ "eb4f58a5fcdffa53" ] ] }, { "id": "eb4f58a5fcdffa53", "type": "debug", "z": "eae44542acdaa468", "name": "debug 22", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.sonuc", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1220, "y": 440, "wires": [] }, { "id": "a4c205776fcb2219", "type": "function", "z": "eae44542acdaa468", "name": "Dört", "func": "msg.payload.sonuc = \"Dört\";\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1050, "y": 480, "wires": [ [ "18b06cba58782914" ] ] }, { "id": "18b06cba58782914", "type": "debug", "z": "eae44542acdaa468", "name": "debug 23", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.sonuc", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1220, "y": 480, "wires": [] }, { "id": "947bfc041d0d6e13", "type": "function", "z": "eae44542acdaa468", "name": "Beş", "func": "msg.payload.sonuc = \"Beş\";\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1050, "y": 520, "wires": [ [ "15f79eb3f653545d" ] ] }, { "id": "15f79eb3f653545d", "type": "debug", "z": "eae44542acdaa468", "name": "debug 24", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.sonuc", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1220, "y": 520, "wires": [] }, { "id": "b4255b760a6e0a4c", "type": "function", "z": "eae44542acdaa468", "name": "Notu yazıya çevir", "func": "let notsayi = msg.payload.ilk;\n\nif (notsayi>=85) msg.payload = \"Beş\"\nelse if (notsayi >= 70) msg.payload = \"Dört\"\nelse if (notsayi >= 55) msg.payload = \"Üç\"\nelse if (notsayi >= 45) msg.payload = \"İki\"\nelse if (notsayi >= 25) msg.payload = \"Bir\"\nelse msg.payload = \"Sıfır\";\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 910, "y": 620, "wires": [ [ "35ae0266758137f7" ] ] }, { "id": "35ae0266758137f7", "type": "debug", "z": "eae44542acdaa468", "name": "5 lik sistem", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1130, "y": 620, "wires": [] }, { "id": "6637f513352d041f", "type": "debug", "z": "eae44542acdaa468", "name": "debug 38", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 380, "y": 420, "wires": [] }, { "id": "32d9b408590dc618", "type": "mqtt in", "z": "6177d20377cdf4aa", "d": true, "name": "", "topic": "testin/lambalar/oda1", "qos": "2", "datatype": "auto-detect", "broker": "b11cbe817c4d2a5a", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 230, "y": 180, "wires": [ [ "cfee4b9dcf4685b3", "dab1c2b9d47027a6" ] ] }, { "id": "cfee4b9dcf4685b3", "type": "debug", "z": "6177d20377cdf4aa", "name": "debug 25", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 640, "y": 180, "wires": [] }, { "id": "dab1c2b9d47027a6", "type": "change", "z": "6177d20377cdf4aa", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "1", "fromt": "num", "to": "true", "tot": "bool" }, { "t": "change", "p": "payload", "pt": "msg", "from": "0", "fromt": "num", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 460, "y": 260, "wires": [ [ "cfee4b9dcf4685b3" ] ] }, { "id": "6f45e97daf186c79", "type": "mqtt out", "z": "6177d20377cdf4aa", "d": true, "name": "Oda1", "topic": "test_in/lambalar/oda1", "qos": "2", "retain": "true", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "64982d5f203534bf", "x": 430, "y": 360, "wires": [] }, { "id": "7ecc92e3e0474521", "type": "inject", "z": "6177d20377cdf4aa", "name": "On", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "100", "payloadType": "num", "x": 210, "y": 340, "wires": [ [ "6f45e97daf186c79" ] ] }, { "id": "169ed2b4deb43568", "type": "inject", "z": "6177d20377cdf4aa", "name": "Off", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "150", "payloadType": "num", "x": 210, "y": 380, "wires": [ [ "6f45e97daf186c79" ] ] }, { "id": "2337fc8001e4fa97", "type": "comment", "z": "6177d20377cdf4aa", "name": "mqtt brokers, test_in/lamb.... olmuyor _ işareti varsa mesaj gitmiyor", "info": "broker.mqttdashboard.com", "x": 380, "y": 120, "wires": [] }, { "id": "56290d5ca25a8cce", "type": "inject", "z": "6177d20377cdf4aa", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "1", "payloadType": "num", "x": 210, "y": 460, "wires": [ [ "12d0351e54833749" ] ] }, { "id": "abfa26130e1eabe2", "type": "inject", "z": "6177d20377cdf4aa", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "0", "payloadType": "num", "x": 210, "y": 500, "wires": [ [ "12d0351e54833749" ] ] }, { "id": "12d0351e54833749", "type": "mqtt out", "z": "6177d20377cdf4aa", "d": true, "name": "", "topic": "alitan/feeds/light", "qos": "2", "retain": "true", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "8b7c6588.bb6268", "x": 540, "y": 480, "wires": [] }, { "id": "ac22c5e8b1f1e779", "type": "mqtt in", "z": "6177d20377cdf4aa", "d": true, "name": "", "topic": "alitan/feeds/light", "qos": "2", "datatype": "auto-detect", "broker": "8b7c6588.bb6268", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 560, "wires": [ [ "b676d47d19527443" ] ] }, { "id": "b676d47d19527443", "type": "debug", "z": "6177d20377cdf4aa", "name": "debug 43", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 500, "y": 560, "wires": [] }, { "id": "5a254e12173b3e8c", "type": "debug", "z": "6177d20377cdf4aa", "name": "debug 51", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1040, "y": 360, "wires": [] }, { "id": "8d8571ad968b9f59", "type": "mqtt in", "z": "6177d20377cdf4aa", "d": true, "name": "", "topic": "alitan/mesaj", "qos": "1", "datatype": "auto-detect", "broker": "64982d5f203534bf", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 810, "y": 360, "wires": [ [ "5a254e12173b3e8c" ] ] }, { "id": "adf1dafe1360c5f1", "type": "inject", "z": "6177d20377cdf4aa", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"temp\":34,\"hum\":89}", "payloadType": "json", "x": 830, "y": 440, "wires": [ [ "b08a46576ac128f5" ] ] }, { "id": "4c959d3aa382fcd3", "type": "mqtt out", "z": "6177d20377cdf4aa", "d": true, "name": "", "topic": "alitan/mesaj", "qos": "1", "retain": "true", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "8b7c6588.bb6268", "x": 1250, "y": 440, "wires": [] }, { "id": "b08a46576ac128f5", "type": "function", "z": "6177d20377cdf4aa", "name": "random", "func": "msg.payload.temp = parseFloat((Math.random()*100).toFixed(2));\nmsg.payload.hum = parseFloat((Math.random()*100).toFixed(2));\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1060, "y": 440, "wires": [ [ "4c959d3aa382fcd3" ] ] }, { "id": "91b2e766a9f80ed3", "type": "http in", "z": "aeb58ce56387e9ba", "name": "", "url": "yolla/:name/:surname", "method": "get", "upload": false, "swaggerDoc": "", "x": 270, "y": 120, "wires": [ [ "f3f48ce12b12d600" ] ] }, { "id": "9d32fd441f152fc2", "type": "http response", "z": "aeb58ce56387e9ba", "name": "", "statusCode": "", "headers": { "content-type": "text/html" }, "x": 690, "y": 120, "wires": [] }, { "id": "f3f48ce12b12d600", "type": "template", "z": "aeb58ce56387e9ba", "name": "", "field": "payload", "fieldType": "msg", "format": "handlebars", "syntax": "mustache", "template": " \n \n
\n{{ payload }}\n \n",
"x": 660,
"y": 1040,
"wires": [
[
"f52e2880.180968"
]
]
},
{
"id": "f52e2880.180968",
"type": "http response",
"z": "aeb58ce56387e9ba",
"name": "",
"x": 880,
"y": 1040,
"wires": []
},
{
"id": "9a2a9a4.0fc0768",
"type": "change",
"z": "aeb58ce56387e9ba",
"name": "Redirect to /hello-cookie",
"rules": [
{
"t": "set",
"p": "statusCode",
"pt": "msg",
"to": "302",
"tot": "num"
},
{
"t": "set",
"p": "headers",
"pt": "msg",
"to": "{}",
"tot": "json"
},
{
"t": "set",
"p": "headers.location",
"pt": "msg",
"to": "/hello-cookie",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 680,
"y": 1100,
"wires": [
[
"f52e2880.180968"
]
]
},
{
"id": "afefb90.53dcf48",
"type": "function",
"z": "aeb58ce56387e9ba",
"name": "Add a cookie",
"func": "msg.cookies = { };\nmsg.cookies[\"demo-\"+(Math.floor(Math.random()*1000))] = Date.now();\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 460,
"y": 1080,
"wires": [
[
"9a2a9a4.0fc0768"
]
]
},
{
"id": "fda60c66.04975",
"type": "http in",
"z": "aeb58ce56387e9ba",
"name": "",
"url": "/hello-cookie/add",
"method": "get",
"swaggerDoc": "",
"x": 260,
"y": 1080,
"wires": [
[
"afefb90.53dcf48"
]
]
},
{
"id": "09c964338960aad4",
"type": "comment",
"z": "aeb58ce56387e9ba",
"name": "cookie örneği",
"info": "",
"x": 230,
"y": 1000,
"wires": []
},
{
"id": "d5205a2c.db9018",
"type": "function",
"z": "aeb58ce56387e9ba",
"name": "Clear cookies",
"func": "// Find demo cookies and clear them\nvar cookieNames = Object.keys(msg.req.cookies).filter(function(cookieName) { return /^demo-/.test(cookieName);});\nmsg.cookies = {};\n\ncookieNames.forEach(function(cookieName) {\n msg.cookies[cookieName] = null;\n});\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 470,
"y": 1120,
"wires": [
[
"9a2a9a4.0fc0768"
]
]
},
{
"id": "35285a76.1f8636",
"type": "http in",
"z": "aeb58ce56387e9ba",
"name": "",
"url": "/hello-cookie/clear",
"method": "get",
"swaggerDoc": "",
"x": 260,
"y": 1120,
"wires": [
[
"d5205a2c.db9018"
]
]
},
{
"id": "cb1dfcde.fd153",
"type": "function",
"z": "aeb58ce56387e9ba",
"name": "set payload and headers",
"func": "msg.payload = \"data to post\";\nmsg.headers = {};\nmsg.headers['X-Auth-User'] = 'mike';\nmsg.headers['X-Auth-Key'] = 'fred-key';\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1240,
"wires": [
[
"e44209e7.752698"
]
]
},
{
"id": "dcf34aab.218928",
"type": "inject",
"z": "aeb58ce56387e9ba",
"name": "",
"repeat": "",
"crontab": "",
"once": false,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 220,
"y": 1240,
"wires": [
[
"cb1dfcde.fd153"
]
]
},
{
"id": "e44209e7.752698",
"type": "http request",
"z": "aeb58ce56387e9ba",
"name": "post to HttpBin",
"method": "POST",
"ret": "obj",
"paytoqs": "ignore",
"url": "https://httpbin.org/post",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [],
"x": 620,
"y": 1240,
"wires": [
[
"ee306582.f0dde8"
]
]
},
{
"id": "ee306582.f0dde8",
"type": "debug",
"z": "aeb58ce56387e9ba",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 790,
"y": 1240,
"wires": []
},
{
"id": "1690aa82.2e8995",
"type": "mqtt out",
"z": "f524adac.427cd",
"d": true,
"name": "",
"topic": "ledcontrol",
"qos": "2",
"retain": "true",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "8b7c6588.bb6268",
"x": 500,
"y": 280,
"wires": []
},
{
"id": "df51a7ee.5b6d28",
"type": "debug",
"z": "f524adac.427cd",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"x": 470,
"y": 60,
"wires": []
},
{
"id": "9da48100.adaa4",
"type": "mqtt in",
"z": "f524adac.427cd",
"d": true,
"name": "",
"topic": "ledcontrol",
"qos": "2",
"datatype": "auto",
"broker": "8b7c6588.bb6268",
"nl": false,
"rap": false,
"inputs": 0,
"x": 200,
"y": 100,
"wires": [
[
"df51a7ee.5b6d28",
"866c329648cd632d"
]
]
},
{
"id": "866c329648cd632d",
"type": "change",
"z": "f524adac.427cd",
"name": "",
"rules": [
{
"t": "change",
"p": "payload",
"pt": "msg",
"from": "on",
"fromt": "str",
"to": "true",
"tot": "bool"
},
{
"t": "change",
"p": "payload",
"pt": "msg",
"from": "off",
"fromt": "str",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 400,
"y": 160,
"wires": [
[
"b29d0e05b4baa2c7"
]
]
},
{
"id": "34fda770bb461539",
"type": "mqtt in",
"z": "f524adac.427cd",
"d": true,
"name": "",
"topic": "/tanIOT/HavaDurumu/#",
"qos": "0",
"datatype": "auto-detect",
"broker": "b11cbe817c4d2a5a",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 260,
"y": 500,
"wires": [
[
"6f6523b92abbe468",
"bcf1046a858101e1",
"3e7e910109860c4c",
"c761ca76b53f49ba"
]
]
},
{
"id": "6f6523b92abbe468",
"type": "debug",
"z": "f524adac.427cd",
"d": true,
"name": "humidity",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload.hum",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 540,
"y": 540,
"wires": []
},
{
"id": "bcf1046a858101e1",
"type": "debug",
"z": "f524adac.427cd",
"name": "full gelenler",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 550,
"y": 460,
"wires": []
},
{
"id": "3e7e910109860c4c",
"type": "change",
"z": "f524adac.427cd",
"name": "",
"rules": [
{
"t": "change",
"p": "payload",
"pt": "msg",
"from": "25",
"fromt": "num",
"to": "true",
"tot": "bool"
},
{
"t": "change",
"p": "payload",
"pt": "msg",
"from": "85",
"fromt": "num",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 860,
"y": 500,
"wires": [
[
"1b7a2281589bd642"
]
]
},
{
"id": "81c184e33a1ed897",
"type": "mqtt in",
"z": "f524adac.427cd",
"d": true,
"name": "",
"topic": "/tanIOT/OnOff",
"qos": "0",
"datatype": "auto-detect",
"broker": "64982d5f203534bf",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 230,
"y": 700,
"wires": [
[
"2acf4fada04ffc53",
"3e7e910109860c4c"
]
]
},
{
"id": "2acf4fada04ffc53",
"type": "debug",
"z": "f524adac.427cd",
"name": "broker : mqttdashboard ",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 630,
"y": 700,
"wires": []
},
{
"id": "c761ca76b53f49ba",
"type": "debug",
"z": "f524adac.427cd",
"d": true,
"name": "temp",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload.temp",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 530,
"y": 580,
"wires": []
},
{
"id": "ea3c42db.e8b45",
"type": "ui_button",
"z": "f524adac.427cd",
"name": "",
"group": "6285e79e.8324b8",
"order": 1,
"width": 3,
"height": 1,
"passthru": false,
"label": "off",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "off",
"payloadType": "str",
"topic": "ledcontrol",
"topicType": "str",
"x": 190,
"y": 220,
"wires": [
[
"1690aa82.2e8995"
]
]
},
{
"id": "9c675715.815c38",
"type": "ui_button",
"z": "f524adac.427cd",
"name": "",
"group": "6285e79e.8324b8",
"order": 2,
"width": 3,
"height": 1,
"passthru": false,
"label": "on",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "on",
"payloadType": "str",
"topic": "ledcontrol",
"topicType": "str",
"x": 190,
"y": 320,
"wires": [
[
"1690aa82.2e8995"
]
]
},
{
"id": "b29d0e05b4baa2c7",
"type": "ui_led",
"z": "f524adac.427cd",
"order": 3,
"group": "0766eb4e4d6d2e65",
"width": 6,
"height": 3,
"label": "",
"labelPlacement": "left",
"labelAlignment": "left",
"colorForValue": [
{
"color": "#ff0000",
"value": "false",
"valueType": "bool"
},
{
"color": "#008000",
"value": "true",
"valueType": "bool"
}
],
"allowColorForValueInMessage": false,
"shape": "circle",
"showGlow": true,
"name": "",
"x": 650,
"y": 160,
"wires": []
},
{
"id": "1b7a2281589bd642",
"type": "ui_led",
"z": "f524adac.427cd",
"order": 2,
"group": "0766eb4e4d6d2e65",
"width": 4,
"height": 4,
"label": "",
"labelPlacement": "left",
"labelAlignment": "left",
"colorForValue": [
{
"color": "#ff0000",
"value": "false",
"valueType": "bool"
},
{
"color": "#008000",
"value": "true",
"valueType": "bool"
}
],
"allowColorForValueInMessage": false,
"shape": "circle",
"showGlow": true,
"name": "",
"x": 1050,
"y": 500,
"wires": []
},
{
"id": "f6667f0331fb2a60",
"type": "inject",
"z": "865fd56bd2aa6c1b",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "1",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 240,
"y": 220,
"wires": [
[
"dffee2c65fecacdd"
]
]
},
{
"id": "61e11cf4e19b54a1",
"type": "debug",
"z": "865fd56bd2aa6c1b",
"name": "debug 29",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 1040,
"y": 220,
"wires": []
},
{
"id": "ef8061a1d0252436",
"type": "function",
"z": "865fd56bd2aa6c1b",
"name": "function 5",
"func": "var trh = new Date;\nmsg.payload = trh.toLocaleString();\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 660,
"y": 220,
"wires": [
[
"d00248a87fb36c5c"
]
]
},
{
"id": "dffee2c65fecacdd",
"type": "delay",
"z": "865fd56bd2aa6c1b",
"name": "",
"pauseType": "timed",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "5",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": true,
"allowrate": false,
"outputs": 1,
"x": 450,
"y": 220,
"wires": [
[
"ef8061a1d0252436"
]
]
},
{
"id": "1d8d0c6b54b168a4",
"type": "comment",
"z": "865fd56bd2aa6c1b",
"name": "5 sn de bir çalışma",
"info": "5 sn de bir çalışma",
"x": 230,
"y": 160,
"wires": []
},
{
"id": "d00248a87fb36c5c",
"type": "ui_template",
"z": "865fd56bd2aa6c1b",
"group": "0766eb4e4d6d2e65",
"name": "",
"order": 1,
"width": 18,
"height": 2,
"format": " \n",
"storeOutMessages": true,
"fwdInMessages": true,
"resendOnRefresh": true,
"templateScope": "local",
"className": ".main",
"x": 840,
"y": 220,
"wires": [
[
"61e11cf4e19b54a1"
]
]
},
{
"id": "8b1d5a1856e8e861",
"type": "debug",
"z": "49420abfd421ba7d",
"name": "debug 37",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 920,
"y": 120,
"wires": []
},
{
"id": "0b370a71ae0814b3",
"type": "inject",
"z": "49420abfd421ba7d",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 250,
"y": 120,
"wires": [
[
"81d2ee7026d05f61"
]
]
},
{
"id": "f98cb28e06f2ae00",
"type": "sort",
"z": "49420abfd421ba7d",
"name": "",
"order": "ascending",
"as_num": false,
"target": "payload",
"targetType": "msg",
"msgKey": "payload",
"msgKeyType": "elem",
"seqKey": "payload",
"seqKeyType": "msg",
"x": 790,
"y": 180,
"wires": [
[
"8b1d5a1856e8e861"
]
]
},
{
"id": "72ef150d6d86b42e",
"type": "join",
"z": "49420abfd421ba7d",
"name": "",
"mode": "custom",
"build": "array",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"accumulate": false,
"timeout": "",
"count": "3",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "",
"reduceFixup": "",
"x": 650,
"y": 120,
"wires": [
[
"8b1d5a1856e8e861",
"f98cb28e06f2ae00"
]
]
},
{
"id": "81d2ee7026d05f61",
"type": "function",
"z": "49420abfd421ba7d",
"name": "function 6",
"func": "msg.payload = Math.floor(Math.random() * 100);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 440,
"y": 120,
"wires": [
[
"72ef150d6d86b42e"
]
]
},
{
"id": "e21b434bbff15d14",
"type": "inject",
"z": "38c1232c5a502fa5",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"field1\":1,\"field2\":4}",
"payloadType": "json",
"x": 1850,
"y": 220,
"wires": [
[
"eb2bb54e6ce149d1"
]
]
},
{
"id": "eb2bb54e6ce149d1",
"type": "function",
"z": "38c1232c5a502fa5",
"name": "random",
"func": "msg.payload.field1 = parseFloat((Math.random()*10).toFixed(1));\nmsg.payload.field2 = parseFloat((Math.random()*100).toFixed(1));\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2080,
"y": 220,
"wires": [
[
"0a7e628fb18ae741"
]
]
},
{
"id": "0a7e628fb18ae741",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "debug 60",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload.field1",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 2300,
"y": 300,
"wires": []
},
{
"id": "214c4338db701461",
"type": "inject",
"z": "38c1232c5a502fa5",
"name": "GET Node Red IOT",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 230,
"y": 400,
"wires": [
[
"38690bd9ede12f27"
]
]
},
{
"id": "1bfec1d5289ae826",
"type": "http request",
"z": "38c1232c5a502fa5",
"name": "",
"method": "use",
"ret": "txt",
"paytoqs": "ignore",
"url": "",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [],
"x": 670,
"y": 400,
"wires": [
[
"e2bcea6ec34c19f0"
]
]
},
{
"id": "e2bcea6ec34c19f0",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 850,
"y": 400,
"wires": []
},
{
"id": "38690bd9ede12f27",
"type": "function",
"z": "38c1232c5a502fa5",
"name": "random temp&pressure",
"func": "var pressure = parseFloat((Math.random() * 10).toFixed(2));\nvar temp = parseFloat((Math.random() * 100).toFixed(2));\nmsg.method = \"GET\";\nmsg.url = \"https://api.thingspeak.com/update?api_key=RQUNOPK2Y9NN6CZN&field1=\" + pressure + \"&field2=\" + temp;\nmsg.payload = {\"basınç\":pressure,\"sıcaklık\":temp};\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 450,
"y": 400,
"wires": [
[
"1bfec1d5289ae826",
"7bc54ecff5a41e31"
]
]
},
{
"id": "7bc54ecff5a41e31",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "dump",
"active": true,
"tosidebar": true,
"console": true,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 680,
"y": 480,
"wires": []
},
{
"id": "018b85dd7f065ee6",
"type": "inject",
"z": "38c1232c5a502fa5",
"name": "POST My DHT Channel",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 240,
"y": 560,
"wires": [
[
"a57ce350e523bec3"
]
]
},
{
"id": "419c2393bb121355",
"type": "http request",
"z": "38c1232c5a502fa5",
"name": "",
"method": "use",
"ret": "txt",
"paytoqs": "ignore",
"url": "",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [],
"x": 670,
"y": 560,
"wires": [
[
"689ebc42a3e7b5a3"
]
]
},
{
"id": "689ebc42a3e7b5a3",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 850,
"y": 560,
"wires": []
},
{
"id": "a57ce350e523bec3",
"type": "function",
"z": "38c1232c5a502fa5",
"name": "random hum&temp",
"func": "var Hum = parseFloat((Math.random() * 10).toFixed(2));\nvar Temp = parseFloat((Math.random() * 100).toFixed(2));\nvar dht_readings = { 'field1': Hum, 'field2': Temp };\n\n//Bu 3 parametreyi arayüzden seçince de oluyor..yani httprequest nodundan seçince de oluyor\nmsg.method = \"POST\";\nconst HTTP_HEADERS = { 'Content-Type': 'application/json' };\nmsg.headers = HTTP_HEADERS;\n\nconst THINGSPEAK_WRITE_API_KEY = 'K74COLBIFH96ZOTE';\nmsg.url = 'http://api.thingspeak.com/update?api_key=' + THINGSPEAK_WRITE_API_KEY;\nmsg.payload = dht_readings;\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 470,
"y": 560,
"wires": [
[
"419c2393bb121355",
"0881d95b3c8080d2"
]
]
},
{
"id": "0881d95b3c8080d2",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "dump",
"active": true,
"tosidebar": true,
"console": true,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 680,
"y": 640,
"wires": []
},
{
"id": "6ff08c95b2d92a8b",
"type": "comment",
"z": "38c1232c5a502fa5",
"name": "ThingSpeak kanal adı",
"info": "ThingSpeak channel name",
"x": 240,
"y": 520,
"wires": []
},
{
"id": "8f967ccb8bd2e849",
"type": "comment",
"z": "38c1232c5a502fa5",
"name": "ThingSpeak kanal adı",
"info": "ThingSpeak channel name",
"x": 240,
"y": 360,
"wires": []
},
{
"id": "13aa247b68415c66",
"type": "inject",
"z": "38c1232c5a502fa5",
"name": "GET Node Red IOT",
"props": [
{
"p": "payload"
},
{
"p": "pressure",
"v": "$floor(($random()*10))\t\t",
"vt": "jsonata"
},
{
"p": "temp",
"v": "$floor(($random()*100))",
"vt": "jsonata"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 230,
"y": 700,
"wires": [
[
"4c07279e9ed55ead",
"f390fc01a6260a1c"
]
]
},
{
"id": "0efa543eabf8c18e",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 790,
"y": 700,
"wires": []
},
{
"id": "521fee83c0611f0a",
"type": "http request",
"z": "38c1232c5a502fa5",
"name": "",
"method": "GET",
"ret": "txt",
"paytoqs": "ignore",
"url": "",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [],
"x": 610,
"y": 700,
"wires": [
[
"0efa543eabf8c18e"
]
]
},
{
"id": "f390fc01a6260a1c",
"type": "function",
"z": "38c1232c5a502fa5",
"name": "url edit",
"func": "msg.url = \"https://api.thingspeak.com/update?api_key=RQUNOPK2Y9NN6CZN&field1=\" + msg.pressure +\"&field2=\"+ msg.temp\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 700,
"wires": [
[
"521fee83c0611f0a"
]
]
},
{
"id": "4c07279e9ed55ead",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "debug 64",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 600,
"y": 760,
"wires": []
},
{
"id": "8a195032f5d70cec",
"type": "inject",
"z": "38c1232c5a502fa5",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 190,
"y": 220,
"wires": [
[
"bf71a4492026f498"
]
]
},
{
"id": "bf71a4492026f498",
"type": "function",
"z": "38c1232c5a502fa5",
"name": "random",
"func": "var temp; \nvar pressure;\ntemp = parseFloat((Math.random() * 100).toFixed(2));\npressure = parseFloat((Math.random() * 10).toFixed(2));\n//msg.payload = [temp, pressure];\nreturn [{payload:temp}, {payload:pressure}];",
"outputs": 2,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 360,
"y": 220,
"wires": [
[
"408e039f7b7e69fc"
],
[
"8d1d480c225385d4"
]
]
},
{
"id": "49cc839bdd69ad23",
"type": "inject",
"z": "38c1232c5a502fa5",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "basinc",
"payload": "5",
"payloadType": "num",
"x": 580,
"y": 300,
"wires": [
[
"934cba603d3eb151"
]
]
},
{
"id": "d4b21c1fbc5bf9d8",
"type": "inject",
"z": "38c1232c5a502fa5",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "sicaklik",
"payload": "25",
"payloadType": "num",
"x": 580,
"y": 120,
"wires": [
[
"ecb51bf11c8eb55d"
]
]
},
{
"id": "408e039f7b7e69fc",
"type": "change",
"z": "38c1232c5a502fa5",
"name": "",
"rules": [
{
"t": "set",
"p": "sicaklik",
"pt": "msg",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 560,
"y": 180,
"wires": [
[
"609585125e8440e9"
]
]
},
{
"id": "8d1d480c225385d4",
"type": "change",
"z": "38c1232c5a502fa5",
"name": "",
"rules": [
{
"t": "set",
"p": "basinc",
"pt": "msg",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 560,
"y": 240,
"wires": [
[
"793b95baf63edd2c"
]
]
},
{
"id": "609585125e8440e9",
"type": "delay",
"z": "38c1232c5a502fa5",
"name": "",
"pauseType": "delay",
"timeout": "19",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 760,
"y": 160,
"wires": [
[
"3d69f162dbe88789"
]
]
},
{
"id": "793b95baf63edd2c",
"type": "delay",
"z": "38c1232c5a502fa5",
"name": "",
"pauseType": "delay",
"timeout": "2",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 760,
"y": 260,
"wires": [
[
"09ad8bff756dc915"
]
]
},
{
"id": "3d69f162dbe88789",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "sicaklik",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "sicaklik",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 920,
"y": 180,
"wires": []
},
{
"id": "09ad8bff756dc915",
"type": "debug",
"z": "38c1232c5a502fa5",
"name": "basinc",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "basinc",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 910,
"y": 240,
"wires": []
},
{
"id": "acc1ea020e49eb0a",
"type": "comment",
"z": "38c1232c5a502fa5",
"name": "Açıklama",
"info": "### Araya bekleme süresi eklenmez ise çoğu zaman ikinci değeri okuyup yazamıyor ",
"x": 760,
"y": 80,
"wires": []
},
{
"id": "934cba603d3eb151",
"type": "ThingspeakSendSimple",
"z": "38c1232c5a502fa5",
"name": "Node Red IOT thingspeak",
"writekey": "RQUNOPK2Y9NN6CZN",
"fieldid": "1",
"x": 970,
"y": 300,
"wires": []
},
{
"id": "ecb51bf11c8eb55d",
"type": "ThingspeakSendSimple",
"z": "38c1232c5a502fa5",
"name": "Node Red IOT thingspeak",
"writekey": "RQUNOPK2Y9NN6CZN",
"fieldid": "2",
"x": 970,
"y": 120,
"wires": []
},
{
"id": "22c35a8b9a2a252e",
"type": "inject",
"z": "8110de6e5f98b222",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 200,
"y": 80,
"wires": [
[
"e3cf8c36abd4cf2f"
]
]
},
{
"id": "9bedb12c2c72cd21",
"type": "debug",
"z": "8110de6e5f98b222",
"name": "out",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 80,
"wires": []
},
{
"id": "e3cf8c36abd4cf2f",
"type": "function",
"z": "8110de6e5f98b222",
"name": "node.send",
"func": "node.send({ \"topic\": \"isim\",\"payload\":\"Ali TAN\"});\nmsg.test = \"Test Başarılı\";\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 80,
"wires": [
[
"9bedb12c2c72cd21"
]
]
},
{
"id": "1352661936da9790",
"type": "inject",
"z": "8110de6e5f98b222",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "[{\"a\":12,\"b\":35},{\"a\":32,\"b\":55},{\"a\":16,\"b\":95},{\"a\":72,\"b\":45}]",
"payloadType": "json",
"x": 190,
"y": 160,
"wires": [
[
"99bd2ffd065deb25"
]
]
},
{
"id": "99bd2ffd065deb25",
"type": "split",
"z": "8110de6e5f98b222",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "",
"x": 370,
"y": 160,
"wires": [
[
"7cd7ae8cd62ba445",
"af32d132e5836e05"
]
]
},
{
"id": "7cd7ae8cd62ba445",
"type": "debug",
"z": "8110de6e5f98b222",
"name": "debug 57",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 580,
"y": 240,
"wires": []
},
{
"id": "44b53ac0030cf807",
"type": "join",
"z": "8110de6e5f98b222",
"name": "",
"mode": "auto",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"accumulate": true,
"timeout": "",
"count": "",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "num",
"reduceFixup": "",
"x": 850,
"y": 160,
"wires": [
[
"4e37a3a281ab7902"
]
]
},
{
"id": "af32d132e5836e05",
"type": "change",
"z": "8110de6e5f98b222",
"name": "",
"rules": [
{
"t": "set",
"p": "payload.toplam",
"pt": "msg",
"to": "(msg.payload.a + msg.payload.b)",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 610,
"y": 160,
"wires": [
[
"44b53ac0030cf807"
]
]
},
{
"id": "4e37a3a281ab7902",
"type": "debug",
"z": "8110de6e5f98b222",
"name": "debug 58",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 1040,
"y": 160,
"wires": []
},
{
"id": "46a867cf698245d6",
"type": "debug",
"z": "8110de6e5f98b222",
"name": "debug 59",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 1140,
"y": 340,
"wires": []
},
{
"id": "a8f34bf9c86020ba",
"type": "inject",
"z": "8110de6e5f98b222",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "1",
"payloadType": "num",
"x": 470,
"y": 340,
"wires": [
[
"8b294661bc47e107"
]
]
},
{
"id": "8b294661bc47e107",
"type": "change",
"z": "8110de6e5f98b222",
"name": "",
"rules": [
{
"t": "set",
"p": "count",
"pt": "msg",
"to": "msg.payload+1",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 800,
"y": 340,
"wires": [
[
"46a867cf698245d6",
"424dc8b2699a0fdc"
]
]
},
{
"id": "424dc8b2699a0fdc",
"type": "change",
"z": "8110de6e5f98b222",
"name": "",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "count",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 640,
"y": 500,
"wires": [
[
"a168ec4d046277f0"
]
]
},
{
"id": "20767f4133ab3e5a",
"type": "delay",
"z": "8110de6e5f98b222",
"name": "",
"pauseType": "delay",
"timeout": "1",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 1060,
"y": 500,
"wires": [
[
"8b294661bc47e107"
]
]
},
{
"id": "a168ec4d046277f0",
"type": "change",
"z": "8110de6e5f98b222",
"name": "",
"rules": [
{
"t": "change",
"p": "payload",
"pt": "msg",
"from": "12",
"fromt": "num",
"to": "1",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 860,
"y": 500,
"wires": [
[
"20767f4133ab3e5a"
]
]
},
{
"id": "390ab641f65a3074",
"type": "inject",
"z": "8110de6e5f98b222",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"ad\":\"ali\",\"no\":2487}",
"payloadType": "json",
"x": 230,
"y": 660,
"wires": [
[
"b83725e587795bee"
]
]
},
{
"id": "b83725e587795bee",
"type": "websocket out",
"z": "8110de6e5f98b222",
"name": "",
"server": "df3e922bccf03df2",
"client": "",
"x": 550,
"y": 660,
"wires": []
},
{
"id": "24c80da03fcc045a",
"type": "websocket in",
"z": "8110de6e5f98b222",
"name": "",
"server": "df3e922bccf03df2",
"client": "",
"x": 210,
"y": 600,
"wires": [
[
"1c01ed90addc41cc"
]
]
},
{
"id": "1c01ed90addc41cc",
"type": "debug",
"z": "8110de6e5f98b222",
"name": "debug 63",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 540,
"y": 600,
"wires": []
},
{
"id": "inject-node",
"type": "inject",
"z": "6737a32408769979",
"name": "StartBit: true",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 150,
"y": 260,
"wires": [
[
"function-node"
]
]
},
{
"id": "function-node",
"type": "function",
"z": "6737a32408769979",
"name": "Rastgele Değerler",
"func": "var date = new Date();\nlet tarih = date.toLocaleString(\"TR-tr\");\n\nmsg.payload = {\n \"sicaklik\": parseFloat((Math.random() * 100).toFixed(2)),\n \"basinc\": parseFloat((Math.random() * 10).toFixed(2)), //toFixed sayıyı string formatınada dönüştürüyor\n \"StartBiti\": msg.payload,\n \"tarih\": tarih\n};\n\nflow.set('firstMessage', msg.payload);\nflow.set('secondMessage',null);\nreturn msg;",
"outputs": 1,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 370,
"y": 300,
"wires": [
[
"bc49a21ae08387b3",
"992e8c679b1d6f96",
"change-node",
"5927e196b32c9b83",
"1b4a0c043569778c",
"3e4ec199fdb4820b"
]
]
},
{
"id": "debug-true",
"type": "debug",
"z": "6737a32408769979",
"name": "Çalıştı / Durdu Uyarısı",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 840,
"y": 300,
"wires": []
},
{
"id": "dfc6919e9bf8f342",
"type": "inject",
"z": "6737a32408769979",
"name": "StartBit: false",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "false",
"payloadType": "bool",
"x": 150,
"y": 340,
"wires": [
[
"function-node"
]
]
},
{
"id": "bc49a21ae08387b3",
"type": "debug",
"z": "6737a32408769979",
"name": "full payload",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 140,
"wires": []
},
{
"id": "992e8c679b1d6f96",
"type": "function",
"z": "6737a32408769979",
"name": "Durum Kontrol",
"func": "// Önceki durumu hafızadan al\nvar previousState = flow.get(\"StartBiti\");\nvar currentState = msg.payload.StartBiti;\n\n// Eğer önceki değer tanımlı değilse, ilk değeri kaydet\nif (previousState === undefined) {\n flow.set(\"StartBiti\", currentState);\n return null; // İlk değerde mesaj göndermiyoruz\n}\n\n// Eğer durum değiştiyse güncelle ve mesaj gönder\nif (previousState !== currentState) {\n flow.set(\"StartBiti\", currentState);\n msg.payload.durum = currentState ? \"START\" : \"STOP\";\n \n if (!currentState) return null;\n flow.set('firstMessage', null);\n flow.set('secondMessage', msg.payload);\n return msg;\n}\n\nreturn null; // Aynı durumda tekrar mesaj göndermiyoruz\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 600,
"y": 300,
"wires": [
[
"debug-true",
"4513977d6341e377"
]
]
},
{
"id": "change-node",
"type": "change",
"z": "6737a32408769979",
"name": "StartBiti Ayır",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.StartBiti",
"tot": "msg"
}
],
"x": 590,
"y": 400,
"wires": [
[
"rbe-node"
]
]
},
{
"id": "rbe-node",
"type": "rbe",
"z": "6737a32408769979",
"name": "Değişim Takip",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 790,
"y": 400,
"wires": [
[
"change-message-node"
]
]
},
{
"id": "change-message-node",
"type": "change",
"z": "6737a32408769979",
"name": "Mesaj Formatla",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload ? \"Running\" : \"Stopping\"",
"tot": "jsonata"
}
],
"x": 990,
"y": 400,
"wires": [
[
"f120cbb41bf7fd6a"
]
]
},
{
"id": "f120cbb41bf7fd6a",
"type": "debug",
"z": "6737a32408769979",
"name": "Ruv / Stop",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 1190,
"y": 400,
"wires": []
},
{
"id": "c1dc23cac8c8eae1",
"type": "comment",
"z": "6737a32408769979",
"name": "flow.set() / flow.get() ile",
"info": "",
"x": 620,
"y": 260,
"wires": []
},
{
"id": "53f760a92e495df9",
"type": "comment",
"z": "6737a32408769979",
"name": "RBE ile önceki değere bakarak",
"info": "",
"x": 650,
"y": 360,
"wires": []
},
{
"id": "cae2287312c5b6d8",
"type": "comment",
"z": "6737a32408769979",
"name": "read.me",
"info": "# flow.set() - flow.get() ile daha kararlı\n# RBE son değeri hafızasında tutmuyor\n## akışta güncelleme durumunda son değeri yok kabul ediyor\n\n---\n\n# sonuç: set() / get() kullanmak daha mantıklı",
"x": 120,
"y": 200,
"wires": []
},
{
"id": "6e84845bf7eb787f",
"type": "function",
"z": "6737a32408769979",
"d": true,
"name": "get message",
"func": "var currentState = msg.payload.StartBiti;\nif (!currentState) return null;\n\nmsg.payload = (flow.get('secondMessage') === null) ? flow.get('firstMessage') : flow.get('secondMessage');\n\nreturn msg;\n",
"outputs": 1,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 850,
"y": 140,
"wires": [
[]
]
},
{
"id": "97c56705f85368f0",
"type": "debug",
"z": "6737a32408769979",
"name": "degiskenler",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 1110,
"y": 200,
"wires": []
},
{
"id": "4513977d6341e377",
"type": "function",
"z": "6737a32408769979",
"name": "gsheet için ayarla",
"func": "var currentState = msg.payload.StartBiti;\nif (!currentState) return null;\n\nmsg.payload = (flow.get('secondMessage') === null) ? flow.get('firstMessage') : flow.get('secondMessage');\n\n\n/* BU KOD DUPLICATE msg.payload ın birini iptal eder*/\n// Önce gelen mesajları saklamak için bir dizi oluştur (ilk çalışmada boş olsun)\nlet previousPayloads = context.get(\"previousPayloads\") || [];\n\nlet currentPayload = msg.payload;\n\n// Gelen mesajın daha önce kaydedilmiş olup olmadığını kontrol et\nif (previousPayloads.includes(currentPayload)) {\n // Eğer aynı mesaj zaten geldiyse, bunu ele\n return null;\n} else {\n // Eğer bu mesaj yeni ise, dizimize ekle ve çıkışa gönder\n previousPayloads.push(currentPayload);\n\n // Gelen mesaj dizisini güncelle (yalnızca son birkaç mesajı saklamak için)\n context.set(\"previousPayloads\", previousPayloads.slice(-5)); // Belleği optimize etmek için son 5 mesajı tutuyoruz\n \n msg.payload = [msg.payload.tarih, msg.payload.sicaklik, msg.payload.basinc, msg.payload.durum == undefined ? \"\" : msg.payload.durum];\n return msg; // Mesajı çıkışa gönder\n}\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 870,
"y": 200,
"wires": [
[
"97c56705f85368f0",
"0c64026d0837776f"
]
]
},
{
"id": "0c64026d0837776f",
"type": "link out",
"z": "6737a32408769979",
"name": "gsheete gönder",
"mode": "link",
"links": [],
"x": 1095,
"y": 280,
"wires": []
},
{
"id": "1b4a0c043569778c",
"type": "mqtt out",
"z": "6737a32408769979",
"name": "",
"topic": "firin/mesaj",
"qos": "2",
"retain": "true",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "604722e297c402ef",
"x": 590,
"y": 460,
"wires": []
},
{
"id": "881fef0f119b6543",
"type": "comment",
"z": "6737a32408769979",
"name": "yada tcp://broker.emqx.io:1883",
"info": "",
"x": 810,
"y": 460,
"wires": []
},
{
"id": "3e4ec199fdb4820b",
"type": "debug",
"z": "6737a32408769979",
"name": "dump msg.",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 590,
"y": 520,
"wires": []
},
{
"id": "inject_random",
"type": "inject",
"z": "411814bb902c6af4",
"name": "Başlatıcı",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 300,
"y": 220,
"wires": [
[
"generate_random"
]
]
},
{
"id": "generate_random",
"type": "function",
"z": "411814bb902c6af4",
"name": "Rastgele Değerler (Sıc. ve Nem)",
"func": "msg.payload = {\n temperature: (Math.random() * (30 - 10) + 10).toFixed(2),\n humidity: (Math.random() * (80 - 30) + 30).toFixed(2)\n};\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 530,
"y": 220,
"wires": [
[
"send_http_request",
"cf397470cf4bf2a9"
]
]
},
{
"id": "send_http_request",
"type": "http request",
"z": "411814bb902c6af4",
"name": "HTTP Gönderimi",
"method": "GET",
"ret": "txt",
"paytoqs": "query",
"url": "https://script.google.com/macros/s/AKfycbySlhGHDfpgXl6e4XU6YaUeAHJ3sZGvAfBLG8_PcVT2VYuqIXdxgSpF7eBgP8-1G1iW3w/exec",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [],
"x": 790,
"y": 220,
"wires": [
[
"debug_output"
]
]
},
{
"id": "debug_output",
"type": "debug",
"z": "411814bb902c6af4",
"name": "Sonuç",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"x": 970,
"y": 220,
"wires": []
},
{
"id": "cf397470cf4bf2a9",
"type": "debug",
"z": "411814bb902c6af4",
"name": "Veriler",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 750,
"y": 280,
"wires": []
},
{
"id": "13b79f1067747d11",
"type": "comment",
"z": "411814bb902c6af4",
"name": "https://docs.google.com/spreadsheets/d/19xmnigYiFCHp_IB6wlsnOA44qMW4v8gaI0mU-elAZRQ/edit?gid=0#gid=0",
"info": "https://docs.google.com/spreadsheets/d/19xmnigYiFCHp_IB6wlsnOA44qMW4v8gaI0mU-elAZRQ/edit?gid=0#gid=0",
"x": 610,
"y": 160,
"wires": []
},
{
"id": "b92006758da4d10e",
"type": "comment",
"z": "411814bb902c6af4",
"name": "https://wokwi.com/projects/387033128766951425",
"info": "https://wokwi.com/projects/387033128766951425",
"x": 400,
"y": 280,
"wires": []
},
{
"id": "83f811a718a80619",
"type": "http in",
"z": "9bde042422357e14",
"name": "",
"url": "/sensor",
"method": "get",
"upload": false,
"swaggerDoc": "",
"x": 310,
"y": 160,
"wires": [
[
"29235fc009999407"
]
]
},
{
"id": "29235fc009999407",
"type": "function",
"z": "9bde042422357e14",
"name": "random weather",
"func": "let sicaklik = Number((Math.random() * 40).toFixed(1)); // 0-40°C arasında\nlet basinc = Number((950 + Math.random() * 100).toFixed(1)); // 950-1050 hPa arası\nmsg.payload = {\n sicaklik: sicaklik,\n basinc: basinc\n};\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 540,
"y": 160,
"wires": [
[
"e594a59adcdf20aa"
]
]
},
{
"id": "e594a59adcdf20aa",
"type": "http response",
"z": "9bde042422357e14",
"name": "",
"statusCode": "",
"headers": {},
"x": 770,
"y": 160,
"wires": []
},
{
"id": "647fc1f1f42a7468",
"type": "change",
"z": "9bde042422357e14",
"name": "Set Headers",
"rules": [
{
"t": "set",
"p": "headers",
"pt": "msg",
"to": "{}",
"tot": "json"
},
{
"t": "set",
"p": "headers.content-type",
"pt": "msg",
"to": "application/json",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 630,
"y": 220,
"wires": [
[]
]
},
{
"id": "0453bbc757dd5c46",
"type": "inject",
"z": "9bde042422357e14",
"name": "test verisi",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 320,
"y": 340,
"wires": [
[
"79f3a2c087dde5e1"
]
]
},
{
"id": "a1af09a7006895ef",
"type": "debug",
"z": "9bde042422357e14",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": true,
"complete": "payload",
"targetType": "msg",
"statusVal": "payload",
"statusType": "auto",
"x": 870,
"y": 340,
"wires": []
},
{
"id": "55bc8d702b96a22c",
"type": "http request",
"z": "9bde042422357e14",
"name": "",
"method": "POST",
"ret": "obj",
"paytoqs": "body",
"url": "http://emlak.alitan.net.tr/webhook/webhok.php",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [],
"x": 690,
"y": 340,
"wires": [
[
"a1af09a7006895ef"
]
]
},
{
"id": "79f3a2c087dde5e1",
"type": "function",
"z": "9bde042422357e14",
"name": "json - form",
"func": "/*\nmsg.payload = {\n \"device\": \"sensor-01\",\n \"temperature\": 32.1,\n \"humidity\": 58,\n \"timestamp\": \"2025-08-13T08:32:31.760Z\"\n}\n*/\nmsg.payload = {\n \"type\": \"UPDATE\",\n \"table\": \"data\",\n \"record\": {\n \"id\": 2,\n \"humi\": 59,\n \"pres\": 7.4,\n \"temp\": 51.64,\n \"created_at\": \"2025-08-10T16:39:47+00:00\"\n },\n \"schema\": \"public\",\n \"old_record\": {\n \"id\": 2,\n \"humi\": 85,\n \"pres\": 7.35,\n \"temp\": 51.64,\n \"created_at\": \"2025-08-10T16:39:47+00:00\"\n }\n}\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 510,
"y": 340,
"wires": [
[
"55bc8d702b96a22c",
"ba28c57fee0fa578"
]
]
},
{
"id": "ba28c57fee0fa578",
"type": "debug",
"z": "9bde042422357e14",
"name": "humi value",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload.record.humi",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 690,
"y": 380,
"wires": []
},
{
"id": "964811c7691f3d16",
"type": "function",
"z": "9bde042422357e14",
"name": "patch method",
"func": "msg.method = \"PATCH\";\nmsg.payload = { \"temp\": 87.45 };\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 520,
"y": 520,
"wires": [
[
"b0a46530af13227f"
]
]
},
{
"id": "cfa240096db36ad7",
"type": "inject",
"z": "9bde042422357e14",
"name": "update temp",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 330,
"y": 520,
"wires": [
[
"964811c7691f3d16"
]
]
},
{
"id": "b0a46530af13227f",
"type": "http request",
"z": "9bde042422357e14",
"name": "",
"method": "use",
"ret": "obj",
"paytoqs": "ignore",
"url": "https://mvelxnqvqoafikjchtop.supabase.co/rest/v1/data?id=eq.2",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [
{
"keyType": "other",
"keyValue": "apikey",
"valueType": "other",
"valueValue": "sb_publishable_hKambwE61z4M1Z2NdMN3GA_rG2TpWVV"
},
{
"keyType": "other",
"keyValue": "Content-Type",
"valueType": "other",
"valueValue": "application/json"
},
{
"keyType": "other",
"keyValue": "Prefer",
"valueType": "other",
"valueValue": "return=representation"
},
{
"keyType": "other",
"keyValue": "",
"valueType": "other",
"valueValue": ""
}
],
"x": 710,
"y": 520,
"wires": [
[
"4d776d213003b760"
]
]
},
{
"id": "4d776d213003b760",
"type": "debug",
"z": "9bde042422357e14",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": true,
"complete": "payload",
"targetType": "msg",
"statusVal": "payload",
"statusType": "auto",
"x": 870,
"y": 520,
"wires": []
},
{
"id": "9e774dd1e2aceae3",
"type": "function",
"z": "9bde042422357e14",
"name": "patch full ",
"func": "msg.method = \"PATCH\";\n\n//let id = Math.floor(Math.random() * 1000) + 1;\nlet created_at = new Date().toISOString();\nlet temp = parseFloat((Math.random() * (60 - 20) + 20).toFixed(2));\nlet humi = Math.floor(Math.random() * (90 - 30 + 1)) + 30;\nlet pres = parseFloat((Math.random() * (20 - 10) + 10).toFixed(2));\n\nmsg.payload = {\n \"id\": 2,\n \"created_at\": created_at,\n \"temp\": temp,\n \"humi\": humi,\n \"pres\": pres\n};\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 500,
"y": 580,
"wires": [
[
"338f766fa95a0212"
]
]
},
{
"id": "338f766fa95a0212",
"type": "http request",
"z": "9bde042422357e14",
"name": "",
"method": "use",
"ret": "obj",
"paytoqs": "ignore",
"url": "https://mvelxnqvqoafikjchtop.supabase.co/rest/v1/data?id=eq.2",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [
{
"keyType": "other",
"keyValue": "apikey",
"valueType": "other",
"valueValue": "sb_publishable_hKambwE61z4M1Z2NdMN3GA_rG2TpWVV"
},
{
"keyType": "other",
"keyValue": "Content-Type",
"valueType": "other",
"valueValue": "application/json"
},
{
"keyType": "other",
"keyValue": "Prefer",
"valueType": "other",
"valueValue": "return=representation"
},
{
"keyType": "other",
"keyValue": "",
"valueType": "other",
"valueValue": ""
}
],
"x": 710,
"y": 580,
"wires": [
[
"919550c556f5ed56"
]
]
},
{
"id": "919550c556f5ed56",
"type": "debug",
"z": "9bde042422357e14",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": true,
"complete": "payload",
"targetType": "msg",
"statusVal": "payload",
"statusType": "auto",
"x": 870,
"y": 580,
"wires": []
},
{
"id": "cdce1b29b4e23c16",
"type": "inject",
"z": "9bde042422357e14",
"name": "update full",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 320,
"y": 580,
"wires": [
[
"9e774dd1e2aceae3"
]
]
},
{
"id": "cf6916fc9072fce7",
"type": "comment",
"z": "9bde042422357e14",
"name": "https://emlak.alitan.net.tr/webhook/webhok.php - (myhook)",
"info": "https://emlak.alitan.net.tr/webhook/webhok.php \nsupabase de tanımladığım webhook url'i buraya gelen json\nveri.json dosyasına yazılıyor\n",
"x": 450,
"y": 300,
"wires": []
},
{
"id": "a14eafb3585d54ec",
"type": "comment",
"z": "9bde042422357e14",
"name": "https://mvelxnqvqoafikjchtop.supabase.co/functions/v1/sicaklik-alarm - (mail-alarm)",
"info": "bu da diğer bir supabase webhook url'si. burada bir edge fonksiyon üzerinden\nsıcaklık > 37 ise telegram bota mesaj yollanıyor. (@ali_nodered_bot)\n\nböyle de çalışıyor:\ncurl https://mvelxnqvqoafikjchtop.supabase.co/functions/v1/sicaklik-alarm \\\n -H \"Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im12ZWx4bnF2cW9hZmlramNodG9wIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ4NDM0NjIsImV4cCI6MjA3MDQxOTQ2Mn0.fh5WPsDCNjB-C8w2GXvxdpqYqo2-BU7jthwddoC5gSA\"\n",
"x": 530,
"y": 460,
"wires": []
},
{
"id": "1",
"type": "inject",
"z": "94c5fcc2331b6425",
"name": "Yeni Etkinlik Tetikleyici",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"x": 200,
"y": 240,
"wires": [
[
"e168d3cc7b908892"
]
]
},
{
"id": "2",
"type": "function",
"z": "94c5fcc2331b6425",
"name": "Etkinlik Bilgisi Oluştur",
"func": "msg.payload = {\n summary: \"Toplantı: Proje Güncellemesi\",\n location: \"Zoom\",\n description: \"Haftalık proje durumu toplantısı\",\n start: {\n dateTime: \"2025-09-12T10:00:00+03:00\",\n timeZone: \"Europe/Istanbul\"\n },\n end: {\n dateTime: \"2025-09-12T11:00:00+03:00\",\n timeZone: \"Europe/Istanbul\"\n },\n attendees: [\n { email: \"firintakip@gmail.com\" }\n ]\n};\nreturn msg;",
"outputs": 1,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 400,
"y": 440,
"wires": [
[
"3"
]
]
},
{
"id": "3",
"type": "http request",
"z": "94c5fcc2331b6425",
"d": true,
"name": "Google Calendar API - Etkinlik Ekle",
"method": "POST",
"paytoqs": "ignore",
"url": "https://www.googleapis.com/calendar/v3/calendars/firintakip@gmail.com/events",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [
{
"keyType": "other",
"keyValue": "",
"valueType": "other",
"valueValue": ""
},
{
"keyType": "other",
"keyValue": "",
"valueType": "other",
"valueValue": ""
}
],
"x": 740,
"y": 440,
"wires": [
[
"4"
]
]
},
{
"id": "4",
"type": "debug",
"z": "94c5fcc2331b6425",
"name": "Yanıtı Göster",
"active": true,
"console": "false",
"complete": "true",
"x": 1010,
"y": 440,
"wires": []
},
{
"id": "e168d3cc7b908892",
"type": "addEvent",
"z": "94c5fcc2331b6425",
"google": "a0bc964863b29b63",
"calendarId2": "firintakip@gmail.com",
"tittle": "DAVETİYE (Düğün)",
"description": "Mutlaka Gel",
"location": "Tuzla",
"time": "09/13/2025 02:00 AM - 09/13/2025 02:59 AM",
"attend": "1",
"email1": "a37d61@gmail.com",
"name1": "ERdem ",
"email2": "",
"name2": "",
"email3": "",
"name3": "",
"email4": "",
"name4": "",
"email5": "",
"name5": "",
"x": 430,
"y": 240,
"wires": [
[
"94bdae3a6e86f209"
]
]
},
{
"id": "94bdae3a6e86f209",
"type": "debug",
"z": "94c5fcc2331b6425",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 240,
"wires": []
},
{
"id": "10024703.ece9d9",
"type": "inject",
"z": "94c5fcc2331b6425",
"name": "Belli aralıktaki etkinlikleri getir",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 220,
"y": 340,
"wires": [
[
"df05d057.adc84"
]
]
},
{
"id": "e4c18a06.b32d68",
"type": "debug",
"z": "94c5fcc2331b6425",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 340,
"wires": []
},
{
"id": "df05d057.adc84",
"type": "GetEvent",
"z": "94c5fcc2331b6425",
"google": "a0bc964863b29b63",
"calendarId": "firintakip@gmail.com",
"time": "08/05/2025 12:00 AM - 09/17/2025 12:59 PM",
"x": 440,
"y": 340,
"wires": [
[
"e4c18a06.b32d68"
]
]
},
{
"id": "f65cd6f61152e49e",
"type": "inject",
"z": "94c5fcc2331b6425",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 160,
"y": 440,
"wires": [
[
"2"
]
]
},
{
"id": "a0c03fa43db0b4b1",
"type": "comment",
"z": "94c5fcc2331b6425",
"name": "add Event",
"info": "",
"x": 140,
"y": 200,
"wires": []
},
{
"id": "5317ddbbc55a512d",
"type": "comment",
"z": "94c5fcc2331b6425",
"name": "get Event",
"info": "",
"x": 140,
"y": 300,
"wires": []
},
{
"id": "0c3ce816653b0b3a",
"type": "comment",
"z": "94c5fcc2331b6425",
"name": "not running :((",
"info": "",
"x": 150,
"y": 400,
"wires": []
},
{
"id": "7e97f66b67190f8a",
"type": "comment",
"z": "94c5fcc2331b6425",
"name": "AÇIKLAMA",
"info": "### firintakip@gmail.com için\n\n**client id:** _386302312591-rbbpe5r6kgfos4v2qp94dhh3s03atnei.apps.googleusercontent.com_\n\n**secret key:** _GOCSPX-O_Qr9cUd-DLzp-gXOVH3gQ4Or9Rw_",
"x": 150,
"y": 160,
"wires": []
},
{
"id": "c583750e66deb0cc",
"type": "inject",
"z": "94c5fcc2331b6425",
"name": "ENV sample öylesine",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "MY_ENV",
"payloadType": "env",
"x": 200,
"y": 560,
"wires": [
[
"fba71f4368cba19d"
]
]
},
{
"id": "fba71f4368cba19d",
"type": "debug",
"z": "94c5fcc2331b6425",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 410,
"y": 560,
"wires": []
},
{
"id": "b3216bcb9d33f29f",
"type": "inject",
"z": "14d59e3e77d41805",
"name": "get sensor",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 360,
"y": 300,
"wires": [
[
"c5360eb5a3d3cb28"
]
]
},
{
"id": "c5360eb5a3d3cb28",
"type": "http request",
"z": "14d59e3e77d41805",
"name": "",
"method": "GET",
"ret": "obj",
"paytoqs": "ignore",
"url": "https://alitan37-node-red.hf.space/sensor",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [],
"x": 550,
"y": 300,
"wires": [
[
"4579b1aac98a6b83",
"128095b895c13a74"
]
]
},
{
"id": "3d9834a016bd6078",
"type": "debug",
"z": "14d59e3e77d41805",
"name": "result",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 930,
"y": 300,
"wires": []
},
{
"id": "4579b1aac98a6b83",
"type": "function",
"z": "14d59e3e77d41805",
"name": "compare",
"func": "if (msg.payload.sicaklik>=30) \n msg = [{payload:\"up\"},null];\nelse \n msg = [null,{payload:\"down\"}];\n\nreturn msg;",
"outputs": 2,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 760,
"y": 300,
"wires": [
[
"3d9834a016bd6078"
],
[
"3d9834a016bd6078"
]
]
},
{
"id": "cc78f9e9a523c47b",
"type": "switch",
"z": "14d59e3e77d41805",
"name": "",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "gte",
"v": "30",
"vt": "str"
},
{
"t": "lt",
"v": "30",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 750,
"y": 360,
"wires": [
[
"d4264bbc726266f8"
],
[
"0df540c253b0fedb"
]
]
},
{
"id": "d4264bbc726266f8",
"type": "ntfy",
"z": "14d59e3e77d41805",
"name": "UP value 30",
"serverConfig": "f3c3cb41d9e3745e",
"topic": "alisnotify",
"priority": "5",
"title": "Sicaklik Degeri",
"message": "",
"tags": "fire",
"icon": "https://www.mgm.gov.tr/favicon.ico",
"click": "https://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?il=%C4%B0stanbul&ilce=Tuzla",
"attach": "",
"filename": "",
"actions": "",
"email": "",
"delay": "",
"cache": "",
"firebase": "",
"insecure": false,
"x": 950,
"y": 340,
"wires": []
},
{
"id": "128095b895c13a74",
"type": "change",
"z": "14d59e3e77d41805",
"name": "",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.sicaklik",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 560,
"y": 360,
"wires": [
[
"cc78f9e9a523c47b"
]
]
},
{
"id": "0df540c253b0fedb",
"type": "ntfy",
"z": "14d59e3e77d41805",
"name": "DOWN value 30",
"serverConfig": "f3c3cb41d9e3745e",
"topic": "alisnotify",
"priority": "4",
"title": "Sicaklik Degeri",
"message": "",
"tags": "snowflake",
"icon": "https://www.mgm.gov.tr/favicon.ico",
"click": "https://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?il=%C4%B0stanbul&ilce=Tuzla",
"attach": "",
"filename": "",
"actions": "",
"email": "",
"delay": "",
"cache": "",
"firebase": "",
"insecure": false,
"x": 960,
"y": 400,
"wires": []
},
{
"id": "198940f309bd998a",
"type": "comment",
"z": "14d59e3e77d41805",
"name": "Detaylar için bak : https://docs.ntfy.sh/publish/",
"info": "https://docs.ntfy.sh/publish/\n\n\ncurl -d \"Backup successful 😀\" ntfy.sh/mytopic\n\ncurl \\\n -H \"Title: Unauthorized access detected\" \\\n -H \"Priority: urgent\" \\\n -H \"Tags: warning,skull\" \\\n -d \"Remote access to phils-laptop detected. Act right away.\" \\\n ntfy.sh/phil_alerts\n",
"x": 450,
"y": 240,
"wires": []
},
{
"id": "567a5f9a953a909e",
"type": "inject",
"z": "14d59e3e77d41805",
"name": "Send Notification",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "🏄🏻♀️ Remote access to phils-laptop detected. Act right away.",
"payloadType": "str",
"x": 380,
"y": 520,
"wires": [
[
"5bd64eebb3292073"
]
]
},
{
"id": "5bd64eebb3292073",
"type": "http request",
"z": "14d59e3e77d41805",
"name": "Send to ntfy",
"method": "POST",
"ret": "obj",
"paytoqs": "body",
"url": "https://ntfy.sh/alisnotify",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [
{
"keyType": "Content-Type",
"keyValue": "",
"valueType": "other",
"valueValue": "text/plain"
},
{
"keyType": "other",
"keyValue": "Title",
"valueType": "other",
"valueValue": "Unauthorized access detected"
},
{
"keyType": "other",
"keyValue": "Tags",
"valueType": "other",
"valueValue": "bird,other"
},
{
"keyType": "other",
"keyValue": "Priority",
"valueType": "other",
"valueValue": "urgent"
}
],
"x": 590,
"y": 520,
"wires": [
[
"6413954d26a5c017"
]
]
},
{
"id": "6413954d26a5c017",
"type": "debug",
"z": "14d59e3e77d41805",
"name": "Response",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 780,
"y": 520,
"wires": []
},
{
"id": "e308b104f5d34131",
"type": "comment",
"z": "14d59e3e77d41805",
"name": "Diğer yöntem: http.request POST kullan ",
"info": "",
"x": 430,
"y": 480,
"wires": []
}
]