{
  "length": 27,
  "structure": [
    {
      "id": "product-type",
      "offset": 3,
      "length": 2,
      "type": {
        "id": "rawfield",
        "target": "productType"
      }
    },
    {
      "id": "type",
      "offset": 5,
      "length": 1,
      "type": {
        "id": "hardcoded",
        "value": 3
      }
    },
    {
      "id": "subtype",
      "offset": 6,
      "length": 1,
      "type": {
        "id": "hardcoded",
        "value": 1
      }
    },
    {
      "id": "version",
      "offset": 7,
      "length": 1,
      "type": {
        "id": "hardcoded",
        "value": 16
      }
    },
    {
      "id": "ign",
      "offset": 8,
      "length": 2,
      "type": {
        "id": "rawfield",
        "target": "info.ign"
      }
    },
    {
      "id": "modes",
      "offset": 10,
      "length": 1,
      "type": {
        "id": "combined",
        "structure": [
          {
            "id": "relay1",
            "offset": 0,
            "length": 2,
            "type": {
              "id": "rawfield",
              "target": "info.s1"
            }
          },
          {
            "id": "relay2",
            "offset": 2,
            "length": 2,
            "type": {
              "id": "rawfield",
              "target": "info.s2"
            }
          },
          {
            "id": "relay3",
            "offset": 4,
            "length": 2,
            "type": {
              "id": "rawfield",
              "target": "info.s3"
            }
          },
          {
            "id": "short-lighting",
            "offset": 7,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "info.pl_short_lighting"
            }
          }
        ]
      }
    },
    {
      "id": "nigh-shifts",
      "offset": 11,
      "length": 1,
      "type": {
        "id": "combined",
        "structure": [
          {
            "id": "relay1-shift1",
            "offset": 0,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.s1"
            }
          },
          {
            "id": "relay1-shift2",
            "offset": 1,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.s1"
            }
          },
          {
            "id": "relay2-shift1",
            "offset": 2,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.s2"
            }
          },
          {
            "id": "relay2-shift2",
            "offset": 3,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.s2"
            }
          },
          {
            "id": "relay3-shift1",
            "offset": 4,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.s3"
            }
          },
          {
            "id": "relay1-shift2",
            "offset": 5,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.s3"
            }
          }
        ]
      }
    },
    {
      "id": "shift1-begin",
      "offset": 12,
      "length": 2,
      "type": {
        "id": "combined",
        "structure": [
          {
            "id": "shift1-begin-hour",
            "offset": 8,
            "length": 8,
            "pipeline": [
              {
                "id": "default",
                "value": 17170,
                "default": 170
              },
              {
                "id": "slice",
                "start": 0,
                "end": 1,
                "length": 2
              },
              {
                "id": "dec"
              }
            ],
            "type": {
              "id": "rawfield",
              "target": "ns1.begin"
            }
          },
          {
            "id": "shift1-begin-minute",
            "offset": 0,
            "length": 8,
            "pipeline": [
              {
                "id": "default",
                "value": 17170,
                "default": 170
              },
              {
                "id": "slice",
                "start": 1,
                "end": 2,
                "length": 2
              },
              {
                "id": "dec"
              }
            ],
            "type": {
              "id": "rawfield",
              "target": "ns1.begin"
            }
          }
        ]
      }
    },
    {
      "id": "shift1-end",
      "offset": 14,
      "length": 2,
      "type": {
        "id": "combined",
        "structure": [
          {
            "id": "shift1-end-hour",
            "offset": 8,
            "length": 8,
            "pipeline": [
              {
                "id": "default",
                "value": 17170,
                "default": 170
              },
              {
                "id": "slice",
                "start": 0,
                "end": 1,
                "length": 2
              },
              {
                "id": "dec"
              }
            ],
            "type": {
              "id": "rawfield",
              "target": "ns1.end"
            }
          },
          {
            "id": "shift1-end-minute",
            "offset": 0,
            "length": 8,
            "pipeline": [
              {
                "id": "default",
                "value": 17170,
                "default": 170
              },
              {
                "id": "slice",
                "start": 1,
                "end": 2,
                "length": 2
              },
              {
                "id": "dec"
              }
            ],
            "type": {
              "id": "rawfield",
              "target": "ns1.end"
            }
          }
        ]
      }
    },
    {
      "id": "shift1-days",
      "offset": 16,
      "length": 1,
      "pipeline": [
        {
          "id": "default",
          "value": 0,
          "default": 170
        }
      ],
      "type": {
        "id": "combined",
        "structure": [
          {
            "id": "shift1-sun",
            "offset": 0,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.sun"
            }
          },
          {
            "id": "shift1-sat",
            "offset": 1,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.sat"
            }
          },
          {
            "id": "shift1-fri",
            "offset": 2,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.fri"
            }
          },
          {
            "id": "shift1-thu",
            "offset": 3,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.thu"
            }
          },
          {
            "id": "shift1-wed",
            "offset": 4,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.wed"
            }
          },
          {
            "id": "shift1-tue",
            "offset": 5,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.tue"
            }
          },
          {
            "id": "shift1-mon",
            "offset": 6,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns1.mon"
            }
          }
        ]
      }
    },
    {
      "id": "shift2-begin",
      "offset": 17,
      "length": 2,
      "type": {
        "id": "combined",
        "structure": [
          {
            "id": "shift2-begin-hour",
            "offset": 8,
            "length": 8,
            "pipeline": [
              {
                "id": "default",
                "value": 17170,
                "default": 170
              },
              {
                "id": "slice",
                "start": 0,
                "end": 1,
                "length": 2
              },
              {
                "id": "dec"
              }
            ],
            "type": {
              "id": "rawfield",
              "target": "ns2.begin"
            }
          },
          {
            "id": "shift2-begin-minute",
            "offset": 0,
            "length": 8,
            "pipeline": [
              {
                "id": "default",
                "value": 17170,
                "default": 170
              },
              {
                "id": "slice",
                "start": 1,
                "end": 2,
                "length": 2
              },
              {
                "id": "dec"
              }
            ],
            "type": {
              "id": "rawfield",
              "target": "ns2.begin"
            }
          }
        ]
      }
    },
    {
      "id": "shift2-end",
      "offset": 19,
      "length": 2,
      "type": {
        "id": "combined",
        "structure": [
          {
            "id": "shift2-end-hour",
            "offset": 8,
            "length": 8,
            "pipeline": [
              {
                "id": "default",
                "value": 17170,
                "default": 170
              },
              {
                "id": "slice",
                "start": 0,
                "end": 1,
                "length": 2
              },
              {
                "id": "dec"
              }
            ],
            "type": {
              "id": "rawfield",
              "target": "ns2.end"
            }
          },
          {
            "id": "shift2-end-minute",
            "offset": 0,
            "length": 8,
            "pipeline": [
              {
                "id": "default",
                "value": 17170,
                "default": 170
              },
              {
                "id": "slice",
                "start": 1,
                "end": 2,
                "length": 2
              },
              {
                "id": "dec"
              }
            ],
            "type": {
              "id": "rawfield",
              "target": "ns2.end"
            }
          }
        ]
      }
    },
    {
      "id": "shift2-days",
      "offset": 21,
      "length": 1,
      "pipeline": [
        {
          "id": "default",
          "value": 0,
          "default": 170
        }
      ],
      "type": {
        "id": "combined",
        "structure": [
          {
            "id": "shift2-sun",
            "offset": 0,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.sun"
            }
          },
          {
            "id": "shift2-sat",
            "offset": 1,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.sat"
            }
          },
          {
            "id": "shift2-fri",
            "offset": 2,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.fri"
            }
          },
          {
            "id": "shift2-thu",
            "offset": 3,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.thu"
            }
          },
          {
            "id": "shift2-wed",
            "offset": 4,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.wed"
            }
          },
          {
            "id": "shift2-tue",
            "offset": 5,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.tue"
            }
          },
          {
            "id": "shift2-mon",
            "offset": 6,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ns2.mon"
            }
          }
        ]
      }
    },
    {
      "id": "twilight-shifts",
      "offset": 22,
      "length": 1,
      "type": {
        "id": "combined",
        "structure" : [
          {
            "id": "sunset-relay1",
            "offset": 0,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ts.sunset.s1"
            }
          },
          {
            "id": "sunrise-relay1",
            "offset": 1,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ts.sunrise.s1"
            }
          },
          {
            "id": "sunset-relay2",
            "offset": 2,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ts.sunset.s2"
            }
          },
          {
            "id": "sunrise-relay2",
            "offset": 3,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ts.sunrise.s2"
            }
          },
          {
            "id": "sunset-relay3",
            "offset": 4,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ts.sunset.s3"
            }
          },
          {
            "id": "sunrise-relay1",
            "offset": 5,
            "length": 1,
            "type": {
              "id": "rawfield",
              "target": "ts.sunrise.s3"
            }
          }
        ]
      }
    },
    {
      "id": "sunset",
      "offset": 23,
      "length": 1,
      "pipeline": [
        {
          "id": "default",
          "value": 0,
          "default": 128
        }
      ],
      "type": {
        "id": "rawfield",
        "target": "ts.sunset.shift"
      }
    },
    {
      "id": "sunrise",
      "offset": 24,
      "length": 1,
      "pipeline": [
        {
          "id": "default",
          "value": 0,
          "default": 128
        }
      ],
      "type": {
        "id": "rawfield",
        "target": "ts.sunrise.shift"
      }
    },
    {
      "id": "crc",
      "offset": 25,
      "length": 2,
      "type": {
        "id": "crc16"
      }
    }
  ]
}
