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);
}
Exemple #3
0
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;
}
Exemple #4
0
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;
}
Exemple #7
0
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;
}