void arctechSrInit(void) { protocol_register(&arctech_screen); protocol_set_id(arctech_screen, "arctech_screens"); protocol_device_add(arctech_screen, "kaku_screen", "KlikAanKlikUit Screens"); protocol_plslen_add(arctech_screen, 251); protocol_plslen_add(arctech_screen, 294); protocol_plslen_add(arctech_screen, 303); arctech_screen->devtype = SCREEN; arctech_screen->hwtype = RF433; arctech_screen->pulse = 5; arctech_screen->rawlen = 132; arctech_screen->lsb = 3; options_add(&arctech_screen->options, 't', "up", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_screen->options, 'f', "down", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_screen->options, 'u', "unit", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]{1}|[1][0-5])$"); options_add(&arctech_screen->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]{1,7}|[1-5][0-9]{7}|6([0-6][0-9]{6}|7(0[0-9]{5}|10([0-7][0-9]{3}|8([0-7][0-9]{2}|8([0-5][0-9]|6[0-3]))))))$"); options_add(&arctech_screen->options, 'a', "all", OPTION_OPT_VALUE, CONFIG_OPTIONAL, JSON_NUMBER, NULL, NULL); options_add(&arctech_screen->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); arctech_screen->parseBinary=&arctechSrParseBinary; arctech_screen->createCode=&arctechSrCreateCode; arctech_screen->printHelp=&arctechSrPrintHelp; }
void arctechSwOldInit(void) { protocol_register(&arctech_switch_old); protocol_set_id(arctech_switch_old, "arctech_switch_old"); protocol_device_add(arctech_switch_old, "kaku_switch_old", "Old KlikAanKlikUit Switches"); protocol_device_add(arctech_switch_old, "cogex", "Cogex Switches"); protocol_device_add(arctech_switch_old, "intertechno_old", "Old Intertechno Switches"); protocol_device_add(arctech_switch_old, "byebyestandbye", "Bye Bye Standbye Switches"); protocol_device_add(arctech_switch_old, "duwi", "Düwi Terminal Switches"); protocol_device_add(arctech_switch_old, "eurodomest", "Eurodomest Switches"); protocol_plslen_add(arctech_switch_old, 336); protocol_plslen_add(arctech_switch_old, 326); protocol_plslen_add(arctech_switch_old, 390); protocol_plslen_add(arctech_switch_old, 400); protocol_plslen_add(arctech_switch_old, 330); arctech_switch_old->devtype = SWITCH; arctech_switch_old->hwtype = RF433; arctech_switch_old->pulse = 3; arctech_switch_old->rawlen = 50; arctech_switch_old->binlen = 12; arctech_switch_old->lsb = 2; options_add(&arctech_switch_old->options, 't', "on", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_switch_old->options, 'f', "off", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_switch_old->options, 'u', "unit", OPTION_HAS_VALUE, DEVICES_ID, JSON_NUMBER, NULL, "^([0-9]{1}|[1][0-5])$"); options_add(&arctech_switch_old->options, 'i', "id", OPTION_HAS_VALUE, DEVICES_ID, JSON_NUMBER, NULL, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&arctech_switch_old->options, 0, "readonly", OPTION_HAS_VALUE, GUI_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); arctech_switch_old->parseBinary=&arctechSwOldParseBinary; arctech_switch_old->createCode=&arctechSwOldCreateCode; arctech_switch_old->printHelp=&arctechSwOldPrintHelp; }
void impulsInit(void) { protocol_register(&impuls); protocol_set_id(impuls, "impuls"); protocol_device_add(impuls, "impuls", "Impuls Switches"); protocol_device_add(impuls, "select-remote", "SelectRemote Switches"); protocol_conflict_add(impuls, "rev_switch"); protocol_plslen_add(impuls, 171); protocol_plslen_add(impuls, 141); protocol_plslen_add(impuls, 133); impuls->devtype = SWITCH; impuls->hwtype = RF433; impuls->pulse = 3; impuls->rawlen = 50; impuls->binlen = 12; options_add(&impuls->options, 's', "systemcode", has_value, config_id, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&impuls->options, 'u', "programcode", has_value, config_id, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&impuls->options, 't', "on", no_value, config_state, NULL); options_add(&impuls->options, 'f', "off", no_value, config_state, NULL); protocol_setting_add_string(impuls, "states", "on,off"); protocol_setting_add_number(impuls, "readonly", 0); impuls->parseCode=&impulsParseCode; impuls->createCode=&impulsCreateCode; impuls->printHelp=&impulsPrintHelp; }
void arctechSwInit(void) { protocol_register(&arctech_switch); protocol_set_id(arctech_switch, "archtech_switches"); protocol_device_add(arctech_switch, "kaku_switch", "KlikAanKlikUit Switches"); protocol_device_add(arctech_switch, "dio_switch", "D-IO (Chacon) Switches"); protocol_device_add(arctech_switch, "nexa_switch", "Nexa Switches"); protocol_device_add(arctech_switch, "coco_switch", "CoCo Technologies Switches"); protocol_device_add(arctech_switch, "intertechno_switch", "Intertechno Switches"); protocol_conflict_add(arctech_switch, "archtech_screens"); protocol_plslen_add(arctech_switch, 303); protocol_plslen_add(arctech_switch, 251); arctech_switch->devtype = SWITCH; arctech_switch->hwtype = RX433; arctech_switch->pulse = 5; arctech_switch->rawlen = 132; arctech_switch->lsb = 3; options_add(&arctech_switch->options, 'a', "all", no_value, 0, NULL); options_add(&arctech_switch->options, 't', "on", no_value, config_state, NULL); options_add(&arctech_switch->options, 'f', "off", no_value, config_state, NULL); options_add(&arctech_switch->options, 'u', "unit", has_value, config_id, "^([0-9]{1}|[1][0-5])$"); options_add(&arctech_switch->options, 'i', "id", has_value, config_id, "^([0-9]{1,7}|[1-5][0-9]{7}|6([0-6][0-9]{6}|7(0[0-9]{5}|10([0-7][0-9]{3}|8([0-7][0-9]{2}|8([0-5][0-9]|6[0-3]))))))$"); protocol_setting_add_string(arctech_switch, "states", "on,off"); protocol_setting_add_number(arctech_switch, "readonly", 0); arctech_switch->parseBinary=&arctechSwParseBinary; arctech_switch->createCode=&arctechSwCreateCode; arctech_switch->printHelp=&arctechSwPrintHelp; }
void clarusSwInit(void) { protocol_register(&clarus_switch); protocol_set_id(clarus_switch, "clarus_switch"); protocol_device_add(clarus_switch, "clarus_switch", "Clarus Switches"); protocol_conflict_add(clarus_switch, "rev_switch"); protocol_plslen_add(clarus_switch, 190); protocol_plslen_add(clarus_switch, 180); clarus_switch->devtype = SWITCH; clarus_switch->hwtype = RF433; clarus_switch->pulse = 3; clarus_switch->rawlen = 50; clarus_switch->binlen = 12; options_add(&clarus_switch->options, 't', "on", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&clarus_switch->options, 'f', "off", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&clarus_switch->options, 'u', "unit", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]|[1-5][0-9]|6[0-3])$"); options_add(&clarus_switch->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_STRING, NULL, "^[ABCDEF](3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&clarus_switch->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); clarus_switch->parseCode=&clarusSwParseCode; clarus_switch->createCode=&clarusSwCreateCode; clarus_switch->printHelp=&clarusSwPrintHelp; }
void arctechSwInit(void) { protocol_register(&arctech_switch); protocol_set_id(arctech_switch, "arctech_switches"); protocol_device_add(arctech_switch, "kaku_switch", "KlikAanKlikUit Switches"); protocol_device_add(arctech_switch, "dio_switch", "D-IO Switches"); protocol_device_add(arctech_switch, "nexa_switch", "Nexa Switches"); protocol_device_add(arctech_switch, "coco_switch", "CoCo Technologies Switches"); protocol_device_add(arctech_switch, "intertechno_switch", "Intertechno Switches"); protocol_conflict_add(arctech_switch, "arctech_screens"); protocol_conflict_add(arctech_switch, "arctech_contact"); protocol_plslen_add(arctech_switch, 315); protocol_plslen_add(arctech_switch, 303); protocol_plslen_add(arctech_switch, 251); arctech_switch->devtype = SWITCH; arctech_switch->hwtype = RF433; arctech_switch->pulse = 5; arctech_switch->rawlen = 132; arctech_switch->lsb = 3; options_add(&arctech_switch->options, 't', "on", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_switch->options, 'f', "off", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_switch->options, 'u', "unit", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]{1}|[1][0-5])$"); options_add(&arctech_switch->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]{1,7}|[1-5][0-9]{7}|6([0-6][0-9]{6}|7(0[0-9]{5}|10([0-7][0-9]{3}|8([0-7][0-9]{2}|8([0-5][0-9]|6[0-3]))))))$"); options_add(&arctech_switch->options, 'a', "all", OPTION_OPT_VALUE, CONFIG_OPTIONAL, JSON_NUMBER, NULL, NULL); options_add(&arctech_switch->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); arctech_switch->parseBinary=&arctechSwParseBinary; arctech_switch->createCode=&arctechSwCreateCode; arctech_switch->printHelp=&arctechSwPrintHelp; }
void arctechDimInit(void) { protocol_register(&arctech_dimmer); protocol_set_id(arctech_dimmer, "arctech_dimmers"); protocol_device_add(arctech_dimmer, "kaku_dimmer", "KlikAanKlikUit Dimmers"); protocol_conflict_add(arctech_dimmer, "arctech_contact"); protocol_plslen_add(arctech_dimmer, 300); arctech_dimmer->devtype = DIMMER; arctech_dimmer->hwtype = RF433; arctech_dimmer->pulse = 5; arctech_dimmer->rawlen = 148; arctech_dimmer->lsb = 3; options_add(&arctech_dimmer->options, 'd', "dimlevel", has_value, config_value, "^([0-9]{1}|[1][0-5])$"); options_add(&arctech_dimmer->options, 'a', "all", no_value, 0, NULL); options_add(&arctech_dimmer->options, 'u', "unit", has_value, config_id, "^([0-9]{1}|[1][0-5])$"); options_add(&arctech_dimmer->options, 'i', "id", has_value, config_id, "^([0-9]{1,7}|[1-5][0-9]{7}|6([0-6][0-9]{6}|7(0[0-9]{5}|10([0-7][0-9]{3}|8([0-7][0-9]{2}|8([0-5][0-9]|6[0-3]))))))$"); options_add(&arctech_dimmer->options, 't', "on", no_value, config_state, NULL); options_add(&arctech_dimmer->options, 'f', "off", no_value, config_state, NULL); protocol_setting_add_number(arctech_dimmer, "min", 0); protocol_setting_add_number(arctech_dimmer, "max", 15); protocol_setting_add_string(arctech_dimmer, "states", "on,off"); protocol_setting_add_number(arctech_dimmer, "readonly", 0); arctech_dimmer->parseBinary=&arctechDimParseBinary; arctech_dimmer->createCode=&arctechDimCreateCode; arctech_dimmer->printHelp=&arctechDimPrintHelp; arctech_dimmer->checkValues=&arctechDimCheckValues; }
void homeEasyOldInit(void) { protocol_register(&home_easy_old); protocol_set_id(home_easy_old, "home_easy_old"); protocol_device_add(home_easy_old, "home_easy_old", "Old Home Easy Switches"); protocol_plslen_add(home_easy_old, 289); home_easy_old->devtype = SWITCH; home_easy_old->hwtype = RF433; home_easy_old->pulse = 3; home_easy_old->rawlen = 50; home_easy_old->binlen = 12; home_easy_old->lsb = 3; options_add(&home_easy_old->options, 's', "systemcode", has_value, config_id, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&home_easy_old->options, 'u', "unitcode", has_value, config_id, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&home_easy_old->options, 'a', "all", no_value, config_state, NULL); options_add(&home_easy_old->options, 't', "on", no_value, config_state, NULL); options_add(&home_easy_old->options, 'f', "off", no_value, config_state, NULL); protocol_setting_add_string(home_easy_old, "states", "on,off"); protocol_setting_add_number(home_easy_old, "readonly", 0); home_easy_old->parseBinary=&homeEasyOldParseBinary; home_easy_old->createCode=&homeEasyOldCreateCode; home_easy_old->printHelp=&homeEasyOldPrintHelp; }
void arctechSrOldInit(void) { protocol_register(&arctech_screen_old); protocol_set_id(arctech_screen_old, "arctech_screens_old"); protocol_device_add(arctech_screen_old, "kaku_screen_old", "Old KlikAanKlikUit Screens"); protocol_conflict_add(arctech_screen_old, "arctech_switches_old"); protocol_plslen_add(arctech_screen_old, 336); arctech_screen_old->devtype = SCREEN; arctech_screen_old->hwtype = RF433; arctech_screen_old->pulse = 3; arctech_screen_old->rawlen = 50; arctech_screen_old->binlen = 12; arctech_screen_old->lsb = 2; options_add(&arctech_screen_old->options, 't', "up", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_screen_old->options, 'f', "down", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_screen_old->options, 'u', "unit", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]{1}|[1][0-5])$"); options_add(&arctech_screen_old->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&arctech_screen_old->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); arctech_screen_old->parseBinary=&arctechSrOldParseBinary; arctech_screen_old->createCode=&arctechSrOldCreateCode; arctech_screen_old->printHelp=&arctechSrOldPrintHelp; }
void rc101Init(void) { protocol_register(&rc101); protocol_set_id(rc101, "rc101"); protocol_device_add(rc101, "rc101", "rc101 Switches"); protocol_device_add(rc101, "rc102", "rc102 Switches"); protocol_plslen_add(rc101, 241); rc101->devtype = SWITCH; rc101->hwtype = RF433; rc101->pulse = 3; rc101->rawlen = 66; rc101->binlen = 16; options_add(&rc101->options, 'i', "id", OPTION_HAS_VALUE, DEVICES_ID, JSON_NUMBER, NULL, "^([0-4])$"); options_add(&rc101->options, 'u', "unit", OPTION_HAS_VALUE, DEVICES_ID, JSON_NUMBER, NULL, "^([0-4])$"); options_add(&rc101->options, 't', "on", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&rc101->options, 'f', "off", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&rc101->options, 'a', "all", OPTION_OPT_VALUE, DEVICES_OPTIONAL, JSON_NUMBER, NULL, NULL); options_add(&rc101->options, 0, "readonly", OPTION_HAS_VALUE, GUI_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); rc101->parseCode=&rc101ParseCode; rc101->createCode=&rc101CreateCode; rc101->printHelp=&rc101PrintHelp; }
void threechanInit(void) { protocol_register(&threechan); protocol_set_id(threechan, "threechan"); protocol_device_add(threechan, "threechan", "3 Channel Weather Stations"); protocol_plslen_add(threechan, 266); protocol_conflict_add(threechan, "alecto"); protocol_conflict_add(threechan, "teknihall"); threechan->devtype = WEATHER; threechan->hwtype = RF433; threechan->pulse = 15; threechan->rawlen = 74; options_add(&threechan->options, 't', "temperature", OPTION_HAS_VALUE, CONFIG_VALUE, JSON_NUMBER, NULL, "^[0-9]{1,3}$"); options_add(&threechan->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "[0-9]"); options_add(&threechan->options, 'h', "humidity", OPTION_HAS_VALUE, CONFIG_VALUE, JSON_NUMBER, NULL, "[0-9]"); options_add(&threechan->options, 'b', "battery", OPTION_HAS_VALUE, CONFIG_VALUE, JSON_NUMBER, NULL, "^[01]$"); options_add(&threechan->options, 0, "device-decimals", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "[0-9]"); options_add(&threechan->options, 0, "gui-decimals", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "[0-9]"); options_add(&threechan->options, 0, "gui-show-humidity", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "^[10]{1}$"); options_add(&threechan->options, 0, "gui-show-temperature", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "^[10]{1}$"); options_add(&threechan->options, 0, "gui-show-battery", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "^[10]{1}$"); threechan->parseCode=&threechanParseCode; }
void quiggGT7000Init(void) { protocol_register(&quigg_gt7000); protocol_set_id(quigg_gt7000, "quigg_gt7000"); protocol_device_add(quigg_gt7000, "quigg_gt7000", "Quigg GT-7000 Switches"); protocol_plslen_add(quigg_gt7000, (int)PULSE_QUIGG_FOOTER/PULSE_DIV); // SHORT: GT-FSI-04a range: 620... 960 quigg_gt7000->devtype = SWITCH; quigg_gt7000->hwtype = RF433; quigg_gt7000->pulse = 2; // LONG=QUIGG_PULSE_HIGH*SHORT quigg_gt7000->lsb = 0; // 42 SHORT (>600)[0]; 20 times 0-(SHORT-LONG) or 1-(LONG-SHORT) [1-2 .. 39-40]; // footer PULSE_DIV*SHORT (>6000) [41] quigg_gt7000->rawlen = 42; // 20 sys-id[0 .. 11]; unit[12,13], unit_all[14], on/off[15], dimm[16], // null[17], var[18]; Parity[19] quigg_gt7000->binlen = 20; options_add(&quigg_gt7000->options, 't', "on", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&quigg_gt7000->options, 'f', "off", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&quigg_gt7000->options, 'u', "unit", OPTION_HAS_VALUE, DEVICES_ID, JSON_NUMBER, NULL, "^([0-3])$"); options_add(&quigg_gt7000->options, 'i', "id", OPTION_HAS_VALUE, DEVICES_ID, JSON_NUMBER, NULL, "^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-3][0-9][0-9][0-9]|40[0-8][0-9]|409[0-5])$"); options_add(&quigg_gt7000->options, 'a', "all", OPTION_NO_VALUE, DEVICES_SETTING, JSON_NUMBER, NULL, NULL); options_add(&quigg_gt7000->options, 0, "readonly", OPTION_HAS_VALUE, GUI_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); quigg_gt7000->parseCode=&quiggGT7000ParseCode; quigg_gt7000->createCode=&quiggGT7000CreateCode; quigg_gt7000->printHelp=&quiggGT7000PrintHelp; }
void pilightFirmwareV2Init(void) { protocol_register(&pilight_firmware_v2); protocol_set_id(pilight_firmware_v2, "pilight_firmware"); protocol_device_add(pilight_firmware_v2, "pilight_firmware", "pilight filter firmware"); protocol_plslen_add(pilight_firmware_v2, 230); protocol_plslen_add(pilight_firmware_v2, 220); pilight_firmware_v2->devtype = INTERNAL; pilight_firmware_v2->hwtype = HWINTERNAL; pilight_firmware_v2->pulse = 3; pilight_firmware_v2->rawlen = 196; pilight_firmware_v2->lsb = 3; options_add(&pilight_firmware_v2->options, 'v', "version", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^[0-9]+$"); options_add(&pilight_firmware_v2->options, 'l', "lpf", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^[0-9]+$"); options_add(&pilight_firmware_v2->options, 'h', "hpf", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^[0-9]+$"); pilight_firmware_v2->parseBinary=&pilightFirmwareV2ParseBinary; pilight_firmware_v2->parseRaw=&pilightFirmwareV2ParseRaw; }
void rev3Init(void) { protocol_register(&rev3_switch); protocol_set_id(rev3_switch, "rev3_switch"); protocol_device_add(rev3_switch, "rev3_switch", "Rev Switches v3"); protocol_plslen_add(rev3_switch, 264); protocol_plslen_add(rev3_switch, 258); rev3_switch->devtype = SWITCH; rev3_switch->hwtype = RF433; rev3_switch->pulse = 3; rev3_switch->rawlen = 50; rev3_switch->binlen = 12; options_add(&rev3_switch->options, 't', "on", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&rev3_switch->options, 'f', "off", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&rev3_switch->options, 'u', "unit", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]|[1][0-5])$"); options_add(&rev3_switch->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^(6[0123]|[12345][0-9]|[0-9]{1})$"); options_add(&rev3_switch->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); rev3_switch->parseBinary=&rev3ParseBinary; rev3_switch->createCode=&rev3CreateCode; rev3_switch->printHelp=&rev3PrintHelp; }
void pilightFirmwareInit(void) { protocol_register(&pilight_firmware); protocol_set_id(pilight_firmware, "pilight_firmware"); protocol_device_add(pilight_firmware, "pilight_firmware", "pilight filter firmware"); protocol_plslen_add(pilight_firmware, 232); pilight_firmware->devtype = INTERNAL; pilight_firmware->hwtype = HWINTERNAL; pilight_firmware->pulse = 3; pilight_firmware->rawlen = 196; pilight_firmware->lsb = 3; options_add(&pilight_firmware->options, 'v', "version", has_value, config_id, "^[0-9]+$"); options_add(&pilight_firmware->options, 'l', "lpf", has_value, config_id, "^[0-9]+$"); options_add(&pilight_firmware->options, 'h', "hpf", has_value, config_id, "^[0-9]+$"); pilight_firmware->parseBinary=&pilightFirmwareParseBinary; }
void x10Init(void) { protocol_register(&x10); protocol_set_id(x10, "x10"); protocol_device_add(x10, "x10", "x10 based devices"); protocol_plslen_add(x10, 150); x10->devtype = SWITCH; x10->hwtype = RF433; x10->pulse = 12; x10->rawlen = 68; options_add(&x10->options, 't', "on", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&x10->options, 'f', "off", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&x10->options, 'i', "id", OPTION_HAS_VALUE, DEVICES_ID, JSON_STRING, NULL, "^[ABCDEFGHIJKLMNOP]([1][0-6]{1}|[1-9]{1})$"); options_add(&x10->options, 0, "readonly", OPTION_HAS_VALUE, GUI_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); x10->parseCode=&x10ParseCode; x10->createCode=&x10CreateCode; x10->printHelp=&x10PrintHelp; }
void conradRSLCnInit(void) { protocol_register(&conrad_rsl_contact); protocol_set_id(conrad_rsl_contact, "conrad_rsl_contact"); protocol_device_add(conrad_rsl_contact, "conrad_rsl_contact", "Conrad RSL Contact Sensor"); protocol_plslen_add(conrad_rsl_contact, 190); conrad_rsl_contact->devtype = SWITCH; conrad_rsl_contact->hwtype = RF433; conrad_rsl_contact->pulse = 5; conrad_rsl_contact->rawlen = 66; conrad_rsl_contact->binlen = 33; options_add(&conrad_rsl_contact->options, 'i', "id", has_value, config_id, "^(([0-9]|([1-9][0-9])|([1-9][0-9]{2})|([1-9][0-9]{3})|([1-9][0-9]{4})|([1-9][0-9]{5})|([1-9][0-9]{6})|((6710886[0-3])|(671088[0-5][0-9])|(67108[0-7][0-9]{2})|(6710[0-7][0-9]{3})|(671[0--1][0-9]{4})|(670[0-9]{5})|(6[0-6][0-9]{6})|(0[0-5][0-9]{7}))))$"); options_add(&conrad_rsl_contact->options, 't', "opened", no_value, config_state, NULL); options_add(&conrad_rsl_contact->options, 'f', "closed", no_value, config_state, NULL); protocol_setting_add_string(conrad_rsl_contact, "states", "opened,closed"); protocol_setting_add_number(conrad_rsl_contact, "readonly", 1); conrad_rsl_contact->parseCode=&conradRSLCnParseCode; }
void selectremoteInit(void) { protocol_register(&selectremote); protocol_set_id(selectremote, "selectremote"); protocol_device_add(selectremote, "selectremote", "SelectRemote Switches"); protocol_plslen_add(selectremote, 396); selectremote->devtype = SWITCH; selectremote->hwtype = RF433; selectremote->pulse = 3; selectremote->rawlen = 50; selectremote->binlen = 12; options_add(&selectremote->options, 'i', "id", OPTION_HAS_VALUE, DEVICES_ID, JSON_NUMBER, NULL, "^[0-7]$"); options_add(&selectremote->options, 't', "on", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&selectremote->options, 'f', "off", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&selectremote->options, 0, "readonly", OPTION_HAS_VALUE, GUI_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); selectremote->parseBinary=&selectremoteParseBinary; selectremote->createCode=&selectremoteCreateCode; selectremote->printHelp=&selectremotePrintHelp; }
void ehomeInit(void) { protocol_register(&ehome); protocol_set_id(ehome, "ehome"); protocol_device_add(ehome, "ehome", "eHome Switches"); protocol_plslen_add(ehome, 282); ehome->devtype = SWITCH; ehome->hwtype = RF433; ehome->pulse = 3; ehome->rawlen = 50; ehome->binlen = 12; options_add(&ehome->options, 'i', "id", OPTION_HAS_VALUE, DEVICES_ID, JSON_NUMBER, NULL, "^([0-4])$"); options_add(&ehome->options, 't', "on", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&ehome->options, 'f', "off", OPTION_NO_VALUE, DEVICES_STATE, JSON_STRING, NULL, NULL); options_add(&ehome->options, 0, "readonly", OPTION_HAS_VALUE, GUI_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); ehome->parseCode=&ehomeParseCode; ehome->createCode=&ehomeCreateCode; ehome->printHelp=&ehomePrintHelp; }
void alectoInit(void) { protocol_register(&alecto); protocol_set_id(alecto, "alecto"); protocol_device_add(alecto, "alecto", "Alecto Weather Stations"); protocol_plslen_add(alecto, 270); alecto->devtype = WEATHER; alecto->hwtype = RF433; alecto->pulse = 14; alecto->rawlen = 74; alecto->lsb = 3; options_add(&alecto->options, 't', "temperature", OPTION_HAS_VALUE, CONFIG_VALUE, JSON_NUMBER, NULL, "^[0-9]{1,3}$"); options_add(&alecto->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "[0-9]"); options_add(&alecto->options, 0, "device-decimals", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "[0-9]"); options_add(&alecto->options, 0, "gui-decimals", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "[0-9]"); options_add(&alecto->options, 0, "gui-show-humidity", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "^[10]{1}$"); options_add(&alecto->options, 0, "gui-show-temperature", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "^[10]{1}$"); options_add(&alecto->options, 0, "gui-show-battery", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)1, "^[10]{1}$"); alecto->parseCode=&alectoParseCode; }
void arctechContactInit(void) { protocol_register(&arctech_contact); protocol_set_id(arctech_contact, "arctech_contact"); protocol_device_add(arctech_contact, "kaku_contact", "KlikAanKlikUit Contact Sensor"); protocol_device_add(arctech_contact, "dio_contact", "D-IO (Chacon) Contact Sensor"); protocol_plslen_add(arctech_contact, 294); arctech_contact->devtype = SWITCH; arctech_contact->hwtype = RF433; arctech_contact->pulse = 4; arctech_contact->rawlen = 148; arctech_contact->lsb = 3; options_add(&arctech_contact->options, 'u', "unit", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]{1}|[1][0-5])$"); options_add(&arctech_contact->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]{1,7}|[1-5][0-9]{7}|6([0-6][0-9]{6}|7(0[0-9]{5}|10([0-7][0-9]{3}|8([0-7][0-9]{2}|8([0-5][0-9]|6[0-3]))))))$"); options_add(&arctech_contact->options, 't', "opened", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_contact->options, 'f', "closed", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&arctech_contact->options, 'a', "all", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); options_add(&arctech_contact->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); arctech_contact->parseBinary=&arctechContactParseBinary; }
void elroHEInit(void) { protocol_register(&elro_he); protocol_set_id(elro_he, "elro_he"); protocol_device_add(elro_he, "elro_he", "Elro Home Easy Switches"); protocol_plslen_add(elro_he, 288); elro_he->devtype = SWITCH; elro_he->hwtype = RF433; elro_he->pulse = 3; elro_he->rawlen = 50; elro_he->binlen = 12; elro_he->lsb = 3; options_add(&elro_he->options, 's', "systemcode", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&elro_he->options, 'u', "unitcode", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&elro_he->options, 't', "on", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&elro_he->options, 'f', "off", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&elro_he->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); elro_he->parseBinary=&elroHEParseBinary; elro_he->createCode=&elroHECreateCode; elro_he->printHelp=&elroHEPrintHelp; }
void pollinInit(void) { protocol_register(&pollin); protocol_set_id(pollin, "pollin"); protocol_device_add(pollin, "pollin", "Pollin Switches"); protocol_plslen_add(pollin, 301); pollin->devtype = SWITCH; pollin->hwtype = RF433; pollin->pulse = 3; pollin->rawlen = 50; pollin->binlen = 12; pollin->lsb = 3; options_add(&pollin->options, 's', "systemcode", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&pollin->options, 'u', "unitcode", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&pollin->options, 't', "on", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&pollin->options, 'f', "off", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&pollin->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); pollin->parseBinary=&pollinParseBinary; pollin->createCode=&pollinCreateCode; pollin->printHelp=&pollinPrintHelp; }
void cleverwattsInit(void) { protocol_register(&cleverwatts); protocol_set_id(cleverwatts, "cleverwatts"); protocol_device_add(cleverwatts, "cleverwatts", "Cleverwatts Switches"); protocol_plslen_add(cleverwatts, 269); cleverwatts->devtype = SWITCH; cleverwatts->hwtype = RF433; cleverwatts->pulse = 4; cleverwatts->rawlen = 50; cleverwatts->binlen = 12; options_add(&cleverwatts->options, 't', "on", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&cleverwatts->options, 'f', "off", OPTION_NO_VALUE, CONFIG_STATE, JSON_STRING, NULL, NULL); options_add(&cleverwatts->options, 'u', "unit", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-3])$"); options_add(&cleverwatts->options, 'i', "id", OPTION_HAS_VALUE, CONFIG_ID, JSON_NUMBER, NULL, "^([0-9]{1,6}|10([0-3][0-9]{4}|4([0-7][0-9]{3}|8([0-4][0-9]{2}|5([0-6][0-9]|7[0-5])))))$"); options_add(&cleverwatts->options, 'a', "all", OPTION_OPT_VALUE, CONFIG_OPTIONAL, JSON_NUMBER, NULL, NULL); options_add(&cleverwatts->options, 0, "gui-readonly", OPTION_HAS_VALUE, CONFIG_SETTING, JSON_NUMBER, (void *)0, "^[10]{1}$"); cleverwatts->parseCode=&cleverwattsParseCode; cleverwatts->createCode=&cleverwattsCreateCode; cleverwatts->printHelp=&cleverwattsPrintHelp; }