object frmMain: TfrmMain Left = 451 Top = 223 Caption = 'MQTT Client for NILM[Program by QSenTech. Co. Ltd]' ClientHeight = 531 ClientWidth = 549 Color = clBtnFace Font.Charset = ANSI_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = #44404#47548 Font.Style = [] Menu = MainMenu1 OldCreateOrder = False Position = poScreenCenter OnClose = FormClose OnCloseQuery = FormCloseQuery OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 12 object StatusBar1: TStatusBar Left = 0 Top = 512 Width = 549 Height = 19 Panels = < item Width = 50 end item Width = 50 end item Width = 50 end item Width = 50 end> end object Panel2: TPanel Left = 0 Top = 0 Width = 549 Height = 42 Align = alTop BevelKind = bkFlat BevelOuter = bvNone Caption = 'Panel2' Color = clWhite ParentBackground = False ShowCaption = False TabOrder = 1 DesignSize = ( 545 38) object Label5: TLabel Left = 10 Top = 2 Width = 203 Height = 30 Caption = '2024-12-31 23:59:59' Font.Charset = ANSI_CHARSET Font.Color = clWindowText Font.Height = -21 Font.Name = #47569#51008' '#44256#46357 Font.Style = [fsBold] ParentFont = False end object Label6: TLabel Left = 293 Top = 8 Width = 240 Height = 21 Alignment = taRightJustify Anchors = [akTop, akRight] Caption = #49884#51089' '#49884#44036' : 2024-12-31 23:59:59' Font.Charset = ANSI_CHARSET Font.Color = clWindowText Font.Height = -16 Font.Name = #47569#51008' '#44256#46357 Font.Style = [] ParentFont = False ExplicitLeft = 280 end end object PageControl1: TPageControl Left = 0 Top = 42 Width = 549 Height = 470 ActivePage = TabSheet1 Align = alClient TabOrder = 2 object TabSheet1: TTabSheet Caption = 'Status' object cxGrid_NILM: TcxGrid Left = 0 Top = 0 Width = 541 Height = 442 Align = alClient Font.Charset = ANSI_CHARSET Font.Color = clWindowText Font.Height = -15 Font.Name = #47569#51008' '#44256#46357 Font.Style = [] ParentFont = False TabOrder = 0 LookAndFeel.Kind = lfUltraFlat LookAndFeel.NativeStyle = False LookAndFeel.SkinName = 'DevExpressStyle' object cxGrid_NILM_Tv: TcxGridTableView Navigator.Buttons.CustomButtons = <> ScrollbarAnnotations.CustomAnnotations = <> DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoFocusTopRowAfterSorting] DataController.Summary.DefaultGroupSummaryItems = <> DataController.Summary.FooterSummaryItems = < item Format = ',0 '#44148 end> DataController.Summary.SummaryGroups = <> OptionsBehavior.PostponedSynchronization = False OptionsBehavior.FocusCellOnCycle = True OptionsCustomize.ColumnsQuickCustomization = True OptionsData.Deleting = False OptionsData.DeletingConfirmation = False OptionsData.Editing = False OptionsData.Inserting = False OptionsSelection.CellSelect = False OptionsSelection.MultiSelect = True OptionsView.NoDataToDisplayInfoText = 'No Data...' OptionsView.CellAutoHeight = True OptionsView.DataRowHeight = 25 OptionsView.GroupByBox = False OptionsView.HeaderHeight = 25 OptionsView.Indicator = True OptionsView.IndicatorWidth = 10 object cxGrid_NILM_TvColumn0: TcxGridColumn Caption = 'NILMID' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn26: TcxGridColumn Caption = 'lastUpdate' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 110 end object cxGrid_NILM_TvColumn1: TcxGridColumn Caption = 'pf_1' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn2: TcxGridColumn Caption = 'Vrms_1' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn3: TcxGridColumn Caption = 'Irms_1' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn4: TcxGridColumn Caption = 'Var_1' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn5: TcxGridColumn Caption = 'Va_1' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn6: TcxGridColumn Caption = 'Pwr_1' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn7: TcxGridColumn Caption = 'pf_2' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn8: TcxGridColumn Caption = 'Vrms_2' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn9: TcxGridColumn Caption = 'Irms_2' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn10: TcxGridColumn Caption = 'Var_2' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn11: TcxGridColumn Caption = 'Va_2' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn12: TcxGridColumn Caption = 'Pwr_2' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn13: TcxGridColumn Caption = 'pf_3' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn14: TcxGridColumn Caption = 'Vrms_3' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn15: TcxGridColumn Caption = 'Irms_3' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn16: TcxGridColumn Caption = 'Var_3' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn17: TcxGridColumn Caption = 'Va_3' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn18: TcxGridColumn Caption = 'Pwr_3' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn19: TcxGridColumn Caption = 'gX' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn20: TcxGridColumn Caption = 'gY' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn21: TcxGridColumn Caption = 'gZ' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn22: TcxGridColumn Caption = 'aX' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn23: TcxGridColumn Caption = 'aY' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn24: TcxGridColumn Caption = 'aZ' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end object cxGrid_NILM_TvColumn25: TcxGridColumn Caption = 'TempC' FooterAlignmentHorz = taRightJustify HeaderAlignmentHorz = taCenter Width = 60 end end object cxGrid_NILM_Lv: TcxGridLevel GridView = cxGrid_NILM_Tv end end end object TabSheet2: TTabSheet Caption = 'Log' ImageIndex = 1 object ListBox1: TListBox Left = 0 Top = 0 Width = 541 Height = 371 Align = alClient Color = clSilver Font.Charset = ANSI_CHARSET Font.Color = clBlack Font.Height = -12 Font.Name = #44404#47548 Font.Style = [] ItemHeight = 12 ParentFont = False TabOrder = 0 OnDblClick = ListBox1DblClick end object Panel1: TPanel Left = 0 Top = 371 Width = 541 Height = 71 Align = alBottom BevelOuter = bvNone Color = clBlack Font.Charset = ANSI_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = #44404#47548 Font.Style = [] ParentFont = False TabOrder = 1 object Label2: TLabel Left = 7 Top = 6 Width = 37 Height = 12 Caption = 'Label1' Font.Charset = ANSI_CHARSET Font.Color = clNavy Font.Height = -12 Font.Name = #44404#47548 Font.Style = [] ParentFont = False end object Label3: TLabel Left = 7 Top = 24 Width = 37 Height = 12 Caption = 'Label1' Font.Charset = ANSI_CHARSET Font.Color = clNavy Font.Height = -12 Font.Name = #44404#47548 Font.Style = [] ParentFont = False end object Label4: TLabel Left = 7 Top = 43 Width = 37 Height = 12 Caption = 'Label1' Font.Charset = ANSI_CHARSET Font.Color = clNavy Font.Height = -12 Font.Name = #44404#47548 Font.Style = [] ParentFont = False end end end end object MQTTClient1: TMQTTClient KeepAlive = 10 MaxRetries = 8 RetryTime = 60 Clean = False Broker = False AutoSubscribe = False Port = 1883 LocalBounce = False OnClientID = MQTTClient1ClientID OnMon = MQTTClient1Mon OnOnline = MQTTClient1Online OnOffline = MQTTClient1Offline OnEnableChange = MQTTClient1EnableChange OnFailure = MQTTClient1Failure OnMsg = MQTTClient1Msg Left = 128 Top = 72 end object initTimer: TTimer OnTimer = initTimerTimer Left = 225 Top = 70 end object MainMenu1: TMainMenu Left = 19 Top = 82 object File2: TMenuItem Caption = 'File' object DebugMode1: TMenuItem Caption = 'Debug Mode' OnClick = DebugMode1Click end object N8: TMenuItem Caption = '-' end object ProgramExit1: TMenuItem Caption = 'Program Exit' OnClick = ProgramExit1Click end end object File1: TMenuItem Caption = 'MQTT' object Config1: TMenuItem Caption = 'MQTT '#50672#44208#49444#51221 OnClick = Config1Click end object N2: TMenuItem Caption = '-' Visible = False end object Connect1: TMenuItem Caption = 'Broker '#50672#44208 Visible = False OnClick = Connect1Click end object Disconnect1: TMenuItem Caption = 'Broker '#45130#44592 Visible = False OnClick = Disconnect1Click end end object NILM1: TMenuItem Caption = 'NILM' object Edit1: TMenuItem Caption = #51109#52824#44288#47532 OnClick = Edit1Click end object N1: TMenuItem Caption = #49444#48708#50672#44208 OnClick = N1Click end end end object insertTimer: TTimer Enabled = False OnTimer = insertTimerTimer Left = 318 Top = 70 end object ZConnection1: TZConnection ControlsCodePage = cCP_UTF16 Catalog = '' DisableSavepoints = False HostName = '' Port = 0 Database = 'nilm' User = '' Password = '' Protocol = 'mysql' Left = 23 Top = 151 end object ZReadOnlyQuery1: TZReadOnlyQuery Connection = ZConnection1 Params = <> Left = 127 Top = 152 end object ZQuery1: TZQuery Connection = ZConnection1 Params = <> Left = 223 Top = 155 end object Timer_DateTime: TTimer OnTimer = Timer_DateTimeTimer Left = 408 Top = 72 end object TrayIcon1: TTrayIcon OnDblClick = TrayIcon1DblClick Left = 315 Top = 153 end object tmrExit: TTimer Enabled = False Interval = 100 OnTimer = tmrExitTimer Left = 405 Top = 154 end object FDConnection1: TFDConnection Left = 36 Top = 256 end object FDQuery1: TFDQuery Connection = FDConnection1 Left = 124 Top = 260 end object FDPhysPgDriverLink1: TFDPhysPgDriverLink Left = 232 Top = 256 end object FDGUIxWaitCursor1: TFDGUIxWaitCursor Provider = 'Forms' Left = 352 Top = 260 end object MQTTClient1_old: TMQTTClient ClientID = 'DATA_HUB_PRY' KeepAlive = 10 MaxRetries = 8 RetryTime = 60 Clean = True Broker = False AutoSubscribe = False Username = 'qsentech' Password = 'qsentech!1233' Host = '192.168.200.200' Port = 1883 LocalBounce = False OnClientID = MQTTClient1ClientID OnMon = MQTTClient1Mon OnOnline = MQTTClient1Online OnOffline = MQTTClient1Offline OnEnableChange = MQTTClient1EnableChange OnFailure = MQTTClient1Failure OnMsg = MQTTClient1Msg Left = 120 Top = 360 end end