FibaroPlug() {
        logger = zlog_create(stdout, Critical);

        zway = NULL;
#ifdef _WINDOWS
        ZWError r = zway_init(&zway, ZSTR("COM3"), NULL, NULL, NULL, NULL, logger);
#endif
#ifdef __MACH__
        ZWError r = zway_init(&zway, ZSTR("/dev/cu.SLAB_USBtoUART"), NULL, NULL, NULL, NULL, logger);
#endif
#ifdef __linux__
        //Aus der Doku:
    //ZWEXPORT ZWError zway_init(ZWay *pzway, ZWCSTR port, ZWCSTR config_folder, ZWCSTR translations_folder, ZWCSTR zddx_folder, ZWCSTR name, ZWLog logger);
    ZWError r = zway_init(&zway, ZSTR("/dev/ttyAMA0"), ZSTR("/opt/z-way-server/config/"), ZSTR("/opt/z-way-server/translations/"), ZSTR("/opt/z-way-server/ZDDX/"), NULL, logger);
    zway_log(zway, Debug, ZSTR("ZWAY device successfully created"));
#endif
        if (r != NoError) {
            std::cout << "Failed to init ZWay\n";
            exit(EXIT_FAILURE);
        }

        r = zway_start(zway, print_zway_terminated, NULL);
        if (r != NoError) {
            std::cout << "Failed to start ZWay\n";
            exit(EXIT_FAILURE);
        }

        r = zway_discover(zway);
        if (r != NoError) {
            std::cout << "Failed to negotiate with Z-Wave stick\n";
            exit(EXIT_FAILURE);
        }
    }
Example #2
0
int main(int argc, const char * argv[]) {
	ZWLog logger = zlog_create(stdout, Debug);
//	ZWLog logger = NULL;
	ZWay zway = NULL;
#ifdef _WINDOWS
	ZWError r = zway_init(&zway, ZSTR("COM3"), NULL, NULL, NULL, NULL, logger);
#endif
#ifdef __MACH__
	ZWError r = zway_init(&zway, ZSTR("/dev/cu.SLAB_USBtoUART"), NULL, NULL, NULL, NULL, logger);
#endif
#ifdef __linux__
	// ZWError r = zway_init(&zway, ZSTR("/dev/ttyUSB0"), NULL, NULL, NULL, NULL, logger);
	ZWError r = zway_init(&zway, ZSTR("/dev/ttyAMA0"), NULL, NULL, NULL, NULL,
			logger);
#endif
	if (r != NoError) {
		printf("\n initError \n");
		zway_log_error(zway, Critical, "Failed to init ZWay", r);
		return -1;
	}

	printf("\ncallback\n");
	zway_device_add_callback(zway,
			DeviceAdded | DeviceRemoved | InstanceAdded | InstanceRemoved
					| CommandAdded | CommandRemoved, print_D_I_CC_event, NULL);

	printf("\nstart\n");
	r = zway_start(zway, print_zway_terminated, NULL);
	if (r != NoError) {
		printf("\nstartError\n");
		zway_log_error(zway, Critical, "Failed to start ZWay", r);
		return -1;
	}

	r = zway_discover(zway);
	if (r != NoError) {
		zway_log_error(zway, Critical, "Failed to negotiate with Z-Wave stick",
				r);
		return -1;
	}

	pin_init();

	printf("\ndowork\n");
	// Application code
	int code = do_work(zway);
	//int code =0;

	r = zway_stop(zway);

	zway_terminate(&zway);

	return code;
}
Example #3
0
int main(int argc, const char *argv[]) {

    ZWLog logger = zlog_create(stdout, Silent);

    ZWay zway = NULL;
#ifdef _WINDOWS
    ZWError r = zway_init(&zway, ZSTR("COM3"), NULL, NULL, NULL, NULL, logger);
#endif
#ifdef __MACH__
    ZWError r = zway_init(&zway, ZSTR("/dev/cu.SLAB_USBtoUART"), NULL, NULL, NULL, NULL, logger);
#endif
#ifdef __linux__
    ZWError r = zway_init(&zway, ZSTR("/dev/ttyAMA0"), ZSTR("/opt/z-way-server/config/"), ZSTR("/opt/z-way-server/translations/"), ZSTR("/opt/z-way-server/ZDDX/"), NULL, logger);
    zway_log(zway, Debug, ZSTR("ZWAY device successfully created"));
#endif
    if (r != NoError) {
        zway_log_error(zway, Critical, "Failed to init ZWay", r);
        return -1;
    }

    r = zway_start(zway, print_zway_terminated, NULL);
    if (r != NoError) {
        zway_log_error(zway, Critical, "Failed to start ZWay", r);
        return -1;
    }

    r = zway_discover(zway);
    if (r != NoError) {
        zway_log_error(zway, Critical, "Failed to negotiate with Z-Wave stick", r);
        return -1;
    }

    // Application code
    do_work(zway);

    r = zway_stop(zway);

    zway_terminate(&zway);

    return 0;
}