예제 #1
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);
        }
예제 #2
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);
        }
예제 #3
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);
        }
예제 #4
0
        private void CreateUuidProperty(INodeTemplateFactory factory, Guid objectRef)
        {
            var gu = GenerateNewGuid(objectRef, 1);

            factory.CreatePropertyTemplate(gu, "LOXONE.MINISERVER.PROPERTY.UUID.NAME", "LOXONE.MINISERVER.PROPERTY.UUID.DESCRIPTION", "uuid", PropertyTemplateType.Text, objectRef, "COMMON.CATEGORY.ADDRESS", true, false, null, "", 1, 1);
            factory.CreatePropertyTemplate(GenerateNewGuid(objectRef, 2), "LOXONE.MINISERVER.PROPERTY.STATE.NAME", "LOXONE.MINISERVER.PROPERTY.STATE.DESCRIPTION", "state", PropertyTemplateType.Text, objectRef, "COMMON.CATEGORY.ADDRESS", false, true, null, "", 1, 1);
        }
예제 #5
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);
        }
예제 #6
0
        private void CreateAttributeNodeTemplate(Guid guid, string name, Unit key, INodeTemplateFactory factory)
        {
            factory.CreateNodeTemplate(guid, $"MBUS.ATTRIBUTES.{name}.NAME", $"MBUS.ATTRIBUTES{name}.DESCRIPTION", "mbus-" + key,
                                       _mbusAttributeInterfaceType, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, true, false, true,
                                       NodeDataType.Double, 100, false);

            factory.CreatePropertyTemplate(GenerateNewGuid(guid, 1), "MBUS.PROPERTY.STORAGE_NUMBER.NAME", "MBUS.PROPERTY.STORAGE_NUMBER.DESCRIPTION", "mbus-storageNumber",
                                           PropertyTemplateType.Integer, guid, "MBUS.CATEGORY.ATTRIBUTE", true, false, null, "0", 0, 0);
            factory.CreatePropertyTemplate(GenerateNewGuid(guid, 2), "MBUS.PROPERTY.TARIFF.NAME", "MBUS.PROPERTY.TARIFF.DESCRIPTION", "mbus-tariff",
                                           PropertyTemplateType.Integer, guid, "MBUS.CATEGORY.ATTRIBUTE", true, false, null, "0", 0, 0);
            factory.CreatePropertyTemplate(GenerateNewGuid(guid, 3), "Type", "Type", "mbus-type",
                                           PropertyTemplateType.Integer, guid, "MBUS.CATEGORY.ATTRIBUTE", false, true, null, (int)key, 0, 0);
        }
예제 #7
0
        public override void InitTemplates(INodeTemplateFactory factory)
        {
            factory.CreateNodeTemplate(DriverGuid, "MODBUS.MASTER.TCP.NAME", "MODBUS.MASTER.TCP.DESCRIPTION", "modbus-master-tcp", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet),
                                       DeviceInterface, false, false, true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreatePropertyTemplate(new Guid("a461409d-fc55-4efc-a82f-bca85c446735"), "COMMON.PROPERTY.IP.NAME", "COMMON.PROPERTY.IP.DESCRIPTION",
                                           "modbus-master-ip", PropertyTemplateType.Ip, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", null, 1, 1);
            factory.CreatePropertyTemplate(new Guid("d5bf4e69-23a3-4c31-abf1-3b3d077929b2"), "COMMON.PROPERTY.IPPORT.NAME", "COMMON.PROPERTY.IPPORT.DESCRIPTION",
                                           "modbus-master-port", PropertyTemplateType.Range, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(1, ushort.MaxValue), 502, 1, 1);

            factory.CreatePropertyTemplate(new Guid("b1496d3c-b9d9-47f1-a54b-f9b51ff1e3db"), "type", "type", "modbus-type", PropertyTemplateType.Text,
                                           DriverGuid, "ae868066-c472-4a9b-ac3a-dd9f2ff563db", false, true, null, "MODBUS-MASTER", 0, 0);
        }
예제 #8
0
        public override void InitTemplates(INodeTemplateFactory factory)
        {
            factory.CreateNodeTemplate(DriverGuid, "MODBUS.SLAVE.TCP.NAME", "MODBUS.SLAVE.TCP.DESCRIPTION", "modbus-slave-tcp", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet),
                                       DeviceInterface, false, false, true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreatePropertyTemplate(new Guid("8c7eb99d-93db-4544-9ed3-2178a8ccd1e7"), "COMMON.PROPERTY.IPPORT.NAME", "COMMON.PROPERTY.IPPORT.DESCRIPTION", "modbus-port", PropertyTemplateType.Range,
                                           DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(1, ushort.MaxValue), 502, 1, 1);

            factory.CreatePropertyTemplate(new Guid("d04ab318-dc1b-46ee-ab88-bcc4b4d9d438"), "MODBUS.PROPERTY.IGNORE_DEVICE_ID.NAME", "MODBUS.PROPERTY.IGNORE_DEVICE_ID.DESCRIPTION", "modbus-ignoreDeviceId", PropertyTemplateType.Bool,
                                           DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", true, 1, 1);

            factory.CreatePropertyTemplate(new Guid("ee6faef8-65a7-4c77-b653-28db70a6152d"), "type", "type", "modbus-type", PropertyTemplateType.Text,
                                           DriverGuid, "405e97a3-c039-426f-80f6-4be1554f154b", false, true, null, "MODBUS-SLAVE", 0, 0);
        }
예제 #9
0
        private static void AddDataFieldD5_00_01_1_LRNTemplates(INodeTemplateFactory factory, Guid typeInterfaceGuid)
        {
            var nodeGuid = DataFieldD5_00_01_1_LRN_Guid;

            factory.CreateNodeTemplate(nodeGuid, "ENOCEAN.RORG_D5.FUNCTION_00.TYPE_01_1.SHORTCUT_LRN.NAME", "ENOCEAN.RORG_D5.FUNCTION_00.TYPE_01_1.SHORTCUT_LRN.DESCRIPTION",
                                       "enocean-shortcut-LRN", typeInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, false, true, false,
                                       NodeDataType.Boolean, 1, false);

            factory.CreatePropertyTemplate(GenerateNewGuid(nodeGuid, 1), "ENOCEAN.RORG_D5.FUNCTION_00.TYPE_01_1.SHORTCUT_LRNLRN.OFFSET", "ENOCEAN.RORG_D5.FUNCTION_00.TYPE_01_1.SHORTCUT_LRNLRN.OFFSET",
                                           "enocean-bitoffset", PropertyTemplateType.Integer, nodeGuid, "ENOCEAN", false, true, null, "4", 0, 0);

            factory.CreatePropertyTemplate(GenerateNewGuid(nodeGuid, 2), "ENOCEAN.RORG_D5.FUNCTION_00.TYPE_01_1.SHORTCUT_LRNLRN.LENGTH", "ENOCEAN.RORG_D5.FUNCTION_00.TYPE_01_1.SHORTCUT_LRNLRN.LENGTH",
                                           "enocean-length", PropertyTemplateType.Integer, nodeGuid, "ENOCEAN", false, true, null, "1", 0, 0);
        }
예제 #10
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);
        }
        /// <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);
        }
예제 #12
0
        private void InitDptType(int type, Guid node, INodeTemplateFactory factory)
        {
            AddAddressProperty(node, factory);

            factory.CreatePropertyTemplate(GenerateNewGuid(node, 2), "KNX.PROPERTIES.DPT.NAME",
                                           "KNX.PROPERTIES.DPT.DESCRIPTION", "knx-dpt", PropertyTemplateType.Integer, node,
                                           "KNX.GROUP.DPT", false, true, "", type, 0, 0);
        }
예제 #13
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            var interfaceGuid = new Guid("49be612a-3331-454c-8027-3db1b3674024");

            factory.CreateInterfaceType(interfaceGuid, "MBUS-OMS.DEVICE.NAME", "MBUS-OMS.DEVICE.DESCRIPTION", 1, 1,
                                        true);

            factory.CreateNodeTemplate(DriverGuid, "MBUS-OMS.DEVICE.NAME", "MBUS-OMS.DEVICE.DESCRIPTION",
                                       "mbus-oms-device", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.UsbIr), interfaceGuid, false, false, true, false, true,
                                       NodeDataType.NoAttribute, 1, false);

            factory.CreatePropertyTemplate(new Guid("15e87af7-963a-4386-aee5-7d5afe4b2e01"), "MBUS-OMS.DEVICE.PORT.NAME",
                                           "MBUS-OMS.DEVICE.PORT.DESCRIPTION", "mbus-oms-port", PropertyTemplateType.UsbPort, DriverGuid,
                                           "COMMON.CATEGORY.ADDRESS", true, false, null, null, 1, 1);

            factory.CreatePropertyTemplate(new Guid("cd8a6277-a8d3-4051-b757-4aa18a88aa3c"), "MBUS-OMS.DEVICE.KEY.NAME",
                                           "MBUS-OMS.DEVICE.KEY.DESCRIPTION", "mbus-oms-key", PropertyTemplateType.Text, DriverGuid,
                                           "COMMON.CATEGORY.ADDRESS", true, false, null, null, 1, 1);

            factory.CreateNodeTemplate(new Guid("49250543-3dac-43dd-abef-42fa6982189e"), "MBUS-OMS.DEVICE.DATETIME.NAME", "MBUS-OMS.DEVICE.DATETIME.DESCRIPTION", "mbus-oms-datetime", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.DateTime, 1, false, false);

            factory.CreateNodeTemplate(new Guid("cc736fc9-48e9-43aa-bc6e-c4a0356b77cb"), "MBUS-OMS.DEVICE.ENERGY_A+.NAME", "MBUS-OMS.DEVICE.ENERGY_A+.DESCRIPTION", "mbus-oms-a+", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false, false);

            factory.CreateNodeTemplate(new Guid("bdfbaff0-c3c6-4447-b02a-7c42b7ff413f"), "MBUS-OMS.DEVICE.ENERGY_A-.NAME", "MBUS-OMS.DEVICE.ENERGY_A-.DESCRIPTION", "mbus-oms-a-", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false, false);

            factory.CreateNodeTemplate(new Guid("34ce3377-49b1-4a87-8b5e-fd03d2c40363"), "MBUS-OMS.DEVICE.ENERGY_R+.NAME", "MBUS-OMS.DEVICE.ENERGY_R+.DESCRIPTION", "mbus-oms-r+", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false, false);

            factory.CreateNodeTemplate(new Guid("887d9211-ed89-4aeb-846c-40cc53ef6345"), "MBUS-OMS.DEVICE.ENERGY_R-.NAME", "MBUS-OMS.DEVICE.ENERGY_R-.DESCRIPTION", "mbus-oms-r-", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false, false);

            factory.CreateNodeTemplate(new Guid("3b0ce6dd-df80-4351-abd8-fcc6724a30f3   "), "MBUS-OMS.DEVICE.POWER+.NAME", "MBUS-OMS.DEVICE.POWER.DESCRIPTION", "mbus-oms-power+", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false, false);

            factory.CreateNodeTemplate(new Guid("b6b4291b-1ce7-4716-9670-1701a0401259"), "MBUS-OMS.DEVICE.POWER-.NAME", "MBUS-OMS.DEVICE.POWER-.DESCRIPTION", "mbus-oms-power-", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false, false);

            factory.CreateNodeTemplate(new Guid("4621c5b5-aaba-4e38-845a-a08808201ac8"), "MBUS-OMS.DEVICE.REACTIVE_POWER+.NAME", "MBUS-OMS.DEVICE.REACTIVE_POWER+.DESCRIPTION", "mbus-oms-reactive-power+", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false, false);

            factory.CreateNodeTemplate(new Guid("6fb733ff-9a2f-427c-9b3d-f4e7d222cc72"), "MBUS-OMS.DEVICE.REACTIVE_POWER-.NAME", "MBUS-OMS.DEVICE.REACTIVE_POWER-.DESCRIPTION", "mbus-oms-reactive-power-", interfaceGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false, false);
        }
        public override void InitTemplates(INodeTemplateFactory factory)
        {
            factory.CreateNodeTemplate(DriverGuid, "MODBUS.SLAVE.RTU.NAME", "MODBUS.SLAVE.RTU.DESCRIPTION", "modbus-slave-rtu", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Rs485),
                                       DeviceInterface, false, false, true, false, true, NodeDataType.NoAttribute, int.MaxValue, true);

            factory.CreatePropertyTemplate(new Guid("54fc2c02-42a8-4409-bb85-55dd6d0352b4"), "COMMON.PROPERTY.BAUDRATE.NAME", "COMMON.PROPERTY.BAUDRATE.DESCRIPTION", "modbus-baudrate",
                                           PropertyTemplateType.Baudrate, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", 9600, 0, 0);

            factory.CreatePropertyTemplate(new Guid("2046dab3-bd27-4c77-becf-92fc7b7fab9e"), "COMMON.PROPERTY.PARITY.NAME", "COMMON.PROPERTY.PARITY.DESCRIPTION", "modbus-parity",
                                           PropertyTemplateType.Parity, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", "even", 0, 0);

            factory.CreatePropertyTemplate(new Guid("3ddc6040-d66e-46e9-8ab2-a749397e1b82"), "COMMON.PROPERTY.DATABITS.NAME", "COMMON.PROPERTY.DATABITS.DESCRIPTION", "modbus-databits",
                                           PropertyTemplateType.Baudrate, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", 8, 0, 0);

            factory.CreatePropertyTemplate(new Guid("912806e1-81dd-47da-8369-3d13e8c0580f"), "COMMON.PROPERTY.STOPBITS.NAME", "COMMON.PROPERTY.STOPBITS.DESCRIPTION", "modbus-stopbits",
                                           PropertyTemplateType.Baudrate, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", 1, 0, 0);

            factory.CreatePropertyTemplate(new Guid("091a44cd-9f58-4769-9341-bb84329f51ba"), "type", "type", "modbus-type", PropertyTemplateType.Text,
                                           DriverGuid, "", false, true, null, "MODBUS-SLAVE", 0, 0);
        }
예제 #15
0
        private void AddAddressProperty(Guid nodeTemplate, INodeTemplateFactory factory, int maxAddress)
        {
            var newGuid = GenerateNewGuid(nodeTemplate, 1);

            factory.CreatePropertyTemplate(newGuid, "KNX.PROPERTIES.ADDRESS.NAME",
                                           "KNX.PROPERTIES.ADDRESS.DESCRIPTION", "knx-address", PropertyTemplateType.Range, nodeTemplate,
                                           "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(0, maxAddress), 0, 0, 0);

            factory.CreatePropertyConstraint(GenerateNewGuid(nodeTemplate, 3), "KNX.CONSTRAINT.UNIQUE_ADDRESS.NAME",
                                             "KNX.CONSTRAINT.UNIQUE_ADDRESS.NAME", PropertyConstraint.Unique, PropertyConstraintLevel.Warn, newGuid);
        }
예제 #16
0
        public override void InitTemplates(INodeTemplateFactory factory)
        {
            factory.CreateNodeTemplate(DriverGuid, "MODBUS.MASTER.RTU.NAME", "MODBUS.MASTER.RTU.DESCRIPTION", "modbus-master-rtu", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Rs485),
                                       DeviceInterface, false, false, true, false, true, NodeDataType.NoAttribute, int.MaxValue, true);

            factory.CreatePropertyTemplate(new Guid("f94b50da-c1f1-463f-a3ec-bd61a6ecc514"), "COMMON.PROPERTY.BAUDRATE.NAME", "COMMON.PROPERTY.BAUDRATE.DESCRIPTION", "modbus-baudrate",
                                           PropertyTemplateType.Baudrate, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", 9600, 0, 0);

            factory.CreatePropertyTemplate(new Guid("65ce8f30-a769-43bb-88d8-edbe5e4fa267"), "COMMON.PROPERTY.PARITY.NAME", "COMMON.PROPERTY.PARITY.DESCRIPTION", "modbus-parity",
                                           PropertyTemplateType.Parity, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", "even", 0, 0);

            factory.CreatePropertyTemplate(new Guid("208cd361-7b8a-46b8-93b3-4f0245443264"), "COMMON.PROPERTY.DATABITS.NAME", "COMMON.PROPERTY.DATABITS.DESCRIPTION", "modbus-databits",
                                           PropertyTemplateType.Baudrate, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", 8, 0, 0);

            factory.CreatePropertyTemplate(new Guid("4ff96f51-c06b-496e-998b-1c0fb411dc79"), "COMMON.PROPERTY.STOPBITS.NAME", "COMMON.PROPERTY.STOPBITS.DESCRIPTION", "modbus-stopbits",
                                           PropertyTemplateType.Baudrate, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, "", 1, 0, 0);


            factory.CreatePropertyTemplate(new Guid("79a827b1-e175-4ad6-9151-1b9c402237cd"), "type", "type", "modbus-type", PropertyTemplateType.Text,
                                           DriverGuid, "bca58c9f-55c0-4713-971e-42b776b05d4e", false, true, null, "MODBUS-MASTER", 0, 0);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="factory"></param>9
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "OPENWEATHERMAP.NAME", "OPENWEATHERMAP.DESCRIPTION", int.MaxValue, 1, true);

            factory.CreateNodeTemplate(DriverGuid, "OPENWEATHERMAP.NAME", "OPENWEATHERMAP.DESCRIPTION", "openweathermap",
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual), DriverGuid, false, false, true, false, true, NodeDataType.NoAttribute, 1, false);
            factory.CreatePropertyTemplate(new Guid("6fa8e102-3727-4196-80c2-ae764a18aaf0"), "OPENWEATHERMAP.APIKEY.NAME", "OPENWEATHERMAP.APIKEY.DESCRIPTION", "api-key",
                                           PropertyTemplateType.Text, DriverGuid, "COMMON.CATEGORY.ADRESS", true, false, null, null, 1, 1);

            factory.CreatePropertyTemplate(new Guid("2638083b-7db9-4a18-9b1f-41c1b1deb15f"), "OPENWEATHERMAP.POLL_INTERVAL.NAME", "OPENWEATHERMAP.POLL_INTERVAL.DESCRIPTION", "poll",
                                           PropertyTemplateType.Range, DriverGuid, "COMMON.CATEGORY.ADRESS", true, false, PropertyHelper.CreateRangeMetaString(TimeSpan.FromMinutes(5).TotalSeconds, TimeSpan.FromHours(2).TotalSeconds), TimeSpan.FromMinutes(5).TotalSeconds, 1, 1);


            factory.CreateNodeTemplate(new Guid("6f9173ee-2f3f-4d77-afdd-a980ff364639"), "OPENWEATHERMAP.SUNRISE.NAME", "OPENWEATHERMAP.SUNRISE.DESCRIPTION", "openweathermap-sunrise", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Date, 1, false);

            factory.CreateNodeTemplate(new Guid("db6a7d07-a3fa-4fb1-a470-4101c16be04c"), "OPENWEATHERMAP.SUNSET.NAME", "OPENWEATHERMAP.SUNSET.DESCRIPTION", "openweathermap-sunset", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Date, 1, false);

            factory.CreateNodeTemplate(new Guid("5870e3de-4fbe-49e1-b051-55a427eebd44"), "OPENWEATHERMAP.HUMIDITY.NAME", "OPENWEATHERMAP.HUMIDITY.DESCRIPTION", "openweathermap-humidity", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);

            factory.CreateNodeTemplate(new Guid("c148157e-9b8f-449e-a0ee-6ccd8b2d70b8"), "OPENWEATHERMAP.PRESSURE.NAME", "OPENWEATHERMAP.PRESSURE.DESCRIPTION", "openweathermap-pressure", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);

            factory.CreateNodeTemplate(new Guid("2b052303-7be3-4b06-96bb-7da334693db8"), "OPENWEATHERMAP.WIND_SPEED.NAME", "OPENWEATHERMAP.WIND_SPEED.DESCRIPTION", "openweathermap-wind-speed", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false);

            factory.CreateNodeTemplate(new Guid("fe13ca1b-b04f-4218-b69c-d744a7f7d9fe"), "OPENWEATHERMAP.WIND_DIRECTION.NAME", "OPENWEATHERMAP.WIND_DIRECTION.DESCRIPTION", "openweathermap-wind-direction", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Integer, 1, false);

            factory.CreateNodeTemplate(new Guid("c0dcd6d9-673b-4c8c-86c3-3b19790b112d"), "OPENWEATHERMAP.TEMPERATURE.NAME", "OPENWEATHERMAP.TEMPERATURE.DESCRIPTION", "openweathermap-temperature", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false);

            factory.CreateNodeTemplate(new Guid("f879f1f8-f60c-466d-a307-d26e6314bb37"), "OPENWEATHERMAP.TEMPERATURE_MAX.NAME", "OPENWEATHERMAP.TEMPERATURE_MAX.DESCRIPTION", "openweathermap-temperature-max", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false);

            factory.CreateNodeTemplate(new Guid("00abd2ee-5f6b-4dd9-a0a1-b7011f3c0bdd"), "OPENWEATHERMAP.TEMPERATURE_MIN.NAME", "OPENWEATHERMAP.TEMPERATURE_MIN.DESCRIPTION", "openweathermap-temperature-min", DriverGuid,
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true, NodeDataType.Double, 1, false);
        }
예제 #18
0
        private void AddDpt7Nodes(INodeTemplateFactory factory, Guid parentNode)
        {
            var dpt7Guid = new Guid("d5ef64da-4ef2-44b2-806f-5cc5bd06228c");

            factory.CreateNodeTemplate(dpt7Guid, "KNX.DPT7.NAME", "KNX.DPT7.DESCRIPTION", "knx-dpt7",
                                       parentNode, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, false, true, false,
                                       NodeDataType.Integer, int.MaxValue, false);
            AddAddressProperty(dpt7Guid, factory);

            factory.CreatePropertyTemplate(GenerateNewGuid(dpt7Guid, 2), "KNX.PROPERTIES.DPT.NAME",
                                           "KNX.PROPERTIES.DPT.DESCRIPTION", "knx-dpt", PropertyTemplateType.Enum, dpt7Guid,
                                           "KNX.GROUP.DPT", true, false, PropertyHelper.CreateEnumMetaString(typeof(Dpt7Type)), (int)Dpt7Type.Dpt7_001, 0, 0);
        }
        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);
        }
예제 #20
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "LOXONE.MINISERVER.NAME", "LOXONE.MINISERVER.DESCRIPTION", int.MaxValue, int.MaxValue, true);

            factory.CreateNodeTemplate(DriverGuid, "LOXONE.MINISERVER.NAME", "LOXONE.MINISERVER.DESCRIPTION", "loxone-miniserver", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet), DriverGuid, false, false, true, false, true, NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreatePropertyTemplate(new Guid("15d8489a-904a-4190-be6b-c7f26e0689f1"), "LOXONE.MINISERVER.PROPERTY.IP.NAME", "LOXONE.MINISERVER.PROPERTY.IP.DESCRIPTION", "ip-address", PropertyTemplateType.Ip, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, null, "", 1, 1);
            factory.CreatePropertyTemplate(new Guid("846128c7-1094-4277-8303-e1b16e5deea2"), "LOXONE.MINISERVER.PROPERTY.PORT.NAME", "LOXONE.MINISERVER.PROPERTY.PORT.DESCRIPTION", "port", PropertyTemplateType.Range, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(0, short.MaxValue), "80", 1, 1);
            factory.CreatePropertyTemplate(new Guid("251af9bc-a8ab-460f-a7c0-c43493e102c4"), "LOXONE.MINISERVER.PROPERTY.USER.NAME", "LOXONE.MINISERVER.PROPERTY.USER.DESCRIPTION", "user", PropertyTemplateType.Text, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, null, "", 1, 2);
            factory.CreatePropertyTemplate(new Guid("91c6148a-ce94-4240-abf3-2eec52c46e3e"), "LOXONE.MINISERVER.PROPERTY.PASSWORD.NAME", "LOXONE.MINISERVER.PROPERTY.PASSWORD.DESCRIPTION", "password", PropertyTemplateType.Password, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, null, "", 1, 3);

            factory.CreatePropertyTemplate(new Guid("f51d380a-2a89-4a70-b63e-35e91ef810b5"), "LOXONE.MINISERVER.PROPERTY.SCAN.NAME", "LOXONE.MINISERVER.PROPERTY.SCAN.DESCRIPTION", "scan", PropertyTemplateType.Scan, DriverGuid, "COMMON.CATEGORY.ADDRESS", true, false, null, "", 1, 4);

            CreateFolder(factory);

            CreateConnectionState(factory);
            CreateInfoOnlyAnalog(factory);
            CreateSwitch(factory);
            CreateDimmer(factory);
            CreateInfoOnlyDigital(factory);
            CreatePushButton(factory);
        }
예제 #21
0
        private void AddDpt8Nodes(INodeTemplateFactory factory, Guid parentNode)
        {
            var dpt8Guid = new Guid("f9c2c787-d9bb-4207-b8b3-5e786e7757a2");

            factory.CreateNodeTemplate(dpt8Guid, "KNX.DPT8.NAME", "KNX.DPT8.DESCRIPTION", "knx-dpt8",
                                       parentNode, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, false, true, false,
                                       NodeDataType.Integer, int.MaxValue, false);
            AddAddressProperty(dpt8Guid, factory);

            factory.CreatePropertyTemplate(GenerateNewGuid(dpt8Guid, 2), "KNX.PROPERTIES.DPT.NAME",
                                           "KNX.PROPERTIES.DPT.DESCRIPTION", "knx-dpt", PropertyTemplateType.Enum, dpt8Guid,
                                           "KNX.GROUP.DPT", true, false, PropertyHelper.CreateEnumMetaString(typeof(Dpt8Type)), (int)Dpt8Type.Dpt8_002, 0, 0);
        }
예제 #22
0
        private void AddDpt5Nodes(INodeTemplateFactory factory, Guid parentNode)
        {
            var dpt5Guid = new Guid("675c7e19-8b53-4c29-8391-ef855c2f9828");

            factory.CreateNodeTemplate(dpt5Guid, "KNX.DPT5.NAME", "KNX.DPT5.DESCRIPTION", "knx-dpt5",
                                       parentNode, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, false, true, false,
                                       NodeDataType.Double, int.MaxValue, false);

            AddAddressProperty(dpt5Guid, factory);
            factory.CreatePropertyTemplate(GenerateNewGuid(dpt5Guid, 2), "KNX.PROPERTIES.DPT.NAME",
                                           "KNX.PROPERTIES.DPT.DESCRIPTION", "knx-dpt", PropertyTemplateType.Enum, dpt5Guid,
                                           "KNX.GROUP.DPT", true, false, PropertyHelper.CreateEnumMetaString(typeof(Dpt5Type)), (int)Dpt5Type.Dpt5_001, 0, 0);
        }
        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);
        }
예제 #24
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(DriverGuid, "PING.NAME", "PING.DESCRIPTION", int.MaxValue, 1, true);
            factory.CreateNodeTemplate(DriverGuid, "PING.NAME", "PING.DESCRIPTION", "PING", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet),
                                       DriverGuid, false, true, true, false, true, NodeDataType.NoAttribute, Int32.MaxValue, false);


            factory.CreateNodeTemplate(PingDevice, "PING.DEVICE.NAME", "PING.DEVICE.DESCRIPTION", "ping-device",
                                       DriverGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true,
                                       true, false, true, NodeDataType.Boolean, int.MaxValue, false, true);

            factory.CreatePropertyTemplate(new Guid("33f1648e-0886-4664-a698-9018f1bf3d5a"), "PING.MIN_SUCCESS.NAME", "PING.MIN_SUCCESS.DESCRIPTION", "min_success",
                                           PropertyTemplateType.Range, PingDevice, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(1, 5000), 3, 0, 0);

            factory.CreatePropertyTemplate(new Guid("ed76bce9-de87-4cba-9a07-9e3c8c80dc9f"), "PING.IP.NAME", "PING.IP.DESCRIPTION", "ip",
                                           PropertyTemplateType.Text, PingDevice, "COMMON.CATEGORY.ADDRESS", true, false, null, null, 0, 1);

            factory.CreatePropertyTemplate(new Guid("e28fa8fb-2bf5-49f1-9f70-ad96d863d90c"), "PING.INTERVAL.NAME", "PING.INTERVAL.DESCRIPTION", "interval",
                                           PropertyTemplateType.Range, PingDevice, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(5, 300), 5, 0, 2);

            factory.CreatePropertyTemplate(new Guid("ac3676e5-11cf-432c-871b-ab9a1ac6815d"), "PING.TIMEOUT.NAME", "PING.TIMEOUT.DESCRIPTION", "timeout",
                                           PropertyTemplateType.Range, PingDevice, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(1024, 5000), 1024, 0, 3);
        }
예제 #25
0
        private void AddDpt16Nodes(INodeTemplateFactory factory, Guid parentNode)
        {
            var dpt16Guid = new Guid("bd222553-42f9-4cdf-afd6-f5a5fda6a53b");

            factory.CreateNodeTemplate(dpt16Guid, "KNX.DPT16.NAME", "KNX.DPT16.DESCRIPTION", "knx-dpt16",
                                       parentNode, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, false, true, false,
                                       NodeDataType.String, int.MaxValue, false);

            AddAddressProperty(dpt16Guid, factory);

            factory.CreatePropertyTemplate(GenerateNewGuid(dpt16Guid, 2), "KNX.PROPERTIES.DPT.NAME",
                                           "KNX.PROPERTIES.DPT.DESCRIPTION", "knx-dpt", PropertyTemplateType.Enum, dpt16Guid,
                                           "KNX.GROUP.DPT", true, false, PropertyHelper.CreateEnumMetaString(typeof(Dpt16Type)), (int)Dpt16Type.Dpt16_000, 0, 0);
        }
예제 #26
0
        private void AddDpt9Nodes(INodeTemplateFactory factory, Guid parentNode)
        {
            var dpt9Guid = new Guid("cdd88e9f-7dbe-48cc-8c75-0bc91c7e6751");

            factory.CreateNodeTemplate(dpt9Guid, "KNX.DPT9.NAME", "KNX.DPT9.DESCRIPTION", "knx-dpt9",
                                       parentNode, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), false, true, false, true, false,
                                       NodeDataType.Double, int.MaxValue, false);
            AddAddressProperty(dpt9Guid, factory);


            factory.CreatePropertyTemplate(GenerateNewGuid(dpt9Guid, 2), "KNX.PROPERTIES.DPT.NAME",
                                           "KNX.PROPERTIES.DPT.DESCRIPTION", "knx-dpt", PropertyTemplateType.Enum, dpt9Guid,
                                           "KNX.GROUP.DPT", true, false, PropertyHelper.CreateEnumMetaString(typeof(Dpt9Type)), (int)Dpt9Type.Dpt9_001, 0, 0);
        }
예제 #27
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);
        }
예제 #28
0
        private void CreateSwitch(INodeTemplateFactory factory, Guid gwInterface)
        {
            factory.CreateInterfaceType(RelayInterfaceGuid, "IKEA.TRADFRI.RELAY.NAME", "IKEA.TRADFRI.RELAY.DESCRIPTION", 0, 0, false);

            factory.CreateNodeTemplate(RelayContainerGuid, "IKEA.TRADFRI.RELAY.NAME",
                                       "IKEA.TRADFRI.RELAY.DESCRIPTION", "container", gwInterface, RelayInterfaceGuid, false, false, true,
                                       false, true, NodeDataType.NoAttribute, 0, false);

            factory.CreatePropertyTemplate(new Guid("7612c5bb-69f5-46ac-a421-ce199dd0a0c3"), "IKEA.TRADFRI.DEVICE.ID.NAME", "IKEA.TRADFRI.DEVICE.ID.DESCRIPTION",
                                           DeviceIdPropertyKey, PropertyTemplateType.Numeric, RelayContainerGuid, "COMMON.CATEGORY.ADDRESS", true, false, null, null, 0,
                                           0);

            factory.CreateNodeTemplate(RelayGuid, "IKEA.TRADFRI.RELAY.VALUE.NAME", "IKEA.TRADFRI.RELAY.VALUE.DESCRIPTION",
                                       "ikea-relay", RelayInterfaceGuid, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true,
                                       false, true, false, NodeDataType.Boolean, 1, false);
            factory.ChangeDefaultVisuTemplate(RelayGuid, VisuMobileObjectTemplateTypes.ToggleButton);
        }
예제 #29
0
        private static void AddTypesD5_00_01_1Templates(INodeTemplateFactory factory, Guid funcInterfaceGuid, EnOceanTemplateFactory enoceanFactory)
        {
            Guid interfaceGuid = GenerateNewGuid(TypeD5_00_01_1Guid, 1);

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

            var nodeGuid = TypeD5_00_01_1Guid;

            factory.CreateNodeTemplate(nodeGuid, "ENOCEAN.RORG_D5.FUNCTION_00.TYPE_01_1.NAME", "ENOCEAN.RORG_D5.FUNCTION_00.TYPE_01_1.DESCRIPTION",
                                       "enocean-type-00", funcInterfaceGuid, interfaceGuid, false, false, true, false, true,
                                       NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreatePropertyTemplate(GenerateNewGuid(nodeGuid, 1), "ENOCEAN.SERIAL_NUMBER.NAME", "ENOCEAN.SERIAL_NUMBER.DESCRIPTION",
                                           "enocean-serialnumber", PropertyTemplateType.Text, nodeGuid, "COMMON.CATEGORY.ADDRESS", true, false, null, null, 0, 0);

            enoceanFactory.AddTemplate(0xD5, nodeGuid);
            AddDataFieldD5_00_01_1_COTemplates(factory, interfaceGuid);
            AddDataFieldD5_00_01_1_LRNTemplates(factory, interfaceGuid);
        }
예제 #30
0
        public override void InitNodeTemplates(INodeTemplateFactory factory)
        {
            factory.CreateInterfaceType(KnxInterface, "KNX.GATEWAY.NAME", "KNX.GATEWAY.DESCRIPTION", 2, int.MaxValue, true);
            factory.CreateInterfaceType(KnxInterface3Level, "KNX.GATEWAY_3_LEVEL.NAME", "KNX.GATEWAY_3_LEVEL.DESCRIPTION", 31, 1, false);
            factory.CreateInterfaceType(KnxInterface3LevelMain, "KNX.GATEWAY_3_LEVEL.MAIN.NAME", "KNX.GATEWAY_3_LEVEL.MAIN.DESCRIPTION", 7, 31, false);
            factory.CreateInterfaceType(KnxInterface3LevelMiddle, "KNX.GATEWAY_3_LEVEL.MIDDLE.NAME", "KNX.GATEWAY_3_LEVEL.MIDDLE.DESCRIPTION", 255, 7, false);
            factory.CreateInterfaceType(KnxInterface3LevelValue, "KNX.GATEWAY_3_LEVEL.VALUE.NAME", "KNX.GATEWAY_3_LEVEL.VALUE.DESCRIPTION", 0, 255, false);

            factory.CreateInterfaceType(KnxBaos, "KNX.BAOS.NAME", "KNX.BAOS.DESCRIPTION", 0, 1, true);

            factory.CreateNodeTemplate(KnxGatway, "KNX.GATEWAY.NAME", "KNX.GATEWAY.DESCRIPTION", "knx-gw",
                                       GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet), KnxInterface, false, false, true, false, true,
                                       NodeDataType.NoAttribute, int.MaxValue, false);
            factory.CreatePropertyTemplate(GenerateNewGuid(KnxGatway, 1), "COMMON.PROPERTY.IP.NAME", "COMMON.PROPERTY.IP.DESCRIPTION",
                                           "knx-ip", PropertyTemplateType.Ip, KnxGatway, "COMMON.CATEGORY.ADDRESS", true, false, "", "", 1,
                                           1);
            factory.CreatePropertyTemplate(GenerateNewGuid(KnxGatway, 2), "COMMON.PROPERTY.IPPORT.NAME", "COMMON.PROPERTY.IPPORT.DESCRIPTION",
                                           "knx-port", PropertyTemplateType.Range, KnxGatway, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(1, ushort.MaxValue), "3671", 1,
                                           2);
            factory.CreatePropertyTemplate(GenerateNewGuid(KnxGatway, 3), "COMMON.PROPERTY.USE_NAT.NAME", "COMMON.PROPERTY.USE_NAT.DESCRIPTION",
                                           "knx-use-nat", PropertyTemplateType.Bool, KnxGatway, "COMMON.CATEGORY.ADDRESS", true, false, "", false, 1,
                                           3);

            /*      factory.CreateNodeTemplate(KnxSecureGatway, "KNX.SECURE_GATEWAY.NAME", "KNX.SECURE_GATEWAY.DESCRIPTION", "knx-secure-gw",
             *        GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Ethernet), KnxInterface, false, false, true, false, true,
             *        NodeDataType.NoAttribute, int.MaxValue, false);
             *    factory.CreatePropertyTemplate(GenerateNewGuid(KnxSecureGatway, 1), "COMMON.PROPERTY.IP.NAME", "COMMON.PROPERTY.IP.DESCRIPTION",
             *        "knx-ip", PropertyTemplateType.Ip, KnxSecureGatway, "COMMON.CATEGORY.ADDRESS", true, false, "", "", 1,
             *        1);
             *    factory.CreatePropertyTemplate(GenerateNewGuid(KnxSecureGatway, 2), "COMMON.PROPERTY.IPPORT.NAME", "COMMON.PROPERTY.IPPORT.DESCRIPTION",
             *        "knx-port", PropertyTemplateType.Range, KnxSecureGatway, "COMMON.CATEGORY.ADDRESS", true, false, PropertyHelper.CreateRangeMetaString(1, ushort.MaxValue), "3671", 1,
             *        2);
             *    factory.CreatePropertyTemplate(GenerateNewGuid(KnxSecureGatway, 3), "KNX.PROPERTIES.SECURE.MGMPW.NAME", "KNX.PROPERTIES.SECURE.MGMPW.DESCRIPTION",
             *        "knx-mgm-pw", PropertyTemplateType.Text, KnxSecureGatway, "COMMON.CATEGORY.ADDRESS", true, false, "", "", 1,
             *        3);
             *    factory.CreatePropertyTemplate(GenerateNewGuid(KnxSecureGatway, 4), "KNX.PROPERTIES.SECURE.AUTHPW.NAME", "KNX.PROPERTIES.SECURE.AUTHPW.DESCRIPTION",
             *        "knx-auth-pw", PropertyTemplateType.Text, KnxSecureGatway, "COMMON.CATEGORY.ADDRESS", true, false, "", "", 1,
             *        4);
             *    factory.CreatePropertyTemplate(GenerateNewGuid(KnxSecureGatway, 5), "COMMON.PROPERTY.USE_NAT.NAME", "COMMON.PROPERTY.USE_NAT.DESCRIPTION",
             *        "knx-use-nat", PropertyTemplateType.Bool, KnxSecureGatway, "COMMON.CATEGORY.ADDRESS", true, false, "", false, 1,
             *        5);*/

            factory.CreateNodeTemplate(KnxBaos, "KNX.BAOS.NAME", "KNX.BAOS.DESCRIPTION",
                                       "knx-baos", GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Virtual), KnxBaos, false, false, true, false, true,
                                       NodeDataType.NoAttribute, 1, false);

            factory.CreateNodeTemplate(new Guid("86db8e85-0770-47a0-9fa9-71558113a0db"), "KNX.BAOS.DATAPOINTS.NAME", "KNX.BAOS.DATAPOINTS.DESCRIPTION",
                                       "knx-baos", KnxBaos, KnxInterface3LevelMiddle, true, false, true, false, true,
                                       NodeDataType.NoAttribute, 1, false);

            factory.CreateNodeTemplate(KnxGatwayStatus, "KNX.GW_STATUS.NAME", "KNX.GW_STATUS.DESCRITPION",
                                       "knx-gw-state", KnxInterface, GuidTemplateTypeAttribute.GetFromEnum(InterfaceTypeEnum.Value), true, true, true, false, true,
                                       NodeDataType.Boolean, 1, false, false);

            factory.CreateNodeTemplate(KnxIpGateway3LevelInterface, "KNX.GATEWAY_3_LEVEL.NAME", "KNX.GATEWAY_3_LEVEL.DESCRIPTION", "knx-3-level",
                                       KnxInterface, KnxInterface3Level, false, false, true, false, true,
                                       NodeDataType.NoAttribute, int.MaxValue, false);

            factory.CreatePropertyTemplate(GenerateNewGuid(KnxIpGateway3LevelInterface, 1), "COMMON.PROPERTY.IMPORT.NAME", "COMMON.PROPERTY.IMPORT.DESCRIPTION",
                                           "knx-import", PropertyTemplateType.ImportData, KnxIpGateway3LevelInterface, "COMMON.CATEGORY.IMPORT", true, false, "OBJECT_SAVED", false, 2,
                                           1);

            factory.CreateNodeTemplate(KnxIp3LevelMainAddress, "KNX.GATEWAY_3_LEVEL.MAIN.NAME", "KNX.GATEWAY_3_LEVEL.MAIN.DESCRIPTION", "knx-3-level-main",
                                       KnxInterface3Level, KnxInterface3LevelMain, false, false, true, false, true,
                                       NodeDataType.NoAttribute, int.MaxValue, false);
            AddAddressProperty(KnxIp3LevelMainAddress, factory, 31);
            factory.ChangeNodeTemplateMetaName(KnxIp3LevelMainAddress, "{PROPERTY:knx-address}{CONST:-}{NODE:Name}");

            factory.CreateNodeTemplate(KnxIp3LevelMiddleAddress, "KNX.GATEWAY_3_LEVEL.MIDDLE.NAME", "KNX.GATEWAY_3_LEVEL.MIDDLE.DESCRIPTION", "knx-3-level-middle",
                                       KnxInterface3LevelMain, KnxInterface3LevelMiddle, false, false, true, false, true,
                                       NodeDataType.NoAttribute, int.MaxValue, false);
            AddAddressProperty(KnxIp3LevelMiddleAddress, factory, 7);
            factory.ChangeNodeTemplateMetaName(KnxIp3LevelMiddleAddress, "{PROPERTY:knx-address}{CONST:-}{NODE:Name}");

            AddDpt1Nodes(factory, KnxInterface3LevelMiddle);
            AddDpt2Nodes(factory, KnxInterface3LevelMiddle);
            AddDpt3Nodes(factory, KnxInterface3LevelMiddle);

            AddDpt5Nodes(factory, KnxInterface3LevelMiddle);
            AddDpt6Nodes(factory, KnxInterface3LevelMiddle);
            AddDpt7Nodes(factory, KnxInterface3LevelMiddle);
            AddDpt8Nodes(factory, KnxInterface3LevelMiddle);
            AddDpt9Nodes(factory, KnxInterface3LevelMiddle);

            AddDpt10Nodes(factory, KnxInterface3LevelMiddle);
            AddDpt11Nodes(factory, KnxInterface3LevelMiddle);
        }