{
  "name": "temptester1",
  "patches": {
    "@/001-microtube-reactor": {
      "links": {
        "B1BV_X2KL": {
          "id": "B1BV_X2KL",
          "input": {
            "nodeId": "BJbXuQ2KU",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "HkHUE5F5DI",
            "pinKey": "BJkDP8GEM"
          }
        },
        "B1EmEFmhKL": {
          "id": "B1EmEFmhKL",
          "input": {
            "nodeId": "r1b7NFQ3FU",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "S1x7EFmhtL",
            "pinKey": "__out__"
          }
        },
        "B1gL_mntI": {
          "id": "B1gL_mntI",
          "input": {
            "nodeId": "BkpH_73K8",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "BkmeI4qF5vU",
            "pinKey": "BJkDP8GEM"
          }
        },
        "B1vCvyicD8": {
          "id": "B1vCvyicD8",
          "input": {
            "nodeId": "BJbRw1s9vL",
            "pinKey": "BygApTqym"
          },
          "output": {
            "nodeId": "ryNRwkj5vI",
            "pinKey": "__out__"
          }
        },
        "BJOEOm3KU": {
          "id": "BJOEOm3KU",
          "input": {
            "nodeId": "Hyf42Fcw8",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BJbXuQ2KU",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "BJSQEYXhYI": {
          "id": "BJSQEYXhYI",
          "input": {
            "nodeId": "r1b7NFQ3FU",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "SkzQNKm2KI",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "BJehTycFL": {
          "id": "BJehTycFL",
          "input": {
            "nodeId": "ryzIei9P8",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "SJqPTk9YL",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "BJwftLiPYU": {
          "id": "BJwftLiPYU",
          "input": {
            "nodeId": "BkMMYLjPt8",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "B1BGFUjPtI",
            "pinKey": "__out__"
          }
        },
        "BkmwTiKcw8": {
          "id": "BkmwTiKcw8",
          "input": {
            "nodeId": "BJ-wpiFqwU",
            "pinKey": "HkWhcmVk7E"
          },
          "output": {
            "nodeId": "HklPToK5PU",
            "pinKey": "rycxytIZQ"
          }
        },
        "BkpDvjvtL": {
          "id": "BkpDvjvtL",
          "input": {
            "nodeId": "r1Y7viwYI",
            "pinKey": "BJlzICOSv1-"
          },
          "output": {
            "nodeId": "rJlyhx95vU",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "By9yolqF8": {
          "id": "By9yolqF8",
          "input": {
            "nodeId": "rJX05x9K8",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "SyWyhl9qwU",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "ByDlH13K5PU": {
          "id": "ByDlH13K5PU",
          "input": {
            "nodeId": "S1MBJhF5PL",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "Sk7rJ3t5DI",
            "pinKey": "__out__"
          }
        },
        "ByHADyo9w8": {
          "id": "ByHADyo9w8",
          "input": {
            "nodeId": "ryGRDks5D8",
            "pinKey": "BygApTqym"
          },
          "output": {
            "nodeId": "rJQ0Pkj5DL",
            "pinKey": "__out__"
          }
        },
        "ByJcyi5vI": {
          "id": "ByJcyi5vI",
          "input": {
            "nodeId": "ryGRDks5D8",
            "pinKey": "HJ6HsEngZ"
          },
          "output": {
            "nodeId": "rJlyhx95vU",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "By_tDjDKI": {
          "id": "By_tDjDKI",
          "input": {
            "nodeId": "Skf4wsDYU",
            "pinKey": "BJlzICOSv1-"
          },
          "output": {
            "nodeId": "SyWyhl9qwU",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "BydnaYcPU": {
          "id": "BydnaYcPU",
          "input": {
            "nodeId": "BJ-wpiFqwU",
            "pinKey": "Skg35X4JQ4"
          },
          "output": {
            "nodeId": "HklPToK5PU",
            "pinKey": "HJoHCvU_Q"
          }
        },
        "ByuxHk3YqDU": {
          "id": "ByuxHk3YqDU",
          "input": {
            "nodeId": "rJFB1nYqD8",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "ByirJnYcD8",
            "pinKey": "__out__"
          }
        },
        "H1JlBk3YcPL": {
          "id": "H1JlBk3YcPL",
          "input": {
            "nodeId": "rJFB1nYqD8",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "HJ0S1hFcDL",
            "pinKey": "__out__"
          }
        },
        "H1XYvsDKL": {
          "id": "H1XYvsDKL",
          "input": {
            "nodeId": "SJUMYUovYL",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "Skf4wsDYU",
            "pinKey": "H12bIR_SPyZ"
          }
        },
        "HJGdxiqwL": {
          "id": "HJGdxiqwL",
          "input": {
            "nodeId": "SkPNgs5wU",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "rksIgs9wI",
            "pinKey": "__out__"
          }
        },
        "HJbiakctU": {
          "id": "HJbiakctU",
          "input": {
            "nodeId": "SkPNgs5wU",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "rJycaycKL",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "HkUeBJhY9DI": {
          "id": "HkUeBJhY9DI",
          "input": {
            "nodeId": "rJFB1nYqD8",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "ByqrkhK5PI",
            "pinKey": "__out__"
          }
        },
        "HyQgSy3t5w8": {
          "id": "HyQgSy3t5w8",
          "input": {
            "nodeId": "S1MBJhF5PL",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "B1xr1nt5P8",
            "pinKey": "__out__"
          }
        },
        "HyZKF73tU": {
          "id": "HyZKF73tU",
          "input": {
            "nodeId": "rJycaycKL",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "BJ-ut72YI",
            "pinKey": "__out__"
          }
        },
        "Hyf8d72tL": {
          "id": "Hyf8d72tL",
          "input": {
            "nodeId": "HJsQ2Y9PU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BkpH_73K8",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "S1HWKqQ3KU": {
          "id": "S1HWKqQ3KU",
          "input": {
            "nodeId": "BJfbt5mhYU",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "B1lbFqQ2FI",
            "pinKey": "__out__"
          }
        },
        "S1OfYLowKL": {
          "id": "S1OfYLowKL",
          "input": {
            "nodeId": "SJUMYUovYL",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "H1MtIiwFL",
            "pinKey": "__out__"
          }
        },
        "S1RBl9cwI": {
          "id": "S1RBl9cwI",
          "input": {
            "nodeId": "BkmeI4qF5vU",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "HJfThtqwU",
            "pinKey": "__out__"
          }
        },
        "SJ0itm3Y8": {
          "id": "SJ0itm3Y8",
          "input": {
            "nodeId": "SJqPTk9YL",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "By7iYQ2KL",
            "pinKey": "__out__"
          }
        },
        "SJRuviwK8": {
          "id": "SJRuviwK8",
          "input": {
            "nodeId": "BkMMYLjPt8",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "r1Y7viwYI",
            "pinKey": "H12bIR_SPyZ"
          }
        },
        "SJVcJs5vI": {
          "id": "SJVcJs5vI",
          "input": {
            "nodeId": "BJbRw1s9vL",
            "pinKey": "HJ6HsEngZ"
          },
          "output": {
            "nodeId": "SyWyhl9qwU",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "Sk_vxs9DU": {
          "id": "Sk_vxs9DU",
          "input": {
            "nodeId": "ryzIei9P8",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "BJx-wesqDU",
            "pinKey": "__out__"
          }
        },
        "Sy4Q3dmhtL": {
          "id": "Sy4Q3dmhtL",
          "input": {
            "nodeId": "SJGQ2_7nt8",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "BJgX2_QhY8",
            "pinKey": "BJkDP8GEM"
          }
        },
        "r17WKc72tI": {
          "id": "r17WKc72tI",
          "input": {
            "nodeId": "BJfbt5mhYU",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "BJbK972Y8",
            "pinKey": "__out__"
          }
        },
        "r1NlSy3YqwU": {
          "id": "r1NlSy3YqwU",
          "input": {
            "nodeId": "S1MBJhF5PL",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "BJnSyht5PI",
            "pinKey": "__out__"
          }
        },
        "r1SJiecYI": {
          "id": "r1SJiecYI",
          "input": {
            "nodeId": "SJnT9gcYU",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "rJlyhx95vU",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "r1tGFLjDKL": {
          "id": "r1tGFLjDKL",
          "input": {
            "nodeId": "BkMMYLjPt8",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "B1QGtLjvtI",
            "pinKey": "__out__"
          }
        },
        "rJNZFqQ2F8": {
          "id": "rJNZFqQ2F8",
          "input": {
            "nodeId": "BJfbt5mhYU",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "SyWWF5XnYL",
            "pinKey": "__out__"
          }
        },
        "rJXQhOQ2FI": {
          "id": "rJXQhOQ2FI",
          "input": {
            "nodeId": "BJgX2_QhY8",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "B1m2dm3KI",
            "pinKey": "__out__"
          }
        },
        "rk0wejqwI": {
          "id": "rk0wejqwI",
          "input": {
            "nodeId": "SkPNgs5wU",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "Sklo8ljcDL",
            "pinKey": "__out__"
          }
        },
        "rk5ft8oDFI": {
          "id": "rk5ft8oDFI",
          "input": {
            "nodeId": "SJUMYUovYL",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "Sk-MtIswF8",
            "pinKey": "__out__"
          }
        },
        "rk7Q4YX2F8": {
          "id": "rk7Q4YX2F8",
          "input": {
            "nodeId": "r1b7NFQ3FU",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "Hy7EYm2FU",
            "pinKey": "__out__"
          }
        },
        "rkMbnK5vI": {
          "id": "rkMbnK5vI",
          "input": {
            "nodeId": "S1lZ2t9wI",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BJfLV9t5DL",
            "pinKey": "HJU8CE2lW"
          }
        },
        "rkP1hg5cvL": {
          "id": "rkP1hg5cvL",
          "input": {
            "nodeId": "rJlyhx95vU",
            "pinKey": "HklpNY9hG4"
          },
          "output": {
            "nodeId": "rkMy3lqcPU",
            "pinKey": "__out__"
          }
        },
        "rkZ2YXntL": {
          "id": "rkZ2YXntL",
          "input": {
            "nodeId": "SkzQNKm2KI",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "HJdsKm2YU",
            "pinKey": "__out__"
          }
        },
        "ry3Dxs5vU": {
          "id": "ry3Dxs5vU",
          "input": {
            "nodeId": "ryzIei9P8",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "HJbPeocPI",
            "pinKey": "__out__"
          }
        },
        "ryGwToF5w8": {
          "id": "ryGwToF5w8",
          "input": {
            "nodeId": "HkvajFcv8",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BJ-wpiFqwU",
            "pinKey": "B1S3qQ4JXV"
          }
        },
        "ryHQhu7nK8": {
          "id": "ryHQhu7nK8",
          "input": {
            "nodeId": "BJbmhO72YL",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "SJGQ2_7nt8",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "ryOyne95DL": {
          "id": "ryOyne95DL",
          "input": {
            "nodeId": "SyWyhl9qwU",
            "pinKey": "HklpNY9hG4"
          },
          "output": {
            "nodeId": "S1yhx59PL",
            "pinKey": "__out__"
          }
        },
        "rylUxc5PU": {
          "id": "rylUxc5PU",
          "input": {
            "nodeId": "HkHUE5F5DI",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "H1ap2KcwL",
            "pinKey": "__out__"
          }
        }
      },
      "nodes": {
        "B1BGFUjPtI": {
          "id": "B1BGFUjPtI",
          "label": "4DS",
          "position": {
            "x": 17,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "B1QGtLjvtI": {
          "id": "B1QGtLjvtI",
          "label": "pulse",
          "position": {
            "x": 20,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "B1lbFqQ2FI": {
          "id": "B1lbFqQ2FI",
          "label": "sample",
          "position": {
            "x": 11,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "B1m2dm3KI": {
          "id": "B1m2dm3KI",
          "label": "pulse",
          "position": {
            "x": 4,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "B1xr1nt5P8": {
          "id": "B1xr1nt5P8",
          "label": "4DS",
          "position": {
            "x": 13,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJ-ut72YI": {
          "id": "BJ-ut72YI",
          "label": "heater",
          "position": {
            "x": 4,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJ-wpiFqwU": {
          "id": "BJ-wpiFqwU",
          "position": {
            "x": 8,
            "y": 1,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/int-filtered"
        },
        "BJbK972Y8": {
          "id": "BJbK972Y8",
          "label": "pulse",
          "position": {
            "x": 12,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJbRw1s9vL": {
          "boundLiterals": {
            "rJjXFA9JQ": "D6"
          },
          "id": "BJbRw1s9vL",
          "position": {
            "x": 23,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/gpio/digital-write"
        },
        "BJbXuQ2KU": {
          "id": "BJbXuQ2KU",
          "position": {
            "x": 0,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "BJbmhO72YL": {
          "id": "BJbmhO72YL",
          "label": "room",
          "position": {
            "x": 3,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "BJfLV9t5DL": {
          "boundLiterals": {
            "B13SCNhl-": "1",
            "r1jzp_DTZ": "True"
          },
          "id": "BJfLV9t5DL",
          "label": "clock",
          "position": {
            "x": -1,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/clock"
        },
        "BJfbt5mhYU": {
          "boundLiterals": {
            "HJGBjfAlZE": "1"
          },
          "id": "BJfbt5mhYU",
          "position": {
            "x": 9,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "BJgX2_QhY8": {
          "boundLiterals": {
            "B1VSPLfEG": "D7"
          },
          "id": "BJgX2_QhY8",
          "label": "room temp",
          "position": {
            "x": 3,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "BJnSyht5PI": {
          "id": "BJnSyht5PI",
          "label": "room",
          "position": {
            "x": 15,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJx-wesqDU": {
          "id": "BJx-wesqDU",
          "label": "pulse",
          "position": {
            "x": 10,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BkMMYLjPt8": {
          "id": "BkMMYLjPt8",
          "position": {
            "x": 17,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "BkmeI4qF5vU": {
          "boundLiterals": {
            "B1VSPLfEG": "D9"
          },
          "id": "BkmeI4qF5vU",
          "label": "heater temp",
          "position": {
            "x": -3,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "BkpH_73K8": {
          "id": "BkpH_73K8",
          "position": {
            "x": -3,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "By7iYQ2KL": {
          "id": "By7iYQ2KL",
          "label": "sample",
          "position": {
            "x": 9,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ByirJnYcD8": {
          "id": "ByirJnYcD8",
          "label": "pulse",
          "position": {
            "x": 8,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ByqrkhK5PI": {
          "id": "ByqrkhK5PI",
          "label": "heater",
          "position": {
            "x": 7,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "H1MtIiwFL": {
          "id": "H1MtIiwFL",
          "label": "pulse",
          "position": {
            "x": 25,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "H1ap2KcwL": {
          "id": "H1ap2KcwL",
          "label": "pulse",
          "position": {
            "x": 1,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJ0S1hFcDL": {
          "id": "HJ0S1hFcDL",
          "label": "4DS",
          "position": {
            "x": 5,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJbPeocPI": {
          "id": "HJbPeocPI",
          "label": "4DS",
          "position": {
            "x": 7,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJdsKm2YU": {
          "id": "HJdsKm2YU",
          "label": "room",
          "position": {
            "x": 14,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJfThtqwU": {
          "id": "HJfThtqwU",
          "label": "pulse",
          "position": {
            "x": -2,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJsQ2Y9PU": {
          "id": "HJsQ2Y9PU",
          "label": "heater",
          "position": {
            "x": -3,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "HkHUE5F5DI": {
          "boundLiterals": {
            "B1VSPLfEG": "D8"
          },
          "id": "HkHUE5F5DI",
          "label": "sample temp",
          "position": {
            "x": 0,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "HklPToK5PU": {
          "boundLiterals": {
            "Syz-kKUWX": "D2",
            "r1mZktLZm": "D3"
          },
          "id": "HklPToK5PU",
          "position": {
            "x": 8,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/uart/soft-uart"
        },
        "HkvajFcv8": {
          "id": "HkvajFcv8",
          "label": "4DS",
          "position": {
            "x": 8,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "Hy7EYm2FU": {
          "id": "Hy7EYm2FU",
          "label": "pulse",
          "position": {
            "x": 15,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Hyf42Fcw8": {
          "id": "Hyf42Fcw8",
          "label": "sample",
          "position": {
            "x": 0,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "S1MBJhF5PL": {
          "boundLiterals": {
            "HJGBjfAlZE": "0"
          },
          "id": "S1MBJhF5PL",
          "position": {
            "x": 13,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "S1lZ2t9wI": {
          "id": "S1lZ2t9wI",
          "label": "pulse",
          "position": {
            "x": -1,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "S1x7EFmhtL": {
          "id": "S1x7EFmhtL",
          "label": "4DS",
          "position": {
            "x": 12,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "S1yhx59PL": {
          "id": "S1yhx59PL",
          "label": "4DS",
          "position": {
            "x": 24,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJGQ2_7nt8": {
          "id": "SJGQ2_7nt8",
          "position": {
            "x": 3,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "SJUMYUovYL": {
          "boundLiterals": {
            "SyEDJtdhfE": "0"
          },
          "id": "SJUMYUovYL",
          "position": {
            "x": 22,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "SJnT9gcYU": {
          "id": "SJnT9gcYU",
          "position": {
            "x": 18,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "SJqPTk9YL": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "SJqPTk9YL",
          "position": {
            "x": 9,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "Sk-MtIswF8": {
          "id": "Sk-MtIswF8",
          "label": "4DS",
          "position": {
            "x": 22,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Sk7rJ3t5DI": {
          "id": "Sk7rJ3t5DI",
          "label": "pulse",
          "position": {
            "x": 16,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SkPNgs5wU": {
          "id": "SkPNgs5wU",
          "position": {
            "x": 2,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "Skf4wsDYU": {
          "boundLiterals": {
            "HJCWLAdSwyW": "1",
            "rkpbU0OrwyZ": "10"
          },
          "id": "Skf4wsDYU",
          "position": {
            "x": 24,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/math/map"
        },
        "Sklo8ljcDL": {
          "id": "Sklo8ljcDL",
          "label": "pulse",
          "position": {
            "x": 5,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SkzQNKm2KI": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "SkzQNKm2KI",
          "position": {
            "x": 14,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "SyWWF5XnYL": {
          "id": "SyWWF5XnYL",
          "label": "4DS",
          "position": {
            "x": 9,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SyWyhl9qwU": {
          "boundLiterals": {
            "rJVTEF5nM4": "2"
          },
          "id": "SyWyhl9qwU",
          "label": "fan switch",
          "position": {
            "x": 24,
            "y": 1,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/read-4d-button"
        },
        "r1Y7viwYI": {
          "boundLiterals": {
            "HJCWLAdSwyW": "1",
            "rkpbU0OrwyZ": "10"
          },
          "id": "r1Y7viwYI",
          "position": {
            "x": 19,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/math/map"
        },
        "r1b7NFQ3FU": {
          "boundLiterals": {
            "SyEDJtdhfE": "0"
          },
          "id": "r1b7NFQ3FU",
          "position": {
            "x": 12,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "rJFB1nYqD8": {
          "boundLiterals": {
            "HJGBjfAlZE": "1"
          },
          "id": "rJFB1nYqD8",
          "position": {
            "x": 5,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "rJQ0Pkj5DL": {
          "id": "rJQ0Pkj5DL",
          "label": "pulse",
          "position": {
            "x": 20,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rJX05x9K8": {
          "id": "rJX05x9K8",
          "position": {
            "x": 23,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "rJlyhx95vU": {
          "boundLiterals": {
            "rJVTEF5nM4": "1"
          },
          "id": "rJlyhx95vU",
          "label": "heater switch",
          "position": {
            "x": 19,
            "y": 1,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/read-4d-button"
        },
        "rJycaycKL": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "rJycaycKL",
          "position": {
            "x": 4,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "rkMy3lqcPU": {
          "id": "rkMy3lqcPU",
          "label": "4DS",
          "position": {
            "x": 19,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rksIgs9wI": {
          "id": "rksIgs9wI",
          "label": "4DS",
          "position": {
            "x": 2,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ryGRDks5D8": {
          "boundLiterals": {
            "rJjXFA9JQ": "D5"
          },
          "id": "ryGRDks5D8",
          "position": {
            "x": 18,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/gpio/digital-write"
        },
        "ryNRwkj5vI": {
          "id": "ryNRwkj5vI",
          "label": "pulse",
          "position": {
            "x": 25,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ryzIei9P8": {
          "boundLiterals": {
            "SyEDJtdhfE": "0"
          },
          "id": "ryzIei9P8",
          "position": {
            "x": 7,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        }
      },
      "path": "@/001-microtube-reactor"
    },
    "@/002-3temp-reading": {
      "links": {
        "B1ImmLi7ntU": {
          "id": "B1ImmLi7ntU",
          "input": {
            "nodeId": "BJdem8iXnKL",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "SJD7Is72tI",
            "pinKey": "__out__"
          }
        },
        "B1KrQ8oXnYU": {
          "id": "B1KrQ8oXnYU",
          "input": {
            "nodeId": "SJYb7IiQhF8",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "Hy8fmUoXnKI",
            "pinKey": "__out__"
          }
        },
        "BJ2XQIi73tU": {
          "id": "BJ2XQIi73tU",
          "input": {
            "nodeId": "SySxQ8jQ3FI",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "SJLxXIj73FI",
            "pinKey": "__out__"
          }
        },
        "BJZ47IoXnKL": {
          "id": "BJZ47IoXnKL",
          "input": {
            "nodeId": "rJwxXLiXhF8",
            "pinKey": "HklpNY9hG4"
          },
          "output": {
            "nodeId": "Hk7lQLjmhFI",
            "pinKey": "__out__"
          }
        },
        "BkLr7LoXnKI": {
          "id": "BkLr7LoXnKI",
          "input": {
            "nodeId": "BJVzQLoX3KI",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "HyGzmIoX2KU",
            "pinKey": "__out__"
          }
        },
        "BkiXmIiQnY8": {
          "id": "BkiXmIiQnY8",
          "input": {
            "nodeId": "HJZlQLjmhtI",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "HJXXIoX3FI",
            "pinKey": "__out__"
          }
        },
        "BkuV78s73K8": {
          "id": "BkuV78s73K8",
          "input": {
            "nodeId": "ryMW78j7nFL",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "SJ8ZQLjXhKL",
            "pinKey": "H12bIR_SPyZ"
          }
        },
        "ByhBXLom3FL": {
          "id": "ByhBXLom3FL",
          "input": {
            "nodeId": "SynfQ8oQ2Y8",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "SJtM7UiQ3tI",
            "pinKey": "__out__"
          }
        },
        "Bym77Lom3tI": {
          "id": "Bym77Lom3tI",
          "input": {
            "nodeId": "BJdem8iXnKL",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "By8XLom2KU",
            "pinKey": "__out__"
          }
        },
        "H1SEmUjmhYL": {
          "id": "H1SEmUjmhYL",
          "input": {
            "nodeId": "ryMW78j7nFL",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "ryXbX8oXhtL",
            "pinKey": "__out__"
          }
        },
        "H1X47UsX3YL": {
          "id": "H1X47UsX3YL",
          "input": {
            "nodeId": "ryMW78j7nFL",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "HJ4-7LiQnF8",
            "pinKey": "__out__"
          }
        },
        "H1arXUimhKI": {
          "id": "H1arXUimhKI",
          "input": {
            "nodeId": "SynfQ8oQ2Y8",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "HkjzQ8iXntU",
            "pinKey": "__out__"
          }
        },
        "H1zSXUomnY8": {
          "id": "H1zSXUomnY8",
          "input": {
            "nodeId": "Sy2XIiX2tU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "Bka-7UsX3KL",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "HJ6G7IsX2K8": {
          "id": "HJ6G7IsX2K8",
          "input": {
            "nodeId": "HkWXIimhFL",
            "pinKey": "BygApTqym"
          },
          "output": {
            "nodeId": "rJReXUsX2KU",
            "pinKey": "__out__"
          }
        },
        "HJRGmLimnY8": {
          "id": "HJRGmLimnY8",
          "input": {
            "nodeId": "H1lmIiQhY8",
            "pinKey": "HkWhcmVk7E"
          },
          "output": {
            "nodeId": "B10QLj7ht8",
            "pinKey": "rycxytIZQ"
          }
        },
        "Hk4mXLoXhYU": {
          "id": "Hk4mXLoXhYU",
          "input": {
            "nodeId": "BJdem8iXnKL",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "S1KQUim3tL",
            "pinKey": "__out__"
          }
        },
        "HkW7mIsX2KL": {
          "id": "HkW7mIsX2KL",
          "input": {
            "nodeId": "BJal78sm3KU",
            "pinKey": "HJ6HsEngZ"
          },
          "output": {
            "nodeId": "Hy9xmIsmhK8",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "HkcB7IjmnY8": {
          "id": "HkcB7IjmnY8",
          "input": {
            "nodeId": "SJdZQLs73FL",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "BkwMmUoX3YI",
            "pinKey": "__out__"
          }
        },
        "HkrmmLjmhKU": {
          "id": "HkrmmLjmhKU",
          "input": {
            "nodeId": "SySxQ8jQ3FI",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "By3gXUo7hFI",
            "pinKey": "__out__"
          }
        },
        "HkvQXUoX2tI": {
          "id": "HkvQXUoX2tI",
          "input": {
            "nodeId": "HJZlQLjmhtI",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "B1XLim3FI",
            "pinKey": "__out__"
          }
        },
        "HkxEm8im3tU": {
          "id": "HkxEm8im3tU",
          "input": {
            "nodeId": "Hyyl7Ujm3tU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "H1lmIiQhY8",
            "pinKey": "B1S3qQ4JXV"
          }
        },
        "HyJQXUo72YI": {
          "id": "HyJQXUo72YI",
          "input": {
            "nodeId": "HJZlQLjmhtI",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "HyEgXLjmnYU",
            "pinKey": "__out__"
          }
        },
        "HyPVXIsX2KU": {
          "id": "HyPVXIsX2KU",
          "input": {
            "nodeId": "SJ8ZQLjXhKL",
            "pinKey": "BJlzICOSv1-"
          },
          "output": {
            "nodeId": "Hy9xmIsmhK8",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "HyXHm8j73YI": {
          "id": "HyXHm8j73YI",
          "input": {
            "nodeId": "r11zmUsm3FI",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "SkR-7Ujm3YL",
            "pinKey": "__out__"
          }
        },
        "S1PBQUsX2YL": {
          "id": "S1PBQUsX2YL",
          "input": {
            "nodeId": "BJVzQLoX3KI",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "BymzmLo7nY8",
            "pinKey": "__out__"
          }
        },
        "S1_rQLjm2FL": {
          "id": "S1_rQLjm2FL",
          "input": {
            "nodeId": "BJVzQLoX3KI",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "rJSGXLoQnYI",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "SJcXQUjXnt8": {
          "id": "SJcXQUjXnt8",
          "input": {
            "nodeId": "BkJZ78sQnK8",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "ByVQIjmhK8",
            "pinKey": "__out__"
          }
        },
        "SJgX78omnKU": {
          "id": "SJgX78omnKU",
          "input": {
            "nodeId": "BJal78sm3KU",
            "pinKey": "BygApTqym"
          },
          "output": {
            "nodeId": "BkFgQLimntU",
            "pinKey": "__out__"
          }
        },
        "SJjEQ8smnYU": {
          "id": "SJjEQ8smnYU",
          "input": {
            "nodeId": "SySxQ8jQ3FI",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "SJYb7IiQhF8",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "SkGXmIiQhtU": {
          "id": "SkGXmIiQhtU",
          "input": {
            "nodeId": "H1lmIiQhY8",
            "pinKey": "Skg35X4JQ4"
          },
          "output": {
            "nodeId": "B10QLj7ht8",
            "pinKey": "HJoHCvU_Q"
          }
        },
        "SkR7m8omnYU": {
          "id": "SkR7m8omnYU",
          "input": {
            "nodeId": "Hy9xmIsmhK8",
            "pinKey": "HklpNY9hG4"
          },
          "output": {
            "nodeId": "B1olQUi73YI",
            "pinKey": "__out__"
          }
        },
        "SkYX7Uj73K8": {
          "id": "SkYX7Uj73K8",
          "input": {
            "nodeId": "HkWXIimhFL",
            "pinKey": "HJ6HsEngZ"
          },
          "output": {
            "nodeId": "rJwxXLiXhF8",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "SkjHXUiQhKL": {
          "id": "SkjHXUiQhKL",
          "input": {
            "nodeId": "rJSGXLoQnYI",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "S1uMQLoQntU",
            "pinKey": "__out__"
          }
        },
        "SyWB7LjQnK8": {
          "id": "SyWB7LjQnK8",
          "input": {
            "nodeId": "Bka-7UsX3KL",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "B1BQUsm3FI",
            "pinKey": "BJkDP8GEM"
          }
        },
        "Sya7QUiXnF8": {
          "id": "Sya7QUiXnF8",
          "input": {
            "nodeId": "B1Ge78omhFL",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "B1zXUs72K8",
            "pinKey": "HJU8CE2lW"
          }
        },
        "SydQ7IiQ2tU": {
          "id": "SydQ7IiQ2tU",
          "input": {
            "nodeId": "B1BQUsm3FI",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "ryiQIiQhtL",
            "pinKey": "__out__"
          }
        },
        "r11H7IjQ3tI": {
          "id": "r11H7IjQ3tI",
          "input": {
            "nodeId": "BknW7Ui7hFU",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "SJpm8sQnKL",
            "pinKey": "BJkDP8GEM"
          }
        },
        "r14BQUj73tL": {
          "id": "r14BQUj73tL",
          "input": {
            "nodeId": "rJ-MQIsm3Y8",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "r11zmUsm3FI",
            "pinKey": "BJkDP8GEM"
          }
        },
        "r1f4QIo7htL": {
          "id": "r1f4QIo7htL",
          "input": {
            "nodeId": "SJpm8sQnKL",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "B1uXLsX2FI",
            "pinKey": "__out__"
          }
        },
        "rJABQUjQntI": {
          "id": "rJABQUjQntI",
          "input": {
            "nodeId": "SynfQ8oQ2Y8",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "BJqzmIoXhtU",
            "pinKey": "__out__"
          }
        },
        "rJBS78iXhY8": {
          "id": "rJBS78iXhY8",
          "input": {
            "nodeId": "B1xM7Io72tU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "rJ-MQIsm3Y8",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "rk2EQ8s7nYU": {
          "id": "rk2EQ8s7nYU",
          "input": {
            "nodeId": "BkJZ78sQnK8",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "SJdZQLs73FL",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "rkJEmIjXhY8": {
          "id": "rkJEmIjXhY8",
          "input": {
            "nodeId": "BkJZ78sQnK8",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "Sy5XLsQ2FI",
            "pinKey": "__out__"
          }
        },
        "rkpNX8om3tU": {
          "id": "rkpNX8om3tU",
          "input": {
            "nodeId": "S1cZX8s7nK8",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "Hy9xmIsmhK8",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "rkxrmIjX3KL": {
          "id": "rkxrmIjX3KL",
          "input": {
            "nodeId": "r1llX8omhKL",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BknW7Ui7hFU",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "ry0VmUi73YL": {
          "id": "ry0VmUi73YL",
          "input": {
            "nodeId": "Hkj-mUs72K8",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "rJwxXLiXhF8",
            "pinKey": "ByGaVKc2fV"
          }
        }
      },
      "nodes": {
        "B10QLj7ht8": {
          "boundLiterals": {
            "Syz-kKUWX": "D2",
            "r1mZktLZm": "D3"
          },
          "id": "B10QLj7ht8",
          "position": {
            "x": 10,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/uart/soft-uart"
        },
        "B1BQUsm3FI": {
          "boundLiterals": {
            "B1VSPLfEG": "D9"
          },
          "id": "B1BQUsm3FI",
          "label": "heater temp",
          "position": {
            "x": -1,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "B1Ge78omhFL": {
          "id": "B1Ge78omhFL",
          "label": "pulse",
          "position": {
            "x": 1,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "B1XLim3FI": {
          "id": "B1XLim3FI",
          "label": "4DS",
          "position": {
            "x": 15,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "B1olQUi73YI": {
          "id": "B1olQUi73YI",
          "label": "4DS",
          "position": {
            "x": 21,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "B1uXLsX2FI": {
          "id": "B1uXLsX2FI",
          "label": "pulse",
          "position": {
            "x": 3,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "B1xM7Io72tU": {
          "id": "B1xM7Io72tU",
          "label": "room",
          "position": {
            "x": 5,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "B1zXUs72K8": {
          "boundLiterals": {
            "B13SCNhl-": "1",
            "r1jzp_DTZ": "True"
          },
          "id": "B1zXUs72K8",
          "label": "clock",
          "position": {
            "x": 1,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/clock"
        },
        "BJVzQLoX3KI": {
          "boundLiterals": {
            "SyEDJtdhfE": "0"
          },
          "id": "BJVzQLoX3KI",
          "position": {
            "x": 9,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "BJal78sm3KU": {
          "boundLiterals": {
            "rJjXFA9JQ": "D5"
          },
          "id": "BJal78sm3KU",
          "position": {
            "x": 20,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/gpio/digital-write"
        },
        "BJdem8iXnKL": {
          "boundLiterals": {
            "HJGBjfAlZE": "0"
          },
          "id": "BJdem8iXnKL",
          "position": {
            "x": 7,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "BJqzmIoXhtU": {
          "id": "BJqzmIoXhtU",
          "label": "sample",
          "position": {
            "x": 13,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BkFgQLimntU": {
          "id": "BkFgQLimntU",
          "label": "pulse",
          "position": {
            "x": 22,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BkJZ78sQnK8": {
          "boundLiterals": {
            "SyEDJtdhfE": "0"
          },
          "id": "BkJZ78sQnK8",
          "position": {
            "x": 4,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "Bka-7UsX3KL": {
          "id": "Bka-7UsX3KL",
          "position": {
            "x": -1,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "BknW7Ui7hFU": {
          "id": "BknW7Ui7hFU",
          "position": {
            "x": 2,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "BkwMmUoX3YI": {
          "id": "BkwMmUoX3YI",
          "label": "sample",
          "position": {
            "x": 6,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "By3gXUo7hFI": {
          "id": "By3gXUo7hFI",
          "label": "4DS",
          "position": {
            "x": -1,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "By8XLom2KU": {
          "id": "By8XLom2KU",
          "label": "pulse",
          "position": {
            "x": 10,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ByVQIjmhK8": {
          "id": "ByVQIjmhK8",
          "label": "pulse",
          "position": {
            "x": 7,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BymzmLo7nY8": {
          "id": "BymzmLo7nY8",
          "label": "4DS",
          "position": {
            "x": 9,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "H1lmIiQhY8": {
          "id": "H1lmIiQhY8",
          "position": {
            "x": 10,
            "y": 1,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/int-filtered"
        },
        "HJ4-7LiQnF8": {
          "id": "HJ4-7LiQnF8",
          "label": "4DS",
          "position": {
            "x": 19,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJXXIoX3FI": {
          "id": "HJXXIoX3FI",
          "label": "room",
          "position": {
            "x": 17,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJZlQLjmhtI": {
          "boundLiterals": {
            "HJGBjfAlZE": "2"
          },
          "id": "HJZlQLjmhtI",
          "position": {
            "x": 15,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "Hk7lQLjmhFI": {
          "id": "Hk7lQLjmhFI",
          "label": "4DS",
          "position": {
            "x": 26,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HkWXIimhFL": {
          "boundLiterals": {
            "rJjXFA9JQ": "D6"
          },
          "id": "HkWXIimhFL",
          "position": {
            "x": 25,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/gpio/digital-write"
        },
        "Hkj-mUs72K8": {
          "id": "Hkj-mUs72K8",
          "position": {
            "x": 25,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "HkjzQ8iXntU": {
          "id": "HkjzQ8iXntU",
          "label": "4DS",
          "position": {
            "x": 11,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Hy8fmUoXnKI": {
          "id": "Hy8fmUoXnKI",
          "label": "heater",
          "position": {
            "x": 1,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Hy9xmIsmhK8": {
          "boundLiterals": {
            "rJVTEF5nM4": "1"
          },
          "id": "Hy9xmIsmhK8",
          "label": "heater switch",
          "position": {
            "x": 21,
            "y": 2,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/read-4d-button"
        },
        "HyEgXLjmnYU": {
          "id": "HyEgXLjmnYU",
          "label": "pulse",
          "position": {
            "x": 18,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HyGzmIoX2KU": {
          "id": "HyGzmIoX2KU",
          "label": "pulse",
          "position": {
            "x": 12,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Hyyl7Ujm3tU": {
          "id": "Hyyl7Ujm3tU",
          "label": "4DS",
          "position": {
            "x": 10,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "S1KQUim3tL": {
          "id": "S1KQUim3tL",
          "label": "4DS",
          "position": {
            "x": 7,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "S1cZX8s7nK8": {
          "id": "S1cZX8s7nK8",
          "position": {
            "x": 20,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "S1uMQLoQntU": {
          "id": "S1uMQLoQntU",
          "label": "room",
          "position": {
            "x": 11,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJ8ZQLjXhKL": {
          "boundLiterals": {
            "HJCWLAdSwyW": "1",
            "rkpbU0OrwyZ": "10"
          },
          "id": "SJ8ZQLjXhKL",
          "position": {
            "x": 21,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/math/map"
        },
        "SJD7Is72tI": {
          "id": "SJD7Is72tI",
          "label": "heater",
          "position": {
            "x": 9,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJLxXIj73FI": {
          "id": "SJLxXIj73FI",
          "label": "pulse",
          "position": {
            "x": 2,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJYb7IiQhF8": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "SJYb7IiQhF8",
          "position": {
            "x": 1,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "SJdZQLs73FL": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "SJdZQLs73FL",
          "position": {
            "x": 6,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "SJpm8sQnKL": {
          "boundLiterals": {
            "B1VSPLfEG": "D8"
          },
          "id": "SJpm8sQnKL",
          "label": "sample temp",
          "position": {
            "x": 2,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "SJtM7UiQ3tI": {
          "id": "SJtM7UiQ3tI",
          "label": "pulse",
          "position": {
            "x": 14,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SkR-7Ujm3YL": {
          "id": "SkR-7Ujm3YL",
          "label": "pulse",
          "position": {
            "x": 6,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Sy2XIiX2tU": {
          "id": "Sy2XIiX2tU",
          "label": "heater",
          "position": {
            "x": -1,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "Sy5XLsQ2FI": {
          "id": "Sy5XLsQ2FI",
          "label": "4DS",
          "position": {
            "x": 4,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SySxQ8jQ3FI": {
          "id": "SySxQ8jQ3FI",
          "position": {
            "x": -1,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "SynfQ8oQ2Y8": {
          "boundLiterals": {
            "HJGBjfAlZE": "1"
          },
          "id": "SynfQ8oQ2Y8",
          "position": {
            "x": 11,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "r11zmUsm3FI": {
          "boundLiterals": {
            "B1VSPLfEG": "D7"
          },
          "id": "r11zmUsm3FI",
          "label": "room temp",
          "position": {
            "x": 5,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "r1llX8omhKL": {
          "id": "r1llX8omhKL",
          "label": "sample",
          "position": {
            "x": 2,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "rJ-MQIsm3Y8": {
          "id": "rJ-MQIsm3Y8",
          "position": {
            "x": 5,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "rJReXUsX2KU": {
          "id": "rJReXUsX2KU",
          "label": "pulse",
          "position": {
            "x": 27,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rJSGXLoQnYI": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "rJSGXLoQnYI",
          "position": {
            "x": 11,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "rJwxXLiXhF8": {
          "boundLiterals": {
            "rJVTEF5nM4": "2"
          },
          "id": "rJwxXLiXhF8",
          "label": "fan switch",
          "position": {
            "x": 26,
            "y": 2,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/read-4d-button"
        },
        "ryMW78j7nFL": {
          "id": "ryMW78j7nFL",
          "position": {
            "x": 19,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "ryXbX8oXhtL": {
          "id": "ryXbX8oXhtL",
          "label": "pulse",
          "position": {
            "x": 22,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ryiQIiQhtL": {
          "id": "ryiQIiQhtL",
          "label": "pulse",
          "position": {
            "x": 0,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        }
      },
      "path": "@/002-3temp-reading"
    },
    "@/003-pid-control1": {
      "links": {
        "B177UMNNntI": {
          "id": "B177UMNNntI",
          "input": {
            "nodeId": "HkOeLz44nKI",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "rJ8IMEE3KL",
            "pinKey": "__out__"
          }
        },
        "B1TdFZJq8": {
          "id": "B1TdFZJq8",
          "input": {
            "nodeId": "HkY_FZ19L",
            "pinKey": "S1yZIA_rDJZ"
          },
          "output": {
            "nodeId": "rJv4nu2KI",
            "pinKey": "B19RYS3lW"
          }
        },
        "BJ0SUMVVht8": {
          "id": "BJ0SUMVVht8",
          "input": {
            "nodeId": "Hk2G8GNVnKI",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "Hk5f8MEN2YL",
            "pinKey": "__out__"
          }
        },
        "BJ4HUEhF8": {
          "id": "BJ4HUEhF8",
          "input": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "H1QHqmcNz"
          },
          "output": {
            "nodeId": "BJbrIN3KL",
            "pinKey": "__out__"
          }
        },
        "BJc7IfNN3YI": {
          "id": "BJc7IfNN3YI",
          "input": {
            "nodeId": "B1JZ8GNV3Y8",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "rkVLMEE3t8",
            "pinKey": "__out__"
          }
        },
        "BJfFO-J5U": {
          "id": "BJfFO-J5U",
          "input": {
            "nodeId": "HkrUdbJ9I",
            "pinKey": "B1GfLR_SPk-"
          },
          "output": {
            "nodeId": "rkPGLz4E3FU",
            "pinKey": "__out__"
          }
        },
        "BJhLUH3YI": {
          "id": "BJhLUH3YI",
          "input": {
            "nodeId": "SyPLIrhYU",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "B16ZLfVVhtU",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "BJim8MNVhK8": {
          "id": "BJim8MNVhK8",
          "input": {
            "nodeId": "Hkbx8f4E2KI",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "Bk7IfNEhFI",
            "pinKey": "__out__"
          }
        },
        "BJn78MNE3tU": {
          "id": "BJn78MNE3tU",
          "input": {
            "nodeId": "HyrgLfVNntL",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "ryIgIM4N2YI",
            "pinKey": "__out__"
          }
        },
        "BJvmKbJ5L": {
          "id": "BJvmKbJ5L",
          "input": {
            "nodeId": "Hyz7tZ1cI",
            "pinKey": "BypX80uSD1Z"
          },
          "output": {
            "nodeId": "HyLUuWy58",
            "pinKey": "BkQzLCurwJZ"
          }
        },
        "BJw5cWJ5U": {
          "id": "BJw5cWJ5U",
          "input": {
            "nodeId": "HkTZ1u3YI",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BJaLMVE3F8",
            "pinKey": "BJkDP8GEM"
          }
        },
        "BkSE8MVE2KI": {
          "id": "BkSE8MVE2KI",
          "input": {
            "nodeId": "BkGbLGVNhYI",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "S17ZUfNVhF8",
            "pinKey": "__out__"
          }
        },
        "Bkaf8f4V3FU": {
          "id": "Bkaf8f4V3FU",
          "input": {
            "nodeId": "BkbUGE43FU",
            "pinKey": "BygApTqym"
          },
          "output": {
            "nodeId": "rJAlLG4VhY8",
            "pinKey": "__out__"
          }
        },
        "BkmrKbJqL": {
          "id": "BkmrKbJqL",
          "input": {
            "nodeId": "B1JZ8GNV3Y8",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "Hy44F-1c8",
            "pinKey": "HyRmUCdBDkZ"
          }
        },
        "BkqgaQtWyq8": {
          "id": "BkqgaQtWyq8",
          "input": {
            "nodeId": "HyrgLfVNntL",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "Hyz7tZ1cI",
            "pinKey": "HyRmUCdBDkZ"
          }
        },
        "BkyCDd3KU": {
          "id": "BkyCDd3KU",
          "input": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "rJszc7qNG"
          },
          "output": {
            "nodeId": "ryaDPOnY8",
            "pinKey": "B1x2RV3eZ"
          }
        },
        "ByHYYbkcL": {
          "id": "ByHYYbkcL",
          "input": {
            "nodeId": "BkGbLGVNhYI",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "HkY_FZ19L",
            "pinKey": "S13xLCuHvkW"
          }
        },
        "ByQSLM44nFU": {
          "id": "ByQSLM44nFU",
          "input": {
            "nodeId": "ryJGLGVV2t8",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "ByC-LMVV2tU",
            "pinKey": "__out__"
          }
        },
        "ByVQLfN4nYL": {
          "id": "ByVQLfN4nYL",
          "input": {
            "nodeId": "HkOeLz44nKI",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "HkFIGVEnKL",
            "pinKey": "__out__"
          }
        },
        "H1BX8GVVhYU": {
          "id": "H1BX8GVVhYU",
          "input": {
            "nodeId": "HyrgLfVNntL",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "r1hgIMV4nKL",
            "pinKey": "__out__"
          }
        },
        "H1_rt-y9U": {
          "id": "H1_rt-y9U",
          "input": {
            "nodeId": "rkc4t-y9U",
            "pinKey": "BypX80uSD1Z"
          },
          "output": {
            "nodeId": "HJJ8O-k5L",
            "pinKey": "BkQzLCurwJZ"
          }
        },
        "H1mEUfEEhYL": {
          "id": "H1mEUfEEhYL",
          "input": {
            "nodeId": "BkGbLGVNhYI",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "S1EWLMNVhtI",
            "pinKey": "__out__"
          }
        },
        "H1zQ3KnFL": {
          "id": "H1zQ3KnFL",
          "input": {
            "nodeId": "Bkbx3w2FU",
            "pinKey": "HkpclMN8B"
          },
          "output": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "BycP9Q9NM"
          }
        },
        "HJP7IzVV2K8": {
          "id": "HJP7IzVV2K8",
          "input": {
            "nodeId": "Hkbx8f4E2KI",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "HyLfE42tI",
            "pinKey": "__out__"
          }
        },
        "HJZEUM4V2FI": {
          "id": "HJZEUM4V2FI",
          "input": {
            "nodeId": "r1DxUfVE2K8",
            "pinKey": "HklpNY9hG4"
          },
          "output": {
            "nodeId": "rJ7x8z4NhY8",
            "pinKey": "__out__"
          }
        },
        "HJmAPOnF8": {
          "id": "HJmAPOnF8",
          "input": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "H1hf57qVG"
          },
          "output": {
            "nodeId": "r1LuDdhYI",
            "pinKey": "B1x2RV3eZ"
          }
        },
        "HkZ0wuhKU": {
          "id": "HkZ0wuhKU",
          "input": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "ByeiM975VM"
          },
          "output": {
            "nodeId": "SyBdPuhtL",
            "pinKey": "B1x2RV3eZ"
          }
        },
        "HkZG3w3FU": {
          "id": "HkZG3w3FU",
          "input": {
            "nodeId": "rySbLH3tI",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "BycP9Q9NM"
          }
        },
        "HknH8fNN2YU": {
          "id": "HknH8fNN2YU",
          "input": {
            "nodeId": "Hk2G8GNVnKI",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "rkFfIMNNhYI",
            "pinKey": "__out__"
          }
        },
        "HkyEIM4VhYU": {
          "id": "HkyEIM4VhYU",
          "input": {
            "nodeId": "B1JZ8GNV3Y8",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "SJcLGNV2Y8",
            "pinKey": "__out__"
          }
        },
        "HyCf8fEN2FI": {
          "id": "HyCf8fEN2FI",
          "input": {
            "nodeId": "H1xLz4N2KL",
            "pinKey": "HkWhcmVk7E"
          },
          "output": {
            "nodeId": "rJCLG4N3tU",
            "pinKey": "rycxytIZQ"
          }
        },
        "S18m8M4VntU": {
          "id": "S18m8M4VntU",
          "input": {
            "nodeId": "HkOeLz44nKI",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "HkwIf4E3YU",
            "pinKey": "__out__"
          }
        },
        "S1TQnKhKU": {
          "id": "S1TQnKhKU",
          "input": {
            "nodeId": "rJv4nu2KI",
            "pinKey": "rJg00Nhe-"
          },
          "output": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "BycP9Q9NM"
          }
        },
        "S1fXIG4N2YU": {
          "id": "S1fXIG4N2YU",
          "input": {
            "nodeId": "H1xLz4N2KL",
            "pinKey": "Skg35X4JQ4"
          },
          "output": {
            "nodeId": "rJCLG4N3tU",
            "pinKey": "HJoHCvU_Q"
          }
        },
        "SJ5TJ_3tI": {
          "id": "SJ5TJ_3tI",
          "input": {
            "nodeId": "r1La1OhFU",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "HyrUM4V3YU",
            "pinKey": "BJkDP8GEM"
          }
        },
        "SJLHUM4NhFU": {
          "id": "SJLHUM4NhFU",
          "input": {
            "nodeId": "S1EGLMVEnFU",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "Skzz8GVEnt8",
            "pinKey": "__out__"
          }
        },
        "SJ_QIz442K8": {
          "id": "SJ_QIz442K8",
          "input": {
            "nodeId": "HyrUM4V3YU",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "H1sIGVE3YL",
            "pinKey": "__out__"
          }
        },
        "SJamLM4E2YU": {
          "id": "SJamLM4E2YU",
          "input": {
            "nodeId": "ryGxIG4VnYL",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "SyMIG4EhYI",
            "pinKey": "HJU8CE2lW"
          }
        },
        "SJiVld2YL": {
          "id": "SJiVld2YL",
          "input": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "rkY46Q5NG"
          },
          "output": {
            "nodeId": "HknKkdhtI",
            "pinKey": "B1x2RV3eZ"
          }
        },
        "SJlS8MVE2FI": {
          "id": "SJlS8MVE2FI",
          "input": {
            "nodeId": "SJll8fVVnYU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "ry3bUfVN3F8",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "SJstOZJ9L": {
          "id": "SJstOZJ9L",
          "input": {
            "nodeId": "HJJ8O-k5L",
            "pinKey": "B1GfLR_SPk-"
          },
          "output": {
            "nodeId": "B1_MLGEVhtI",
            "pinKey": "__out__"
          }
        },
        "SJy78GE4hY8": {
          "id": "SJy78GE4hY8",
          "input": {
            "nodeId": "Hkbx8f4E2KI",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "BkNg8GEV3YU",
            "pinKey": "__out__"
          }
        },
        "SkGS8MV4nKU": {
          "id": "SkGS8MV4nKU",
          "input": {
            "nodeId": "HJhIGNV2YL",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "B16ZLfVVhtU",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "SkZrIfV42tL": {
          "id": "SkZrIfV42tL",
          "input": {
            "nodeId": "B16ZLfVVhtU",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "HyrUM4V3YU",
            "pinKey": "BJkDP8GEM"
          }
        },
        "r18SKZy98": {
          "id": "r18SKZy98",
          "input": {
            "nodeId": "Hy44F-1c8",
            "pinKey": "BypX80uSD1Z"
          },
          "output": {
            "nodeId": "HkrUdbJ9I",
            "pinKey": "BkQzLCurwJZ"
          }
        },
        "r1GEIz4E3t8": {
          "id": "r1GEIz4E3t8",
          "input": {
            "nodeId": "BJaLMVE3F8",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "BJu8G44nKL",
            "pinKey": "__out__"
          }
        },
        "r1SHIMNVnFL": {
          "id": "r1SHIMNVnFL",
          "input": {
            "nodeId": "H1xG8GEV2F8",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "HJbzLfEE2YI",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "r1TSUGEE3tU": {
          "id": "r1TSUGEE3tU",
          "input": {
            "nodeId": "Hk2G8GNVnKI",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "BkozUfNE3YL",
            "pinKey": "__out__"
          }
        },
        "rJDnHEhF8": {
          "id": "rJDnHEhF8",
          "input": {
            "nodeId": "SJLKB4ht8",
            "pinKey": "HJVnt7c4f"
          },
          "output": {
            "nodeId": "HyQ2HN3K8",
            "pinKey": "__out__"
          }
        },
        "rJSDOZy5L": {
          "id": "rJSDOZy5L",
          "input": {
            "nodeId": "HyLUuWy58",
            "pinKey": "B1GfLR_SPk-"
          },
          "output": {
            "nodeId": "SJIz8GNEhKU",
            "pinKey": "__out__"
          }
        },
        "rJkBUGV4hYI": {
          "id": "rJkBUGV4hYI",
          "input": {
            "nodeId": "ry3bUfVN3F8",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "BJaLMVE3F8",
            "pinKey": "BJkDP8GEM"
          }
        },
        "rkCV8zV43KL": {
          "id": "rkCV8zV43KL",
          "input": {
            "nodeId": "ByjZIGEVhKI",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "r1DxUfVE2K8",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "rkvHIMNEnFI": {
          "id": "rkvHIMNEnFI",
          "input": {
            "nodeId": "S1EGLMVEnFU",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "Sk7MIfVE2tU",
            "pinKey": "__out__"
          }
        },
        "ryNHLzN43KU": {
          "id": "ryNHLzN43KU",
          "input": {
            "nodeId": "HJbzLfEE2YI",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "ryJGLGVV2t8",
            "pinKey": "BJkDP8GEM"
          }
        },
        "rybBFbycI": {
          "id": "rybBFbycI",
          "input": {
            "nodeId": "S1EGLMVEnFU",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "rkc4t-y9U",
            "pinKey": "HyRmUCdBDkZ"
          }
        },
        "rylEIf4NntU": {
          "id": "rylEIf4NntU",
          "input": {
            "nodeId": "Hy1lIGN42YI",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "H1xLz4N2KL",
            "pinKey": "B1S3qQ4JXV"
          }
        }
      },
      "nodes": {
        "B16ZLfVVhtU": {
          "id": "B16ZLfVVhtU",
          "position": {
            "x": -2,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "B1JZ8GNV3Y8": {
          "boundLiterals": {
            "SyEDJtdhfE": "1"
          },
          "id": "B1JZ8GNV3Y8",
          "position": {
            "x": 4,
            "y": 8,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "B1_MLGEVhtI": {
          "id": "B1_MLGEVhtI",
          "label": "room",
          "position": {
            "x": 10,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJaLMVE3F8": {
          "boundLiterals": {
            "B1VSPLfEG": "D8"
          },
          "id": "BJaLMVE3F8",
          "label": "sample temp",
          "position": {
            "x": 3,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "BJbrIN3KL": {
          "id": "BJbrIN3KL",
          "label": "pulse",
          "position": {
            "x": 23,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJu8G44nKL": {
          "id": "BJu8G44nKL",
          "label": "pulse",
          "position": {
            "x": 4,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Bk7IfNEhFI": {
          "id": "Bk7IfNEhFI",
          "label": "room",
          "position": {
            "x": 18,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BkGbLGVNhYI": {
          "boundLiterals": {
            "SyEDJtdhfE": "1"
          },
          "id": "BkGbLGVNhYI",
          "position": {
            "x": 20,
            "y": 8,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "BkNg8GEV3YU": {
          "id": "BkNg8GEV3YU",
          "label": "pulse",
          "position": {
            "x": 19,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BkbUGE43FU": {
          "boundLiterals": {
            "HJ6HsEngZ": "True",
            "rJjXFA9JQ": "D6"
          },
          "id": "BkbUGE43FU",
          "position": {
            "x": 25,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/gpio/digital-write"
        },
        "Bkbx3w2FU": {
          "boundLiterals": {
            "rk6igfNUr": "True",
            "rkCKlzEUB": "D5"
          },
          "id": "Bkbx3w2FU",
          "position": {
            "x": 21,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/common-hardware/pwm-load"
        },
        "BkozUfNE3YL": {
          "id": "BkozUfNE3YL",
          "label": "4DS",
          "position": {
            "x": 12,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ByC-LMVV2tU": {
          "id": "ByC-LMVV2tU",
          "label": "pulse",
          "position": {
            "x": 7,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ByjZIGEVhKI": {
          "id": "ByjZIGEVhKI",
          "position": {
            "x": 25,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "H1sIGVE3YL": {
          "id": "H1sIGVE3YL",
          "label": "pulse",
          "position": {
            "x": -1,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "H1xG8GEV2F8": {
          "id": "H1xG8GEV2F8",
          "label": "room",
          "position": {
            "x": 6,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "H1xLz4N2KL": {
          "id": "H1xLz4N2KL",
          "position": {
            "x": 11,
            "y": 1,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/int-filtered"
        },
        "HJJ8O-k5L": {
          "boundLiterals": {
            "SJ4zUC_BD1-": "2"
          },
          "id": "HJJ8O-k5L",
          "position": {
            "x": 10,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/multiply"
        },
        "HJbzLfEE2YI": {
          "id": "HJbzLfEE2YI",
          "position": {
            "x": 6,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "HJhIGNV2YL": {
          "id": "HJhIGNV2YL",
          "label": "heater",
          "position": {
            "x": -2,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "Hk2G8GNVnKI": {
          "boundLiterals": {
            "HJGBjfAlZE": "4"
          },
          "id": "Hk2G8GNVnKI",
          "position": {
            "x": 12,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "Hk5f8MEN2YL": {
          "id": "Hk5f8MEN2YL",
          "label": "sample",
          "position": {
            "x": 14,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HkFIGVEnKL": {
          "id": "HkFIGVEnKL",
          "label": "4DS",
          "position": {
            "x": 8,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HkOeLz44nKI": {
          "boundLiterals": {
            "HJGBjfAlZE": "3"
          },
          "id": "HkOeLz44nKI",
          "position": {
            "x": 3,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "HkTZ1u3YI": {
          "id": "HkTZ1u3YI",
          "label": "raw",
          "position": {
            "x": 2,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "HkY_FZ19L": {
          "boundLiterals": {
            "r1AgIROHDJW": "0",
            "ryTeUROHD1b": "20"
          },
          "id": "HkY_FZ19L",
          "position": {
            "x": 22,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/if-else"
        },
        "Hkbx8f4E2KI": {
          "boundLiterals": {
            "HJGBjfAlZE": "5"
          },
          "id": "Hkbx8f4E2KI",
          "position": {
            "x": 16,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "HknKkdhtI": {
          "boundLiterals": {
            "B1x2RV3eZ": "37"
          },
          "id": "HknKkdhtI",
          "position": {
            "x": 19,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/constant-number"
        },
        "HkrUdbJ9I": {
          "boundLiterals": {
            "SJ4zUC_BD1-": "2"
          },
          "id": "HkrUdbJ9I",
          "position": {
            "x": 5,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/multiply"
        },
        "HkwIf4E3YU": {
          "id": "HkwIf4E3YU",
          "label": "heater",
          "position": {
            "x": 10,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Hy1lIGN42YI": {
          "id": "Hy1lIGN42YI",
          "label": "4DS",
          "position": {
            "x": 11,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "Hy44F-1c8": {
          "boundLiterals": {
            "rkJ4URuHDJ-": "5"
          },
          "id": "Hy44F-1c8",
          "position": {
            "x": 5,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/core/subtract"
        },
        "HyLUuWy58": {
          "boundLiterals": {
            "SJ4zUC_BD1-": "2"
          },
          "id": "HyLUuWy58",
          "position": {
            "x": 0,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/multiply"
        },
        "HyLfE42tI": {
          "id": "HyLfE42tI",
          "label": "4DS",
          "position": {
            "x": 16,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HyQ2HN3K8": {
          "id": "HyQ2HN3K8",
          "label": "raw",
          "position": {
            "x": 18,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HyrUM4V3YU": {
          "boundLiterals": {
            "B1VSPLfEG": "D7"
          },
          "id": "HyrUM4V3YU",
          "label": "heater temp",
          "position": {
            "x": -2,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "HyrgLfVNntL": {
          "boundLiterals": {
            "SyEDJtdhfE": "1"
          },
          "id": "HyrgLfVNntL",
          "position": {
            "x": -1,
            "y": 8,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "Hyz7tZ1cI": {
          "boundLiterals": {
            "rkJ4URuHDJ-": "5"
          },
          "id": "Hyz7tZ1cI",
          "position": {
            "x": 0,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/core/subtract"
        },
        "S17ZUfNVhF8": {
          "id": "S17ZUfNVhF8",
          "label": "pulse",
          "position": {
            "x": 23,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "S1EGLMVEnFU": {
          "boundLiterals": {
            "SyEDJtdhfE": "1"
          },
          "id": "S1EGLMVEnFU",
          "position": {
            "x": 9,
            "y": 8,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "S1EWLMNVhtI": {
          "id": "S1EWLMNVhtI",
          "label": "4DS",
          "position": {
            "x": 20,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJIz8GNEhKU": {
          "id": "SJIz8GNEhKU",
          "label": "heater",
          "position": {
            "x": 0,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJLKB4ht8": {
          "boundLiterals": {
            "HkYH9QcEz": "On Boot"
          },
          "id": "SJLKB4ht8",
          "position": {
            "x": 18,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/core/pid-controller"
        },
        "SJcLGNV2Y8": {
          "id": "SJcLGNV2Y8",
          "label": "4DS",
          "position": {
            "x": 4,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJll8fVVnYU": {
          "id": "SJll8fVVnYU",
          "label": "sample",
          "position": {
            "x": 3,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "Sk7MIfVE2tU": {
          "id": "Sk7MIfVE2tU",
          "label": "4DS",
          "position": {
            "x": 9,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Skzz8GVEnt8": {
          "id": "Skzz8GVEnt8",
          "label": "pulse",
          "position": {
            "x": 12,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SyBdPuhtL": {
          "boundLiterals": {
            "B1x2RV3eZ": "0"
          },
          "id": "SyBdPuhtL",
          "position": {
            "x": 21,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/constant-number"
        },
        "SyMIG4EhYI": {
          "boundLiterals": {
            "B13SCNhl-": "1",
            "r1jzp_DTZ": "True"
          },
          "id": "SyMIG4EhYI",
          "label": "clock",
          "position": {
            "x": 2,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/clock"
        },
        "SyPLIrhYU": {
          "id": "SyPLIrhYU",
          "position": {
            "x": -3,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "r1DxUfVE2K8": {
          "boundLiterals": {
            "rJVTEF5nM4": "2"
          },
          "id": "r1DxUfVE2K8",
          "label": "fan switch",
          "position": {
            "x": 26,
            "y": 2,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/read-4d-button"
        },
        "r1La1OhFU": {
          "id": "r1La1OhFU",
          "position": {
            "x": -3,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "r1LuDdhYI": {
          "boundLiterals": {
            "B1x2RV3eZ": "0.4"
          },
          "id": "r1LuDdhYI",
          "position": {
            "x": 22,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/constant-number"
        },
        "r1hgIMV4nKL": {
          "id": "r1hgIMV4nKL",
          "label": "4DS",
          "position": {
            "x": -1,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rJ7x8z4NhY8": {
          "id": "rJ7x8z4NhY8",
          "label": "4DS",
          "position": {
            "x": 26,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rJ8IMEE3KL": {
          "id": "rJ8IMEE3KL",
          "label": "pulse",
          "position": {
            "x": 11,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rJAlLG4VhY8": {
          "id": "rJAlLG4VhY8",
          "label": "pulse",
          "position": {
            "x": 27,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rJCLG4N3tU": {
          "boundLiterals": {
            "Syz-kKUWX": "D2",
            "r1mZktLZm": "D3"
          },
          "id": "rJCLG4N3tU",
          "position": {
            "x": 11,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/uart/soft-uart"
        },
        "rJv4nu2KI": {
          "id": "rJv4nu2KI",
          "position": {
            "x": 22,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/core/greater"
        },
        "rkFfIMNNhYI": {
          "id": "rkFfIMNNhYI",
          "label": "pulse",
          "position": {
            "x": 15,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rkPGLz4E3FU": {
          "id": "rkPGLz4E3FU",
          "label": "sample",
          "position": {
            "x": 5,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rkVLMEE3t8": {
          "id": "rkVLMEE3t8",
          "label": "pulse",
          "position": {
            "x": 7,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rkc4t-y9U": {
          "boundLiterals": {
            "rkJ4URuHDJ-": "5"
          },
          "id": "rkc4t-y9U",
          "position": {
            "x": 10,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/core/subtract"
        },
        "ry3bUfVN3F8": {
          "id": "ry3bUfVN3F8",
          "position": {
            "x": 3,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "ryGxIG4VnYL": {
          "id": "ryGxIG4VnYL",
          "label": "pulse",
          "position": {
            "x": 2,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "ryIgIM4N2YI": {
          "id": "ryIgIM4N2YI",
          "label": "pulse",
          "position": {
            "x": 2,
            "y": 7,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ryJGLGVV2t8": {
          "boundLiterals": {
            "B1VSPLfEG": "D9"
          },
          "id": "ryJGLGVV2t8",
          "label": "room temp",
          "position": {
            "x": 6,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "rySbLH3tI": {
          "id": "rySbLH3tI",
          "position": {
            "x": 17,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "ryaDPOnY8": {
          "boundLiterals": {
            "B1x2RV3eZ": "1.0"
          },
          "id": "ryaDPOnY8",
          "position": {
            "x": 20,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/constant-number"
        }
      },
      "path": "@/003-pid-control1"
    },
    "@/004-bang-bang": {
      "links": {
        "B1zQjzsHhY8": {
          "id": "B1zQjzsHhY8",
          "input": {
            "nodeId": "BJgjzjrhKU",
            "pinKey": "HkWhcmVk7E"
          },
          "output": {
            "nodeId": "HJ0jfsr3t8",
            "pinKey": "rycxytIZQ"
          }
        },
        "BJ5EiGjr2F8": {
          "id": "BJ5EiGjr2F8",
          "input": {
            "nodeId": "r1EWozjB2FI",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "H1wxjziS2t8",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "BJNmjGoBhYL": {
          "id": "BJNmjGoBhYL",
          "input": {
            "nodeId": "Byslofsr2Y8",
            "pinKey": "BygApTqym"
          },
          "output": {
            "nodeId": "S1FgsGjH3F8",
            "pinKey": "__out__"
          }
        },
        "BJYNsGjS2KU": {
          "id": "BJYNsGjS2KU",
          "input": {
            "nodeId": "S1aljfjBhFI",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "rkGZjzjH3KI",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "BkKDaShtI": {
          "id": "BkKDaShtI",
          "input": {
            "nodeId": "B1QSiB3FI",
            "pinKey": "rkJ4URuHDJ-"
          },
          "output": {
            "nodeId": "BJ0PsSnKU",
            "pinKey": "ByfGSDjQE"
          }
        },
        "BkQSjMiBnt8": {
          "id": "BkQSjMiBnt8",
          "input": {
            "nodeId": "B1TbifsBntU",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "BJnWsGsr2YL",
            "pinKey": "__out__"
          }
        },
        "BkR4ofiBhtI": {
          "id": "BkR4ofiBhtI",
          "input": {
            "nodeId": "By2izjrhtI",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BJUZszjSnKU",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "BkSQofjS2F8": {
          "id": "BkSQofjS2F8",
          "input": {
            "nodeId": "BJgjzjrhKU",
            "pinKey": "Skg35X4JQ4"
          },
          "output": {
            "nodeId": "HJ0jfsr3t8",
            "pinKey": "HJoHCvU_Q"
          }
        },
        "BkUXszsS2FL": {
          "id": "BkUXszsS2FL",
          "input": {
            "nodeId": "S1dgjGoSnKU",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "S1LsfjH2t8",
            "pinKey": "__out__"
          }
        },
        "BkxEsfsrnt8": {
          "id": "BkxEsfsrnt8",
          "input": {
            "nodeId": "ByfgsGoS3YU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BJzjGsBnt8",
            "pinKey": "HJU8CE2lW"
          }
        },
        "By57oMjrhKU": {
          "id": "By57oMjrhKU",
          "input": {
            "nodeId": "r1WesMornK8",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "SyjMsH3FU",
            "pinKey": "__out__"
          }
        },
        "By9riMsS2tU": {
          "id": "By9riMsS2tU",
          "input": {
            "nodeId": "ryBfsMsH3KU",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "ByQzjGjS3tU",
            "pinKey": "__out__"
          }
        },
        "ByN4sGoS2FL": {
          "id": "ByN4sGoS2FL",
          "input": {
            "nodeId": "SkpofoBhYI",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "SyOsfor2FL",
            "pinKey": "__out__"
          }
        },
        "ByN7AShK8": {
          "id": "ByN7AShK8",
          "input": {
            "nodeId": "B1HMnS2KL",
            "pinKey": "S1yZIA_rDJZ"
          },
          "output": {
            "nodeId": "SkUzASntL",
            "pinKey": "HktZUCdrPkZ"
          }
        },
        "H10GRHntL": {
          "id": "H10GRHntL",
          "input": {
            "nodeId": "SkUzASntL",
            "pinKey": "HJjZLRdBw1-"
          },
          "output": {
            "nodeId": "B1QSiB3FI",
            "pinKey": "HyRmUCdBDkZ"
          }
        },
        "H12kfUhYU": {
          "id": "H12kfUhYU",
          "input": {
            "nodeId": "BJbbjfiBhKI",
            "pinKey": "BJlzICOSv1-"
          },
          "output": {
            "nodeId": "B1HMnS2KL",
            "pinKey": "S13xLCuHvkW"
          }
        },
        "H1ESiGiH3tL": {
          "id": "H1ESiGiH3tL",
          "input": {
            "nodeId": "B1TbifsBntU",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "rJ0bjMir2FL",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "H1H4jGjBnY8": {
          "id": "H1H4jGjBnY8",
          "input": {
            "nodeId": "B1AxjGsHhK8",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "rkeZjfsr2tI",
            "pinKey": "__out__"
          }
        },
        "H1WQoGirhF8": {
          "id": "H1WQoGirhF8",
          "input": {
            "nodeId": "HkbjMsBhYL",
            "pinKey": "BygApTqym"
          },
          "output": {
            "nodeId": "BJnxjfjHhYI",
            "pinKey": "__out__"
          }
        },
        "H1dBsGjHnFI": {
          "id": "H1dBsGjHnFI",
          "input": {
            "nodeId": "ryBfsMsH3KU",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "HJMMsGjBhF8",
            "pinKey": "__out__"
          }
        },
        "H1s4iGirhY8": {
          "id": "H1s4iGirhY8",
          "input": {
            "nodeId": "BkBZiMiS3tL",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "SkpofoBhYI",
            "pinKey": "BJkDP8GEM"
          }
        },
        "H1uXjMiB3YL": {
          "id": "H1uXjMiB3YL",
          "input": {
            "nodeId": "BJrxjMiB2YL",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "BycejMiBhKI",
            "pinKey": "__out__"
          }
        },
        "HJLEiGsHnY8": {
          "id": "HJLEiGsHnY8",
          "input": {
            "nodeId": "B1AxjGsHhK8",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "ryk-iMjB3FI",
            "pinKey": "__out__"
          }
        },
        "HJMUiGiS3YI": {
          "id": "HJMUiGiS3YI",
          "input": {
            "nodeId": "r1l7iMiS2tU",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "BJUZszjSnKU",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "HkPSofjS2t8": {
          "id": "HkPSofjS2t8",
          "input": {
            "nodeId": "rJ0bjMir2FL",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "SJWGozoHnF8",
            "pinKey": "__out__"
          }
        },
        "HkWSoMjH3FL": {
          "id": "HkWSoMjH3FL",
          "input": {
            "nodeId": "rkt-iGoH3tU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "Sk5-ozsr3t8",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "HkzBiMjBhFL": {
          "id": "HkzBiMjBhFL",
          "input": {
            "nodeId": "B1TbifsBntU",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "BJjbiGsr2FU",
            "pinKey": "__out__"
          }
        },
        "HyXNiGir3YL": {
          "id": "HyXNiGir3YL",
          "input": {
            "nodeId": "H1wxjziS2t8",
            "pinKey": "HklpNY9hG4"
          },
          "output": {
            "nodeId": "Sy7xjGiH3YU",
            "pinKey": "__out__"
          }
        },
        "HyZqprhtL": {
          "id": "HyZqprhtL",
          "input": {
            "nodeId": "SJJ7jzsr3YL",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "B1HMnS2KL",
            "pinKey": "S13xLCuHvkW"
          }
        },
        "HylHofoS3FU": {
          "id": "HylHofoS3FU",
          "input": {
            "nodeId": "Sk5-ozsr3t8",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "BkuWoGsH2KL",
            "pinKey": "BJkDP8GEM"
          }
        },
        "S18BjfoHhKI": {
          "id": "S18BjfoHhKI",
          "input": {
            "nodeId": "rkGZjzjH3KI",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "HJlziMoB3YU",
            "pinKey": "__out__"
          }
        },
        "S1JNjGoB3F8": {
          "id": "S1JNjGoB3F8",
          "input": {
            "nodeId": "BJrxjMiB2YL",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "B18gszjS3YU",
            "pinKey": "__out__"
          }
        },
        "SJTmiGjr3tL": {
          "id": "SJTmiGjr3tL",
          "input": {
            "nodeId": "S1aljfjBhFI",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "H14oGjr2KL",
            "pinKey": "__out__"
          }
        },
        "SkZNjGir3Y8": {
          "id": "SkZNjGir3Y8",
          "input": {
            "nodeId": "S1aljfjBhFI",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "BJ9sfsSntI",
            "pinKey": "__out__"
          }
        },
        "SkwQjfor3tL": {
          "id": "SkwQjfor3tL",
          "input": {
            "nodeId": "S1dgjGoSnKU",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "ryYiGiH2FL",
            "pinKey": "__out__"
          }
        },
        "r1YSiGoH2KU": {
          "id": "r1YSiGoH2KU",
          "input": {
            "nodeId": "ryBfsMsH3KU",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "HJEfsforhtU",
            "pinKey": "__out__"
          }
        },
        "rJYQjfor2FU": {
          "id": "rJYQjfor2FU",
          "input": {
            "nodeId": "S1dgjGoSnKU",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "ryvoMsr2KL",
            "pinKey": "__out__"
          }
        },
        "rJaVjMoS2K8": {
          "id": "rJaVjMoS2K8",
          "input": {
            "nodeId": "BJUZszjSnKU",
            "pinKey": "BkF78AurDJW"
          },
          "output": {
            "nodeId": "r1rjMjH3YL",
            "pinKey": "BJkDP8GEM"
          }
        },
        "rk07jGsHnFU": {
          "id": "rk07jGsHnFU",
          "input": {
            "nodeId": "r1WesMornK8",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "ryXjzornKL",
            "pinKey": "__out__"
          }
        },
        "rk2NiziS3FI": {
          "id": "rk2NiziS3FI",
          "input": {
            "nodeId": "ByxeoGsHnFU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BkBZiMiS3tL",
            "pinKey": "rkO7L0uSP1Z"
          }
        },
        "rkCKpBnFU": {
          "id": "rkCKpBnFU",
          "input": {
            "nodeId": "Byslofsr2Y8",
            "pinKey": "HJ6HsEngZ"
          },
          "output": {
            "nodeId": "B1HMnS2KL",
            "pinKey": "S13xLCuHvkW"
          }
        },
        "rkD4ofor2tL": {
          "id": "rkD4ofor2tL",
          "input": {
            "nodeId": "B1AxjGsHhK8",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "BJbbjfiBhKI",
            "pinKey": "H12bIR_SPyZ"
          }
        },
        "rkdViGoH2FI": {
          "id": "rkdViGoH2FI",
          "input": {
            "nodeId": "BJrxjMiB2YL",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "HJ7-sGjShFU",
            "pinKey": "SyomIRurDJ-"
          }
        },
        "rkm7oMsShtI": {
          "id": "rkm7oMsShtI",
          "input": {
            "nodeId": "r1WesMornK8",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "HkNgjfsBnF8",
            "pinKey": "__out__"
          }
        },
        "rkrjQ83FI": {
          "id": "rkrjQ83FI",
          "input": {
            "nodeId": "B1QSiB3FI",
            "pinKey": "BypX80uSD1Z"
          },
          "output": {
            "nodeId": "ByO5mI3KU",
            "pinKey": "__out__"
          }
        },
        "rksXiMjH3tI": {
          "id": "rksXiMjH3tI",
          "input": {
            "nodeId": "r1rjMjH3YL",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "HkjsfoBnt8",
            "pinKey": "__out__"
          }
        },
        "ryG4izoHhKU": {
          "id": "ryG4izoHhKU",
          "input": {
            "nodeId": "SyJgoMsShFI",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "BJgjzjrhKU",
            "pinKey": "B1S3qQ4JXV"
          }
        },
        "ryHHiGsH3FI": {
          "id": "ryHHiGsH3FI",
          "input": {
            "nodeId": "HJ7-sGjShFU",
            "pinKey": "BJnQUR_BwyZ"
          },
          "output": {
            "nodeId": "SyyGsMjS3KU",
            "pinKey": "__out__"
          }
        },
        "rykrjMjH3tL": {
          "id": "rykrjMjH3tL",
          "input": {
            "nodeId": "BkuWoGsH2KL",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "SywbiMsHnF8",
            "pinKey": "__out__"
          }
        },
        "rynmjzjBnK8": {
          "id": "rynmjzjBnK8",
          "input": {
            "nodeId": "HkbjMsBhYL",
            "pinKey": "HJ6HsEngZ"
          },
          "output": {
            "nodeId": "H1wxjziS2t8",
            "pinKey": "ByGaVKc2fV"
          }
        }
      },
      "nodes": {
        "B18gszjS3YU": {
          "id": "B18gszjS3YU",
          "label": "pulse",
          "position": {
            "x": 3,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "B1AxjGsHhK8": {
          "id": "B1AxjGsHhK8",
          "position": {
            "x": 21,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "B1HMnS2KL": {
          "boundLiterals": {
            "r1AgIROHDJW": "0",
            "ryTeUROHD1b": "1"
          },
          "id": "B1HMnS2KL",
          "position": {
            "x": 23,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/core/if-else"
        },
        "B1QSiB3FI": {
          "id": "B1QSiB3FI",
          "position": {
            "x": 23,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/subtract"
        },
        "B1TbifsBntU": {
          "boundLiterals": {
            "SyEDJtdhfE": "0"
          },
          "id": "B1TbifsBntU",
          "position": {
            "x": 10,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "BJ0PsSnKU": {
          "boundLiterals": {
            "ByfGSDjQE": "60"
          },
          "id": "BJ0PsSnKU",
          "position": {
            "x": 24,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/debug/tweak-number"
        },
        "BJ9sfsSntI": {
          "id": "BJ9sfsSntI",
          "label": "4DS",
          "position": {
            "x": 5,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJUZszjSnKU": {
          "id": "BJUZszjSnKU",
          "position": {
            "x": 1,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "BJbbjfiBhKI": {
          "boundLiterals": {
            "HJCWLAdSwyW": "1",
            "rkpbU0OrwyZ": "10"
          },
          "id": "BJbbjfiBhKI",
          "position": {
            "x": 23,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/math/map"
        },
        "BJgjzjrhKU": {
          "id": "BJgjzjrhKU",
          "position": {
            "x": 12,
            "y": 1,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/int-filtered"
        },
        "BJjbiGsr2FU": {
          "id": "BJjbiGsr2FU",
          "label": "pulse",
          "position": {
            "x": 13,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJnWsGsr2YL": {
          "id": "BJnWsGsr2YL",
          "label": "4DS",
          "position": {
            "x": 10,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJnxjfjHhYI": {
          "id": "BJnxjfjHhYI",
          "label": "pulse",
          "position": {
            "x": 28,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJrxjMiB2YL": {
          "id": "BJrxjMiB2YL",
          "position": {
            "x": 0,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "BJzjGsBnt8": {
          "boundLiterals": {
            "B13SCNhl-": "1",
            "r1jzp_DTZ": "True"
          },
          "id": "BJzjGsBnt8",
          "label": "clock",
          "position": {
            "x": 3,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/clock"
        },
        "BkBZiMiS3tL": {
          "id": "BkBZiMiS3tL",
          "position": {
            "x": 4,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "BkuWoGsH2KL": {
          "boundLiterals": {
            "B1VSPLfEG": "D7"
          },
          "id": "BkuWoGsH2KL",
          "label": "room temp",
          "position": {
            "x": 7,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "By2izjrhtI": {
          "id": "By2izjrhtI",
          "label": "heater",
          "position": {
            "x": 1,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "ByO5mI3KU": {
          "id": "ByO5mI3KU",
          "label": "heater",
          "position": {
            "x": 23,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ByQzjGjS3tU": {
          "id": "ByQzjGjS3tU",
          "label": "sample",
          "position": {
            "x": 15,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BycejMiBhKI": {
          "id": "BycejMiBhKI",
          "label": "4DS",
          "position": {
            "x": 0,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ByfgsGoS3YU": {
          "id": "ByfgsGoS3YU",
          "label": "pulse",
          "position": {
            "x": 3,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "Byslofsr2Y8": {
          "boundLiterals": {
            "rJjXFA9JQ": "D5"
          },
          "id": "Byslofsr2Y8",
          "position": {
            "x": 22,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/gpio/digital-write"
        },
        "ByxeoGsHnFU": {
          "id": "ByxeoGsHnFU",
          "label": "sample",
          "position": {
            "x": 4,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "H14oGjr2KL": {
          "id": "H14oGjr2KL",
          "label": "pulse",
          "position": {
            "x": 8,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "H1wxjziS2t8": {
          "boundLiterals": {
            "rJVTEF5nM4": "2"
          },
          "id": "H1wxjziS2t8",
          "label": "fan switch",
          "position": {
            "x": 27,
            "y": 2,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/read-4d-button"
        },
        "HJ0jfsr3t8": {
          "boundLiterals": {
            "Syz-kKUWX": "D2",
            "r1mZktLZm": "D3"
          },
          "id": "HJ0jfsr3t8",
          "position": {
            "x": 12,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/uart/soft-uart"
        },
        "HJ7-sGjShFU": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "HJ7-sGjShFU",
          "position": {
            "x": 2,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "HJEfsforhtU": {
          "id": "HJEfsforhtU",
          "label": "4DS",
          "position": {
            "x": 13,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJMMsGjBhF8": {
          "id": "HJMMsGjBhF8",
          "label": "pulse",
          "position": {
            "x": 16,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJlziMoB3YU": {
          "id": "HJlziMoB3YU",
          "label": "sample",
          "position": {
            "x": 7,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HkNgjfsBnF8": {
          "id": "HkNgjfsBnF8",
          "label": "pulse",
          "position": {
            "x": 20,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HkbjMsBhYL": {
          "boundLiterals": {
            "rJjXFA9JQ": "D6"
          },
          "id": "HkbjMsBhYL",
          "position": {
            "x": 26,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/gpio/digital-write"
        },
        "HkjsfoBnt8": {
          "id": "HkjsfoBnt8",
          "label": "pulse",
          "position": {
            "x": 2,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "S1FgsGjH3F8": {
          "id": "S1FgsGjH3F8",
          "label": "pulse",
          "position": {
            "x": 24,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "S1LsfjH2t8": {
          "id": "S1LsfjH2t8",
          "label": "pulse",
          "position": {
            "x": 12,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "S1aljfjBhFI": {
          "boundLiterals": {
            "SyEDJtdhfE": "0"
          },
          "id": "S1aljfjBhFI",
          "position": {
            "x": 5,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "S1dgjGoSnKU": {
          "boundLiterals": {
            "HJGBjfAlZE": "0"
          },
          "id": "S1dgjGoSnKU",
          "position": {
            "x": 9,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "SJJ7jzsr3YL": {
          "id": "SJJ7jzsr3YL",
          "position": {
            "x": 20,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "SJWGozoHnF8": {
          "id": "SJWGozoHnF8",
          "label": "room",
          "position": {
            "x": 12,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Sk5-ozsr3t8": {
          "id": "Sk5-ozsr3t8",
          "position": {
            "x": 7,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/math/round"
        },
        "SkUzASntL": {
          "id": "SkUzASntL",
          "position": {
            "x": 23,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/core/less"
        },
        "SkpofoBhYI": {
          "boundLiterals": {
            "B1VSPLfEG": "D8"
          },
          "id": "SkpofoBhYI",
          "label": "sample temp",
          "position": {
            "x": 4,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "Sy7xjGiH3YU": {
          "id": "Sy7xjGiH3YU",
          "label": "4DS",
          "position": {
            "x": 27,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SyJgoMsShFI": {
          "id": "SyJgoMsShFI",
          "label": "4DS",
          "position": {
            "x": 12,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "SyOsfor2FL": {
          "id": "SyOsfor2FL",
          "label": "pulse",
          "position": {
            "x": 5,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SyjMsH3FU": {
          "id": "SyjMsH3FU",
          "label": "4DS",
          "position": {
            "x": 17,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SywbiMsHnF8": {
          "id": "SywbiMsHnF8",
          "label": "pulse",
          "position": {
            "x": 8,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SyyGsMjS3KU": {
          "id": "SyyGsMjS3KU",
          "label": "heater",
          "position": {
            "x": 2,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "r1EWozjB2FI": {
          "id": "r1EWozjB2FI",
          "position": {
            "x": 26,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "r1WesMornK8": {
          "boundLiterals": {
            "HJGBjfAlZE": "2"
          },
          "id": "r1WesMornK8",
          "position": {
            "x": 17,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "r1l7iMiS2tU": {
          "id": "r1l7iMiS2tU",
          "position": {
            "x": 0,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "r1rjMjH3YL": {
          "boundLiterals": {
            "B1VSPLfEG": "D9"
          },
          "id": "r1rjMjH3YL",
          "label": "heater temp",
          "position": {
            "x": 1,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "rJ0bjMir2FL": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "rJ0bjMir2FL",
          "position": {
            "x": 12,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "rkGZjzjH3KI": {
          "boundLiterals": {
            "HkqmLAOrD1W": "10"
          },
          "id": "rkGZjzjH3KI",
          "position": {
            "x": 7,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/add"
        },
        "rkeZjfsr2tI": {
          "id": "rkeZjfsr2tI",
          "label": "4DS",
          "position": {
            "x": 21,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rkt-iGoH3tU": {
          "id": "rkt-iGoH3tU",
          "label": "room",
          "position": {
            "x": 7,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "ryBfsMsH3KU": {
          "boundLiterals": {
            "HJGBjfAlZE": "1"
          },
          "id": "ryBfsMsH3KU",
          "position": {
            "x": 13,
            "y": 4,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "ryXjzornKL": {
          "id": "ryXjzornKL",
          "label": "room",
          "position": {
            "x": 19,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ryYiGiH2FL": {
          "id": "ryYiGiH2FL",
          "label": "4DS",
          "position": {
            "x": 9,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ryk-iMjB3FI": {
          "id": "ryk-iMjB3FI",
          "label": "pulse",
          "position": {
            "x": 24,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ryvoMsr2KL": {
          "id": "ryvoMsr2KL",
          "label": "heater",
          "position": {
            "x": 11,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        }
      },
      "path": "@/004-bang-bang"
    },
    "@/005-pid-control2": {
      "links": {
        "B1UQ54sMJ5L": {
          "id": "B1UQ54sMJ5L",
          "input": {
            "nodeId": "r1XlqNifkcL",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "BJNecViGyq8",
            "pinKey": "__out__"
          }
        },
        "B1VI5NoMk98": {
          "id": "B1VI5NoMk98",
          "input": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "HJVnt7c4f"
          },
          "output": {
            "nodeId": "Bkb-qNoMy9I",
            "pinKey": "__out__"
          }
        },
        "B1i4cEof1qI": {
          "id": "B1i4cEof1qI",
          "input": {
            "nodeId": "BkKeqNiz1qI",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "S1xZcEjf19U",
            "pinKey": "__out__"
          }
        },
        "B1iLjMk9U": {
          "id": "B1iLjMk9U",
          "input": {
            "nodeId": "BJjbcVjz1cL",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "Syf9NozycI",
            "pinKey": "BJkDP8GEM"
          }
        },
        "BJ4X9NszJc8": {
          "id": "BJ4X9NszJc8",
          "input": {
            "nodeId": "BkUxqNifk9I",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "SkLzqEiGyq8",
            "pinKey": "__out__"
          }
        },
        "BJXr5NoG15I": {
          "id": "BJXr5NoG15I",
          "input": {
            "nodeId": "BkUxqNifk9I",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "Hyne5EsMk5I",
            "pinKey": "__out__"
          }
        },
        "BJdX9Esfk98": {
          "id": "BJdX9Esfk98",
          "input": {
            "nodeId": "Hkx9ViMyqL",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "rJ2zc4iGk9L",
            "pinKey": "__out__"
          }
        },
        "Bk-H54szy58": {
          "id": "Bk-H54szy58",
          "input": {
            "nodeId": "Hkx9ViMyqL",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "rk5Z5Nif15L",
            "pinKey": "__out__"
          }
        },
        "BkEE5EsGk58": {
          "id": "BkEE5EsGk58",
          "input": {
            "nodeId": "ByL5Vof1cI",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "S1dl9Eof15U",
            "pinKey": "S13xLCuHvkW"
          }
        },
        "BkX89Njz1cU": {
          "id": "BkX89Njz1cU",
          "input": {
            "nodeId": "r1XlqNifkcL",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "SJcqNjfJ9I",
            "pinKey": "__out__"
          }
        },
        "BkwLcNjM15L": {
          "id": "BkwLcNjM15L",
          "input": {
            "nodeId": "BJn5Esfk9I",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "Skbzq4if158",
            "pinKey": "ByGaVKc2fV"
          }
        },
        "By1NqNjMk9I": {
          "id": "By1NqNjMk9I",
          "input": {
            "nodeId": "ByL5Vof1cI",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "HkrW54oGyq8",
            "pinKey": "__out__"
          }
        },
        "By9E9EsM1q8": {
          "id": "By9E9EsM1q8",
          "input": {
            "nodeId": "B1FqVofycU",
            "pinKey": "HkpclMN8B"
          },
          "output": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "BycP9Q9NM"
          }
        },
        "ByGN9NjM1qI": {
          "id": "ByGN9NjM1qI",
          "input": {
            "nodeId": "r17b5NoMy98",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "S1EZqEjMy98",
            "pinKey": "HyRmUCdBDkZ"
          }
        },
        "H18N5VsGkqU": {
          "id": "H18N5VsGkqU",
          "input": {
            "nodeId": "BkUxqNifk9I",
            "pinKey": "SkBroMAgbE"
          },
          "output": {
            "nodeId": "BkHl5Nsfy5U",
            "pinKey": "__out__"
          }
        },
        "H1C4q4jfy9U": {
          "id": "H1C4q4jfy9U",
          "input": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "ByeiM975VM"
          },
          "output": {
            "nodeId": "By0bc4sGk5L",
            "pinKey": "B1x2RV3eZ"
          }
        },
        "H1aEcViMk9U": {
          "id": "H1aEcViMk9U",
          "input": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "H1hf57qVG"
          },
          "output": {
            "nodeId": "rJXGq4sMycI",
            "pinKey": "B1x2RV3eZ"
          }
        },
        "H1mEcNjG1cL": {
          "id": "H1mEcNjG1cL",
          "input": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "rJszc7qNG"
          },
          "output": {
            "nodeId": "SkmX9EjzJ9U",
            "pinKey": "B1x2RV3eZ"
          }
        },
        "H1wH5EiGk5I": {
          "id": "H1wH5EiGk5I",
          "input": {
            "nodeId": "H1I-c4iGkc8",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "ryTW9EsM1qU",
            "pinKey": "__out__"
          }
        },
        "HJnE9EsMkqL": {
          "id": "HJnE9EsMkqL",
          "input": {
            "nodeId": "Skbzq4if158",
            "pinKey": "HklpNY9hG4"
          },
          "output": {
            "nodeId": "HyBMqNofycU",
            "pinKey": "__out__"
          }
        },
        "Hk3Xq4jfy9U": {
          "id": "Hk3Xq4jfy9U",
          "input": {
            "nodeId": "r17b5NoMy98",
            "pinKey": "B1zwyF_nzE"
          },
          "output": {
            "nodeId": "SkeQq4sfkcI",
            "pinKey": "__out__"
          }
        },
        "HklB94jz1c8": {
          "id": "HklB94jz1c8",
          "input": {
            "nodeId": "r1XlqNifkcL",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "Sy9fqVoM15I",
            "pinKey": "__out__"
          }
        },
        "HkoQqNif1cL": {
          "id": "HkoQqNif1cL",
          "input": {
            "nodeId": "BkKeqNiz1qI",
            "pinKey": "By4SoGAxbN"
          },
          "output": {
            "nodeId": "HkScEjz1c8",
            "pinKey": "__out__"
          }
        },
        "HyPN5Nizy58": {
          "id": "HyPN5Nizy58",
          "input": {
            "nodeId": "r17b5NoMy98",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "r1Nf5NsM1cU",
            "pinKey": "__out__"
          }
        },
        "HykB9Nsfy5U": {
          "id": "HykB9Nsfy5U",
          "input": {
            "nodeId": "H1GQcNjG1cU",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "BycP9Q9NM"
          }
        },
        "HypXqNsfJ58": {
          "id": "HypXqNsfJ58",
          "input": {
            "nodeId": "S1EZqEjMy98",
            "pinKey": "BypX80uSD1Z"
          },
          "output": {
            "nodeId": "BJyb9VjzycI",
            "pinKey": "BkQzLCurwJZ"
          }
        },
        "S15Bc4jzJ5L": {
          "id": "S15Bc4jzJ5L",
          "input": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "rkY46Q5NG"
          },
          "output": {
            "nodeId": "Bk5gq4jfy5I",
            "pinKey": "B1x2RV3eZ"
          }
        },
        "S1EwiMJ58": {
          "id": "S1EwiMJ58",
          "input": {
            "nodeId": "SJCq4sG1cI",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "r1Wm54oGy5I",
            "pinKey": "BJkDP8GEM"
          }
        },
        "S1FB9VoMkq8": {
          "id": "S1FB9VoMkq8",
          "input": {
            "nodeId": "S1yX9EsGy58",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "Hk1z54ifkcL",
            "pinKey": "HJU8CE2lW"
          }
        },
        "S1IH5Vizyc8": {
          "id": "S1IH5Vizyc8",
          "input": {
            "nodeId": "B1ffc4ofJ9L",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "rJGZqEiMJ9I",
            "pinKey": "BJkDP8GEM"
          }
        },
        "S1SX9NjMk5U": {
          "id": "S1SX9NjMk5U",
          "input": {
            "nodeId": "S1dl9Eof15U",
            "pinKey": "S1yZIA_rDJZ"
          },
          "output": {
            "nodeId": "HJtMqEoz198",
            "pinKey": "B19RYS3lW"
          }
        },
        "S1_E9NoGk58": {
          "id": "S1_E9NoGk58",
          "input": {
            "nodeId": "S1TM94iGy9U",
            "pinKey": "BypX80uSD1Z"
          },
          "output": {
            "nodeId": "ryee54iz1qI",
            "pinKey": "BkQzLCurwJZ"
          }
        },
        "S1lU5VsfJ5I": {
          "id": "S1lU5VsfJ5I",
          "input": {
            "nodeId": "r1Cx94izkc8",
            "pinKey": "BypX80uSD1Z"
          },
          "output": {
            "nodeId": "H1sg94iGJqI",
            "pinKey": "BkQzLCurwJZ"
          }
        },
        "Sk3HiMy9I": {
          "id": "Sk3HiMy9I",
          "input": {
            "nodeId": "ryzg9VjzkcU",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "rJGZqEiMJ9I",
            "pinKey": "BJkDP8GEM"
          }
        },
        "SkZ49VsGJ98": {
          "id": "SkZ49VsGJ98",
          "input": {
            "nodeId": "Hkx9ViMyqL",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "r1Cx94izkc8",
            "pinKey": "HyRmUCdBDkZ"
          }
        },
        "SkpBqNsMy5U": {
          "id": "SkpBqNsMy5U",
          "input": {
            "nodeId": "BkKeqNiz1qI",
            "pinKey": "ByZBozCg-4"
          },
          "output": {
            "nodeId": "HywqNjGJq8",
            "pinKey": "__out__"
          }
        },
        "SkrynfyqI": {
          "id": "SkrynfyqI",
          "input": {
            "nodeId": "BkgM94ofkcL",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "Syf9NozycI",
            "pinKey": "BJkDP8GEM"
          }
        },
        "SyD73MJ9L": {
          "id": "SyD73MJ9L",
          "input": {
            "nodeId": "HyVQnMkqI",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "ry1fnzyc8",
            "pinKey": "HJU8CE2lW"
          }
        },
        "SyF45Ejz1qU": {
          "id": "SyF45Ejz1qU",
          "input": {
            "nodeId": "ByL5Vof1cI",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "BkPZ5EofkqU",
            "pinKey": "__out__"
          }
        },
        "SyFQ5ViGkqI": {
          "id": "SyFQ5ViGkqI",
          "input": {
            "nodeId": "H1sg94iGJqI",
            "pinKey": "B1GfLR_SPk-"
          },
          "output": {
            "nodeId": "BkszqEif158",
            "pinKey": "__out__"
          }
        },
        "SyS494jzyqI": {
          "id": "SyS494jzyqI",
          "input": {
            "nodeId": "r1Wm54oGy5I",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "SkoqNozJ5I",
            "pinKey": "__out__"
          }
        },
        "SyuHc4ifJc8": {
          "id": "SyuHc4ifJc8",
          "input": {
            "nodeId": "rJGZqEiMJ9I",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "rJp9Voz1qI",
            "pinKey": "__out__"
          }
        },
        "r1Dmq4jG15U": {
          "id": "r1Dmq4jG15U",
          "input": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "H1QHqmcNz"
          },
          "output": {
            "nodeId": "H175EjMJqL",
            "pinKey": "__out__"
          }
        },
        "r1GH54ifk9L": {
          "id": "r1GH54ifk9L",
          "input": {
            "nodeId": "HJJg5EjMJc8",
            "pinKey": "HkWhcmVk7E"
          },
          "output": {
            "nodeId": "SkuMcNozJ9I",
            "pinKey": "rycxytIZQ"
          }
        },
        "rJ3r9ViGyq8": {
          "id": "rJ3r9ViGyq8",
          "input": {
            "nodeId": "ryee54iz1qI",
            "pinKey": "B1GfLR_SPk-"
          },
          "output": {
            "nodeId": "SJWcVjGkqL",
            "pinKey": "__out__"
          }
        },
        "rJSH9ViMyc8": {
          "id": "rJSH9ViMyc8",
          "input": {
            "nodeId": "HJJg5EjMJc8",
            "pinKey": "Skg35X4JQ4"
          },
          "output": {
            "nodeId": "SkuMcNozJ9I",
            "pinKey": "HJoHCvU_Q"
          }
        },
        "rJjUc4jzk9I": {
          "id": "rJjUc4jzk9I",
          "input": {
            "nodeId": "HJTe54oMk5U",
            "pinKey": "__in__"
          },
          "output": {
            "nodeId": "HJJg5EjMJc8",
            "pinKey": "B1S3qQ4JXV"
          }
        },
        "rJrI54ozk58": {
          "id": "rJrI54ozk58",
          "input": {
            "nodeId": "BJyb9VjzycI",
            "pinKey": "B1GfLR_SPk-"
          },
          "output": {
            "nodeId": "SyOZcViGJ5L",
            "pinKey": "__out__"
          }
        },
        "rkZUq4izkc8": {
          "id": "rkZUq4izkc8",
          "input": {
            "nodeId": "Syf9NozycI",
            "pinKey": "SJlIvIMEM"
          },
          "output": {
            "nodeId": "SJNqEjMkqI",
            "pinKey": "__out__"
          }
        },
        "rka1nMJcI": {
          "id": "rka1nMJcI",
          "input": {
            "nodeId": "BkdJ2MyqL",
            "pinKey": "HkXK-dGob"
          },
          "output": {
            "nodeId": "r1Wm54oGy5I",
            "pinKey": "BJkDP8GEM"
          }
        },
        "rkcIcVozkcL": {
          "id": "rkcIcVozkcL",
          "input": {
            "nodeId": "H1I-c4iGkc8",
            "pinKey": "B17DyKdhzE"
          },
          "output": {
            "nodeId": "S1TM94iGy9U",
            "pinKey": "HyRmUCdBDkZ"
          }
        },
        "ryOUqVofkcI": {
          "id": "ryOUqVofkcI",
          "input": {
            "nodeId": "H1I-c4iGkc8",
            "pinKey": "rylwyK_2fN"
          },
          "output": {
            "nodeId": "HJnb5VsMkcI",
            "pinKey": "__out__"
          }
        },
        "ryVScVoz198": {
          "id": "ryVScVoz198",
          "input": {
            "nodeId": "HJtMqEoz198",
            "pinKey": "rJg00Nhe-"
          },
          "output": {
            "nodeId": "rJYZ9VofycU",
            "pinKey": "BycP9Q9NM"
          }
        }
      },
      "nodes": {
        "B1FqVofycU": {
          "boundLiterals": {
            "rk6igfNUr": "True",
            "rkCKlzEUB": "D5"
          },
          "id": "B1FqVofycU",
          "position": {
            "x": 23,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/common-hardware/pwm-load"
        },
        "B1ffc4ofJ9L": {
          "id": "B1ffc4ofJ9L",
          "position": {
            "x": -1,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "BJNecViGyq8": {
          "id": "BJNecViGyq8",
          "label": "sample",
          "position": {
            "x": 16,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BJjbcVjz1cL": {
          "id": "BJjbcVjz1cL",
          "label": "sample",
          "position": {
            "x": 5,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "BJn5Esfk9I": {
          "id": "BJn5Esfk9I",
          "position": {
            "x": 27,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "BJyb9VjzycI": {
          "boundLiterals": {
            "SJ4zUC_BD1-": "2"
          },
          "id": "BJyb9VjzycI",
          "position": {
            "x": 1,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/core/multiply"
        },
        "Bk5gq4jfy5I": {
          "boundLiterals": {
            "B1x2RV3eZ": "60"
          },
          "id": "Bk5gq4jfy5I",
          "position": {
            "x": 21,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/core/constant-number"
        },
        "BkHl5Nsfy5U": {
          "id": "BkHl5Nsfy5U",
          "label": "4DS",
          "position": {
            "x": 10,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BkKeqNiz1qI": {
          "boundLiterals": {
            "HJGBjfAlZE": "5"
          },
          "id": "BkKeqNiz1qI",
          "position": {
            "x": 18,
            "y": 3,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "BkPZ5EofkqU": {
          "id": "BkPZ5EofkqU",
          "label": "4DS",
          "position": {
            "x": 22,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BkUxqNifk9I": {
          "boundLiterals": {
            "HJGBjfAlZE": "3"
          },
          "id": "BkUxqNifk9I",
          "position": {
            "x": 10,
            "y": 3,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "Bkb-qNoMy9I": {
          "id": "Bkb-qNoMy9I",
          "label": "sample",
          "position": {
            "x": 20,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "BkdJ2MyqL": {
          "id": "BkdJ2MyqL",
          "position": {
            "x": 7,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "BkgM94ofkcL": {
          "id": "BkgM94ofkcL",
          "position": {
            "x": 4,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "BkszqEif158": {
          "id": "BkszqEif158",
          "label": "sample",
          "position": {
            "x": 6,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "By0bc4sGk5L": {
          "boundLiterals": {
            "B1x2RV3eZ": "0"
          },
          "id": "By0bc4sGk5L",
          "position": {
            "x": 23,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/core/constant-number"
        },
        "ByL5Vof1cI": {
          "boundLiterals": {
            "SyEDJtdhfE": "1"
          },
          "id": "ByL5Vof1cI",
          "position": {
            "x": 22,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "H175EjMJqL": {
          "id": "H175EjMJqL",
          "label": "pulse",
          "position": {
            "x": 25,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "H1GQcNjG1cU": {
          "id": "H1GQcNjG1cU",
          "position": {
            "x": 19,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/debug/watch"
        },
        "H1I-c4iGkc8": {
          "boundLiterals": {
            "SyEDJtdhfE": "1"
          },
          "id": "H1I-c4iGkc8",
          "position": {
            "x": 10,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "H1sg94iGJqI": {
          "boundLiterals": {
            "SJ4zUC_BD1-": "2"
          },
          "id": "H1sg94iGJqI",
          "position": {
            "x": 6,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/core/multiply"
        },
        "HJJg5EjMJc8": {
          "id": "HJJg5EjMJc8",
          "position": {
            "x": 13,
            "y": 0,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/int-filtered"
        },
        "HJTe54oMk5U": {
          "id": "HJTe54oMk5U",
          "label": "4DS",
          "position": {
            "x": 13,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "HJnb5VsMkcI": {
          "id": "HJnb5VsMkcI",
          "label": "4DS",
          "position": {
            "x": 10,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HJtMqEoz198": {
          "id": "HJtMqEoz198",
          "position": {
            "x": 24,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/core/greater"
        },
        "Hk1z54ifkcL": {
          "boundLiterals": {
            "B13SCNhl-": "2",
            "r1jzp_DTZ": "True"
          },
          "id": "Hk1z54ifkcL",
          "label": "clock",
          "position": {
            "x": 4,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/core/clock"
        },
        "HkScEjz1c8": {
          "id": "HkScEjz1c8",
          "label": "room",
          "position": {
            "x": 20,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HkrW54oGyq8": {
          "id": "HkrW54oGyq8",
          "label": "clock",
          "position": {
            "x": 25,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Hkx9ViMyqL": {
          "boundLiterals": {
            "SyEDJtdhfE": "1"
          },
          "id": "Hkx9ViMyqL",
          "position": {
            "x": 5,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "HyBMqNofycU": {
          "id": "HyBMqNofycU",
          "label": "4DS",
          "position": {
            "x": 28,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HyVQnMkqI": {
          "id": "HyVQnMkqI",
          "label": "pulse",
          "position": {
            "x": 0,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "Hyne5EsMk5I": {
          "id": "Hyne5EsMk5I",
          "label": "heater",
          "position": {
            "x": 12,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "HywqNjGJq8": {
          "id": "HywqNjGJq8",
          "label": "clock",
          "position": {
            "x": 21,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "S1EZqEjMy98": {
          "boundLiterals": {
            "rkJ4URuHDJ-": "10"
          },
          "id": "S1EZqEjMy98",
          "position": {
            "x": 1,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/subtract"
        },
        "S1TM94iGy9U": {
          "boundLiterals": {
            "rkJ4URuHDJ-": "10"
          },
          "id": "S1TM94iGy9U",
          "position": {
            "x": 11,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/subtract"
        },
        "S1dl9Eof15U": {
          "boundLiterals": {
            "r1AgIROHDJW": "0",
            "ryTeUROHD1b": "20"
          },
          "id": "S1dl9Eof15U",
          "position": {
            "x": 24,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/core/if-else"
        },
        "S1xZcEjf19U": {
          "id": "S1xZcEjf19U",
          "label": "4DS",
          "position": {
            "x": 18,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "S1yX9EsGy58": {
          "id": "S1yX9EsGy58",
          "label": "clock",
          "position": {
            "x": 4,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "SJCq4sG1cI": {
          "id": "SJCq4sG1cI",
          "label": "room",
          "position": {
            "x": 8,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        },
        "SJNqEjMkqI": {
          "id": "SJNqEjMkqI",
          "label": "pulse",
          "position": {
            "x": 6,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJWcVjGkqL": {
          "id": "SJWcVjGkqL",
          "label": "room",
          "position": {
            "x": 11,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SJcqNjfJ9I": {
          "id": "SJcqNjfJ9I",
          "label": "4DS",
          "position": {
            "x": 14,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SkLzqEiGyq8": {
          "id": "SkLzqEiGyq8",
          "label": "clock",
          "position": {
            "x": 13,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Skbzq4if158": {
          "boundLiterals": {
            "rJVTEF5nM4": "2"
          },
          "id": "Skbzq4if158",
          "label": "fan switch",
          "position": {
            "x": 28,
            "y": 1,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/read-4d-button"
        },
        "SkeQq4sfkcI": {
          "id": "SkeQq4sfkcI",
          "label": "clock",
          "position": {
            "x": 3,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SkmX9EjzJ9U": {
          "boundLiterals": {
            "B1x2RV3eZ": "1.0"
          },
          "id": "SkmX9EjzJ9U",
          "position": {
            "x": 22,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/core/constant-number"
        },
        "SkoqNozJ5I": {
          "id": "SkoqNozJ5I",
          "label": "pulse",
          "position": {
            "x": 9,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SkuMcNozJ9I": {
          "boundLiterals": {
            "Syz-kKUWX": "D2",
            "r1mZktLZm": "D3"
          },
          "id": "SkuMcNozJ9I",
          "position": {
            "x": 13,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/uart/soft-uart"
        },
        "Sy9fqVoM15I": {
          "id": "Sy9fqVoM15I",
          "label": "clock",
          "position": {
            "x": 17,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "SyOZcViGJ5L": {
          "id": "SyOZcViGJ5L",
          "label": "heater",
          "position": {
            "x": 1,
            "y": 4,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "Syf9NozycI": {
          "boundLiterals": {
            "B1VSPLfEG": "D8"
          },
          "id": "Syf9NozycI",
          "label": "sample temp",
          "position": {
            "x": 5,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "r17b5NoMy98": {
          "boundLiterals": {
            "SyEDJtdhfE": "1"
          },
          "id": "r17b5NoMy98",
          "position": {
            "x": 0,
            "y": 7,
            "units": "slots"
          },
          "type": "bradzilla84/visi-genie-extra-library/write-scope"
        },
        "r1Cx94izkc8": {
          "boundLiterals": {
            "rkJ4URuHDJ-": "10"
          },
          "id": "r1Cx94izkc8",
          "position": {
            "x": 6,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/core/subtract"
        },
        "r1Nf5NsM1cU": {
          "id": "r1Nf5NsM1cU",
          "label": "4DS",
          "position": {
            "x": 0,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "r1Wm54oGy5I": {
          "boundLiterals": {
            "B1VSPLfEG": "D9"
          },
          "id": "r1Wm54oGy5I",
          "label": "room temp",
          "position": {
            "x": 8,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "r1XlqNifkcL": {
          "boundLiterals": {
            "HJGBjfAlZE": "4"
          },
          "id": "r1XlqNifkcL",
          "position": {
            "x": 14,
            "y": 3,
            "units": "slots"
          },
          "type": "gabbapeople/4d-ulcd/write-led-digits"
        },
        "r1dcEjzJ9U": {
          "boundLiterals": {
            "BygApTqym": "On Boot",
            "HJ6HsEngZ": "True",
            "rJjXFA9JQ": "D6"
          },
          "id": "r1dcEjzJ9U",
          "position": {
            "x": 27,
            "y": 2,
            "units": "slots"
          },
          "type": "xod/gpio/digital-write"
        },
        "rJ2zc4iGk9L": {
          "id": "rJ2zc4iGk9L",
          "label": "clock",
          "position": {
            "x": 8,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rJGZqEiMJ9I": {
          "boundLiterals": {
            "B1VSPLfEG": "D7"
          },
          "id": "rJGZqEiMJ9I",
          "label": "heater temp",
          "position": {
            "x": 0,
            "y": 1,
            "units": "slots"
          },
          "type": "xod/common-hardware/ds18b20-thermometer"
        },
        "rJXGq4sMycI": {
          "boundLiterals": {
            "B1x2RV3eZ": "0.4"
          },
          "id": "rJXGq4sMycI",
          "position": {
            "x": 24,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/core/constant-number"
        },
        "rJYZ9VofycU": {
          "boundLiterals": {
            "HkYH9QcEz": "On Boot"
          },
          "id": "rJYZ9VofycU",
          "position": {
            "x": 20,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/core/pid-controller"
        },
        "rJp9Voz1qI": {
          "id": "rJp9Voz1qI",
          "label": "pulse",
          "position": {
            "x": 1,
            "y": 0,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "rk5Z5Nif15L": {
          "id": "rk5Z5Nif15L",
          "label": "4DS",
          "position": {
            "x": 5,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ry1fnzyc8": {
          "boundLiterals": {
            "B13SCNhl-": "0.1"
          },
          "id": "ry1fnzyc8",
          "position": {
            "x": 0,
            "y": -1,
            "units": "slots"
          },
          "type": "xod/core/clock"
        },
        "ryTW9EsM1qU": {
          "id": "ryTW9EsM1qU",
          "label": "clock",
          "position": {
            "x": 13,
            "y": 6,
            "units": "slots"
          },
          "type": "xod/patch-nodes/from-bus"
        },
        "ryee54iz1qI": {
          "boundLiterals": {
            "SJ4zUC_BD1-": "2"
          },
          "id": "ryee54iz1qI",
          "position": {
            "x": 11,
            "y": 5,
            "units": "slots"
          },
          "type": "xod/core/multiply"
        },
        "ryzg9VjzkcU": {
          "id": "ryzg9VjzkcU",
          "label": "heater",
          "position": {
            "x": 0,
            "y": 3,
            "units": "slots"
          },
          "type": "xod/patch-nodes/to-bus"
        }
      },
      "path": "@/005-pid-control2"
    }
  }
}
