void arctechSwInit(void) { protocol_register(&arctech_switch); arctech_switch->id = malloc(18); strcpy(arctech_switch->id, "archtech_switches"); protocol_add_device(arctech_switch, "kaku_switch", "KlikAanKlikUit Switches"); protocol_add_device(arctech_switch, "dio_switch", "D-IO (Chacon) Switches"); protocol_add_device(arctech_switch, "nexa_switch", "Nexa Switches"); protocol_add_device(arctech_switch, "coco_switch", "CoCo Technologies Switches"); protocol_add_device(arctech_switch, "intertechno_switch", "Intertechno Switches"); protocol_add_conflict(arctech_switch, "archtech_dimmers"); arctech_switch->type = SWITCH; arctech_switch->header = 9; arctech_switch->pulse = 5; arctech_switch->footer = 35; arctech_switch->rawLength = 132; arctech_switch->lsb = 3; arctech_switch->bit = 0; arctech_switch->recording = 0; 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]))))))$"); arctech_switch->parseBinary=&arctechSwParseBinary; arctech_switch->createCode=&arctechSwCreateCode; arctech_switch->printHelp=&arctechSwPrintHelp; }
void arctechSwInit(void) { strcpy(arctech_switch.id, "archtech_switches"); protocol_add_device(&arctech_switch, "kaku_switch", "KlikAanKlikUit Switches"); protocol_add_device(&arctech_switch, "dio_switch", "D-IO (Chacon) Switches"); protocol_add_device(&arctech_switch, "nexa_switch", "Nexa Switches"); protocol_add_device(&arctech_switch, "coco_switch", "CoCo Technologies Switches"); protocol_add_conflict(&arctech_switch, "archtech_dimmers"); arctech_switch.type = SWITCH; arctech_switch.header = 9; arctech_switch.pulse = 5; arctech_switch.footer = 35; arctech_switch.length = 132; arctech_switch.message = malloc(sizeof(JsonNode)); arctech_switch.bit = 0; arctech_switch.recording = 0; addOption(&arctech_switch.options, 'a', "all", no_value, 0, NULL); addOption(&arctech_switch.options, 't', "on", no_value, config_state, NULL); addOption(&arctech_switch.options, 'f', "off", no_value, config_state, NULL); addOption(&arctech_switch.options, 'u', "unit", has_value, config_id, "^([0-9]{1}|[1][0-6])$"); addOption(&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]))))))$"); arctech_switch.parseBinary=&arctechSwParseBinary; arctech_switch.createCode=&arctechSwCreateCode; arctech_switch.printHelp=&arctechSwPrintHelp; protocol_register(&arctech_switch); }
void impulsInit(void) { protocol_register(&impuls); impuls->id = malloc(7); strcpy(impuls->id, "impuls"); protocol_add_device(impuls, "impuls", "Impuls Switches"); protocol_add_device(impuls, "select-remote", "SelectRemote Switches"); impuls->type = SWITCH; impuls->pulse = 3; impuls->footer = 33; impuls->rawLength = 50; //impuls->binLength = 12; //impuls->lsb = 1; /*impuls->bit = 0; impuls->recording = 0;*/ 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); //impuls->parseCode=&impulsParseCode; impuls->createCode=&impulsCreateCode; impuls->printHelp=&impulsPrintHelp; }
void sartanoInit(void) { strcpy(sartano.id, "sartano"); protocol_add_device(&sartano, "elro", "Elro Switches"); protocol_add_conflict(&sartano, "arctech_old"); protocol_add_conflict(&sartano, "impuls"); sartano.type = SWITCH; sartano.pulse = 4; sartano.footer = 38; sartano.rawLength = 50; sartano.binLength = 12; sartano.message = malloc(sizeof(JsonNode)); sartano.bit = 0; sartano.recording = 0; options_add(&sartano.options, 't', "on", no_value, config_state, NULL); options_add(&sartano.options, 'f', "off", no_value, config_state, NULL); options_add(&sartano.options, 'u', "unit", has_value, config_id, "^(3[012]?|[012][0-9]|[0-9]{1})$"); options_add(&sartano.options, 'i', "id", has_value, config_id, "^(3[012]?|[012][0-9]|[0-9]{1})$"); sartano.parseBinary=&sartanoParseBinary; sartano.createCode=&sartanoCreateCode; sartano.printHelp=&sartanoPrintHelp; protocol_register(&sartano); }
void arctechDimInit(void) { protocol_register(&arctech_dimmer); arctech_dimmer->id = malloc(18); strcpy(arctech_dimmer->id, "archtech_dimmers"); protocol_add_device(arctech_dimmer, "kaku_dimmer", "KlikAanKlikUit Dimmers"); arctech_dimmer->type = DIMMER; arctech_dimmer->header = 10; arctech_dimmer->pulse = 5; arctech_dimmer->footer = 38; arctech_dimmer->rawLength = 148; arctech_dimmer->lsb = 3; arctech_dimmer->bit = 0; arctech_dimmer->recording = 0; options_add(&arctech_dimmer->options, 'd', "dimlevel", has_value, config_value, "^([0-9]{1}|[1][0-6])$"); 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); arctech_dimmer->parseBinary=&arctechDimParseBinary; arctech_dimmer->createCode=&arctechDimCreateCode; arctech_dimmer->printHelp=&arctechDimPrintHelp; }
void genWeatherInit(void) { protocol_register(&generic_weather); generic_weather->id = malloc(16); strcpy(generic_weather->id, "generic_weather"); protocol_add_device(generic_weather, "generic_weather", "Generic weather stations"); generic_weather->type = WEATHER; options_add(&generic_weather->options, 'h', "humidity", has_value, config_value, "[0-9]"); options_add(&generic_weather->options, 't', "temperature", has_value, config_value, "[0-9]"); options_add(&generic_weather->options, 'i', "id", has_value, config_id, "[0-9]"); generic_weather->printHelp=&genWeatherPrintHelp; generic_weather->createCode=&genWeatherCreateCode; }
void alectoInit(void) { protocol_register(&alecto); alecto->id = malloc(7); strcpy(alecto->id, "alecto"); protocol_add_device(alecto, "alecto", "Alecto based weather stations"); alecto->type = WEATHER; alecto->header = 14; alecto->pulse = 14; alecto->footer = 30; alecto->rawLength = 74; alecto->lsb = 3; alecto->bit = 0; alecto->recording = 0; options_add(&alecto->options, 'h', "humidity", has_value, config_value, "[0-9]"); options_add(&alecto->options, 't', "temperature", has_value, config_value, "[0-9]"); options_add(&alecto->options, 'b', "battery", has_value, config_value, "[0-9]"); options_add(&alecto->options, 'i', "id", has_value, config_id, "[0-9]"); alecto->parseCode=&alectoParseCode; }