/// <summary>
        ///
        /// </summary>
        /// <param name="factory"></param>9
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "BLOCKCHAIN_TICKER.NAME", "BLOCKCHAIN_TICKER.DESCRIPTION", int.MaxValue, 1, true);

            factory.CreateNodeTemplate(DriverGuid, "BLOCKCHAIN_TICKER.NAME", "BLOCKCHAIN_TICKER.DESCRIPTION", "blockchain_ticker",
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual), DriverGuid, false, false, true, false, true, NodeDataType.NoAttribute, 1, false);

            factory.CreatePropertyTemplate(new Guid("07453b89-d9df-450c-9208-7b08d317e2c0"), "BLOCKCHAIN_TICKER.POLL_INTERVAL.NAME", "BLOCKCHAIN_TICKER.POLL_INTERVAL.DESCRIPTION", "poll",
                                           PropertyTemplateType.Range, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(TimeSpan.FromSeconds(1).TotalSeconds, TimeSpan.FromHours(2).TotalSeconds), TimeSpan.FromMinutes(5).TotalSeconds, 1, 1);

            var btcGuid = new Guid("14e2dfca-40a3-4e0b-b44b-e52ef1ca2e00");

            factory.CreateInterfaceType(btcGuid, "BLOCKCHAIN_TICKER.BTC.NAME", "BLOCKCHAIN_TICKER.BTC.DESCRIPTION", int.MaxValue, 1, true);

            factory.CreateNodeTemplate(new Guid("f728a20d-b805-4abd-9965-0e3c299a242c"), "BLOCKCHAIN_TICKER.BTC.NAME", "BLOCKCHAIN_TICKER.DESCRIPTION", "blockchain-btc", DriverGuid,
                                       btcGuid, true, true, true, false, true, NodeDataType.Date, 1, false);

            factory.CreateNodeTemplate(new Guid("c2131e7a-501e-4216-b854-cba3d693103b"), "BLOCKCHAIN_TICKER.BTC.USD.NAME", "BLOCKCHAIN_TICKER.BTC.USD.DESCRIPTION", "blockchain-btc-usd", btcGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Date, 1, false);
            factory.CreateNodeTemplate(new Guid("1305e068-17e7-416e-9610-62a91b96e026"), "BLOCKCHAIN_TICKER.BTC.USD_WITH_SYMBOL.NAME", "BLOCKCHAIN_TICKER.BTC.USD_WITH_SYMBOL.DESCRIPTION", "blockchain-btc-usd-with-symbol", btcGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Date, 1, false);


            factory.CreateNodeTemplate(new Guid("6b3975d0-631c-4537-9760-042a23aca312"), "BLOCKCHAIN_TICKER.BTC.EUR.NAME", "BLOCKCHAIN_TICKER.BTC.EUR.DESCRIPTION", "blockchain-btc-eur", btcGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Date, 1, false);

            factory.CreateNodeTemplate(new Guid("5d552cfd-a4b9-4883-98eb-108f5e4de235"), "BLOCKCHAIN_TICKER.BTC.EUR_WITH_SYMBOL.NAME", "BLOCKCHAIN_TICKER.BTC.EUR_WITH_SYMBOL.DESCRIPTION", "blockchain-btc-eur-with-symbol", btcGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Date, 1, false);
        }
예제 #2
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            var gwguid = new Guid("2ca34b3f-1c29-4ab1-99d2-ecfbf2683dd5");

            factory.CreateInterfaceType(gwguid, "ENOCEAN.DEVICE.NAME", "ENOCEAN.DEVICE.DESCRIPTION", int.MaxValue, 1,
                                        true);
            factory.CreateInterfaceType(InterfaceGuid, "ENOCEAN.LEARNED.NAME", "ENOCEAN.LEARNED.DESCRIPTION", int.MaxValue, 1,
                                        true);
            factory.CreateInterfaceType(SimulatedGuid, "ENOCEAN.SIMULATED.NAME", "ENOCEAN.SIMULATED.DESCRIPTION", int.MaxValue, 1,
                                        true);

            factory.CreateNodeTemplate(DriverGuid, "ENOCEAN.DEVICE.NAME", "ENOCEAN.DEVICE.DESCRIPTION",
                                       "enocean-device", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Usb), gwguid, false, false, true, false, true,
                                       NodeDataType.NoAttribute, 1, false);

            factory.CreatePropertyTemplate(new Guid("f68e5b59-3fea-4739-a7c5-a2e2b52c08ff"), "ENOCEAN.DEVICE.PORT.NAME",
                                           "ENOCEAN.DEVICE.PORT.DESCRIPTION", "enocean-port", PropertyTemplateType.UsbPort, DriverGuid,
                                           "COMMON.CATEGORY.ADDRESS", true, false, null, null, 1, 1);

            factory.CreateNodeTemplate(LearnedGuid, "ENOCEAN.LEARNED.NAME", "ENOCEAN.LEARNED.DESCRIPTION",
                                       "enocean-learned", gwguid, InterfaceGuid, true, false, true, false, true, NodeDataType.NoAttribute, 1,
                                       false);
            factory.CreatePropertyTemplate(new Guid("409ae6c0-3e65-4d7b-9ace-120d2074eec7"), "ENOCEAN.LEARN.NAME", "ENOCEAN.LEARN.DESCRIPTION", "learn", PropertyTemplateType.LearnMode, LearnedGuid, "COMMON.CATEGORY.MISC", true, false, null, null, 1, 1);

            factory.CreateNodeTemplate(SimulatedGuid, "ENOCEAN.SIMULATED.NAME", "ENOCEAN.SIMULATED.DESCRIPTION",
                                       "enocean-simulated", gwguid, SimulatedGuid, true, false, true, false, true, NodeDataType.NoAttribute, 1,
                                       false);

            EnOceanRorgD5Data.AddRorgD5Templates(factory, _enoceanFactory);
            EnOceanRorgA5Data.AddRorgA5Templates(factory, _enoceanFactory);
            EnOceanRorgD2Data.AddRorgD2Templates(factory, _enoceanFactory);
            EnOceanRorgF6Data.AddRorgF6Templates(factory, _enoceanFactory);

            AddWriteAbleDataPoints(factory);
        }
예제 #3
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "IKEA.TRADFRI.NAME", "IKEA.TRADFRI.DESCRIPTION", int.MaxValue, 1, true);
            factory.CreateNodeTemplate(DriverGuid, "IKEA.TRADFRI.NAME", "IKEA.TRADFRI.DESCRIPTION", "ikea.tradfri", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet),
                                       DriverGuid, false, false, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            factory.CreatePropertyTemplate(new Guid("b6b5e4ff-8511-44f4-aceb-bd80d01a141b"), "IKEA.TRADFRI.SCAN.NAME", "IKEA.TRADFRI.SCAN.DESCRIPTION",
                                           "scan", PropertyTemplateType.Scan, DriverGuid, "COMMON.CATEGORY.DISCOVERY", true, false, "", null, 0,
                                           0);

            var gwInterface = new Guid("f15cca2e-7fe5-43f6-ad8a-ea4b60fc7b56");

            factory.CreateInterfaceType(gwInterface, "IKEA.TRADFRI.GATEWAY.NAME", "IKEA.TRADFRI.GATEWAY.DESCRIPTION", int.MaxValue, int.MaxValue, true);
            factory.CreateNodeTemplate(GatewayGuid, "IKEA.TRADFRI.GATEWAY.NAME", "IKEA.TRADFRI.GATEWAY.NAME", "ikea-tradfri-gateway", DriverGuid, gwInterface, false, false, true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreatePropertyTemplate(new Guid("dbac52e1-a070-4961-b7fe-fb9ee6d924c7"), "IKEA.TRADFRI.GATEWAY.ID.NAME",
                                           "IKEA.TRADFRI.GATEWAY.ID.DESCRIPTION", IdAddressPropertyKey, PropertyTemplateType.Text, GatewayGuid,
                                           "COMMON.CATEGORY.ADDRESS", true, false, "", null, 1, 0);

            factory.CreatePropertyTemplate(new Guid("330b668e-2f46-42c3-b44e-b42a149a2a0d"), "IKEA.TRADFRI.GATEWAY.SECRET.NAME",
                                           "IKEA.TRADFRI.GATEWAY.SECRET.DESCRIPTION", SecretPropertyKey, PropertyTemplateType.Text,
                                           GatewayGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", null, 1, 1);

            factory.CreatePropertyTemplate(new Guid("22438ff2-4739-4fd0-a2a0-abe691dfe1b4"), "IKEA.TRADFRI.GATEWAY.CONNECTION_KEY.NAME",
                                           "IKEA.TRADFRI.GATEWAY.CONNECTION_KEY.DESCRIPTION", ConnectionPropertyKey, PropertyTemplateType.Text,
                                           GatewayGuid, "COMMON.CATEGORY.ADDRESS", false, true, "", null, 1, 2);

            factory.CreatePropertyTemplate(new Guid("252d18ed-af14-447c-8472-2d3d0d15ff0d"), "IKEA.TRADFRI.GATEWAY.SCAN.NAME", "IKEA.TRADFRI.GATEWAY.SCAN.DESCRIPTION",
                                           "scan", PropertyTemplateType.Scan, GatewayGuid, "COMMON.CATEGORY.DISCOVERY", true, false, "", null, 2,
                                           0);

            CreateSwitch(factory, gwInterface);
            CreateLight(factory, gwInterface);
        }
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(InterfaceId, "HUE_BRIDGE_SIMULATOR.NAME", "HUE_BRIDGE_SIMULATOR.DESCRIPTION", int.MaxValue, 1, true);
            factory.CreateInterfaceType(OnOffLight, "HUE_BRIDGE_SIMULATOR.ON_OFF.NAME", "HUE_BRIDGE_SIMULATOR.ON_OFF.DESCRIPTION", int.MaxValue, 1, true);


            factory.CreateNodeTemplate(BusId, "HUE_BRIDGE_SIMULATOR.NAME", "HUE_BRIDGE_SIMULATOR.DESCRIPTION", "hue-bridge-simulator", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual),
                                       InterfaceId, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            factory.CreateNodeTemplate(OnOffLight, "HUE_BRIDGE_SIMULATOR.ON_OFF.NAME", "HUE_BRIDGE_SIMULATOR.ONF_OFF.DESCRIPTION", "hue-onoff", InterfaceId, OnOffLight, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);
            factory.CreateNodeTemplate(OnOffLightState, "HUE_BRIDGE_SIMULATOR.ON_OFF.STATE.NAME", "HUE_BRIDGE_SIMULATOR.ON_OFF.STATE.DESCRIPTION", "hue-onoff-state", OnOffLight, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, false, true, true, true, NodeDataType.Boolean, 1, false);
            factory.CreateNodeTemplate(OnOffLightSwitch, "HUE_BRIDGE_SIMULATOR.ON_OFF.SWITCH.NAME", "HUE_BRIDGE_SIMULATOR.ONF_OFF.SWITCH.DESCRIPTION", "hue-onoff-switch", OnOffLight, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Boolean, 1, false);
        }
예제 #5
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(InterfaceId, "CONSTANTS.NAME", "CONSTANTS.DESCRIPTION", int.MaxValue, 1, true);

            factory.CreateNodeTemplate(BusId, "CONSTANTS.NAME", "CONSTANTS.DESCRIPTION", "consts", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual),
                                       InterfaceId, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            factory.CreateNodeTemplate(ValueId, "CONSTANTS.NODE.CONSTANT.NAME", "CONSTANTS.NODE.CONSTANT.DESCRIPTION", "const", InterfaceId,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, false, true, NodeDataType.Integer, Int32.MaxValue, false);
            factory.CreatePropertyTemplate(PropertyValueId, "CONSTANTS.PROPERTY.VALUE.NAME", "CONSTANTS.PROPERTY.VALUE.DESCRIPTION", "const_value", PropertyTemplateType.Integer,
                                           ValueId, "CONSTANTS.CATEGORY.VALUE", true, false, "", "", 1, 1);


            factory.CreateNodeTemplate(PiId, "CONSTANTS.NODE.PI.NAME", "CONSTANTS.NODE.PI.DESCRIPTION", "const_pi", InterfaceId,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, false, true, NodeDataType.Double, Int32.MaxValue, false);

            factory.CreateNodeTemplate(HalfPiId, "CONSTANTS.NODE.HALF_PI.NAME", "CONSTANTS.NODE.HALF_PI.DESCRIPTION", "const_halfpi", InterfaceId,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, false, true, NodeDataType.Double, Int32.MaxValue, false);


            factory.CreateNodeTemplate(DoublePiId, "CONSTANTS.NODE.DOUBLE_PI.NAME", "CONSTANTS.NODE.DOUBLE_PI.DESCRIPTION", "const_doublepi", InterfaceId,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, false, true, NodeDataType.Double, Int32.MaxValue, false);


            factory.CreateNodeTemplate(StringValueId, "CONSTANTS.NODE.STRING.NAME", "CONSTANTS.NODE.STRING.DESCRIPTION", "const_string", InterfaceId,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, false, true, NodeDataType.String, Int32.MaxValue, false);
            factory.CreatePropertyTemplate(StringPropertyValueId, "CONSTANTS.PROPERTY.VALUE.NAME", "CONSTANTS.PROPERTY.VALUE.DESCRIPTION", "const_value", PropertyTemplateType.Text,
                                           StringValueId, "CONSTANTS.CATEGORY.VALUE", true, false, "", "", 1, 1);
        }
예제 #6
0
        private void CreateLight(INodeTemplateFactory factory)
        {
            var interfaceGuid = new Guid("6d07b0a9-4635-4404-8254-76079ea7f6ce");

            factory.CreateInterfaceType(interfaceGuid, "APPLE_HOMEKIT_SERVER.BULB.NAME",
                                        "APPLE_HOMEKIT_SERVER.BULB.DESCRIPTION", 3, int.MaxValue, false);

            factory.CreateNodeTemplate(interfaceGuid, "APPLE_HOMEKIT_SERVER.BULB.NAME",
                                       "APPLE_HOMEKIT_SERVER.BULB.DESCRIPTION", "light-bulb-folder", DriverGuid, interfaceGuid, false, false,
                                       true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);
            AddAidProperty(interfaceGuid, factory);

            factory.CreateNodeTemplate(new Guid("37685cd8-0494-4ce4-8c59-1fddcf669aa3"), "APPLE_HOMEKIT_SERVER.BULB.SWITCH.NAME",
                                       "APPLE_HOMEKIT_SERVER.BULB.SWITCH.DESCRIPTION", "light-bulb-switch", interfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       true, false, false, NodeDataType.Boolean, 1, false);

            factory.CreateNodeTemplate(new Guid("a0c1a70f-ca76-40e5-b7a1-74ff62edfd19"), "APPLE_HOMEKIT_SERVER.BULB.STATUS.NAME",
                                       "APPLE_HOMEKIT_SERVER.BULB.STATUS.DESCRIPTION", "light-bulb-status", interfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, false,
                                       true, true, false, NodeDataType.Boolean, 1, false);

            factory.CreateNodeTemplate(new Guid("79e7c522-3eaa-49af-8985-44b345e30473"), "APPLE_HOMEKIT_SERVER.BULB.BRIGHTNESS.NAME",
                                       "APPLE_HOMEKIT_SERVER.BULB.BRIGHTNESS.DESCRIPTION", "light-bulb-brightness", interfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, false,
                                       true, true, false, NodeDataType.Integer, 1, false);

            factory.CreateNodeTemplate(new Guid("515b3a15-9bc5-4121-9f89-36abbb7108c8"), "APPLE_HOMEKIT_SERVER.BULB.HUE.NAME",
                                       "APPLE_HOMEKIT_SERVER.HUE.BRIGHTNESS.DESCRIPTION", "light-bulb-hue", interfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true,
                                       true, true, false, NodeDataType.String, 1, false);
        }
예제 #7
0
        private void CreateLight(INodeTemplateFactory factory, Guid gwInterface)
        {
            factory.CreateInterfaceType(LightInterfaceGuid, "IKEA.TRADFRI.LIGHT.NAME", "IKEA.TRADFRI.LIGHT.DESCRIPTION", 0, 0, false);

            factory.CreateNodeTemplate(LightContainerGuid, "IKEA.TRADFRI.LIGHT.NAME",
                                       "IKEA.TRADFRI.LIGHT.DESCRIPTION", "container", gwInterface, LightInterfaceGuid, false, false, true,
                                       false, true, NodeDataType.NoAttribute, 0, false);

            factory.CreatePropertyTemplate(new Guid("ae3582db-310e-4a10-9af9-27ef561e475a"), "IKEA.TRADFRI.DEVICE.ID.NAME", "IKEA.TRADFRI.DEVICE.ID.DESCRIPTION",
                                           DeviceIdPropertyKey, PropertyTemplateType.Numeric, LightContainerGuid, "COMMON.CATEGORY.ADDRESS", true, false, null, null, 0,
                                           0);

            factory.CreateNodeTemplate(LightGuid, "IKEA.TRADFRI.LIGHT.SWITCH.NAME", "IKEA.TRADFRI.LIGHT.SWITCH.DESCRIPTION",
                                       "ikea-light-switch", LightInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       false, true, false, NodeDataType.Boolean, 1, false);
            factory.ChangeDefaultVisuTemplate(LightGuid, VisuMobileObjectTemplateTypes.ToggleButton);

            factory.CreateNodeTemplate(LightDimmerGuid, "IKEA.TRADFRI.LIGHT.DIMMER.NAME", "IKEA.TRADFRI.LIGHT.DIMMER.DESCRIPTION",
                                       "ikea-light-dimmer", LightInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       false, true, false, NodeDataType.Integer, 1, false);

            factory.CreateNodeTemplate(LightColorGuid, "IKEA.TRADFRI.LIGHT.COLOR.NAME", "IKEA.TRADFRI.LIGHT.COLOR.DESCRIPTION",
                                       "ikea-light-dimmer", LightInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       false, true, false, NodeDataType.String, 1, false);
        }
예제 #8
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            base.InitNodeTemplates(factory);


            factory.CreateInterfaceType(DateTimeInterfaceGuid, "TIMES.INTERFACE.NAME", "TIMES.INTERFACE.NAME", int.MaxValue, 1, true);

            factory.CreateNodeTemplate(DriverGuid, "TIMES.DATETIME.NAME", "TIMES.DATETIME.DESCRIPTION", "times", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual), DateTimeInterfaceGuid, false, true, true, false, true, NodeDataType.NoAttribute, 1, false);

            factory.CreateNodeTemplate(DateTime, "TIMES.DATETIME.DATETIME.NAME", "TIMES.DATETIME.DATETIME.DESCRIPTION", "times-datetime", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.DateTime, 1, false);
            factory.CreateNodeTemplate(Date, "TIMES.DATETIME.DATE.NAME", "TIMES.DATETIME.DATE.DESCRIPTION", "times-date", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Date, 1, false);
            factory.CreateNodeTemplate(Time, "TIMES.DATETIME.TIME.NAME", "TIMES.DATETIME.TIME.DESCRIPTION", "times-time", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Time, 1, false);


            factory.CreateNodeTemplate(DayOfWeek, "TIMES.DATETIME.DAY_OF_WEEK.NAME", "TIMES.DATETIME.DAY_OF_WEEK.DESCRIPTION", "times-day-of-week", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);
            factory.CreateNodeTemplate(DayOfMonth, "TIMES.DATETIME.DAY_OF_MONTH.NAME", "TIMES.DATETIME.DAY_OF_MONTH.DESCRIPTION", "times-day-of-month", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);
            factory.CreateNodeTemplate(Month, "TIMES.DATETIME.MONTH.NAME", "TIMES.DATETIME.MONTH.DESCRIPTION", "times-month", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);
            factory.CreateNodeTemplate(Year, "TIMES.DATETIME.YEAR.NAME", "TIMES.DATETIME.YEAR.DESCRIPTION", "times-year", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);

            factory.CreateNodeTemplate(Milliseconds, "TIMES.DATETIME.MILLISECONDS.NAME", "TIMES.DATETIME.MILLISECONDS.DESCRIPTION", "times-milliseconds", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);
            factory.CreateNodeTemplate(Seconds, "TIMES.DATETIME.SECONDS.NAME", "TIMES.DATETIME.SECONDS.DESCRIPTION", "times-seconds", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);
            factory.CreateNodeTemplate(Minutes, "TIMES.DATETIME.MINUTES.NAME", "TIMES.DATETIME.MINUTES.DESCRIPTION", "times-minutes", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);
            factory.CreateNodeTemplate(Hours, "TIMES.DATETIME.HOURS.NAME", "TIMES.DATETIME.HOURS.DESCRIPTION", "times-hours", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);

            factory.CreateNodeTemplate(SecondsSinceBoot, "TIMES.DATETIME.SECONDS_SINCE_BOOT.NAME", "TIMES.DATETIME.SECONDS_SINCE_BOOT.DESCRIPTION", "times-running", DateTimeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);
        }
예제 #9
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "APPLE_HOMEKIT_SERVER.NAME", "APPLE_HOMEKIT_SERVER.DESCRIPTION", int.MaxValue, int.MaxValue, true);
            factory.CreateNodeTemplate(DriverGuid, "APPLE_HOMEKIT_SERVER.NAME", "APPLE_HOMEKIT_SERVER.DESCRIPTION", "apple-homekit-server", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual),
                                       DriverGuid, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            factory.CreateNodeTemplate(new Guid("13d10902-a07c-4abf-a331-70ad2f95a184"), "APPLE_HOMEKIT_SERVER.PAIRING_KEY.NAME", "APPLE_HOMEKIT_SERVER.PAIRING_KEY.DESCRIPTION", "pairing-key", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.String, 1, false, false);

            factory.CreatePropertyTemplate(new Guid("4085d4eb-11c0-48ff-b005-045020729d85"), "LTSK_PRIVATE", "LTSK_PRIVATE", "ltsk-private",
                                           PropertyTemplateType.Text, DriverGuid, "", false, true, null, null, 0, 0);
            factory.CreatePropertyTemplate(new Guid("4bd1b665-61ec-4f43-b80d-ec236983d365"), "LTPK_PRIVATE", "LTPK_PRIVATE", "ltpk-private",
                                           PropertyTemplateType.Text, DriverGuid, "", false, true, null, null, 0, 0);

            factory.CreatePropertyTemplate(new Guid("c3759cf5-6a9b-4afb-b0e4-32941db684ca"), "CONFIG_VERSION", "CONFIG_VERSION", "config-version",
                                           PropertyTemplateType.Integer, DriverGuid, "", false, true, null, 1, 0, 0);


            factory.CreatePropertyTemplate(new Guid("25497b6e-8059-4dfc-8e9f-917d31c624cf"), "COMMON.PROPERTY.IPPORT.NAME", "COMMON.PROPERTY.IPPORT.DESCRIPTION", "port",
                                           PropertyTemplateType.Integer, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(1, short.MaxValue), 52634, 0, 0);

            CreateLight(factory);
            CreatePowerOutlet(factory);
            CreateContactSensor(factory);
            CreateSwitch(factory);
            CreateTemperatureSensor(factory);
        }
예제 #10
0
        private void AddDpt3Nodes(INodeTemplateFactory factory, Guid parentNode)
        {
            var dpt3InterfaceGuid = new Guid("45cdff99-5710-499c-b304-12141d4b6913");

            factory.CreateInterfaceType(dpt3InterfaceGuid, "KNX.DPT3.NAME", "KNX.DPT3.DESCRIPTION", 2, Int32.MaxValue,
                                        false);

            var dpt3Guid = new Guid("99d97125-b566-4cac-8210-3ba792db3c04");

            factory.CreateNodeTemplate(dpt3Guid, "KNX.DPT3.NAME", "KNX.DPT3.DESCRIPTION", "knx-dpt3",
                                       parentNode, dpt3InterfaceGuid, false, true, false, true, false,
                                       NodeDataType.NoAttribute, int.MaxValue, false);
            InitDptType((int)DptType.Dpt2, dpt3Guid, factory);


            var dpt3Control  = new Guid("40610606-5306-497c-8ebc-f064cc70b005");
            var dpt3StepCode = new Guid("c3ba5a94-83ba-44d6-b853-ef0c945318c0");

            factory.CreateNodeTemplate(dpt3Control, "KNX.DPT3.CONTROL.NAME", "KNX.DPT3.CONTROL.DESCRIPTION",
                                       "knx-dpt2-control", dpt3InterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, false, true, false,
                                       NodeDataType.Boolean, 1, false);
            factory.CreateNodeTemplate(dpt3StepCode, "KNX.DPT3.STEPCODE.NAME", "KNX.DPT3.STEPCODE.DESCRIPTION",
                                       "knx-dpt2-step-code", dpt3InterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, false, true, false,
                                       NodeDataType.Integer, 1, false);
        }
예제 #11
0
        private void CreateInfoOnlyDigital(INodeTemplateFactory factory)
        {
            var infoOnlyDigital = new Guid("3358d7e0-592c-4489-be23-b7f5942c9d2b");

            factory.CreateInterfaceType(infoOnlyDigital, "LOXONE.MINISERVER.INFO_ONLY_DIGITAL.NAME", "LOXONE.MINISERVER.INFO_ONLY_DIGITAL.DESCRIPTION", 1, int.MaxValue, false);
            factory.CreateNodeTemplate(InfoOnlyDigitalNode, "LOXONE.MINISERVER.INFO_ONLY_DIGITAL.NAME", "LOXONE.MINISERVER.INFO_ONLY_DIGITAL.DESCRIPTION", "loxone-info-only-digital", FolderNodeInterface, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, false, true, NodeDataType.Double, int.MaxValue, false);
            CreateUuidProperty(factory, InfoOnlyDigitalNode);
        }
예제 #12
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "ZWAVE.NAME", "ZWAVE.DESCRIPTION", int.MaxValue, 1, true);
            factory.CreateNodeTemplate(DriverGuid, "ZWAVE.NAME", "ZWAVE.DESCRIPTION", "zwave", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual),
                                       DriverGuid, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            //TODO: Create your node structure here
        }
예제 #13
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "FRONIUS_SOLAR.NAME", "FRONIUS_SOLAR.DESCRIPTION", int.MaxValue, 1, true);
            factory.CreateNodeTemplate(DriverGuid, "FRONIUS_SOLAR.NAME", "FRONIUS_SOLAR.DESCRIPTION", "fronius_solar", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet),
                                       DriverGuid, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            //TODO: Create your node structure here
        }
예제 #14
0
        private void CreateInfoOnlyAnalog(INodeTemplateFactory factory)
        {
            var infoOnlyAnalog = new Guid("f72d524f-1fdc-4e0b-b1b6-ede9c500e61d");

            factory.CreateInterfaceType(infoOnlyAnalog, "LOXONE.MINISERVER.INFO_ONLY_ANALOG.NAME", "LOXONE.MINISERVER.INFO_ONLY_ANALOG.DESCRIPTION", 1, int.MaxValue, false);
            factory.CreateNodeTemplate(InfoOnlyAnlogNode, "LOXONE.MINISERVER.INFO_ONLY_ANALOG.NAME", "LOXONE.MINISERVER.INFO_ONLY_ANALOG.DESCRIPTION", "loxone-info-only-analog", FolderNodeInterface, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, false, true, NodeDataType.Double, int.MaxValue, false);
            CreateUuidProperty(factory, InfoOnlyAnlogNode);
        }
예제 #15
0
        private void CreateFolder(INodeTemplateFactory factory)
        {
            var folderInterface = FolderNodeInterface;

            factory.CreateInterfaceType(folderInterface, "LOXONE.MINISERVER.FOLDER.NAME", "LOXONE.MINISERVER.FOLDER.DESCRIPTION", int.MaxValue, int.MaxValue, false);
            var folderNode = FolderNode;

            factory.CreateNodeTemplate(folderNode, "LOXONE.MINISERVER.FOLDER.NAME", "LOXONE.MINISERVER.FOLDER.DESCRIPTION", "loxone-folder", DriverGuid, FolderNodeInterface, false, true, true, false, true, NodeDataType.NoAttribute, int.MaxValue, false, false);
        }
예제 #16
0
        private void CreateConnectionState(INodeTemplateFactory factory)
        {
            var connected = new Guid("d101bcce-be51-4aad-bf1f-11d756674b53");

            factory.CreateInterfaceType(connected, "LOXONE.MINISERVER.CONNECTED.NAME", "LOXONE.MINISERVER.CONNECTED.DESCRIPTION", 1, int.MaxValue, false);
            var connectedNode = new Guid("3887cc34-6103-4dc7-aaec-ba30e6e42710");

            factory.CreateNodeTemplate(connectedNode, "LOXONE.MINISERVER.CONNECTED.NAME", "LOXONE.MINISERVER.CONNECTED.DESCRIPTION", "loxone-connected", DriverGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Boolean, 1, false, false);
        }
예제 #17
0
        private void CreateSwitch(INodeTemplateFactory factory)
        {
            var switchGuid = new Guid("7a99a720-e031-4a76-b7ef-d734cf7e46a3");

            factory.CreateInterfaceType(switchGuid, "LOXONE.MINISERVER.SWITCH.NAME", "LOXONE.MINISERVER.SWITCH.DESCRIPTION", 1, int.MaxValue, false);
            factory.CreateNodeTemplate(SwitchNodeGuid, "LOXONE.MINISERVER.SWITCH.NAME", "LOXONE.MINISERVER.SWITCH.DESCRIPTION", "loxone-switch", FolderNodeInterface, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, true, false, NodeDataType.Boolean, int.MaxValue, false);
            factory.ChangeDefaultVisuTemplate(SwitchNodeGuid, VisuMobileObjectTemplateTypes.ToggleButton);

            CreateUuidProperty(factory, SwitchNodeGuid);
        }
예제 #18
0
        private void CreateDimmer(INodeTemplateFactory factory)
        {
            var dimmer = new Guid("fd70966f-d53b-4d7d-a625-1b0113364eef");

            factory.CreateInterfaceType(dimmer, "LOXONE.MINISERVER.DIMMER.NAME", "LOXONE.MINISERVER.DIMMER.DESCRIPTION", 1, int.MaxValue, false);
            factory.CreateNodeTemplate(DimmerNode, "LOXONE.MINISERVER.DIMMER.NAME", "LOXONE.MINISERVER.DIMMER.DESCRIPTION", "loxone-dimmer", FolderNodeInterface, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, true, false, NodeDataType.Integer, int.MaxValue, false);
            factory.ChangeDefaultVisuTemplate(DimmerNode, VisuMobileObjectTemplateTypes.Slider);

            CreateUuidProperty(factory, DimmerNode);
        }
예제 #19
0
        private void CreatePushButton(INodeTemplateFactory factory)
        {
            var pushButton = new Guid("ceae14b6-3574-4df9-9d92-f557912922dc");

            factory.CreateInterfaceType(pushButton, "LOXONE.MINISERVER.PUSH_BUTTON.NAME", "LOXONE.MINISERVER.PUSH_BUTTON.DESCRIPTION", 1, int.MaxValue, false);
            factory.CreateNodeTemplate(PushButtonNode, "LOXONE.MINISERVER.PUSH_BUTTON.NAME", "LOXONE.MINISERVER.PUSH_BUTTON.DESCRIPTION", "loxone-push-button", FolderNodeInterface, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, true, false, NodeDataType.Integer, int.MaxValue, false);
            factory.ChangeDefaultVisuTemplate(PushButtonNode, VisuMobileObjectTemplateTypes.ToggleButton);

            CreateUuidProperty(factory, PushButtonNode);
        }
예제 #20
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(InterfaceId, "MACHINE_FLAGS.NAME", "MACHINE_FLAGS.DESCRIPTION", int.MaxValue, 1, true);

            factory.CreateNodeTemplate(BusId, "MACHINE_FLAGS.NAME", "MACHINE_FLAGS.DESCRIPTION", "machine-flags", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual),
                                       InterfaceId, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            factory.CreateNodeTemplate(ValueId, "MACHINE_FLAGS.NODE.NAME", "MACHINE_FLAGS.NODE.DESCRIPTION", "machine-flag", InterfaceId,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, false, true, false, NodeDataType.Double, Int32.MaxValue, false);
            factory.ChangeDefaultVisuTemplate(ValueId, VisuMobileObjectTemplateTypes.NumberBox);
        }
예제 #21
0
        private void AddWriteAbleDataPoints(INodeTemplateFactory factory)
        {
            var simulatedRelayGuid = new Guid("4a0c8c59-e8c5-4098-8420-15e886f4648f");

            factory.CreateInterfaceType(simulatedRelayGuid, "ENOCEAN.SIMULATED.RELAY.NAME", "ENOCEAN.SIMULATED.RELAY.DESCRIPTION", 1, Int32.MaxValue, false);

            factory.CreateNodeTemplate(new Guid("6cffa073-afcf-4cd6-8364-d294f45a17e3"), "ENOCEAN.SIMULATED.RELAY.NAME", "ENOCEAN.SIMULATED.RELAY.DESCRIPTION", "enocean-simulated-relay", SimulatedGuid, simulatedRelayGuid,
                                       false, false, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);


            factory.CreateNodeTemplate(new Guid("ac3fb6ce-88dd-4385-8e30-9b5a6be9b593"), "ENOCEAN.SIMULATED.RELAY.VALUE.NAME", "ENOCEAN.SIMULATED.RELAY.VALUE.DESCRIPTION", "enocean-simulated-relay-value", simulatedRelayGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value),
                                       true, false, true, true, true, NodeDataType.Boolean, 1, false);
        }
예제 #22
0
        private static void AddFunctionD5_00Templates(INodeTemplateFactory factory, Guid rorgInterfaceGuid, EnOceanTemplateFactory enoceanFactory)
        {
            Guid interfaceGuid = GenerateNewGuid(FunctionD5_00Guid, 1);

            factory.CreateInterfaceType(interfaceGuid, "ENOCEAN.RORG_D5.FUNCTION_00.NAME", "ENOCEAN.RORG_D5.FUNCTION_00.DESCRIPTION", Int32.MaxValue, int.MaxValue, true);

            factory.CreateNodeTemplate(FunctionD5_00Guid, "ENOCEAN.RORG_D5.FUNCTION_00.NAME", "ENOCEAN.RORG_D5.FUNCTION_00.DESCRIPTION",
                                       "enocean-function-00", rorgInterfaceGuid, interfaceGuid, false, false, true, false, true,
                                       NodeDataType.NoAttribute, int.MaxValue, false);

            enoceanFactory.AddTemplate(0xD5, FunctionD5_00Guid);
            AddTypesD5_00_01_1Templates(factory, interfaceGuid, enoceanFactory);
        }
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(InterfaceId, "WAKE_ON_LAN.NAME", "WAKE_ON_LAN.DESCRIPTION", int.MaxValue, 1, true);

            factory.CreateNodeTemplate(BusId, "WAKE_ON_LAN.NAME", "WAKE_ON_LAN.DESCRIPTION", "wol", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet),
                                       InterfaceId, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            factory.CreateNodeTemplate(ValueId, "WAKE_ON_LAN.NODE.NAME", "WAKE_ON_LAN.NODE.DESCRIPTION", "wol", InterfaceId,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, false, true, false, NodeDataType.Boolean, Int32.MaxValue, false);

            factory.CreatePropertyTemplate(MacId, "WAKE_ON_LAN.MAC.NAME", "WAKE_ON_LAN.MAC.DESCRIPTION", "mac",
                                           PropertyTemplateType.Text, ValueId, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateMaxLengthMetaString(12), null, 0, 5);
        }
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Board), "Board", "", int.MaxValue, int.MaxValue, false);



            factory.CreateInterfaceType(AutomaticaDeviceInterface, "Automatica.Remote.Device", "", int.MaxValue, 1, true);
            factory.CreateInterfaceType(AutomaticaBoardInterface, "Automatica.Remote.Device.Board", "", 1, 1, true);
            factory.CreateInterfaceType(AutomaticaBoardInterfaceInterface, "Automatica.Remote.Device.Board.Interface", "", 1, 1, true);

            factory.CreateNodeTemplate(DriverGuid, "Automatica.Device", "", "automatica-device",
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet), AutomaticaDeviceInterface, false, false, true, false, true, NodeDataType.NoAttribute,
                                       Int32.MaxValue, false);


            factory.CreatePropertyTemplate(IpProperty, "AUTOMATICA_REMOTE.IP.NAME", "AUTOMATICA_REMOTE.IP.DESCRIPTION",
                                           "automatica.remote.ip", PropertyTemplateType.Ip, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", "", 1, 1);
            factory.CreatePropertyTemplate(new Guid("4db70f0f-12ef-4cde-8844-d86b66d94a84"), "AUTOMATICA_REMOTE.PORT.NAME", "AUTOMATICA_REMOTE.PORT.DESCRIPTION",
                                           "automatica.remote.port", PropertyTemplateType.Integer, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(0, ushort.MaxValue), "5001", 1, 1);

            factory.CreatePropertyTemplate(new Guid("4742b192-fd71-47ab-a640-7db60054baf1"), "AUTOMATICA_REMOTE.USER.NAME", "AUTOMATICA_REMOTE.USER.DESCRIPTION",
                                           "automatica.remote.user", PropertyTemplateType.Ip, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", "", 1, 1);

            factory.CreatePropertyTemplate(new Guid("0de1444e-02de-4e5a-b171-03a287135702"), "AUTOMATICA_REMOTE.PASSWORD.NAME", "AUTOMATICA_REMOTE.PASSWORD.DESCRIPTION",
                                           "automatica.remote.password", PropertyTemplateType.Ip, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", "", 1, 1);


            factory.CreatePropertyTemplate(ScanProperty, "Scan", "Scan the device for datapoints",
                                           "automatica.remote.scan", PropertyTemplateType.Scan, DriverGuid, "Recovery", true, false, "", "", 1, 1);

            factory.CreateNodeTemplate(new Guid("121d76c8-e046-4d0b-b9c2-bc45d1b0c744"), "AUTOMATICA.REMOTE.BOARD_TYPE.NAME",
                                       "AUTOMATICA.REMOTE.BOARD_TYPE.DESCRIPTION", "automatica-device-board", AutomaticaDeviceInterface,
                                       AutomaticaBoardInterface, false, false, true, false, true, NodeDataType.NoAttribute, 0, false);

            factory.CreateNodeTemplate(new Guid("9db04aa0-8962-4764-aae1-1348801e75c5"), "AUTOMATICA.REMOTE.BOARD_INTERFACE.NAME",
                                       "AUTOMATICA.REMOTE.BOARD_INTERFACE.DESCRIPTION", "automatica-device-board", AutomaticaBoardInterface,
                                       AutomaticaBoardInterfaceInterface, false, false, true, false, true, NodeDataType.NoAttribute, 0, false);
        }
예제 #25
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "SONOS.NAME", "SONOS.DESCRIPTION", int.MaxValue, 1, true);
            factory.CreateNodeTemplate(DriverGuid, "SONOS.NAME", "SONOS.DESCRIPTION", "sonos", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet),
                                       DriverGuid, false, false, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);

            factory.CreatePropertyTemplate(new Guid("293865c5-8aac-4695-9cc0-52eb79129ee3"), "SONOS.SCAN.NAME", "SONOS.SCAN.DESCRIPTION",
                                           "scan", PropertyTemplateType.Scan, DriverGuid, "COMMON.CATEGORY.DISCOVERY", true, false, "", null, 0,
                                           0);

            var gwInterface = SonosDeviceInterfaceGuid;

            factory.CreateInterfaceType(gwInterface, "SONOS.DEVICE.NAME", "SONOS.DEVICE.DESCRIPTION", int.MaxValue, int.MaxValue, true);
            factory.CreateNodeTemplate(SonosDeviceGuid, "SONOS.DEVICE.NAME", "SONOS.DEVICE.NAME", "sonos-device", DriverGuid, gwInterface, false, false, true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreatePropertyTemplate(new Guid("594be0ff-63c4-4e46-9cc8-37ff7ccf80a2"), "SONOS.DEVICE.ID.NAME",
                                           "SONOS.DEVICE.ID.DESCRIPTION", IdAddressPropertyKey, PropertyTemplateType.Text, SonosDeviceGuid,
                                           "COMMON.CATEGORY.ADDRESS", true, false, "", null, 1, 0);

            factory.CreatePropertyTemplate(new Guid("d103c3c5-0937-4596-a94e-caefeb66eda6"), "SONOS.DEVICE.USE_FIXED_IP.NAME",
                                           "SONOS.DEVICE.USE_FIXED_IP.DESCRIPTION", UseFixedIpAddressPropertyKey, PropertyTemplateType.Bool, SonosDeviceGuid,
                                           "COMMON.CATEGORY.ADDRESS", true, false, "", null, 1, 0);

            factory.CreatePropertyTemplate(new Guid("5a37d2f6-b081-4637-b72c-3fb40dcf45b7"), "SONOS.DEVICE.IP.NAME",
                                           "SONOS.DEVICE.IP.DESCRIPTION", IpAddressPropertyKey, PropertyTemplateType.Ip, SonosDeviceGuid,
                                           "COMMON.CATEGORY.ADDRESS", true, false, "", null, 1, 0);


            CreateAction(factory, PlayGuid, "play", true, true, NodeDataType.Boolean);
            CreateAction(factory, PauseGuid, "pause", true, true, NodeDataType.Boolean);
            CreateAction(factory, VolumeGuid, "set_volume", true, true, NodeDataType.Integer);
            CreateAction(factory, NextTrack, "next", true, true, NodeDataType.Boolean);

            CreateAction(factory, SetTuneInRadio, "set_tune_in", true, true, NodeDataType.Integer);
            CreateAction(factory, SetTuneInRadioAndPlay, "set_tune_in_play", true, true, NodeDataType.Integer);
        }
예제 #26
0
        private void CreateSwitch(INodeTemplateFactory factory)
        {
            var interfaceGuid = new Guid("f107b325-e7c4-46dc-ae56-f2b99ecc5dbe");

            factory.CreateInterfaceType(interfaceGuid, "APPLE_HOMEKIT_SERVER.SWITCH.NAME",
                                        "APPLE_HOMEKIT_SERVER.SWITCH.DESCRIPTION", 1, int.MaxValue, false);

            factory.CreateNodeTemplate(interfaceGuid, "APPLE_HOMEKIT_SERVER.SWITCH.NAME",
                                       "APPLE_HOMEKIT_SERVER.SWITCH.DESCRIPTION", "switch-folder", DriverGuid, interfaceGuid, false, false,
                                       true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreateNodeTemplate(new Guid("6e6cd234-b1b6-466f-8bea-2bffba36592f"), "APPLE_HOMEKIT_SERVER.SWITCH.SWITCH.NAME",
                                       "APPLE_HOMEKIT_SERVER.SWITCH.SWITCH.DESCRIPTION", "switch", interfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       true, true, false, NodeDataType.Boolean, 1, false);
        }
예제 #27
0
        private void CreateContactSensor(INodeTemplateFactory factory)
        {
            var interfaceGuid = new Guid("57303efc-252d-4a2f-b5ec-4a6651e9ef0e");

            factory.CreateInterfaceType(interfaceGuid, "APPLE_HOMEKIT_SERVER.CONTACT_SENSOR.NAME",
                                        "APPLE_HOMEKIT_SERVER.CONTACT_SENSOR.DESCRIPTION", 1, int.MaxValue, false);

            factory.CreateNodeTemplate(interfaceGuid, "APPLE_HOMEKIT_SERVER.CONTACT_SENSOR.NAME",
                                       "APPLE_HOMEKIT_SERVER.CONTACT_SENSOR.DESCRIPTION", "contact-sensor-folder", DriverGuid, interfaceGuid, false, false,
                                       true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreateNodeTemplate(new Guid("e3d05974-6c44-4ac8-9eea-a29e036de343"), "APPLE_HOMEKIT_SERVER.CONTACT_SENSOR.CONTACT.NAME",
                                       "APPLE_HOMEKIT_SERVER.CONTACT_SENSOR.CONTACT.DESCRIPTION", "contact-sensor", interfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       true, true, false, NodeDataType.Boolean, 1, false);
        }
예제 #28
0
        private void CreatePowerOutlet(INodeTemplateFactory factory)
        {
            var interfaceGuid = new Guid("a0809786-de41-40b9-ae7f-076862068464");

            factory.CreateInterfaceType(interfaceGuid, "APPLE_HOMEKIT_SERVER.OUTLET.NAME",
                                        "APPLE_HOMEKIT_SERVER.OUTLET.DESCRIPTION", 1, int.MaxValue, false);

            factory.CreateNodeTemplate(interfaceGuid, "APPLE_HOMEKIT_SERVER.OUTLET.NAME",
                                       "APPLE_HOMEKIT_SERVER.OUTLET.DESCRIPTION", "power-outlet-folder", DriverGuid, interfaceGuid, false, false,
                                       true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreateNodeTemplate(new Guid("123fb63d-943e-4c8c-8c59-1586eb79b961"), "APPLE_HOMEKIT_SERVER.OUTLET.SWITCH.NAME",
                                       "APPLE_HOMEKIT_SERVER.OUTLET.SWITCH.DESCRIPTION", "power-outlet-switch", interfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       true, true, false, NodeDataType.Boolean, 1, false);
        }
예제 #29
0
        private void CreateTemperatureSensor(INodeTemplateFactory factory)
        {
            var interfaceGuid = new Guid("98b69750-964f-487b-9195-175f6d976099");

            factory.CreateInterfaceType(interfaceGuid, "APPLE_HOMEKIT_SERVER.TEMPERATURE_SENSOR.NAME",
                                        "APPLE_HOMEKIT_SERVER.TEMPERATURE_SENSOR.DESCRIPTION", 1, int.MaxValue, false);

            factory.CreateNodeTemplate(interfaceGuid, "APPLE_HOMEKIT_SERVER.TEMPERATURE_SENSOR.NAME",
                                       "APPLE_HOMEKIT_SERVER.TEMPERATURE_SENSOR.DESCRIPTION", "temperature-sensor-folder", DriverGuid, interfaceGuid, false, false,
                                       true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreateNodeTemplate(new Guid("693e8ded-b488-4991-971a-c2b46c2b1dcd"), "APPLE_HOMEKIT_SERVER.TEMPERATURE_SENSOR.VALUE.NAME",
                                       "APPLE_HOMEKIT_SERVER.TEMPERATURE_SENSOR.VALUE.DESCRIPTION", "temperature-sensor", interfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       true, true, false, NodeDataType.Double, 1, false);
        }
예제 #30
0
        public static void AddRorgD5Templates(INodeTemplateFactory factory, EnOceanTemplateFactory enoceanFactory)
        {
            var nodeGuid = RorgD5Guid;

            Guid interfaceGuid = GenerateNewGuid(nodeGuid, 1);

            factory.CreateInterfaceType(interfaceGuid, "ENOCEAN.RORG_D5.NAME", "ENOCEAN.RORG_D5.DESCRIPTION", Int32.MaxValue, int.MaxValue, true);


            factory.CreateNodeTemplate(nodeGuid, "ENOCEAN.RORG_D5.NAME", "ENOCEAN.RORG_D5.DESCRIPTION",
                                       "enocean-rorg-D5", EnOceanDriverFactory.InterfaceGuid, interfaceGuid, false, false, true, false, true,
                                       NodeDataType.NoAttribute, int.MaxValue, false);

            enoceanFactory.AddTemplate(0xD5, nodeGuid);
            AddFunctionD5_00Templates(factory, interfaceGuid, enoceanFactory);
        }