Пример #1
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);
        }
Пример #2
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);
        }
Пример #3
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);
        }
Пример #4
0
 public EnOceanDriver(IDriverContext driverContext, EnOceanTemplateFactory enoceanFactory) : base(driverContext, null)
 {
     _enoceanFactory = enoceanFactory;
 }