diff --git a/.azuredevops/policies/branchClassification.yml b/.azuredevops/policies/branchClassification.yml new file mode 100644 index 000000000000..ab2a78548d2a --- /dev/null +++ b/.azuredevops/policies/branchClassification.yml @@ -0,0 +1,14 @@ +description: Branch classification configuration for repository +resource: repository +configuration: + branchClassificationSettings: + defaultClassification: nonproduction + ruleset: + - name: prod-branches + branchNames: + - main + - release/* + - net10.0 + - net9.0 + - inflight/current + classification: production \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 7a2f69ae60c4..613b8c80f68e 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -42,6 +42,7 @@ body: label: Version with bug description: In what version do you see this issue? Run `dotnet workload list` to find your version. options: + - 10.0.0-rc.1 - 10.0.0-preview.7 - 10.0.0-preview.6 - 10.0.0-preview.5 @@ -49,6 +50,7 @@ body: - 10.0.0-preview.3 - 10.0.0-preview.2 - 10.0.0-preview.1 + - 9.0.110 SR11 - 9.0.100 SR10 - 9.0.90 SR9 - 9.0.82 SR8.2 @@ -130,6 +132,7 @@ body: - 9.0.82 SR8.2 - 9.0.90 SR9 - 9.0.100 SR10 + - 9.0.110 SR11 - 10.0.0-preview.1 - 10.0.0-preview.2 - 10.0.0-preview.3 @@ -137,6 +140,7 @@ body: - 10.0.0-preview.5 - 10.0.0-preview.6 - 10.0.0-preview.7 + - 10.0.0-rc.1 validations: required: true - type: dropdown diff --git a/Directory.Build.props b/Directory.Build.props index f3f7b152b802..7b7cb9895e75 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -230,6 +230,17 @@ net$(_MauiDotNetVersion)-maccatalyst;$(MauiEmbeddingPlatforms) net$(_MauiDotNetVersion)-ios;$(MauiEmbeddingPlatforms) + + $(WindowsMauiPlatforms);$(MauiDeviceTestsPlatforms) + net$(_MauiDotNetVersion)-android;$(MauiDeviceTestsPlatforms) + net$(_MauiDotNetVersion)-maccatalyst;$(MauiDeviceTestsPlatforms) + net$(_MauiDotNetVersion)-ios;$(MauiDeviceTestsPlatforms) + net$(_MauiPreviousDotNetVersion)-tizen;$(MauiManualTestsPreviousPlatforms) + $(WindowsMauiPreviousPlatforms);$(MauiManualTestsPreviousPlatforms) + net$(_MauiPreviousDotNetVersion)-android;$(MauiManualTestsPreviousPlatforms) + net$(_MauiPreviousDotNetVersion)-maccatalyst;$(MauiManualTestsPreviousPlatforms) + net$(_MauiPreviousDotNetVersion)-ios;$(MauiManualTestsPreviousPlatforms) + $(MauiPlatforms) $(MauiGraphicsPlatforms);net$(_MauiDotNetVersion)-macos$(MacosTargetFrameworkVersion) diff --git a/Microsoft.Maui-dev.sln b/Microsoft.Maui-dev.sln index 537ab42bd738..50107d813ac8 100644 --- a/Microsoft.Maui-dev.sln +++ b/Microsoft.Maui-dev.sln @@ -240,6 +240,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UITest.Analyzers", "src\Tes EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.Embedding", "src\Controls\samples\Controls.Sample.Embedding\Maui.Controls.Sample.Embedding.csproj", "{4ADCBA87-30DB-44F5-85E9-94A4F4132FD9}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controls.ManualTests", "src\Controls\tests\ManualTests\Controls.ManualTests.csproj", "{E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -617,6 +619,10 @@ Global {4ADCBA87-30DB-44F5-85E9-94A4F4132FD9}.Release|Any CPU.ActiveCfg = Release|Any CPU {4ADCBA87-30DB-44F5-85E9-94A4F4132FD9}.Release|Any CPU.Build.0 = Release|Any CPU {4ADCBA87-30DB-44F5-85E9-94A4F4132FD9}.Release|Any CPU.Deploy.0 = Release|Any CPU + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -727,6 +733,7 @@ Global {23FEFC89-5D2F-491C-BBE0-0E73AFD8BA47} = {25D0D27A-C5FE-443D-8B65-D6C987F4A80E} {55905937-1399-46DB-BA38-E426801CB759} = {7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C} {4ADCBA87-30DB-44F5-85E9-94A4F4132FD9} = {E1082E26-D700-4127-9329-66D673FD2D55} + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C} = {25D0D27A-C5FE-443D-8B65-D6C987F4A80E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {0B8ABEAD-D2B5-4370-A187-62B5ABE4EE50} diff --git a/Microsoft.Maui.sln b/Microsoft.Maui.sln index fc9770cbfcf6..a3ae37181947 100644 --- a/Microsoft.Maui.sln +++ b/Microsoft.Maui.sln @@ -245,6 +245,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UITest.Analyzers", "src\Tes EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.Embedding", "src\Controls\samples\Controls.Sample.Embedding\Maui.Controls.Sample.Embedding.csproj", "{4ADCBA87-30DB-44F5-85E9-94A4F4132FD9}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controls.ManualTests", "src\Controls\tests\ManualTests\Controls.ManualTests.csproj", "{E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -630,6 +632,10 @@ Global {4ADCBA87-30DB-44F5-85E9-94A4F4132FD9}.Release|Any CPU.ActiveCfg = Release|Any CPU {4ADCBA87-30DB-44F5-85E9-94A4F4132FD9}.Release|Any CPU.Build.0 = Release|Any CPU {4ADCBA87-30DB-44F5-85E9-94A4F4132FD9}.Release|Any CPU.Deploy.0 = Release|Any CPU + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -743,6 +749,7 @@ Global {6AEE83CC-08CA-466A-BA86-774BE88A541B} = {25D0D27A-C5FE-443D-8B65-D6C987F4A80E} {F1BC506B-3A9E-4779-994E-339AFB21C9B9} = {7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C} {4ADCBA87-30DB-44F5-85E9-94A4F4132FD9} = {E1082E26-D700-4127-9329-66D673FD2D55} + {E2BFD1F1-07A8-8DBE-3661-894D0FE37D9C} = {25D0D27A-C5FE-443D-8B65-D6C987F4A80E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {0B8ABEAD-D2B5-4370-A187-62B5ABE4EE50} diff --git a/eng/BannedSymbols.txt b/eng/BannedSymbols.txt index 9adcf5a06bf3..12123bcfc629 100644 --- a/eng/BannedSymbols.txt +++ b/eng/BannedSymbols.txt @@ -1,5 +1,6 @@ M:Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionDescriptorExtensions.TryAddSingleton`2(Microsoft.Extensions.DependencyInjection.IServiceCollection);Use a Factory method to create the service instead M:Android.Content.Res.ColorStateList.#ctor(System.Int32[][],System.Int32[]);Use Microsoft.Maui.PlatformInterop.Get*ColorStateList() Java methods instead +M:Android.Widget.ImageView.GetScaleType();Use PlatformInterop.IsImageViewCenterCrop instead (or add a new method) P:Microsoft.Maui.MauiWinUIApplication.Services;Use the IPlatformApplication.Current.Services instead P:Microsoft.Maui.MauiWinUIApplication.Application;Use the IPlatformApplication.Current.Application instead P:Microsoft.UI.Xaml.Window.AppWindow;This API doesn't have null safety. Use GetAppWindow() and make sure to account for the possibility that GetAppWindow() might be null. diff --git a/eng/pipelines/azure-pipelines-public.yml b/eng/pipelines/azure-pipelines-public.yml new file mode 100644 index 000000000000..11a989a6e35a --- /dev/null +++ b/eng/pipelines/azure-pipelines-public.yml @@ -0,0 +1,226 @@ +trigger: + batch: true + branches: + include: + - main + - net10.0 + - release/* + - inflight/* + paths: + include: + - '*' + exclude: + - '**.md' + - eng/Version.Details.xml + - .github/* + - docs/* + - LICENSE.TXT + - PATENTS.TXT + - THIRD-PARTY-NOTICES.TXT + +pr: + branches: + include: + - main + - net10.0 + - release/* + - inflight/* + paths: + include: + - '*' + exclude: + - '**.md' + - eng/Version.Details.xml + - .github/* + - docs/* + - LICENSE.TXT + - PATENTS.TXT + - THIRD-PARTY-NOTICES.TXT + +variables: +- template: /eng/common/templates/variables/pool-providers.yml@self +- template: /eng/pipelines/common/variables.yml@self +- template: /eng/pipelines/arcade/variables.yml@self + +parameters: +- name: PackPlatform + type: object + default: + name: NetCore-Public + image: 1es-windows-2022 + os: windows + +- name: BuildConfigurations + type: object + default: + - Debug + - Release + +- name: BuildPlatforms + type: object + default: + - name: NetCore-Public + image: 1es-windows-2022 + os: Windows + buildScript: $(_buildScript) + sln: '$(Build.SourcesDirectory)/Microsoft.Maui.sln' + - name: Azure Pipelines + vmImage: $(HostedMacImage) + os: macOS + buildScript: $(_buildScriptMacOS) + sln: '$(Build.SourcesDirectory)/Microsoft.Maui-mac.slnf' + +stages: + +- template: /eng/pipelines/arcade/stage-helix-tests.yml@self + parameters: + runAsPublic: true + prepareSteps: + - template: /eng/pipelines/common/provision.yml@self + parameters: + checkoutDirectory: '$(System.DefaultWorkingDirectory)' + skipJdk: false + skipAndroidCommonSdks: false + skipAndroidPlatformApis: false + onlyAndroidPlatformDefaultApis: true + skipAndroidEmulatorImages: true + skipAndroidCreateAvds: true + skipProvisioning: true + skipXcode: true + +- template: /eng/pipelines/arcade/stage-pack.yml@self + parameters: + pool: ${{ parameters.PackPlatform }} + runAsPublic: true + prepareSteps: + - template: /eng/pipelines/common/provision.yml@self + parameters: + checkoutDirectory: '$(System.DefaultWorkingDirectory)' + skipJdk: false + skipAndroidCommonSdks: false + skipAndroidPlatformApis: false + onlyAndroidPlatformDefaultApis: true + skipAndroidEmulatorImages: true + skipAndroidCreateAvds: true + skipProvisioning: true + skipXcode: true + +- template: /eng/pipelines/arcade/stage-build.yml@self + parameters: + buildConfigurations: ${{ parameters.BuildConfigurations }} + buildPlatforms: ${{ parameters.BuildPlatforms }} + runAsPublic: ${{ eq(variables['_RunAsPublic'], 'true') }} + prepareSteps: + - template: /eng/pipelines/common/provision.yml@self + parameters: + checkoutDirectory: '$(System.DefaultWorkingDirectory)' + skipJdk: false + skipAndroidCommonSdks: false + skipAndroidPlatformApis: false + onlyAndroidPlatformDefaultApis: true + skipAndroidEmulatorImages: true + skipAndroidCreateAvds: true + skipProvisioning: true + skipXcode: true + +- template: /eng/pipelines/arcade/stage-unit-tests.yml@self + parameters: + jobMatrix: + - name: win_unit_tests + displayName: Windows Unit Tests + pool: ${{ parameters.PackPlatform }} + timeout: 90 + testOS: Windows + - name: mac_unit_tests + displayName: macOS Unit Tests + pool: + name: Azure Pipelines + vmImage: $(HostedMacImage) + os: macOS + timeout: 90 + testOS: macOS + publishTaskPrefix: '' + +- template: /eng/pipelines/arcade/stage-integration-tests.yml@self + parameters: + stageDependsOn: Pack + publishTaskPrefix: '' + jobMatrix: + - name: win_sample_tests + pool: ${{ parameters.PackPlatform }} + timeout: 120 + testCategory: Samples + - name: mac_sample_tests + pool: + name: Azure Pipelines + vmImage: $(HostedMacImage) + os: macOS + timeout: 120 + testCategory: Samples + + - name: win_wintemplate_tests + pool: ${{ parameters.PackPlatform }} + timeout: 120 + testCategory: WindowsTemplates + + # - name: mac_wintemplate_tests + # pool: + # name: Azure Pipelines + # vmImage: $(HostedMacImage) + # os: macOS + # timeout: 120 + # testCategory: WindowsTemplates + + - name: win_buildtemplate_tests + pool: ${{ parameters.PackPlatform }} + timeout: 120 + testCategory: Build + - name: mac_buildtemplate_tests + pool: + name: Azure Pipelines + vmImage: $(HostedMacImage) + os: macOS + timeout: 240 + testCategory: Build + + - name: win_blazortemplate_tests + pool: ${{ parameters.PackPlatform }} + timeout: 120 + testCategory: Blazor + - name: mac_blazortemplate_tests + pool: + name: Azure Pipelines + vmImage: $(HostedMacImage) + os: macOS + timeout: 120 + testCategory: Blazor + + - name: win_multitemplate_tests + pool: ${{ parameters.PackPlatform }} + timeout: 120 + testCategory: MultiProject + - name: mac_multitemplate_tests + pool: + name: Azure Pipelines + vmImage: $(HostedMacImage) + os: macOS + timeout: 120 + testCategory: MultiProject + + # TODO: macOSTemplates and AOT template categories + + - name: mac_runandroid_tests + pool: + name: Azure Pipelines + vmImage: $(HostedMacImage) + os: macOS + timeout: 180 + testCategory: RunOnAndroid + + - name: mac_runios_tests + pool: + name: Azure Pipelines + vmImage: $(HostedMacImage) + os: macOS + timeout: 180 + testCategory: RunOniOS diff --git a/eng/pipelines/common/device-tests-jobs.yml b/eng/pipelines/common/device-tests-jobs.yml index eb93d5fd3868..0fc0aed412ed 100644 --- a/eng/pipelines/common/device-tests-jobs.yml +++ b/eng/pipelines/common/device-tests-jobs.yml @@ -4,7 +4,6 @@ parameters: versions: [] provisionatorChannel: 'latest' skipProvisioning: true - agentPoolAccessToken: '' artifactName: 'nuget' artifactItemPattern: '**/*.nupkg' checkoutDirectory: $(System.DefaultWorkingDirectory) @@ -41,7 +40,6 @@ jobs: targetFrameworkVersion: ${{ parameters.targetFrameworkVersion.tfm }} packageid: ${{ parameters.project.packageid }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} artifactName: ${{ parameters.artifactName }} artifactItemPattern: ${{ parameters.artifactItemPattern }} checkoutDirectory: ${{ parameters.checkoutDirectory }} @@ -95,7 +93,6 @@ jobs: targetFrameworkVersion: ${{ parameters.targetFrameworkVersion.tfm }} packageid: ${{ parameters.project.packageid }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} artifactName: ${{ parameters.artifactName }} artifactItemPattern: ${{ parameters.artifactItemPattern }} checkoutDirectory: ${{ parameters.checkoutDirectory }} diff --git a/eng/pipelines/common/device-tests-steps.yml b/eng/pipelines/common/device-tests-steps.yml index 05539e366504..60139e6a682a 100644 --- a/eng/pipelines/common/device-tests-steps.yml +++ b/eng/pipelines/common/device-tests-steps.yml @@ -6,7 +6,6 @@ parameters: cakeArgs: '' # additional cake args deviceTestConfiguration: '' # Indicates the configuration to use for Android. We're slowly enabling this for all projects provisionatorChannel: 'latest' - agentPoolAccessToken: '' artifactName: 'nuget' artifactItemPattern: '**/*.nupkg' checkoutDirectory: $(System.DefaultWorkingDirectory) diff --git a/eng/pipelines/common/device-tests.yml b/eng/pipelines/common/device-tests.yml index 8b426a7e7dc4..24c8e89d8435 100644 --- a/eng/pipelines/common/device-tests.yml +++ b/eng/pipelines/common/device-tests.yml @@ -1,15 +1,14 @@ parameters: - androidPool: { } - iosPool: { } - catalystPool: { } - windowsPool: { } + androidPool: {} + iosPool: {} + catalystPool: {} + windowsPool: {} androidApiLevels: [ 33 ] iosVersions: [ 'latest' ] iosDeviceVersions: [ '15' ] catalystVersions: [ 'latest' ] provisionatorChannel: 'latest' skipProvisioning: true - agentPoolAccessToken: '' artifactName: 'nuget' artifactItemPattern: '**/*.nupkg' checkoutDirectory: $(System.DefaultWorkingDirectory) @@ -19,16 +18,16 @@ parameters: tfm: '' dependsOn: '' projects: - - name: name - desc: Human Description - android: /optional/path/to/android.csproj - ios: /optional/path/to/ios.csproj - catalyst: /optional/path/to/catalyst.csproj + - name: name + desc: Human Description + android: /optional/path/to/android.csproj + ios: /optional/path/to/ios.csproj + catalyst: /optional/path/to/catalyst.csproj platforms: - - android - - ios - - catalyst - - windows + - android + - ios + - catalyst + - windows stages: @@ -39,7 +38,7 @@ stages: dependsOn: [] ${{ else }}: dependsOn: - - ${{ platform }}_device_tests_${{ replace(parameters.targetFrameworkVersion.dependsOn, '.', '') }} + - ${{ platform }}_device_tests_${{ replace(parameters.targetFrameworkVersion.dependsOn, '.', '') }} jobs: - ${{ if eq(platform, 'android') }}: @@ -62,7 +61,6 @@ stages: configuration: ${{ project.androidConfiguration }} provisionatorChannel: ${{ parameters.provisionatorChannel }} skipProvisioning: ${{ parameters.skipProvisioning }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} artifactName: ${{ parameters.artifactName }} artifactItemPattern: ${{ parameters.artifactItemPattern }} useArtifacts: ${{ parameters.useArtifacts }} @@ -86,7 +84,6 @@ stages: configuration: ${{ project.iOSConfiguration }} provisionatorChannel: ${{ parameters.provisionatorChannel }} skipProvisioning: ${{ parameters.skipProvisioning }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} artifactName: ${{ parameters.artifactName }} artifactItemPattern: ${{ parameters.artifactItemPattern }} useArtifacts: ${{ parameters.useArtifacts }} @@ -110,7 +107,6 @@ stages: configuration: ${{ project.iOSConfiguration }} provisionatorChannel: ${{ parameters.provisionatorChannel }} skipProvisioning: ${{ parameters.skipProvisioning }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} artifactName: ${{ parameters.artifactName }} artifactItemPattern: ${{ parameters.artifactItemPattern }} useArtifacts: ${{ parameters.useArtifacts }} @@ -136,7 +132,6 @@ stages: configuration: ${{ project.windowsConfiguration }} provisionatorChannel: ${{ parameters.provisionatorChannel }} skipProvisioning: ${{ parameters.skipProvisioning }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} artifactName: ${{ parameters.artifactName }} artifactItemPattern: ${{ parameters.artifactItemPattern }} useArtifacts: ${{ parameters.useArtifacts }} diff --git a/eng/pipelines/common/ui-tests-build-sample.yml b/eng/pipelines/common/ui-tests-build-sample.yml index a3872de583cb..0fa26f8f35cb 100644 --- a/eng/pipelines/common/ui-tests-build-sample.yml +++ b/eng/pipelines/common/ui-tests-build-sample.yml @@ -6,7 +6,6 @@ parameters: app: '' #path to app to test version: '' #the iOS version' provisionatorChannel: 'latest' - agentPoolAccessToken: '' skipProvisioning: true configuration: "Release" testFilter: '' diff --git a/eng/pipelines/common/ui-tests-steps.yml b/eng/pipelines/common/ui-tests-steps.yml index 9f38a99022f9..4c0d1d849d0e 100644 --- a/eng/pipelines/common/ui-tests-steps.yml +++ b/eng/pipelines/common/ui-tests-steps.yml @@ -6,7 +6,6 @@ parameters: app: '' #path to app to test version: '' #the iOS version' provisionatorChannel: 'latest' - agentPoolAccessToken: '' configuration: "Release" runtimeVariant: "Mono" testFilter: '' @@ -183,7 +182,7 @@ steps: displayName: 'Enable Notification Center' continueOnError: true timeoutInMinutes: 60 - + - ${{ if eq(parameters.platform, 'android')}}: - task: PowerShell@2 inputs: diff --git a/eng/pipelines/common/ui-tests.yml b/eng/pipelines/common/ui-tests.yml index a27e789505cb..3f0133828f9b 100644 --- a/eng/pipelines/common/ui-tests.yml +++ b/eng/pipelines/common/ui-tests.yml @@ -10,7 +10,8 @@ parameters: provisionatorChannel: 'latest' timeoutInMinutes: 180 skipProvisioning: true - agentPoolAccessToken: '' + BuildNativeAOT: false # Parameter to control whether NativeAOT artifacts should be built + RunNativeAOT: false # Parameter to control whether NativeAOT UI tests should run categoryGroupsToTest: # Make sure that this list is always up-to-date with src/Controls/tests/TestCases.Shared.Tests/UITestCategories.cs # we might want to improve this somehow depending on how much the categories change over time @@ -75,7 +76,8 @@ stages: runtimeVariant: "CoreCLR" skipProvisioning: ${{ parameters.skipProvisioning }} - - ${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}: + # NativeAOT UI tests build stage - only run when BuildNativeAOT parameter is true + - ${{ if eq(parameters.BuildNativeAOT, true) }}: - stage: build_ui_tests_nativeaot displayName: Build UITests NativeAOT Sample App dependsOn: [] @@ -142,7 +144,6 @@ stages: ${{ if not(eq(api, 27)) }}: device: android-emulator-64_${{ api }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} testFilter: $(CATEGORYGROUP) skipProvisioning: ${{ parameters.skipProvisioning }} @@ -222,7 +223,6 @@ stages: ${{ if ne(version, 'latest') }}: device: ios-simulator-64_${{ version }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} runtimeVariant : "Mono" testFilter: $(CATEGORYGROUP) skipProvisioning: ${{ parameters.skipProvisioning }} @@ -259,7 +259,6 @@ stages: ${{ if ne(version, 'latest') }}: device: ios-simulator-64_${{ version }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} runtimeVariant : "Mono" testFilter: "CollectionView" testConfigurationArgs: "CollectionView2" @@ -297,13 +296,13 @@ stages: ${{ if ne(version, 'latest') }}: device: ios-simulator-64_${{ version }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} runtimeVariant : "Mono" testFilter: "CarouselView" testConfigurationArgs: "CollectionView2" skipProvisioning: ${{ parameters.skipProvisioning }} - - ${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}: + # NativeAOT iOS UI tests stage - only run when both BuildNativeAOT and RunNativeAOT parameters are true + - ${{ if and(eq(parameters.BuildNativeAOT, true), eq(parameters.RunNativeAOT, true)) }}: - stage: ios_ui_tests_nativeaot displayName: iOS UITests NativeAOT dependsOn: build_ui_tests_nativeaot @@ -341,7 +340,6 @@ stages: ${{ if ne(version, 'latest') }}: device: ios-simulator-64_${{ version }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} runtimeVariant : "NativeAOT" testFilter: $(CATEGORYGROUP) skipProvisioning: ${{ parameters.skipProvisioning }} @@ -374,7 +372,6 @@ stages: path: ${{ project.winui }} app: ${{ project.app }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} testFilter: $(CATEGORYGROUP) skipProvisioning: ${{ parameters.skipProvisioning }} @@ -407,6 +404,5 @@ stages: path: ${{ project.mac }} app: ${{ project.app }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - agentPoolAccessToken: ${{ parameters.agentPoolAccessToken }} testFilter: $(CATEGORYGROUP) skipProvisioning: ${{ parameters.skipProvisioning }} diff --git a/eng/pipelines/device-tests.yml b/eng/pipelines/device-tests.yml index ca36a92b5884..3f71ddbafdee 100644 --- a/eng/pipelines/device-tests.yml +++ b/eng/pipelines/device-tests.yml @@ -52,11 +52,6 @@ parameters: type: boolean default: false -- name: provisionatorChannel - displayName: 'Provisionator channel' - type: string - default: 'latest' - - name: BuildEverything type: boolean default: false @@ -91,19 +86,12 @@ parameters: name: $(windowsTestsVmPool) vmImage: $(windowsTestsVmImage) + - name: targetFrameworkVersions type: object default: - tfm: net10.0 -resources: - repositories: - - repository: yaml-templates - type: github - name: xamarin/yaml-templates - endpoint: xamarin - ref: refs/heads/main - stages: - ${{ each targetFrameworkVersion in parameters.targetFrameworkVersions }}: - template: common/device-tests.yml @@ -142,7 +130,7 @@ stages: windows: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj - name: graphics desc: Graphics - androidApiLevelsExclude: [ 25 ] # Ignore for now API25 since the runs's are not stable + androidApiLevelsExclude: [ 25, 28 ] # Ignore for now API25 and API28 since the runs's are not stable androidConfiguration: 'Release' iOSConfiguration: 'Debug' windowsConfiguration: 'Debug' diff --git a/eng/pipelines/handlers.yml b/eng/pipelines/handlers.yml index 153717afa0c5..d79c5288fae8 100644 --- a/eng/pipelines/handlers.yml +++ b/eng/pipelines/handlers.yml @@ -303,6 +303,9 @@ stages: displayName: Build Microsoft.Maui.IntegrationTests - pwsh: ./build.ps1 --target=dotnet-integration-test --filter="Category=Samples" --resultsfilename="integration-samples" --verbosity=diagnostic displayName: Run ${{ BuildPlatform.name }} sample build tests + - ${{ if eq(BuildPlatform.name , 'Windows') }}: + - pwsh: ./build.ps1 --target=dotnet-integration-test --filter="Category=AOT" --resultsfilename="integration-aot-windows" --verbosity=diagnostic + displayName: Run Windows AOT build tests - task: PublishTestResults@2 displayName: Publish the ${{ BuildPlatform.name }} sample build tests condition: always() diff --git a/eng/pipelines/ui-tests.yml b/eng/pipelines/ui-tests.yml index 2f426ba2c417..1674c8da69cd 100644 --- a/eng/pipelines/ui-tests.yml +++ b/eng/pipelines/ui-tests.yml @@ -52,15 +52,20 @@ parameters: type: boolean default: false - - name: provisionatorChannel - displayName: 'Provisionator channel' - type: string - default: 'latest' - - name: BuildEverything type: boolean default: false + - name: BuildNativeAOT + displayName: 'Build NativeAOT artifacts' + type: boolean + default: false + + - name: RunNativeAOT + displayName: 'Run NativeAOT UI Tests' + type: boolean + default: false + - name: androidPool type: object default: @@ -105,15 +110,6 @@ parameters: name: Azure Pipelines vmImage: macOS-14 - -resources: - repositories: - - repository: yaml-templates - type: github - name: xamarin/yaml-templates - endpoint: xamarin - ref: refs/heads/main - stages: - template: common/ui-tests.yml @@ -124,15 +120,15 @@ stages: windowsPool: ${{ parameters.windowsPool }} windowsBuildPool: ${{ parameters.windowsBuildPool }} macosPool: ${{ parameters.macosPool }} - agentPoolAccessToken: $(AgentPoolAccessToken) + # BuildNativeAOT is false by default, but true in devdiv environment + BuildNativeAOT: ${{ or(parameters.BuildNativeAOT, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }} + RunNativeAOT: ${{ parameters.RunNativeAOT }} ${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}: androidApiLevels: [ 30 ] iosVersions: [ '18.4' ] - provisionatorChannel: ${{ parameters.provisionatorChannel }} ${{ else }}: androidApiLevels: [ 30 ] iosVersions: [ '18.4' ] - provisionatorChannel: ${{ parameters.provisionatorChannel }} ${{ if or(parameters.UseProvisionator, eq(variables['internalProvisioning'],'true') ) }}: skipProvisioning: false ${{ else }}: diff --git a/src/Compatibility/Core/src/Android/FastRenderers/ImageElementManager.cs b/src/Compatibility/Core/src/Android/FastRenderers/ImageElementManager.cs index 15ae12b64739..9d4e7e5fc9c0 100644 --- a/src/Compatibility/Core/src/Android/FastRenderers/ImageElementManager.cs +++ b/src/Compatibility/Core/src/Android/FastRenderers/ImageElementManager.cs @@ -26,7 +26,7 @@ static void OnLayoutChange(object sender, global::Android.Views.View.LayoutChang { if (sender is IVisualElementRenderer renderer && renderer.View is ImageView imageView) #pragma warning disable CS0618 // Obsolete - AViewCompat.SetClipBounds(imageView, imageView.GetScaleType() == AScaleType.CenterCrop ? new ARect(0, 0, e.Right - e.Left, e.Bottom - e.Top) : null); + AViewCompat.SetClipBounds(imageView, PlatformInterop.IsImageViewCenterCrop(imageView) ? new ARect(0, 0, e.Right - e.Left, e.Bottom - e.Top) : null); #pragma warning restore CS0618 // Obsolete } diff --git a/src/Controls/samples/Controls.Sample.Embedding/Resources/Styles/Styles.xaml b/src/Controls/samples/Controls.Sample.Embedding/Resources/Styles/Styles.xaml index 6590af989c48..8982619fe0c9 100644 --- a/src/Controls/samples/Controls.Sample.Embedding/Resources/Styles/Styles.xaml +++ b/src/Controls/samples/Controls.Sample.Embedding/Resources/Styles/Styles.xaml @@ -172,10 +172,6 @@ - - + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/summarychemaddition.svg b/src/Controls/tests/ManualTests/Resources/Images/summarychemaddition.svg new file mode 100644 index 000000000000..3e12faca0df1 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/summarychemaddition.svg @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/summaryhigh.svg b/src/Controls/tests/ManualTests/Resources/Images/summaryhigh.svg new file mode 100644 index 000000000000..8823bc1d3761 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/summaryhigh.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/summarylow.svg b/src/Controls/tests/ManualTests/Resources/Images/summarylow.svg new file mode 100644 index 000000000000..575d9f300969 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/summarylow.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/tfp.svg b/src/Controls/tests/ManualTests/Resources/Images/tfp.svg new file mode 100644 index 000000000000..0a97a365ec4d --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/tfp.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Resources/Images/tfpblue.svg b/src/Controls/tests/ManualTests/Resources/Images/tfpblue.svg new file mode 100644 index 000000000000..0e5e3ac278f9 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/tfpblue.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Resources/Images/timeline.svg b/src/Controls/tests/ManualTests/Resources/Images/timeline.svg new file mode 100644 index 000000000000..d213544b8ba1 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timeline.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinebroom.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinebroom.svg new file mode 100644 index 000000000000..80a2bc02453e --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinebroom.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinechemicals.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinechemicals.svg new file mode 100644 index 000000000000..d01b3c2f1ab1 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinechemicals.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinedollar.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinedollar.svg new file mode 100644 index 000000000000..8b0e7ab79fd0 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinedollar.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinedrop.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinedrop.svg new file mode 100644 index 000000000000..b23879876eec --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinedrop.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinefilter.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinefilter.svg new file mode 100644 index 000000000000..08b269a2bba8 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinefilter.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinenote.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinenote.svg new file mode 100644 index 000000000000..dc1cbc82974e --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinenote.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelineplus.svg b/src/Controls/tests/ManualTests/Resources/Images/timelineplus.svg new file mode 100644 index 000000000000..b09fdad87142 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelineplus.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinepoolclose.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinepoolclose.svg new file mode 100644 index 000000000000..5bf16fa2a974 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinepoolclose.svg @@ -0,0 +1,2 @@ + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinepoolopen.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinepoolopen.svg new file mode 100644 index 000000000000..ced81ea5c571 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinepoolopen.svg @@ -0,0 +1,2 @@ + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelineschedule.svg b/src/Controls/tests/ManualTests/Resources/Images/timelineschedule.svg new file mode 100644 index 000000000000..6f2ab5ba32e5 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelineschedule.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/timelinevacuum.svg b/src/Controls/tests/ManualTests/Resources/Images/timelinevacuum.svg new file mode 100644 index 000000000000..131f0a978b4b --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/timelinevacuum.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/twitter.svg b/src/Controls/tests/ManualTests/Resources/Images/twitter.svg new file mode 100644 index 000000000000..6a38e08d997c --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/twitter.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/upgrade.svg b/src/Controls/tests/ManualTests/Resources/Images/upgrade.svg new file mode 100644 index 000000000000..9d77bd5fbe9d --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/upgrade.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/user.svg b/src/Controls/tests/ManualTests/Resources/Images/user.svg new file mode 100644 index 000000000000..9bdbbac5d49a --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/user.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w1.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w1.svg new file mode 100644 index 000000000000..eafcd77d7b51 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w1.svg @@ -0,0 +1,27 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w11.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w11.svg new file mode 100644 index 000000000000..cf06f8f8216f --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w11.svg @@ -0,0 +1,18 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w12.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w12.svg new file mode 100644 index 000000000000..3cb7e3184b0b --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w12.svg @@ -0,0 +1,31 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w13.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w13.svg new file mode 100644 index 000000000000..cd0cb0a06968 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w13.svg @@ -0,0 +1,43 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w14.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w14.svg new file mode 100644 index 000000000000..cd0cb0a06968 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w14.svg @@ -0,0 +1,43 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w15.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w15.svg new file mode 100644 index 000000000000..52555ec78612 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w15.svg @@ -0,0 +1,21 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w16.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w16.svg new file mode 100644 index 000000000000..006a8e56415c --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w16.svg @@ -0,0 +1,34 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w17.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w17.svg new file mode 100644 index 000000000000..006a8e56415c --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w17.svg @@ -0,0 +1,34 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w18.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w18.svg new file mode 100644 index 000000000000..7ecef3fecc98 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w18.svg @@ -0,0 +1,23 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w19.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w19.svg new file mode 100644 index 000000000000..950aeacf75a6 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w19.svg @@ -0,0 +1,27 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w2.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w2.svg new file mode 100644 index 000000000000..eafcd77d7b51 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w2.svg @@ -0,0 +1,27 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w20.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w20.svg new file mode 100644 index 000000000000..6a632dc381da --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w20.svg @@ -0,0 +1,40 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w21.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w21.svg new file mode 100644 index 000000000000..6a632dc381da --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w21.svg @@ -0,0 +1,40 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w22.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w22.svg new file mode 100644 index 000000000000..56afebf9c20a --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w22.svg @@ -0,0 +1,27 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w23.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w23.svg new file mode 100644 index 000000000000..c1f1c711a1b9 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w23.svg @@ -0,0 +1,40 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w24.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w24.svg new file mode 100644 index 000000000000..e0d345db7c4f --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w24.svg @@ -0,0 +1,12 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w25.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w25.svg new file mode 100644 index 000000000000..b97bc09e7450 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w25.svg @@ -0,0 +1,35 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w26.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w26.svg new file mode 100644 index 000000000000..b97bc09e7450 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w26.svg @@ -0,0 +1,35 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w29.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w29.svg new file mode 100644 index 000000000000..b97bc09e7450 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w29.svg @@ -0,0 +1,35 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w3.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w3.svg new file mode 100644 index 000000000000..4873b055aa52 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w3.svg @@ -0,0 +1,29 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w30.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w30.svg new file mode 100644 index 000000000000..66faa3a21fcf --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w30.svg @@ -0,0 +1,56 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w31.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w31.svg new file mode 100644 index 000000000000..e0d345db7c4f --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w31.svg @@ -0,0 +1,12 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w32.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w32.svg new file mode 100644 index 000000000000..de5488a3b843 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w32.svg @@ -0,0 +1,14 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w33.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w33.svg new file mode 100644 index 000000000000..053b2de96823 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w33.svg @@ -0,0 +1,13 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w34.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w34.svg new file mode 100644 index 000000000000..2b36834f415d --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w34.svg @@ -0,0 +1,19 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w35.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w35.svg new file mode 100644 index 000000000000..2b36834f415d --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w35.svg @@ -0,0 +1,19 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w36.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w36.svg new file mode 100644 index 000000000000..2b36834f415d --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w36.svg @@ -0,0 +1,19 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w37.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w37.svg new file mode 100644 index 000000000000..a895dac2f538 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w37.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w38.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w38.svg new file mode 100644 index 000000000000..8b76dba18583 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w38.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w39.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w39.svg new file mode 100644 index 000000000000..4829c81ba66c --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w39.svg @@ -0,0 +1,32 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w4.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w4.svg new file mode 100644 index 000000000000..4873b055aa52 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w4.svg @@ -0,0 +1,29 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w40.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w40.svg new file mode 100644 index 000000000000..3d4e6dc2f7bc --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w40.svg @@ -0,0 +1,24 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w41.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w41.svg new file mode 100644 index 000000000000..b9541cb11b25 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w41.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w42.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w42.svg new file mode 100644 index 000000000000..b9541cb11b25 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w42.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w43.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w43.svg new file mode 100644 index 000000000000..d34c39f175c4 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w43.svg @@ -0,0 +1,29 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w44.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w44.svg new file mode 100644 index 000000000000..c4bab7465e3b --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w44.svg @@ -0,0 +1,29 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w5.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w5.svg new file mode 100644 index 000000000000..e19bf1379e2a --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w5.svg @@ -0,0 +1,33 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w6.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w6.svg new file mode 100644 index 000000000000..cf63543a83fc --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w6.svg @@ -0,0 +1,26 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w7.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w7.svg new file mode 100644 index 000000000000..c3eaf41db3a7 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w7.svg @@ -0,0 +1,18 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Images/weather/w8.svg b/src/Controls/tests/ManualTests/Resources/Images/weather/w8.svg new file mode 100644 index 000000000000..c3eaf41db3a7 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Images/weather/w8.svg @@ -0,0 +1,18 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Resources/Raw/AboutAssets.txt b/src/Controls/tests/ManualTests/Resources/Raw/AboutAssets.txt new file mode 100644 index 000000000000..89dc758d6e0d --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Raw/AboutAssets.txt @@ -0,0 +1,15 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories). Deployment of the asset to your application +is automatically handled by the following `MauiAsset` Build Action within your `.csproj`. + + + +These files will be deployed with your package and will be accessible using Essentials: + + async Task LoadMauiAsset() + { + using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt"); + using var reader = new StreamReader(stream); + + var contents = reader.ReadToEnd(); + } diff --git a/src/Controls/tests/ManualTests/Resources/Raw/logs.json b/src/Controls/tests/ManualTests/Resources/Raw/logs.json new file mode 100644 index 000000000000..ef33a24a4fb8 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Raw/logs.json @@ -0,0 +1,10550 @@ +[ + { + "type": "maintlog", + "backwashed": true, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": 25, + "pressure": 33, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2024-03-26T19:41:13Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "47edbabb-3f1e-4e64-a01f-6490db901590", + "_ts": 1711482878, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 1, + "Unit": 0, + "Amount": 0.3, + "NormalizedAmount": 0.3, + + "logTimestamp": "2024-01-23T02:19:46Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "265abb39-9f29-46de-a12e-dcbd53fa0b9b", + "_ts": 1705977510, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": 6.9, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": -0.9, + "waterTemp": null, + "waterTempUnits": 0, + + "logTimestamp": "2024-01-21T02:51:45Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "594b8aca-26f4-4cc2-a0f5-091e7a93654c", + "_ts": 1711484871, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test Time", + + "logTimestamp": "2023-11-14T21:00:00Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "386d5b56-d46f-4b96-a228-230ba83ddada", + "_ts": 1699998962, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test", + + "logTimestamp": "2022-12-29T02:58:27Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "11135f77-5122-40f0-90a3-7a5a43ffd9ec", + "_ts": 1680273497, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": true, + "notes": null, + + "logTimestamp": "2018-08-20T14:45:29Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "d03b8cce-dbdb-4562-bdd8-c0238d8bfded", + "_ts": 1549295157, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-17T14:38:14.6422431Z", + "weather": { + "timestamp": "2018-08-17T14:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22, + "tempFeelsLike": 24.5, + "relHumidity": 97, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 13.8, + "windGustSpeed": 18, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 97, + "pressure": 1012.9, + "precipPast24Hours": 3 + }, + "weatherLogId": "170635c4-8da2-4fa7-b800-017ef750677b", + + "origin": "dialogflow", + "id": "7c0e274d-55c6-4e84-96d3-f85509d87051", + "_ts": 1534516694, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-16T00:39:12.5845119Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "776e5e72-972b-452c-b322-36439ede8c3d", + + "origin": "dialogflow", + "id": "ea7b115e-6940-4625-90fb-97fd83191f81", + "_ts": 1534379952, + "deleted": false + }, + { + "type": "testlog", + "fc": 4, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-16T00:37:34.6585562Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "089431d6-21fe-4fda-b04f-fba27c2c20eb", + + "origin": "dialogflow", + "id": "c0475b4a-963f-475c-a8f1-22f5c5fdfc2d", + "_ts": 1534379854, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-15T00:02:22.8880771Z", + "weather": { + "timestamp": "2018-08-15T00:01:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 26.3, + "tempFeelsLike": 25.9, + "relHumidity": 63, + "windDir": 270, + "windDirDesc": "W", + "windSpeed": 13.5, + "windGustSpeed": 17, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 28, + "pressure": 1012.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "2855707a-2d89-45cb-8702-75987ec89f8f", + + "origin": "dialogflow", + "id": "ac40d9e1-8a11-48f6-ba98-da8323518102", + "_ts": 1534291343, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-08-13T23:49:38.0936887Z", + "weather": { + "timestamp": "2018-08-13T23:45:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 24.3, + "tempFeelsLike": 23.9, + "relHumidity": 68, + "windDir": 45, + "windDirDesc": "NE", + "windSpeed": 9.4, + "windGustSpeed": 12.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 77, + "pressure": 1015.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "717b9d7a-7659-4131-b87f-d13134cdeb41", + + "origin": "dialogflow", + "id": "2c6ed786-c2f4-493f-b35f-a200f6fb23f5", + "_ts": 1534204178, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-13T00:09:44.1352293Z", + "weather": { + "timestamp": "2018-08-13T00:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26.4, + "tempFeelsLike": 25.8, + "relHumidity": 60, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 11.4, + "windGustSpeed": 14.7, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 68, + "pressure": 1017.5, + "precipPast24Hours": 1 + }, + "weatherLogId": "cf3c0db0-2c3a-42a2-b176-6f5a5e9e128f", + + "origin": "dialogflow", + "id": "5030e5a8-24f9-41b4-abfb-8fefa387102b", + "_ts": 1534118984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-12T14:43:30.0390095Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "3623d415-d372-49e3-a5b8-5fb0f13863be", + + "origin": "dialogflow", + "id": "beb80cab-63ce-46c5-bddb-ef04f2c9cd34", + "_ts": 1534085010, + "deleted": false + }, + { + "type": "testlog", + "fc": 2, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-08-12T14:42:01.4115554Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "72d58aa2-d430-49bf-88c8-ab8717fa2077", + + "origin": "dialogflow", + "id": "99d51b84-11d7-4b7f-bcf2-205b77dc721f", + "_ts": 1534085040, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-09T13:38:47.2819901Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "5ad94891-96d6-4296-8681-1dbd210d43e8", + + "origin": "dialogflow", + "id": "adf46068-180b-408a-8947-49c361ff72b2", + "_ts": 1533821927, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-09T13:36:52.2780111Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "8beea3cb-0e4c-4290-ac41-fbc39ab1e963", + + "origin": "dialogflow", + "id": "12090f61-701b-44a6-97cb-f7b98ea02581", + "_ts": 1533821970, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-07T21:25:50.7176017Z", + "weather": { + "timestamp": "2018-08-07T21:20:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 25.6, + "tempFeelsLike": 28.5, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 8.1, + "windGustSpeed": 11.7, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 91, + "pressure": 1011.7, + "precipPast24Hours": 18 + }, + "weatherLogId": "3c769a46-7202-4b87-a2b4-b1dec93b6d54", + + "origin": "dialogflow", + "id": "0998b96e-fda4-447a-86f6-165bf1cbc9d4", + "_ts": 1533677151, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-06T21:34:23.3122289Z", + "weather": { + "timestamp": "2018-08-06T21:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 27.9, + "tempFeelsLike": 31.3, + "relHumidity": 72, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 11.4, + "windGustSpeed": 16, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 83, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "70f30ade-67d7-4c5a-9d7e-eac70a3a5343", + + "origin": "dialogflow", + "id": "73a1a200-a536-4996-b9cb-6635b5df17db", + "_ts": 1533591263, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-05T23:32:35.1643275Z", + "weather": { + "timestamp": "2018-08-05T23:25:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 29, + "relHumidity": 63, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 15.2, + "windGustSpeed": 20.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 54, + "pressure": 1016.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "9b107452-ede0-46c1-8c9b-9a34c11d50e2", + + "origin": "dialogflow", + "id": "96a55109-15dd-4c0f-85ff-912f8c76badb", + "_ts": 1533511955, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": true, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2018-08-05T14:17:00.0463318Z", + "weather": { + "timestamp": "2018-08-05T14:10:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.7, + "tempFeelsLike": 30.5, + "relHumidity": 85, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 10.6, + "windGustSpeed": 14.5, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 52, + "pressure": 1020.1, + "precipPast24Hours": 0 + }, + "weatherLogId": "7fb51a1e-2997-43be-9a35-11f48ca611b4", + + "origin": "dialogflow", + "id": "e0a6f6c9-515f-4877-9bce-f6391d2bbc6b", + "_ts": 1533478620, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-04T20:37:27.0893588Z", + "weather": { + "timestamp": "2018-08-04T20:20:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 27.4, + "tempFeelsLike": 29.7, + "relHumidity": 55, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 7.9, + "windGustSpeed": 10.6, + "uvIndex": 3, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 33, + "pressure": 1019.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "0aa6eb0d-09b8-4245-a720-2b22685b8605", + + "origin": "dialogflow", + "id": "aa1b9180-3f22-4107-ac1a-62a1b91d1fa1", + "_ts": 1533415047, + "deleted": false + }, + { + "type": "testlog", + "fc": 6.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-04T15:27:37.9011375Z", + "weather": { + "timestamp": "2018-08-04T15:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 22.9, + "tempFeelsLike": 29.1, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 6.7, + "windGustSpeed": 9.9, + "uvIndex": 8, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 24, + "pressure": 1019, + "precipPast24Hours": 0 + }, + "weatherLogId": "0d7f3b3a-e67a-4773-83fe-31045212cc4a", + + "origin": "dialogflow", + "id": "1f2c688f-8dd4-4190-bf42-f96b7b19b336", + "_ts": 1533396474, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-03T00:25:11.3787107Z", + "weather": { + "timestamp": "2018-08-03T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.5, + "tempFeelsLike": 24.4, + "relHumidity": 73, + "windDir": 135, + "windDirDesc": "SE", + "windSpeed": 13.1, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1015, + "precipPast24Hours": 0 + }, + "weatherLogId": "a3e5c7cb-4b4f-4b16-835d-4e454b35a17d", + + "origin": "dialogflow", + "id": "b4db8719-1480-4d97-ae5b-13a47ff2c74f", + "_ts": 1533255911, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-01T21:16:03.4408029Z", + "weather": { + "timestamp": "2018-08-01T21:10:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.1, + "tempFeelsLike": 22, + "relHumidity": 80, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 13.7, + "windGustSpeed": 17.1, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1013.1, + "precipPast24Hours": 1 + }, + "weatherLogId": "07e002b7-af16-4770-8c77-3996588a19e8", + + "origin": "dialogflow", + "id": "5e46b288-b950-4d6d-9ef1-77a8083d14a1", + "_ts": 1533158163, + "deleted": false + }, + { + "type": "testlog", + "fc": null, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-30T23:47:58.6770836Z", + "weather": { + "timestamp": "2018-07-30T23:40:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 23.1, + "tempFeelsLike": 22.3, + "relHumidity": 69, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 9.7, + "windGustSpeed": 12.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 84, + "pressure": 1016.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "98c28b44-8c02-4282-8d5d-d84b4779a730", + + "origin": "dialogflow", + "id": "e2dd0091-148b-42ef-bd84-4702c02e5bb9", + "_ts": 1532994478, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-28T11:39:45.4772522Z", + "weather": { + "timestamp": "2018-07-28T11:35:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 17.5, + "tempFeelsLike": 17.6, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 13.4, + "windGustSpeed": 16.9, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1017.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "d5b29b45-837a-4dc9-8e37-f19076fd1f36", + + "origin": "dialogflow", + "id": "3e2bba3e-4a80-41f6-83a7-8250ac9d6cf8", + "_ts": 1532777985, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 0.8, + "NormalizedAmount": 800, + + "logTimestamp": "2018-07-27T00:30:26.7584573Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "9e50efe2-1378-4ee1-a718-3b00776e81cc", + + "origin": "dialogflow", + "id": "9f82ced2-a906-4cdd-ab76-761b5ddbcf24", + "_ts": 1532651426, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-27T00:23:51.2269602Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "e53c08a4-f77e-40ae-bc48-30c8e7150660", + + "origin": "dialogflow", + "id": "bd2be2fc-9f04-4c21-8d19-676e5317bfcd", + "_ts": 1532651059, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-26T00:07:21.8672953Z", + "weather": { + "timestamp": "2018-07-26T00:03:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26, + "tempFeelsLike": 25.6, + "relHumidity": 63, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 11.2, + "windGustSpeed": 13.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1010.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "d1d2e117-caef-46cb-bafc-4d5c532590ad", + + "origin": "dialogflow", + "id": "a7f5a6d2-24a3-45e9-b62e-f6ad142619c5", + "_ts": 1532563642, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-25T00:03:16.614879Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "f3081451-8510-407a-8239-8f1d518d12c7", + + "origin": null, + "id": "0eb12baa-9a8a-4873-808e-507b8ccf1fe5", + "_ts": 1532477010, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-24T23:59:16.1670206Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "c70de094-6f97-462d-a6b0-a59b18ec4297", + + "origin": "dialogflow", + "id": "df80a9b2-8307-4fb7-9a48-a09ee0a55d74", + "_ts": 1532476756, + "deleted": false + }, + { + "type": "testlog", + "fc": 20, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T03:01:43.37876Z", + "weather": { + "timestamp": "2018-07-22T03:01:00Z", + "desc": "Mostly cloudy", + "icon": 38, + "temp": 22.2, + "tempFeelsLike": 22.1, + "relHumidity": 86, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 15.2, + "windGustSpeed": 19.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 88, + "pressure": 1007.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "444fd80f-91e6-4ef5-86fb-8c4f5a65f3d0", + + "origin": "dialogflow", + "id": "ed1bb7b4-e61a-4e10-9cf5-85276cb52f1a", + "_ts": 1532228503, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-07-22T01:47:35.4244336Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "126e1d2d-f79f-42e5-a703-c865aa4a1436", + + "origin": "dialogflow", + "id": "a054db03-f812-447d-b234-f3516f0ec2ef", + "_ts": 1532224055, + "deleted": false + }, + { + "type": "testlog", + "fc": 15, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T01:45:31.6302124Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "852197dd-4d50-403b-85d1-baa3f2142f57", + + "origin": "dialogflow", + "id": "32186e7f-cfb7-4875-9797-844f7f8b64ca", + "_ts": 1532223932, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 4, + "NormalizedAmount": 4000, + + "logTimestamp": "2018-07-22T00:43:19.1151705Z", + "weather": { + "timestamp": "2018-07-22T00:30:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.1, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18.4, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 93, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "1d65d2f3-18e1-4aab-ae20-45b8de501143", + + "origin": "dialogflow", + "id": "a3dd1114-36c2-4ea3-90cf-2aa6b9a05f77", + "_ts": 1532220199, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": 0.5, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.43, + "waterTemp": 86, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T00:35:35.086717Z", + "weather": { + "timestamp": "2018-07-22T00:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.9, + "tempFeelsLike": 22.8, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "55b4b107-8085-47c7-a480-4685a6c77915", + + "origin": "dialogflow", + "id": "f9900745-085a-49e7-a8ae-47546700502b", + "_ts": 1532219779, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:57:25.361359Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "700bc4b1-6738-4021-abc2-75f3c9ebcead", + + "origin": "dialogflow", + "id": "b66c50c8-2d78-4938-bf31-31a7cc7be3f4", + "_ts": 1532048246, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:53:03.9456967Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "3cd942f7-4be9-4dc1-8249-c4d1e7653e89", + + "origin": "dialogflow", + "id": "31825b59-cd10-4711-a2b9-f8d0ab81113a", + "_ts": 1532047984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-17T00:04:45.3187924Z", + "weather": { + "timestamp": "2018-07-17T00:01:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 25.8, + "tempFeelsLike": 28.3, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.8, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 79, + "pressure": 1009.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "78b12772-f10e-4aef-84c1-f8578143ef61", + + "origin": "dialogflow", + "id": "7a4bc193-ce32-4d0c-b651-ffa7ddf7c010", + "_ts": 1531785885, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1033, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-15T17:47:44.093287Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "dc9e7aa4-b661-4e54-8b04-fb76745aaaad", + + "origin": null, + "id": "f9876d6e-357e-4a5a-9f51-38fe522a9913", + "_ts": 1531676865, + "deleted": false + }, + { + "type": "testlog", + "fc": 1.5, + "cc": 0, + "cya": 45, + "ch": null, + "ph": 7.5, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.42, + "waterTemp": 89, + "waterTempUnits": null, + + "logTimestamp": "2018-07-15T17:47:12Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "fbf5a79d-7109-4150-ae7a-c2175012368d", + + "origin": null, + "id": "7b7c4ecf-c993-44e9-9e37-fcbf5093b5a0", + "_ts": 1532219834, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-12T17:45:58.3969482Z", + "weather": { + "timestamp": "2018-07-12T17:40:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 24.2, + "tempFeelsLike": 28.4, + "relHumidity": 50, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 11.5, + "windGustSpeed": 14.8, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 48, + "pressure": 1023.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "109cc2c2-8b4d-47d8-969d-9da77ffbd6ff", + + "origin": "dialogflow", + "id": "bcd1dab1-7cc2-4f83-accc-aba85e1abb79", + "_ts": 1531417558, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-08T17:02:21.8166098Z", + "weather": { + "timestamp": "2018-07-08T17:00:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.2, + "tempFeelsLike": 29, + "relHumidity": 56, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 5.9, + "windGustSpeed": 8.2, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 26, + "pressure": 1025.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "246e9bad-dcfe-4b68-af12-f42085674295", + + "origin": "dialogflow", + "id": "4798cb21-f79b-4121-bde1-b62d6cd33ff4", + "_ts": 1531069342, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1328, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-07T18:35:24.715964Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "57403c31-a43e-4781-998f-c4817c1b943d", + + "origin": null, + "id": "53bf83a7-a1e8-45b4-a8c2-d2240d246927", + "_ts": 1530988526, + "deleted": false + }, + { + "type": "testlog", + "fc": 0.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-07T18:34:11.45778Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "4af952ad-5480-4538-9acd-eac9fcdc80bb", + + "origin": null, + "id": "25d11b3e-fabb-435d-b948-317b6af20423", + "_ts": 1530988459, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 750, + "NormalizedAmount": 750, + + "logTimestamp": "2018-07-05T23:25:47.8601697Z", + "weather": { + "timestamp": "2018-07-05T23:20:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.2, + "tempFeelsLike": 31.1, + "relHumidity": 76, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 20.8, + "windGustSpeed": 27, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1017.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "cec7857d-0439-450c-9c9f-093876347eca", + + "origin": "dialogflow", + "id": "36b7bca1-4b8b-476b-b49e-ce1c5d3a8e84", + "_ts": 1530833148, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-07-04T23:13:10.293007Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "40a6cc38-5591-4dd8-9925-3524e3488d46", + + "origin": "dialogflow", + "id": "50fa29ed-0008-48e6-b885-01fed3e92912", + "_ts": 1530745990, + "deleted": false + }, + { + "type": "testlog", + "fc": 3, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 91, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T23:10:51.6869302Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "8d6fc2bb-6508-4455-9d39-c5209f21a50c", + + "origin": "dialogflow", + "id": "0a2ce88c-b37b-43de-ac40-c9470be0cada", + "_ts": 1530746061, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-04T00:19:47.161294Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "ec82f9ca-b584-459c-b3be-1ba6f27ee534", + + "origin": null, + "id": "8f52fd2d-b517-4ee1-9903-59f9b06146bf", + "_ts": 1530663595, + "deleted": false + }, + { + "type": "testlog", + "fc": 2.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T00:19:27.928185Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "afb0eff3-a2d1-4c0c-85da-beefa3fa248d", + + "origin": null, + "id": "844069b4-9f46-43b1-8002-a111616f0bc2", + "_ts": 1530663575, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": true, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": 25, + "pressure": 33, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2024-03-26T19:41:13Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "47edbabb-3f1e-4e64-a01f-6490db901590", + "_ts": 1711482878, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 1, + "Unit": 0, + "Amount": 0.3, + "NormalizedAmount": 0.3, + + "logTimestamp": "2024-01-23T02:19:46Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "265abb39-9f29-46de-a12e-dcbd53fa0b9b", + "_ts": 1705977510, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": 6.9, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": -0.9, + "waterTemp": null, + "waterTempUnits": 0, + + "logTimestamp": "2024-01-21T02:51:45Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "594b8aca-26f4-4cc2-a0f5-091e7a93654c", + "_ts": 1711484871, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test Time", + + "logTimestamp": "2023-11-14T21:00:00Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "386d5b56-d46f-4b96-a228-230ba83ddada", + "_ts": 1699998962, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test", + + "logTimestamp": "2022-12-29T02:58:27Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "11135f77-5122-40f0-90a3-7a5a43ffd9ec", + "_ts": 1680273497, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": true, + "notes": null, + + "logTimestamp": "2018-08-20T14:45:29Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "d03b8cce-dbdb-4562-bdd8-c0238d8bfded", + "_ts": 1549295157, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-17T14:38:14.6422431Z", + "weather": { + "timestamp": "2018-08-17T14:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22, + "tempFeelsLike": 24.5, + "relHumidity": 97, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 13.8, + "windGustSpeed": 18, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 97, + "pressure": 1012.9, + "precipPast24Hours": 3 + }, + "weatherLogId": "170635c4-8da2-4fa7-b800-017ef750677b", + + "origin": "dialogflow", + "id": "7c0e274d-55c6-4e84-96d3-f85509d87051", + "_ts": 1534516694, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-16T00:39:12.5845119Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "776e5e72-972b-452c-b322-36439ede8c3d", + + "origin": "dialogflow", + "id": "ea7b115e-6940-4625-90fb-97fd83191f81", + "_ts": 1534379952, + "deleted": false + }, + { + "type": "testlog", + "fc": 4, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-16T00:37:34.6585562Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "089431d6-21fe-4fda-b04f-fba27c2c20eb", + + "origin": "dialogflow", + "id": "c0475b4a-963f-475c-a8f1-22f5c5fdfc2d", + "_ts": 1534379854, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-15T00:02:22.8880771Z", + "weather": { + "timestamp": "2018-08-15T00:01:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 26.3, + "tempFeelsLike": 25.9, + "relHumidity": 63, + "windDir": 270, + "windDirDesc": "W", + "windSpeed": 13.5, + "windGustSpeed": 17, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 28, + "pressure": 1012.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "2855707a-2d89-45cb-8702-75987ec89f8f", + + "origin": "dialogflow", + "id": "ac40d9e1-8a11-48f6-ba98-da8323518102", + "_ts": 1534291343, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-08-13T23:49:38.0936887Z", + "weather": { + "timestamp": "2018-08-13T23:45:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 24.3, + "tempFeelsLike": 23.9, + "relHumidity": 68, + "windDir": 45, + "windDirDesc": "NE", + "windSpeed": 9.4, + "windGustSpeed": 12.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 77, + "pressure": 1015.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "717b9d7a-7659-4131-b87f-d13134cdeb41", + + "origin": "dialogflow", + "id": "2c6ed786-c2f4-493f-b35f-a200f6fb23f5", + "_ts": 1534204178, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-13T00:09:44.1352293Z", + "weather": { + "timestamp": "2018-08-13T00:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26.4, + "tempFeelsLike": 25.8, + "relHumidity": 60, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 11.4, + "windGustSpeed": 14.7, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 68, + "pressure": 1017.5, + "precipPast24Hours": 1 + }, + "weatherLogId": "cf3c0db0-2c3a-42a2-b176-6f5a5e9e128f", + + "origin": "dialogflow", + "id": "5030e5a8-24f9-41b4-abfb-8fefa387102b", + "_ts": 1534118984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-12T14:43:30.0390095Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "3623d415-d372-49e3-a5b8-5fb0f13863be", + + "origin": "dialogflow", + "id": "beb80cab-63ce-46c5-bddb-ef04f2c9cd34", + "_ts": 1534085010, + "deleted": false + }, + { + "type": "testlog", + "fc": 2, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-08-12T14:42:01.4115554Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "72d58aa2-d430-49bf-88c8-ab8717fa2077", + + "origin": "dialogflow", + "id": "99d51b84-11d7-4b7f-bcf2-205b77dc721f", + "_ts": 1534085040, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-09T13:38:47.2819901Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "5ad94891-96d6-4296-8681-1dbd210d43e8", + + "origin": "dialogflow", + "id": "adf46068-180b-408a-8947-49c361ff72b2", + "_ts": 1533821927, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-09T13:36:52.2780111Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "8beea3cb-0e4c-4290-ac41-fbc39ab1e963", + + "origin": "dialogflow", + "id": "12090f61-701b-44a6-97cb-f7b98ea02581", + "_ts": 1533821970, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-07T21:25:50.7176017Z", + "weather": { + "timestamp": "2018-08-07T21:20:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 25.6, + "tempFeelsLike": 28.5, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 8.1, + "windGustSpeed": 11.7, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 91, + "pressure": 1011.7, + "precipPast24Hours": 18 + }, + "weatherLogId": "3c769a46-7202-4b87-a2b4-b1dec93b6d54", + + "origin": "dialogflow", + "id": "0998b96e-fda4-447a-86f6-165bf1cbc9d4", + "_ts": 1533677151, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-06T21:34:23.3122289Z", + "weather": { + "timestamp": "2018-08-06T21:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 27.9, + "tempFeelsLike": 31.3, + "relHumidity": 72, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 11.4, + "windGustSpeed": 16, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 83, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "70f30ade-67d7-4c5a-9d7e-eac70a3a5343", + + "origin": "dialogflow", + "id": "73a1a200-a536-4996-b9cb-6635b5df17db", + "_ts": 1533591263, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-05T23:32:35.1643275Z", + "weather": { + "timestamp": "2018-08-05T23:25:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 29, + "relHumidity": 63, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 15.2, + "windGustSpeed": 20.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 54, + "pressure": 1016.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "9b107452-ede0-46c1-8c9b-9a34c11d50e2", + + "origin": "dialogflow", + "id": "96a55109-15dd-4c0f-85ff-912f8c76badb", + "_ts": 1533511955, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": true, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2018-08-05T14:17:00.0463318Z", + "weather": { + "timestamp": "2018-08-05T14:10:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.7, + "tempFeelsLike": 30.5, + "relHumidity": 85, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 10.6, + "windGustSpeed": 14.5, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 52, + "pressure": 1020.1, + "precipPast24Hours": 0 + }, + "weatherLogId": "7fb51a1e-2997-43be-9a35-11f48ca611b4", + + "origin": "dialogflow", + "id": "e0a6f6c9-515f-4877-9bce-f6391d2bbc6b", + "_ts": 1533478620, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-04T20:37:27.0893588Z", + "weather": { + "timestamp": "2018-08-04T20:20:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 27.4, + "tempFeelsLike": 29.7, + "relHumidity": 55, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 7.9, + "windGustSpeed": 10.6, + "uvIndex": 3, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 33, + "pressure": 1019.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "0aa6eb0d-09b8-4245-a720-2b22685b8605", + + "origin": "dialogflow", + "id": "aa1b9180-3f22-4107-ac1a-62a1b91d1fa1", + "_ts": 1533415047, + "deleted": false + }, + { + "type": "testlog", + "fc": 6.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-04T15:27:37.9011375Z", + "weather": { + "timestamp": "2018-08-04T15:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 22.9, + "tempFeelsLike": 29.1, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 6.7, + "windGustSpeed": 9.9, + "uvIndex": 8, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 24, + "pressure": 1019, + "precipPast24Hours": 0 + }, + "weatherLogId": "0d7f3b3a-e67a-4773-83fe-31045212cc4a", + + "origin": "dialogflow", + "id": "1f2c688f-8dd4-4190-bf42-f96b7b19b336", + "_ts": 1533396474, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-03T00:25:11.3787107Z", + "weather": { + "timestamp": "2018-08-03T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.5, + "tempFeelsLike": 24.4, + "relHumidity": 73, + "windDir": 135, + "windDirDesc": "SE", + "windSpeed": 13.1, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1015, + "precipPast24Hours": 0 + }, + "weatherLogId": "a3e5c7cb-4b4f-4b16-835d-4e454b35a17d", + + "origin": "dialogflow", + "id": "b4db8719-1480-4d97-ae5b-13a47ff2c74f", + "_ts": 1533255911, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-01T21:16:03.4408029Z", + "weather": { + "timestamp": "2018-08-01T21:10:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.1, + "tempFeelsLike": 22, + "relHumidity": 80, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 13.7, + "windGustSpeed": 17.1, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1013.1, + "precipPast24Hours": 1 + }, + "weatherLogId": "07e002b7-af16-4770-8c77-3996588a19e8", + + "origin": "dialogflow", + "id": "5e46b288-b950-4d6d-9ef1-77a8083d14a1", + "_ts": 1533158163, + "deleted": false + }, + { + "type": "testlog", + "fc": null, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-30T23:47:58.6770836Z", + "weather": { + "timestamp": "2018-07-30T23:40:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 23.1, + "tempFeelsLike": 22.3, + "relHumidity": 69, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 9.7, + "windGustSpeed": 12.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 84, + "pressure": 1016.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "98c28b44-8c02-4282-8d5d-d84b4779a730", + + "origin": "dialogflow", + "id": "e2dd0091-148b-42ef-bd84-4702c02e5bb9", + "_ts": 1532994478, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-28T11:39:45.4772522Z", + "weather": { + "timestamp": "2018-07-28T11:35:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 17.5, + "tempFeelsLike": 17.6, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 13.4, + "windGustSpeed": 16.9, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1017.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "d5b29b45-837a-4dc9-8e37-f19076fd1f36", + + "origin": "dialogflow", + "id": "3e2bba3e-4a80-41f6-83a7-8250ac9d6cf8", + "_ts": 1532777985, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 0.8, + "NormalizedAmount": 800, + + "logTimestamp": "2018-07-27T00:30:26.7584573Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "9e50efe2-1378-4ee1-a718-3b00776e81cc", + + "origin": "dialogflow", + "id": "9f82ced2-a906-4cdd-ab76-761b5ddbcf24", + "_ts": 1532651426, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-27T00:23:51.2269602Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "e53c08a4-f77e-40ae-bc48-30c8e7150660", + + "origin": "dialogflow", + "id": "bd2be2fc-9f04-4c21-8d19-676e5317bfcd", + "_ts": 1532651059, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-26T00:07:21.8672953Z", + "weather": { + "timestamp": "2018-07-26T00:03:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26, + "tempFeelsLike": 25.6, + "relHumidity": 63, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 11.2, + "windGustSpeed": 13.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1010.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "d1d2e117-caef-46cb-bafc-4d5c532590ad", + + "origin": "dialogflow", + "id": "a7f5a6d2-24a3-45e9-b62e-f6ad142619c5", + "_ts": 1532563642, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-25T00:03:16.614879Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "f3081451-8510-407a-8239-8f1d518d12c7", + + "origin": null, + "id": "0eb12baa-9a8a-4873-808e-507b8ccf1fe5", + "_ts": 1532477010, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-24T23:59:16.1670206Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "c70de094-6f97-462d-a6b0-a59b18ec4297", + + "origin": "dialogflow", + "id": "df80a9b2-8307-4fb7-9a48-a09ee0a55d74", + "_ts": 1532476756, + "deleted": false + }, + { + "type": "testlog", + "fc": 20, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T03:01:43.37876Z", + "weather": { + "timestamp": "2018-07-22T03:01:00Z", + "desc": "Mostly cloudy", + "icon": 38, + "temp": 22.2, + "tempFeelsLike": 22.1, + "relHumidity": 86, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 15.2, + "windGustSpeed": 19.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 88, + "pressure": 1007.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "444fd80f-91e6-4ef5-86fb-8c4f5a65f3d0", + + "origin": "dialogflow", + "id": "ed1bb7b4-e61a-4e10-9cf5-85276cb52f1a", + "_ts": 1532228503, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-07-22T01:47:35.4244336Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "126e1d2d-f79f-42e5-a703-c865aa4a1436", + + "origin": "dialogflow", + "id": "a054db03-f812-447d-b234-f3516f0ec2ef", + "_ts": 1532224055, + "deleted": false + }, + { + "type": "testlog", + "fc": 15, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T01:45:31.6302124Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "852197dd-4d50-403b-85d1-baa3f2142f57", + + "origin": "dialogflow", + "id": "32186e7f-cfb7-4875-9797-844f7f8b64ca", + "_ts": 1532223932, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 4, + "NormalizedAmount": 4000, + + "logTimestamp": "2018-07-22T00:43:19.1151705Z", + "weather": { + "timestamp": "2018-07-22T00:30:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.1, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18.4, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 93, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "1d65d2f3-18e1-4aab-ae20-45b8de501143", + + "origin": "dialogflow", + "id": "a3dd1114-36c2-4ea3-90cf-2aa6b9a05f77", + "_ts": 1532220199, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": 0.5, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.43, + "waterTemp": 86, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T00:35:35.086717Z", + "weather": { + "timestamp": "2018-07-22T00:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.9, + "tempFeelsLike": 22.8, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "55b4b107-8085-47c7-a480-4685a6c77915", + + "origin": "dialogflow", + "id": "f9900745-085a-49e7-a8ae-47546700502b", + "_ts": 1532219779, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:57:25.361359Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "700bc4b1-6738-4021-abc2-75f3c9ebcead", + + "origin": "dialogflow", + "id": "b66c50c8-2d78-4938-bf31-31a7cc7be3f4", + "_ts": 1532048246, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:53:03.9456967Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "3cd942f7-4be9-4dc1-8249-c4d1e7653e89", + + "origin": "dialogflow", + "id": "31825b59-cd10-4711-a2b9-f8d0ab81113a", + "_ts": 1532047984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-17T00:04:45.3187924Z", + "weather": { + "timestamp": "2018-07-17T00:01:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 25.8, + "tempFeelsLike": 28.3, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.8, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 79, + "pressure": 1009.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "78b12772-f10e-4aef-84c1-f8578143ef61", + + "origin": "dialogflow", + "id": "7a4bc193-ce32-4d0c-b651-ffa7ddf7c010", + "_ts": 1531785885, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1033, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-15T17:47:44.093287Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "dc9e7aa4-b661-4e54-8b04-fb76745aaaad", + + "origin": null, + "id": "f9876d6e-357e-4a5a-9f51-38fe522a9913", + "_ts": 1531676865, + "deleted": false + }, + { + "type": "testlog", + "fc": 1.5, + "cc": 0, + "cya": 45, + "ch": null, + "ph": 7.5, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.42, + "waterTemp": 89, + "waterTempUnits": null, + + "logTimestamp": "2018-07-15T17:47:12Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "fbf5a79d-7109-4150-ae7a-c2175012368d", + + "origin": null, + "id": "7b7c4ecf-c993-44e9-9e37-fcbf5093b5a0", + "_ts": 1532219834, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-12T17:45:58.3969482Z", + "weather": { + "timestamp": "2018-07-12T17:40:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 24.2, + "tempFeelsLike": 28.4, + "relHumidity": 50, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 11.5, + "windGustSpeed": 14.8, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 48, + "pressure": 1023.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "109cc2c2-8b4d-47d8-969d-9da77ffbd6ff", + + "origin": "dialogflow", + "id": "bcd1dab1-7cc2-4f83-accc-aba85e1abb79", + "_ts": 1531417558, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-08T17:02:21.8166098Z", + "weather": { + "timestamp": "2018-07-08T17:00:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.2, + "tempFeelsLike": 29, + "relHumidity": 56, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 5.9, + "windGustSpeed": 8.2, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 26, + "pressure": 1025.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "246e9bad-dcfe-4b68-af12-f42085674295", + + "origin": "dialogflow", + "id": "4798cb21-f79b-4121-bde1-b62d6cd33ff4", + "_ts": 1531069342, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1328, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-07T18:35:24.715964Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "57403c31-a43e-4781-998f-c4817c1b943d", + + "origin": null, + "id": "53bf83a7-a1e8-45b4-a8c2-d2240d246927", + "_ts": 1530988526, + "deleted": false + }, + { + "type": "testlog", + "fc": 0.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-07T18:34:11.45778Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "4af952ad-5480-4538-9acd-eac9fcdc80bb", + + "origin": null, + "id": "25d11b3e-fabb-435d-b948-317b6af20423", + "_ts": 1530988459, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 750, + "NormalizedAmount": 750, + + "logTimestamp": "2018-07-05T23:25:47.8601697Z", + "weather": { + "timestamp": "2018-07-05T23:20:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.2, + "tempFeelsLike": 31.1, + "relHumidity": 76, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 20.8, + "windGustSpeed": 27, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1017.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "cec7857d-0439-450c-9c9f-093876347eca", + + "origin": "dialogflow", + "id": "36b7bca1-4b8b-476b-b49e-ce1c5d3a8e84", + "_ts": 1530833148, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-07-04T23:13:10.293007Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "40a6cc38-5591-4dd8-9925-3524e3488d46", + + "origin": "dialogflow", + "id": "50fa29ed-0008-48e6-b885-01fed3e92912", + "_ts": 1530745990, + "deleted": false + }, + { + "type": "testlog", + "fc": 3, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 91, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T23:10:51.6869302Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "8d6fc2bb-6508-4455-9d39-c5209f21a50c", + + "origin": "dialogflow", + "id": "0a2ce88c-b37b-43de-ac40-c9470be0cada", + "_ts": 1530746061, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-04T00:19:47.161294Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "ec82f9ca-b584-459c-b3be-1ba6f27ee534", + + "origin": null, + "id": "8f52fd2d-b517-4ee1-9903-59f9b06146bf", + "_ts": 1530663595, + "deleted": false + }, + { + "type": "testlog", + "fc": 2.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T00:19:27.928185Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "afb0eff3-a2d1-4c0c-85da-beefa3fa248d", + + "origin": null, + "id": "844069b4-9f46-43b1-8002-a111616f0bc2", + "_ts": 1530663575, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": true, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": 25, + "pressure": 33, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2024-03-26T19:41:13Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "47edbabb-3f1e-4e64-a01f-6490db901590", + "_ts": 1711482878, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 1, + "Unit": 0, + "Amount": 0.3, + "NormalizedAmount": 0.3, + + "logTimestamp": "2024-01-23T02:19:46Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "265abb39-9f29-46de-a12e-dcbd53fa0b9b", + "_ts": 1705977510, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": 6.9, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": -0.9, + "waterTemp": null, + "waterTempUnits": 0, + + "logTimestamp": "2024-01-21T02:51:45Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "594b8aca-26f4-4cc2-a0f5-091e7a93654c", + "_ts": 1711484871, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test Time", + + "logTimestamp": "2023-11-14T21:00:00Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "386d5b56-d46f-4b96-a228-230ba83ddada", + "_ts": 1699998962, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test", + + "logTimestamp": "2022-12-29T02:58:27Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "11135f77-5122-40f0-90a3-7a5a43ffd9ec", + "_ts": 1680273497, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": true, + "notes": null, + + "logTimestamp": "2018-08-20T14:45:29Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "d03b8cce-dbdb-4562-bdd8-c0238d8bfded", + "_ts": 1549295157, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-17T14:38:14.6422431Z", + "weather": { + "timestamp": "2018-08-17T14:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22, + "tempFeelsLike": 24.5, + "relHumidity": 97, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 13.8, + "windGustSpeed": 18, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 97, + "pressure": 1012.9, + "precipPast24Hours": 3 + }, + "weatherLogId": "170635c4-8da2-4fa7-b800-017ef750677b", + + "origin": "dialogflow", + "id": "7c0e274d-55c6-4e84-96d3-f85509d87051", + "_ts": 1534516694, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-16T00:39:12.5845119Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "776e5e72-972b-452c-b322-36439ede8c3d", + + "origin": "dialogflow", + "id": "ea7b115e-6940-4625-90fb-97fd83191f81", + "_ts": 1534379952, + "deleted": false + }, + { + "type": "testlog", + "fc": 4, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-16T00:37:34.6585562Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "089431d6-21fe-4fda-b04f-fba27c2c20eb", + + "origin": "dialogflow", + "id": "c0475b4a-963f-475c-a8f1-22f5c5fdfc2d", + "_ts": 1534379854, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-15T00:02:22.8880771Z", + "weather": { + "timestamp": "2018-08-15T00:01:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 26.3, + "tempFeelsLike": 25.9, + "relHumidity": 63, + "windDir": 270, + "windDirDesc": "W", + "windSpeed": 13.5, + "windGustSpeed": 17, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 28, + "pressure": 1012.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "2855707a-2d89-45cb-8702-75987ec89f8f", + + "origin": "dialogflow", + "id": "ac40d9e1-8a11-48f6-ba98-da8323518102", + "_ts": 1534291343, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-08-13T23:49:38.0936887Z", + "weather": { + "timestamp": "2018-08-13T23:45:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 24.3, + "tempFeelsLike": 23.9, + "relHumidity": 68, + "windDir": 45, + "windDirDesc": "NE", + "windSpeed": 9.4, + "windGustSpeed": 12.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 77, + "pressure": 1015.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "717b9d7a-7659-4131-b87f-d13134cdeb41", + + "origin": "dialogflow", + "id": "2c6ed786-c2f4-493f-b35f-a200f6fb23f5", + "_ts": 1534204178, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-13T00:09:44.1352293Z", + "weather": { + "timestamp": "2018-08-13T00:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26.4, + "tempFeelsLike": 25.8, + "relHumidity": 60, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 11.4, + "windGustSpeed": 14.7, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 68, + "pressure": 1017.5, + "precipPast24Hours": 1 + }, + "weatherLogId": "cf3c0db0-2c3a-42a2-b176-6f5a5e9e128f", + + "origin": "dialogflow", + "id": "5030e5a8-24f9-41b4-abfb-8fefa387102b", + "_ts": 1534118984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-12T14:43:30.0390095Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "3623d415-d372-49e3-a5b8-5fb0f13863be", + + "origin": "dialogflow", + "id": "beb80cab-63ce-46c5-bddb-ef04f2c9cd34", + "_ts": 1534085010, + "deleted": false + }, + { + "type": "testlog", + "fc": 2, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-08-12T14:42:01.4115554Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "72d58aa2-d430-49bf-88c8-ab8717fa2077", + + "origin": "dialogflow", + "id": "99d51b84-11d7-4b7f-bcf2-205b77dc721f", + "_ts": 1534085040, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-09T13:38:47.2819901Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "5ad94891-96d6-4296-8681-1dbd210d43e8", + + "origin": "dialogflow", + "id": "adf46068-180b-408a-8947-49c361ff72b2", + "_ts": 1533821927, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-09T13:36:52.2780111Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "8beea3cb-0e4c-4290-ac41-fbc39ab1e963", + + "origin": "dialogflow", + "id": "12090f61-701b-44a6-97cb-f7b98ea02581", + "_ts": 1533821970, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-07T21:25:50.7176017Z", + "weather": { + "timestamp": "2018-08-07T21:20:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 25.6, + "tempFeelsLike": 28.5, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 8.1, + "windGustSpeed": 11.7, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 91, + "pressure": 1011.7, + "precipPast24Hours": 18 + }, + "weatherLogId": "3c769a46-7202-4b87-a2b4-b1dec93b6d54", + + "origin": "dialogflow", + "id": "0998b96e-fda4-447a-86f6-165bf1cbc9d4", + "_ts": 1533677151, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-06T21:34:23.3122289Z", + "weather": { + "timestamp": "2018-08-06T21:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 27.9, + "tempFeelsLike": 31.3, + "relHumidity": 72, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 11.4, + "windGustSpeed": 16, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 83, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "70f30ade-67d7-4c5a-9d7e-eac70a3a5343", + + "origin": "dialogflow", + "id": "73a1a200-a536-4996-b9cb-6635b5df17db", + "_ts": 1533591263, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-05T23:32:35.1643275Z", + "weather": { + "timestamp": "2018-08-05T23:25:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 29, + "relHumidity": 63, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 15.2, + "windGustSpeed": 20.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 54, + "pressure": 1016.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "9b107452-ede0-46c1-8c9b-9a34c11d50e2", + + "origin": "dialogflow", + "id": "96a55109-15dd-4c0f-85ff-912f8c76badb", + "_ts": 1533511955, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": true, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2018-08-05T14:17:00.0463318Z", + "weather": { + "timestamp": "2018-08-05T14:10:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.7, + "tempFeelsLike": 30.5, + "relHumidity": 85, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 10.6, + "windGustSpeed": 14.5, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 52, + "pressure": 1020.1, + "precipPast24Hours": 0 + }, + "weatherLogId": "7fb51a1e-2997-43be-9a35-11f48ca611b4", + + "origin": "dialogflow", + "id": "e0a6f6c9-515f-4877-9bce-f6391d2bbc6b", + "_ts": 1533478620, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-04T20:37:27.0893588Z", + "weather": { + "timestamp": "2018-08-04T20:20:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 27.4, + "tempFeelsLike": 29.7, + "relHumidity": 55, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 7.9, + "windGustSpeed": 10.6, + "uvIndex": 3, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 33, + "pressure": 1019.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "0aa6eb0d-09b8-4245-a720-2b22685b8605", + + "origin": "dialogflow", + "id": "aa1b9180-3f22-4107-ac1a-62a1b91d1fa1", + "_ts": 1533415047, + "deleted": false + }, + { + "type": "testlog", + "fc": 6.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-04T15:27:37.9011375Z", + "weather": { + "timestamp": "2018-08-04T15:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 22.9, + "tempFeelsLike": 29.1, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 6.7, + "windGustSpeed": 9.9, + "uvIndex": 8, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 24, + "pressure": 1019, + "precipPast24Hours": 0 + }, + "weatherLogId": "0d7f3b3a-e67a-4773-83fe-31045212cc4a", + + "origin": "dialogflow", + "id": "1f2c688f-8dd4-4190-bf42-f96b7b19b336", + "_ts": 1533396474, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-03T00:25:11.3787107Z", + "weather": { + "timestamp": "2018-08-03T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.5, + "tempFeelsLike": 24.4, + "relHumidity": 73, + "windDir": 135, + "windDirDesc": "SE", + "windSpeed": 13.1, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1015, + "precipPast24Hours": 0 + }, + "weatherLogId": "a3e5c7cb-4b4f-4b16-835d-4e454b35a17d", + + "origin": "dialogflow", + "id": "b4db8719-1480-4d97-ae5b-13a47ff2c74f", + "_ts": 1533255911, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-01T21:16:03.4408029Z", + "weather": { + "timestamp": "2018-08-01T21:10:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.1, + "tempFeelsLike": 22, + "relHumidity": 80, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 13.7, + "windGustSpeed": 17.1, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1013.1, + "precipPast24Hours": 1 + }, + "weatherLogId": "07e002b7-af16-4770-8c77-3996588a19e8", + + "origin": "dialogflow", + "id": "5e46b288-b950-4d6d-9ef1-77a8083d14a1", + "_ts": 1533158163, + "deleted": false + }, + { + "type": "testlog", + "fc": null, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-30T23:47:58.6770836Z", + "weather": { + "timestamp": "2018-07-30T23:40:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 23.1, + "tempFeelsLike": 22.3, + "relHumidity": 69, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 9.7, + "windGustSpeed": 12.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 84, + "pressure": 1016.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "98c28b44-8c02-4282-8d5d-d84b4779a730", + + "origin": "dialogflow", + "id": "e2dd0091-148b-42ef-bd84-4702c02e5bb9", + "_ts": 1532994478, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-28T11:39:45.4772522Z", + "weather": { + "timestamp": "2018-07-28T11:35:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 17.5, + "tempFeelsLike": 17.6, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 13.4, + "windGustSpeed": 16.9, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1017.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "d5b29b45-837a-4dc9-8e37-f19076fd1f36", + + "origin": "dialogflow", + "id": "3e2bba3e-4a80-41f6-83a7-8250ac9d6cf8", + "_ts": 1532777985, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 0.8, + "NormalizedAmount": 800, + + "logTimestamp": "2018-07-27T00:30:26.7584573Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "9e50efe2-1378-4ee1-a718-3b00776e81cc", + + "origin": "dialogflow", + "id": "9f82ced2-a906-4cdd-ab76-761b5ddbcf24", + "_ts": 1532651426, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-27T00:23:51.2269602Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "e53c08a4-f77e-40ae-bc48-30c8e7150660", + + "origin": "dialogflow", + "id": "bd2be2fc-9f04-4c21-8d19-676e5317bfcd", + "_ts": 1532651059, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-26T00:07:21.8672953Z", + "weather": { + "timestamp": "2018-07-26T00:03:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26, + "tempFeelsLike": 25.6, + "relHumidity": 63, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 11.2, + "windGustSpeed": 13.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1010.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "d1d2e117-caef-46cb-bafc-4d5c532590ad", + + "origin": "dialogflow", + "id": "a7f5a6d2-24a3-45e9-b62e-f6ad142619c5", + "_ts": 1532563642, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-25T00:03:16.614879Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "f3081451-8510-407a-8239-8f1d518d12c7", + + "origin": null, + "id": "0eb12baa-9a8a-4873-808e-507b8ccf1fe5", + "_ts": 1532477010, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-24T23:59:16.1670206Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "c70de094-6f97-462d-a6b0-a59b18ec4297", + + "origin": "dialogflow", + "id": "df80a9b2-8307-4fb7-9a48-a09ee0a55d74", + "_ts": 1532476756, + "deleted": false + }, + { + "type": "testlog", + "fc": 20, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T03:01:43.37876Z", + "weather": { + "timestamp": "2018-07-22T03:01:00Z", + "desc": "Mostly cloudy", + "icon": 38, + "temp": 22.2, + "tempFeelsLike": 22.1, + "relHumidity": 86, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 15.2, + "windGustSpeed": 19.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 88, + "pressure": 1007.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "444fd80f-91e6-4ef5-86fb-8c4f5a65f3d0", + + "origin": "dialogflow", + "id": "ed1bb7b4-e61a-4e10-9cf5-85276cb52f1a", + "_ts": 1532228503, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-07-22T01:47:35.4244336Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "126e1d2d-f79f-42e5-a703-c865aa4a1436", + + "origin": "dialogflow", + "id": "a054db03-f812-447d-b234-f3516f0ec2ef", + "_ts": 1532224055, + "deleted": false + }, + { + "type": "testlog", + "fc": 15, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T01:45:31.6302124Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "852197dd-4d50-403b-85d1-baa3f2142f57", + + "origin": "dialogflow", + "id": "32186e7f-cfb7-4875-9797-844f7f8b64ca", + "_ts": 1532223932, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 4, + "NormalizedAmount": 4000, + + "logTimestamp": "2018-07-22T00:43:19.1151705Z", + "weather": { + "timestamp": "2018-07-22T00:30:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.1, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18.4, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 93, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "1d65d2f3-18e1-4aab-ae20-45b8de501143", + + "origin": "dialogflow", + "id": "a3dd1114-36c2-4ea3-90cf-2aa6b9a05f77", + "_ts": 1532220199, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": 0.5, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.43, + "waterTemp": 86, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T00:35:35.086717Z", + "weather": { + "timestamp": "2018-07-22T00:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.9, + "tempFeelsLike": 22.8, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "55b4b107-8085-47c7-a480-4685a6c77915", + + "origin": "dialogflow", + "id": "f9900745-085a-49e7-a8ae-47546700502b", + "_ts": 1532219779, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:57:25.361359Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "700bc4b1-6738-4021-abc2-75f3c9ebcead", + + "origin": "dialogflow", + "id": "b66c50c8-2d78-4938-bf31-31a7cc7be3f4", + "_ts": 1532048246, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:53:03.9456967Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "3cd942f7-4be9-4dc1-8249-c4d1e7653e89", + + "origin": "dialogflow", + "id": "31825b59-cd10-4711-a2b9-f8d0ab81113a", + "_ts": 1532047984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-17T00:04:45.3187924Z", + "weather": { + "timestamp": "2018-07-17T00:01:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 25.8, + "tempFeelsLike": 28.3, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.8, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 79, + "pressure": 1009.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "78b12772-f10e-4aef-84c1-f8578143ef61", + + "origin": "dialogflow", + "id": "7a4bc193-ce32-4d0c-b651-ffa7ddf7c010", + "_ts": 1531785885, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1033, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-15T17:47:44.093287Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "dc9e7aa4-b661-4e54-8b04-fb76745aaaad", + + "origin": null, + "id": "f9876d6e-357e-4a5a-9f51-38fe522a9913", + "_ts": 1531676865, + "deleted": false + }, + { + "type": "testlog", + "fc": 1.5, + "cc": 0, + "cya": 45, + "ch": null, + "ph": 7.5, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.42, + "waterTemp": 89, + "waterTempUnits": null, + + "logTimestamp": "2018-07-15T17:47:12Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "fbf5a79d-7109-4150-ae7a-c2175012368d", + + "origin": null, + "id": "7b7c4ecf-c993-44e9-9e37-fcbf5093b5a0", + "_ts": 1532219834, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-12T17:45:58.3969482Z", + "weather": { + "timestamp": "2018-07-12T17:40:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 24.2, + "tempFeelsLike": 28.4, + "relHumidity": 50, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 11.5, + "windGustSpeed": 14.8, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 48, + "pressure": 1023.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "109cc2c2-8b4d-47d8-969d-9da77ffbd6ff", + + "origin": "dialogflow", + "id": "bcd1dab1-7cc2-4f83-accc-aba85e1abb79", + "_ts": 1531417558, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-08T17:02:21.8166098Z", + "weather": { + "timestamp": "2018-07-08T17:00:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.2, + "tempFeelsLike": 29, + "relHumidity": 56, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 5.9, + "windGustSpeed": 8.2, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 26, + "pressure": 1025.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "246e9bad-dcfe-4b68-af12-f42085674295", + + "origin": "dialogflow", + "id": "4798cb21-f79b-4121-bde1-b62d6cd33ff4", + "_ts": 1531069342, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1328, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-07T18:35:24.715964Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "57403c31-a43e-4781-998f-c4817c1b943d", + + "origin": null, + "id": "53bf83a7-a1e8-45b4-a8c2-d2240d246927", + "_ts": 1530988526, + "deleted": false + }, + { + "type": "testlog", + "fc": 0.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-07T18:34:11.45778Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "4af952ad-5480-4538-9acd-eac9fcdc80bb", + + "origin": null, + "id": "25d11b3e-fabb-435d-b948-317b6af20423", + "_ts": 1530988459, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 750, + "NormalizedAmount": 750, + + "logTimestamp": "2018-07-05T23:25:47.8601697Z", + "weather": { + "timestamp": "2018-07-05T23:20:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.2, + "tempFeelsLike": 31.1, + "relHumidity": 76, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 20.8, + "windGustSpeed": 27, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1017.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "cec7857d-0439-450c-9c9f-093876347eca", + + "origin": "dialogflow", + "id": "36b7bca1-4b8b-476b-b49e-ce1c5d3a8e84", + "_ts": 1530833148, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-07-04T23:13:10.293007Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "40a6cc38-5591-4dd8-9925-3524e3488d46", + + "origin": "dialogflow", + "id": "50fa29ed-0008-48e6-b885-01fed3e92912", + "_ts": 1530745990, + "deleted": false + }, + { + "type": "testlog", + "fc": 3, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 91, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T23:10:51.6869302Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "8d6fc2bb-6508-4455-9d39-c5209f21a50c", + + "origin": "dialogflow", + "id": "0a2ce88c-b37b-43de-ac40-c9470be0cada", + "_ts": 1530746061, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-04T00:19:47.161294Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "ec82f9ca-b584-459c-b3be-1ba6f27ee534", + + "origin": null, + "id": "8f52fd2d-b517-4ee1-9903-59f9b06146bf", + "_ts": 1530663595, + "deleted": false + }, + { + "type": "testlog", + "fc": 2.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T00:19:27.928185Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "afb0eff3-a2d1-4c0c-85da-beefa3fa248d", + + "origin": null, + "id": "844069b4-9f46-43b1-8002-a111616f0bc2", + "_ts": 1530663575, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": true, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": 25, + "pressure": 33, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2024-03-26T19:41:13Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "47edbabb-3f1e-4e64-a01f-6490db901590", + "_ts": 1711482878, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 1, + "Unit": 0, + "Amount": 0.3, + "NormalizedAmount": 0.3, + + "logTimestamp": "2024-01-23T02:19:46Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "265abb39-9f29-46de-a12e-dcbd53fa0b9b", + "_ts": 1705977510, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": 6.9, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": -0.9, + "waterTemp": null, + "waterTempUnits": 0, + + "logTimestamp": "2024-01-21T02:51:45Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "594b8aca-26f4-4cc2-a0f5-091e7a93654c", + "_ts": 1711484871, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test Time", + + "logTimestamp": "2023-11-14T21:00:00Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "386d5b56-d46f-4b96-a228-230ba83ddada", + "_ts": 1699998962, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test", + + "logTimestamp": "2022-12-29T02:58:27Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "11135f77-5122-40f0-90a3-7a5a43ffd9ec", + "_ts": 1680273497, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": true, + "notes": null, + + "logTimestamp": "2018-08-20T14:45:29Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "d03b8cce-dbdb-4562-bdd8-c0238d8bfded", + "_ts": 1549295157, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-17T14:38:14.6422431Z", + "weather": { + "timestamp": "2018-08-17T14:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22, + "tempFeelsLike": 24.5, + "relHumidity": 97, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 13.8, + "windGustSpeed": 18, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 97, + "pressure": 1012.9, + "precipPast24Hours": 3 + }, + "weatherLogId": "170635c4-8da2-4fa7-b800-017ef750677b", + + "origin": "dialogflow", + "id": "7c0e274d-55c6-4e84-96d3-f85509d87051", + "_ts": 1534516694, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-16T00:39:12.5845119Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "776e5e72-972b-452c-b322-36439ede8c3d", + + "origin": "dialogflow", + "id": "ea7b115e-6940-4625-90fb-97fd83191f81", + "_ts": 1534379952, + "deleted": false + }, + { + "type": "testlog", + "fc": 4, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-16T00:37:34.6585562Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "089431d6-21fe-4fda-b04f-fba27c2c20eb", + + "origin": "dialogflow", + "id": "c0475b4a-963f-475c-a8f1-22f5c5fdfc2d", + "_ts": 1534379854, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-15T00:02:22.8880771Z", + "weather": { + "timestamp": "2018-08-15T00:01:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 26.3, + "tempFeelsLike": 25.9, + "relHumidity": 63, + "windDir": 270, + "windDirDesc": "W", + "windSpeed": 13.5, + "windGustSpeed": 17, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 28, + "pressure": 1012.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "2855707a-2d89-45cb-8702-75987ec89f8f", + + "origin": "dialogflow", + "id": "ac40d9e1-8a11-48f6-ba98-da8323518102", + "_ts": 1534291343, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-08-13T23:49:38.0936887Z", + "weather": { + "timestamp": "2018-08-13T23:45:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 24.3, + "tempFeelsLike": 23.9, + "relHumidity": 68, + "windDir": 45, + "windDirDesc": "NE", + "windSpeed": 9.4, + "windGustSpeed": 12.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 77, + "pressure": 1015.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "717b9d7a-7659-4131-b87f-d13134cdeb41", + + "origin": "dialogflow", + "id": "2c6ed786-c2f4-493f-b35f-a200f6fb23f5", + "_ts": 1534204178, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-13T00:09:44.1352293Z", + "weather": { + "timestamp": "2018-08-13T00:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26.4, + "tempFeelsLike": 25.8, + "relHumidity": 60, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 11.4, + "windGustSpeed": 14.7, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 68, + "pressure": 1017.5, + "precipPast24Hours": 1 + }, + "weatherLogId": "cf3c0db0-2c3a-42a2-b176-6f5a5e9e128f", + + "origin": "dialogflow", + "id": "5030e5a8-24f9-41b4-abfb-8fefa387102b", + "_ts": 1534118984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-12T14:43:30.0390095Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "3623d415-d372-49e3-a5b8-5fb0f13863be", + + "origin": "dialogflow", + "id": "beb80cab-63ce-46c5-bddb-ef04f2c9cd34", + "_ts": 1534085010, + "deleted": false + }, + { + "type": "testlog", + "fc": 2, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-08-12T14:42:01.4115554Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "72d58aa2-d430-49bf-88c8-ab8717fa2077", + + "origin": "dialogflow", + "id": "99d51b84-11d7-4b7f-bcf2-205b77dc721f", + "_ts": 1534085040, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-09T13:38:47.2819901Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "5ad94891-96d6-4296-8681-1dbd210d43e8", + + "origin": "dialogflow", + "id": "adf46068-180b-408a-8947-49c361ff72b2", + "_ts": 1533821927, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-09T13:36:52.2780111Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "8beea3cb-0e4c-4290-ac41-fbc39ab1e963", + + "origin": "dialogflow", + "id": "12090f61-701b-44a6-97cb-f7b98ea02581", + "_ts": 1533821970, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-07T21:25:50.7176017Z", + "weather": { + "timestamp": "2018-08-07T21:20:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 25.6, + "tempFeelsLike": 28.5, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 8.1, + "windGustSpeed": 11.7, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 91, + "pressure": 1011.7, + "precipPast24Hours": 18 + }, + "weatherLogId": "3c769a46-7202-4b87-a2b4-b1dec93b6d54", + + "origin": "dialogflow", + "id": "0998b96e-fda4-447a-86f6-165bf1cbc9d4", + "_ts": 1533677151, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-06T21:34:23.3122289Z", + "weather": { + "timestamp": "2018-08-06T21:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 27.9, + "tempFeelsLike": 31.3, + "relHumidity": 72, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 11.4, + "windGustSpeed": 16, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 83, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "70f30ade-67d7-4c5a-9d7e-eac70a3a5343", + + "origin": "dialogflow", + "id": "73a1a200-a536-4996-b9cb-6635b5df17db", + "_ts": 1533591263, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-05T23:32:35.1643275Z", + "weather": { + "timestamp": "2018-08-05T23:25:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 29, + "relHumidity": 63, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 15.2, + "windGustSpeed": 20.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 54, + "pressure": 1016.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "9b107452-ede0-46c1-8c9b-9a34c11d50e2", + + "origin": "dialogflow", + "id": "96a55109-15dd-4c0f-85ff-912f8c76badb", + "_ts": 1533511955, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": true, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2018-08-05T14:17:00.0463318Z", + "weather": { + "timestamp": "2018-08-05T14:10:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.7, + "tempFeelsLike": 30.5, + "relHumidity": 85, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 10.6, + "windGustSpeed": 14.5, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 52, + "pressure": 1020.1, + "precipPast24Hours": 0 + }, + "weatherLogId": "7fb51a1e-2997-43be-9a35-11f48ca611b4", + + "origin": "dialogflow", + "id": "e0a6f6c9-515f-4877-9bce-f6391d2bbc6b", + "_ts": 1533478620, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-04T20:37:27.0893588Z", + "weather": { + "timestamp": "2018-08-04T20:20:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 27.4, + "tempFeelsLike": 29.7, + "relHumidity": 55, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 7.9, + "windGustSpeed": 10.6, + "uvIndex": 3, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 33, + "pressure": 1019.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "0aa6eb0d-09b8-4245-a720-2b22685b8605", + + "origin": "dialogflow", + "id": "aa1b9180-3f22-4107-ac1a-62a1b91d1fa1", + "_ts": 1533415047, + "deleted": false + }, + { + "type": "testlog", + "fc": 6.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-04T15:27:37.9011375Z", + "weather": { + "timestamp": "2018-08-04T15:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 22.9, + "tempFeelsLike": 29.1, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 6.7, + "windGustSpeed": 9.9, + "uvIndex": 8, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 24, + "pressure": 1019, + "precipPast24Hours": 0 + }, + "weatherLogId": "0d7f3b3a-e67a-4773-83fe-31045212cc4a", + + "origin": "dialogflow", + "id": "1f2c688f-8dd4-4190-bf42-f96b7b19b336", + "_ts": 1533396474, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-03T00:25:11.3787107Z", + "weather": { + "timestamp": "2018-08-03T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.5, + "tempFeelsLike": 24.4, + "relHumidity": 73, + "windDir": 135, + "windDirDesc": "SE", + "windSpeed": 13.1, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1015, + "precipPast24Hours": 0 + }, + "weatherLogId": "a3e5c7cb-4b4f-4b16-835d-4e454b35a17d", + + "origin": "dialogflow", + "id": "b4db8719-1480-4d97-ae5b-13a47ff2c74f", + "_ts": 1533255911, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-01T21:16:03.4408029Z", + "weather": { + "timestamp": "2018-08-01T21:10:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.1, + "tempFeelsLike": 22, + "relHumidity": 80, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 13.7, + "windGustSpeed": 17.1, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1013.1, + "precipPast24Hours": 1 + }, + "weatherLogId": "07e002b7-af16-4770-8c77-3996588a19e8", + + "origin": "dialogflow", + "id": "5e46b288-b950-4d6d-9ef1-77a8083d14a1", + "_ts": 1533158163, + "deleted": false + }, + { + "type": "testlog", + "fc": null, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-30T23:47:58.6770836Z", + "weather": { + "timestamp": "2018-07-30T23:40:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 23.1, + "tempFeelsLike": 22.3, + "relHumidity": 69, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 9.7, + "windGustSpeed": 12.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 84, + "pressure": 1016.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "98c28b44-8c02-4282-8d5d-d84b4779a730", + + "origin": "dialogflow", + "id": "e2dd0091-148b-42ef-bd84-4702c02e5bb9", + "_ts": 1532994478, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-28T11:39:45.4772522Z", + "weather": { + "timestamp": "2018-07-28T11:35:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 17.5, + "tempFeelsLike": 17.6, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 13.4, + "windGustSpeed": 16.9, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1017.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "d5b29b45-837a-4dc9-8e37-f19076fd1f36", + + "origin": "dialogflow", + "id": "3e2bba3e-4a80-41f6-83a7-8250ac9d6cf8", + "_ts": 1532777985, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 0.8, + "NormalizedAmount": 800, + + "logTimestamp": "2018-07-27T00:30:26.7584573Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "9e50efe2-1378-4ee1-a718-3b00776e81cc", + + "origin": "dialogflow", + "id": "9f82ced2-a906-4cdd-ab76-761b5ddbcf24", + "_ts": 1532651426, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-27T00:23:51.2269602Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "e53c08a4-f77e-40ae-bc48-30c8e7150660", + + "origin": "dialogflow", + "id": "bd2be2fc-9f04-4c21-8d19-676e5317bfcd", + "_ts": 1532651059, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-26T00:07:21.8672953Z", + "weather": { + "timestamp": "2018-07-26T00:03:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26, + "tempFeelsLike": 25.6, + "relHumidity": 63, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 11.2, + "windGustSpeed": 13.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1010.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "d1d2e117-caef-46cb-bafc-4d5c532590ad", + + "origin": "dialogflow", + "id": "a7f5a6d2-24a3-45e9-b62e-f6ad142619c5", + "_ts": 1532563642, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-25T00:03:16.614879Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "f3081451-8510-407a-8239-8f1d518d12c7", + + "origin": null, + "id": "0eb12baa-9a8a-4873-808e-507b8ccf1fe5", + "_ts": 1532477010, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-24T23:59:16.1670206Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "c70de094-6f97-462d-a6b0-a59b18ec4297", + + "origin": "dialogflow", + "id": "df80a9b2-8307-4fb7-9a48-a09ee0a55d74", + "_ts": 1532476756, + "deleted": false + }, + { + "type": "testlog", + "fc": 20, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T03:01:43.37876Z", + "weather": { + "timestamp": "2018-07-22T03:01:00Z", + "desc": "Mostly cloudy", + "icon": 38, + "temp": 22.2, + "tempFeelsLike": 22.1, + "relHumidity": 86, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 15.2, + "windGustSpeed": 19.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 88, + "pressure": 1007.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "444fd80f-91e6-4ef5-86fb-8c4f5a65f3d0", + + "origin": "dialogflow", + "id": "ed1bb7b4-e61a-4e10-9cf5-85276cb52f1a", + "_ts": 1532228503, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-07-22T01:47:35.4244336Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "126e1d2d-f79f-42e5-a703-c865aa4a1436", + + "origin": "dialogflow", + "id": "a054db03-f812-447d-b234-f3516f0ec2ef", + "_ts": 1532224055, + "deleted": false + }, + { + "type": "testlog", + "fc": 15, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T01:45:31.6302124Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "852197dd-4d50-403b-85d1-baa3f2142f57", + + "origin": "dialogflow", + "id": "32186e7f-cfb7-4875-9797-844f7f8b64ca", + "_ts": 1532223932, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 4, + "NormalizedAmount": 4000, + + "logTimestamp": "2018-07-22T00:43:19.1151705Z", + "weather": { + "timestamp": "2018-07-22T00:30:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.1, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18.4, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 93, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "1d65d2f3-18e1-4aab-ae20-45b8de501143", + + "origin": "dialogflow", + "id": "a3dd1114-36c2-4ea3-90cf-2aa6b9a05f77", + "_ts": 1532220199, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": 0.5, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.43, + "waterTemp": 86, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T00:35:35.086717Z", + "weather": { + "timestamp": "2018-07-22T00:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.9, + "tempFeelsLike": 22.8, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "55b4b107-8085-47c7-a480-4685a6c77915", + + "origin": "dialogflow", + "id": "f9900745-085a-49e7-a8ae-47546700502b", + "_ts": 1532219779, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:57:25.361359Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "700bc4b1-6738-4021-abc2-75f3c9ebcead", + + "origin": "dialogflow", + "id": "b66c50c8-2d78-4938-bf31-31a7cc7be3f4", + "_ts": 1532048246, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:53:03.9456967Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "3cd942f7-4be9-4dc1-8249-c4d1e7653e89", + + "origin": "dialogflow", + "id": "31825b59-cd10-4711-a2b9-f8d0ab81113a", + "_ts": 1532047984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-17T00:04:45.3187924Z", + "weather": { + "timestamp": "2018-07-17T00:01:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 25.8, + "tempFeelsLike": 28.3, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.8, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 79, + "pressure": 1009.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "78b12772-f10e-4aef-84c1-f8578143ef61", + + "origin": "dialogflow", + "id": "7a4bc193-ce32-4d0c-b651-ffa7ddf7c010", + "_ts": 1531785885, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1033, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-15T17:47:44.093287Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "dc9e7aa4-b661-4e54-8b04-fb76745aaaad", + + "origin": null, + "id": "f9876d6e-357e-4a5a-9f51-38fe522a9913", + "_ts": 1531676865, + "deleted": false + }, + { + "type": "testlog", + "fc": 1.5, + "cc": 0, + "cya": 45, + "ch": null, + "ph": 7.5, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.42, + "waterTemp": 89, + "waterTempUnits": null, + + "logTimestamp": "2018-07-15T17:47:12Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "fbf5a79d-7109-4150-ae7a-c2175012368d", + + "origin": null, + "id": "7b7c4ecf-c993-44e9-9e37-fcbf5093b5a0", + "_ts": 1532219834, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-12T17:45:58.3969482Z", + "weather": { + "timestamp": "2018-07-12T17:40:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 24.2, + "tempFeelsLike": 28.4, + "relHumidity": 50, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 11.5, + "windGustSpeed": 14.8, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 48, + "pressure": 1023.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "109cc2c2-8b4d-47d8-969d-9da77ffbd6ff", + + "origin": "dialogflow", + "id": "bcd1dab1-7cc2-4f83-accc-aba85e1abb79", + "_ts": 1531417558, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-08T17:02:21.8166098Z", + "weather": { + "timestamp": "2018-07-08T17:00:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.2, + "tempFeelsLike": 29, + "relHumidity": 56, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 5.9, + "windGustSpeed": 8.2, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 26, + "pressure": 1025.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "246e9bad-dcfe-4b68-af12-f42085674295", + + "origin": "dialogflow", + "id": "4798cb21-f79b-4121-bde1-b62d6cd33ff4", + "_ts": 1531069342, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1328, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-07T18:35:24.715964Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "57403c31-a43e-4781-998f-c4817c1b943d", + + "origin": null, + "id": "53bf83a7-a1e8-45b4-a8c2-d2240d246927", + "_ts": 1530988526, + "deleted": false + }, + { + "type": "testlog", + "fc": 0.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-07T18:34:11.45778Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "4af952ad-5480-4538-9acd-eac9fcdc80bb", + + "origin": null, + "id": "25d11b3e-fabb-435d-b948-317b6af20423", + "_ts": 1530988459, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 750, + "NormalizedAmount": 750, + + "logTimestamp": "2018-07-05T23:25:47.8601697Z", + "weather": { + "timestamp": "2018-07-05T23:20:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.2, + "tempFeelsLike": 31.1, + "relHumidity": 76, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 20.8, + "windGustSpeed": 27, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1017.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "cec7857d-0439-450c-9c9f-093876347eca", + + "origin": "dialogflow", + "id": "36b7bca1-4b8b-476b-b49e-ce1c5d3a8e84", + "_ts": 1530833148, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-07-04T23:13:10.293007Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "40a6cc38-5591-4dd8-9925-3524e3488d46", + + "origin": "dialogflow", + "id": "50fa29ed-0008-48e6-b885-01fed3e92912", + "_ts": 1530745990, + "deleted": false + }, + { + "type": "testlog", + "fc": 3, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 91, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T23:10:51.6869302Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "8d6fc2bb-6508-4455-9d39-c5209f21a50c", + + "origin": "dialogflow", + "id": "0a2ce88c-b37b-43de-ac40-c9470be0cada", + "_ts": 1530746061, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-04T00:19:47.161294Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "ec82f9ca-b584-459c-b3be-1ba6f27ee534", + + "origin": null, + "id": "8f52fd2d-b517-4ee1-9903-59f9b06146bf", + "_ts": 1530663595, + "deleted": false + }, + { + "type": "testlog", + "fc": 2.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T00:19:27.928185Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "afb0eff3-a2d1-4c0c-85da-beefa3fa248d", + + "origin": null, + "id": "844069b4-9f46-43b1-8002-a111616f0bc2", + "_ts": 1530663575, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": true, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": 25, + "pressure": 33, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2024-03-26T19:41:13Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "47edbabb-3f1e-4e64-a01f-6490db901590", + "_ts": 1711482878, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 1, + "Unit": 0, + "Amount": 0.3, + "NormalizedAmount": 0.3, + + "logTimestamp": "2024-01-23T02:19:46Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "265abb39-9f29-46de-a12e-dcbd53fa0b9b", + "_ts": 1705977510, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": 6.9, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": -0.9, + "waterTemp": null, + "waterTempUnits": 0, + + "logTimestamp": "2024-01-21T02:51:45Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "594b8aca-26f4-4cc2-a0f5-091e7a93654c", + "_ts": 1711484871, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test Time", + + "logTimestamp": "2023-11-14T21:00:00Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "386d5b56-d46f-4b96-a228-230ba83ddada", + "_ts": 1699998962, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test", + + "logTimestamp": "2022-12-29T02:58:27Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "11135f77-5122-40f0-90a3-7a5a43ffd9ec", + "_ts": 1680273497, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": true, + "notes": null, + + "logTimestamp": "2018-08-20T14:45:29Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "d03b8cce-dbdb-4562-bdd8-c0238d8bfded", + "_ts": 1549295157, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-17T14:38:14.6422431Z", + "weather": { + "timestamp": "2018-08-17T14:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22, + "tempFeelsLike": 24.5, + "relHumidity": 97, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 13.8, + "windGustSpeed": 18, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 97, + "pressure": 1012.9, + "precipPast24Hours": 3 + }, + "weatherLogId": "170635c4-8da2-4fa7-b800-017ef750677b", + + "origin": "dialogflow", + "id": "7c0e274d-55c6-4e84-96d3-f85509d87051", + "_ts": 1534516694, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-16T00:39:12.5845119Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "776e5e72-972b-452c-b322-36439ede8c3d", + + "origin": "dialogflow", + "id": "ea7b115e-6940-4625-90fb-97fd83191f81", + "_ts": 1534379952, + "deleted": false + }, + { + "type": "testlog", + "fc": 4, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-16T00:37:34.6585562Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "089431d6-21fe-4fda-b04f-fba27c2c20eb", + + "origin": "dialogflow", + "id": "c0475b4a-963f-475c-a8f1-22f5c5fdfc2d", + "_ts": 1534379854, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-15T00:02:22.8880771Z", + "weather": { + "timestamp": "2018-08-15T00:01:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 26.3, + "tempFeelsLike": 25.9, + "relHumidity": 63, + "windDir": 270, + "windDirDesc": "W", + "windSpeed": 13.5, + "windGustSpeed": 17, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 28, + "pressure": 1012.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "2855707a-2d89-45cb-8702-75987ec89f8f", + + "origin": "dialogflow", + "id": "ac40d9e1-8a11-48f6-ba98-da8323518102", + "_ts": 1534291343, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-08-13T23:49:38.0936887Z", + "weather": { + "timestamp": "2018-08-13T23:45:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 24.3, + "tempFeelsLike": 23.9, + "relHumidity": 68, + "windDir": 45, + "windDirDesc": "NE", + "windSpeed": 9.4, + "windGustSpeed": 12.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 77, + "pressure": 1015.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "717b9d7a-7659-4131-b87f-d13134cdeb41", + + "origin": "dialogflow", + "id": "2c6ed786-c2f4-493f-b35f-a200f6fb23f5", + "_ts": 1534204178, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-13T00:09:44.1352293Z", + "weather": { + "timestamp": "2018-08-13T00:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26.4, + "tempFeelsLike": 25.8, + "relHumidity": 60, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 11.4, + "windGustSpeed": 14.7, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 68, + "pressure": 1017.5, + "precipPast24Hours": 1 + }, + "weatherLogId": "cf3c0db0-2c3a-42a2-b176-6f5a5e9e128f", + + "origin": "dialogflow", + "id": "5030e5a8-24f9-41b4-abfb-8fefa387102b", + "_ts": 1534118984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-12T14:43:30.0390095Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "3623d415-d372-49e3-a5b8-5fb0f13863be", + + "origin": "dialogflow", + "id": "beb80cab-63ce-46c5-bddb-ef04f2c9cd34", + "_ts": 1534085010, + "deleted": false + }, + { + "type": "testlog", + "fc": 2, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-08-12T14:42:01.4115554Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "72d58aa2-d430-49bf-88c8-ab8717fa2077", + + "origin": "dialogflow", + "id": "99d51b84-11d7-4b7f-bcf2-205b77dc721f", + "_ts": 1534085040, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-09T13:38:47.2819901Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "5ad94891-96d6-4296-8681-1dbd210d43e8", + + "origin": "dialogflow", + "id": "adf46068-180b-408a-8947-49c361ff72b2", + "_ts": 1533821927, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-09T13:36:52.2780111Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "8beea3cb-0e4c-4290-ac41-fbc39ab1e963", + + "origin": "dialogflow", + "id": "12090f61-701b-44a6-97cb-f7b98ea02581", + "_ts": 1533821970, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-07T21:25:50.7176017Z", + "weather": { + "timestamp": "2018-08-07T21:20:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 25.6, + "tempFeelsLike": 28.5, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 8.1, + "windGustSpeed": 11.7, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 91, + "pressure": 1011.7, + "precipPast24Hours": 18 + }, + "weatherLogId": "3c769a46-7202-4b87-a2b4-b1dec93b6d54", + + "origin": "dialogflow", + "id": "0998b96e-fda4-447a-86f6-165bf1cbc9d4", + "_ts": 1533677151, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-06T21:34:23.3122289Z", + "weather": { + "timestamp": "2018-08-06T21:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 27.9, + "tempFeelsLike": 31.3, + "relHumidity": 72, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 11.4, + "windGustSpeed": 16, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 83, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "70f30ade-67d7-4c5a-9d7e-eac70a3a5343", + + "origin": "dialogflow", + "id": "73a1a200-a536-4996-b9cb-6635b5df17db", + "_ts": 1533591263, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-05T23:32:35.1643275Z", + "weather": { + "timestamp": "2018-08-05T23:25:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 29, + "relHumidity": 63, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 15.2, + "windGustSpeed": 20.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 54, + "pressure": 1016.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "9b107452-ede0-46c1-8c9b-9a34c11d50e2", + + "origin": "dialogflow", + "id": "96a55109-15dd-4c0f-85ff-912f8c76badb", + "_ts": 1533511955, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": true, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2018-08-05T14:17:00.0463318Z", + "weather": { + "timestamp": "2018-08-05T14:10:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.7, + "tempFeelsLike": 30.5, + "relHumidity": 85, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 10.6, + "windGustSpeed": 14.5, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 52, + "pressure": 1020.1, + "precipPast24Hours": 0 + }, + "weatherLogId": "7fb51a1e-2997-43be-9a35-11f48ca611b4", + + "origin": "dialogflow", + "id": "e0a6f6c9-515f-4877-9bce-f6391d2bbc6b", + "_ts": 1533478620, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-04T20:37:27.0893588Z", + "weather": { + "timestamp": "2018-08-04T20:20:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 27.4, + "tempFeelsLike": 29.7, + "relHumidity": 55, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 7.9, + "windGustSpeed": 10.6, + "uvIndex": 3, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 33, + "pressure": 1019.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "0aa6eb0d-09b8-4245-a720-2b22685b8605", + + "origin": "dialogflow", + "id": "aa1b9180-3f22-4107-ac1a-62a1b91d1fa1", + "_ts": 1533415047, + "deleted": false + }, + { + "type": "testlog", + "fc": 6.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-04T15:27:37.9011375Z", + "weather": { + "timestamp": "2018-08-04T15:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 22.9, + "tempFeelsLike": 29.1, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 6.7, + "windGustSpeed": 9.9, + "uvIndex": 8, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 24, + "pressure": 1019, + "precipPast24Hours": 0 + }, + "weatherLogId": "0d7f3b3a-e67a-4773-83fe-31045212cc4a", + + "origin": "dialogflow", + "id": "1f2c688f-8dd4-4190-bf42-f96b7b19b336", + "_ts": 1533396474, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-03T00:25:11.3787107Z", + "weather": { + "timestamp": "2018-08-03T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.5, + "tempFeelsLike": 24.4, + "relHumidity": 73, + "windDir": 135, + "windDirDesc": "SE", + "windSpeed": 13.1, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1015, + "precipPast24Hours": 0 + }, + "weatherLogId": "a3e5c7cb-4b4f-4b16-835d-4e454b35a17d", + + "origin": "dialogflow", + "id": "b4db8719-1480-4d97-ae5b-13a47ff2c74f", + "_ts": 1533255911, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-01T21:16:03.4408029Z", + "weather": { + "timestamp": "2018-08-01T21:10:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.1, + "tempFeelsLike": 22, + "relHumidity": 80, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 13.7, + "windGustSpeed": 17.1, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1013.1, + "precipPast24Hours": 1 + }, + "weatherLogId": "07e002b7-af16-4770-8c77-3996588a19e8", + + "origin": "dialogflow", + "id": "5e46b288-b950-4d6d-9ef1-77a8083d14a1", + "_ts": 1533158163, + "deleted": false + }, + { + "type": "testlog", + "fc": null, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-30T23:47:58.6770836Z", + "weather": { + "timestamp": "2018-07-30T23:40:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 23.1, + "tempFeelsLike": 22.3, + "relHumidity": 69, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 9.7, + "windGustSpeed": 12.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 84, + "pressure": 1016.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "98c28b44-8c02-4282-8d5d-d84b4779a730", + + "origin": "dialogflow", + "id": "e2dd0091-148b-42ef-bd84-4702c02e5bb9", + "_ts": 1532994478, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-28T11:39:45.4772522Z", + "weather": { + "timestamp": "2018-07-28T11:35:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 17.5, + "tempFeelsLike": 17.6, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 13.4, + "windGustSpeed": 16.9, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1017.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "d5b29b45-837a-4dc9-8e37-f19076fd1f36", + + "origin": "dialogflow", + "id": "3e2bba3e-4a80-41f6-83a7-8250ac9d6cf8", + "_ts": 1532777985, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 0.8, + "NormalizedAmount": 800, + + "logTimestamp": "2018-07-27T00:30:26.7584573Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "9e50efe2-1378-4ee1-a718-3b00776e81cc", + + "origin": "dialogflow", + "id": "9f82ced2-a906-4cdd-ab76-761b5ddbcf24", + "_ts": 1532651426, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-27T00:23:51.2269602Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "e53c08a4-f77e-40ae-bc48-30c8e7150660", + + "origin": "dialogflow", + "id": "bd2be2fc-9f04-4c21-8d19-676e5317bfcd", + "_ts": 1532651059, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-26T00:07:21.8672953Z", + "weather": { + "timestamp": "2018-07-26T00:03:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26, + "tempFeelsLike": 25.6, + "relHumidity": 63, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 11.2, + "windGustSpeed": 13.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1010.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "d1d2e117-caef-46cb-bafc-4d5c532590ad", + + "origin": "dialogflow", + "id": "a7f5a6d2-24a3-45e9-b62e-f6ad142619c5", + "_ts": 1532563642, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-25T00:03:16.614879Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "f3081451-8510-407a-8239-8f1d518d12c7", + + "origin": null, + "id": "0eb12baa-9a8a-4873-808e-507b8ccf1fe5", + "_ts": 1532477010, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-24T23:59:16.1670206Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "c70de094-6f97-462d-a6b0-a59b18ec4297", + + "origin": "dialogflow", + "id": "df80a9b2-8307-4fb7-9a48-a09ee0a55d74", + "_ts": 1532476756, + "deleted": false + }, + { + "type": "testlog", + "fc": 20, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T03:01:43.37876Z", + "weather": { + "timestamp": "2018-07-22T03:01:00Z", + "desc": "Mostly cloudy", + "icon": 38, + "temp": 22.2, + "tempFeelsLike": 22.1, + "relHumidity": 86, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 15.2, + "windGustSpeed": 19.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 88, + "pressure": 1007.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "444fd80f-91e6-4ef5-86fb-8c4f5a65f3d0", + + "origin": "dialogflow", + "id": "ed1bb7b4-e61a-4e10-9cf5-85276cb52f1a", + "_ts": 1532228503, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-07-22T01:47:35.4244336Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "126e1d2d-f79f-42e5-a703-c865aa4a1436", + + "origin": "dialogflow", + "id": "a054db03-f812-447d-b234-f3516f0ec2ef", + "_ts": 1532224055, + "deleted": false + }, + { + "type": "testlog", + "fc": 15, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T01:45:31.6302124Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "852197dd-4d50-403b-85d1-baa3f2142f57", + + "origin": "dialogflow", + "id": "32186e7f-cfb7-4875-9797-844f7f8b64ca", + "_ts": 1532223932, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 4, + "NormalizedAmount": 4000, + + "logTimestamp": "2018-07-22T00:43:19.1151705Z", + "weather": { + "timestamp": "2018-07-22T00:30:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.1, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18.4, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 93, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "1d65d2f3-18e1-4aab-ae20-45b8de501143", + + "origin": "dialogflow", + "id": "a3dd1114-36c2-4ea3-90cf-2aa6b9a05f77", + "_ts": 1532220199, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": 0.5, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.43, + "waterTemp": 86, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T00:35:35.086717Z", + "weather": { + "timestamp": "2018-07-22T00:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.9, + "tempFeelsLike": 22.8, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "55b4b107-8085-47c7-a480-4685a6c77915", + + "origin": "dialogflow", + "id": "f9900745-085a-49e7-a8ae-47546700502b", + "_ts": 1532219779, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:57:25.361359Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "700bc4b1-6738-4021-abc2-75f3c9ebcead", + + "origin": "dialogflow", + "id": "b66c50c8-2d78-4938-bf31-31a7cc7be3f4", + "_ts": 1532048246, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:53:03.9456967Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "3cd942f7-4be9-4dc1-8249-c4d1e7653e89", + + "origin": "dialogflow", + "id": "31825b59-cd10-4711-a2b9-f8d0ab81113a", + "_ts": 1532047984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-17T00:04:45.3187924Z", + "weather": { + "timestamp": "2018-07-17T00:01:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 25.8, + "tempFeelsLike": 28.3, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.8, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 79, + "pressure": 1009.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "78b12772-f10e-4aef-84c1-f8578143ef61", + + "origin": "dialogflow", + "id": "7a4bc193-ce32-4d0c-b651-ffa7ddf7c010", + "_ts": 1531785885, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1033, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-15T17:47:44.093287Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "dc9e7aa4-b661-4e54-8b04-fb76745aaaad", + + "origin": null, + "id": "f9876d6e-357e-4a5a-9f51-38fe522a9913", + "_ts": 1531676865, + "deleted": false + }, + { + "type": "testlog", + "fc": 1.5, + "cc": 0, + "cya": 45, + "ch": null, + "ph": 7.5, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.42, + "waterTemp": 89, + "waterTempUnits": null, + + "logTimestamp": "2018-07-15T17:47:12Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "fbf5a79d-7109-4150-ae7a-c2175012368d", + + "origin": null, + "id": "7b7c4ecf-c993-44e9-9e37-fcbf5093b5a0", + "_ts": 1532219834, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-12T17:45:58.3969482Z", + "weather": { + "timestamp": "2018-07-12T17:40:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 24.2, + "tempFeelsLike": 28.4, + "relHumidity": 50, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 11.5, + "windGustSpeed": 14.8, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 48, + "pressure": 1023.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "109cc2c2-8b4d-47d8-969d-9da77ffbd6ff", + + "origin": "dialogflow", + "id": "bcd1dab1-7cc2-4f83-accc-aba85e1abb79", + "_ts": 1531417558, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-08T17:02:21.8166098Z", + "weather": { + "timestamp": "2018-07-08T17:00:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.2, + "tempFeelsLike": 29, + "relHumidity": 56, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 5.9, + "windGustSpeed": 8.2, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 26, + "pressure": 1025.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "246e9bad-dcfe-4b68-af12-f42085674295", + + "origin": "dialogflow", + "id": "4798cb21-f79b-4121-bde1-b62d6cd33ff4", + "_ts": 1531069342, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1328, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-07T18:35:24.715964Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "57403c31-a43e-4781-998f-c4817c1b943d", + + "origin": null, + "id": "53bf83a7-a1e8-45b4-a8c2-d2240d246927", + "_ts": 1530988526, + "deleted": false + }, + { + "type": "testlog", + "fc": 0.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-07T18:34:11.45778Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "4af952ad-5480-4538-9acd-eac9fcdc80bb", + + "origin": null, + "id": "25d11b3e-fabb-435d-b948-317b6af20423", + "_ts": 1530988459, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 750, + "NormalizedAmount": 750, + + "logTimestamp": "2018-07-05T23:25:47.8601697Z", + "weather": { + "timestamp": "2018-07-05T23:20:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.2, + "tempFeelsLike": 31.1, + "relHumidity": 76, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 20.8, + "windGustSpeed": 27, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1017.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "cec7857d-0439-450c-9c9f-093876347eca", + + "origin": "dialogflow", + "id": "36b7bca1-4b8b-476b-b49e-ce1c5d3a8e84", + "_ts": 1530833148, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-07-04T23:13:10.293007Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "40a6cc38-5591-4dd8-9925-3524e3488d46", + + "origin": "dialogflow", + "id": "50fa29ed-0008-48e6-b885-01fed3e92912", + "_ts": 1530745990, + "deleted": false + }, + { + "type": "testlog", + "fc": 3, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 91, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T23:10:51.6869302Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "8d6fc2bb-6508-4455-9d39-c5209f21a50c", + + "origin": "dialogflow", + "id": "0a2ce88c-b37b-43de-ac40-c9470be0cada", + "_ts": 1530746061, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-04T00:19:47.161294Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "ec82f9ca-b584-459c-b3be-1ba6f27ee534", + + "origin": null, + "id": "8f52fd2d-b517-4ee1-9903-59f9b06146bf", + "_ts": 1530663595, + "deleted": false + }, + { + "type": "testlog", + "fc": 2.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T00:19:27.928185Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "afb0eff3-a2d1-4c0c-85da-beefa3fa248d", + + "origin": null, + "id": "844069b4-9f46-43b1-8002-a111616f0bc2", + "_ts": 1530663575, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": true, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": 25, + "pressure": 33, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2024-03-26T19:41:13Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "47edbabb-3f1e-4e64-a01f-6490db901590", + "_ts": 1711482878, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 1, + "Unit": 0, + "Amount": 0.3, + "NormalizedAmount": 0.3, + + "logTimestamp": "2024-01-23T02:19:46Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "265abb39-9f29-46de-a12e-dcbd53fa0b9b", + "_ts": 1705977510, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": 6.9, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": -0.9, + "waterTemp": null, + "waterTempUnits": 0, + + "logTimestamp": "2024-01-21T02:51:45Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "594b8aca-26f4-4cc2-a0f5-091e7a93654c", + "_ts": 1711484871, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test Time", + + "logTimestamp": "2023-11-14T21:00:00Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "386d5b56-d46f-4b96-a228-230ba83ddada", + "_ts": 1699998962, + "deleted": false + }, + { + "type": "notelog", + "notes": "Test", + + "logTimestamp": "2022-12-29T02:58:27Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "11135f77-5122-40f0-90a3-7a5a43ffd9ec", + "_ts": 1680273497, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": false, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": true, + "notes": null, + + "logTimestamp": "2018-08-20T14:45:29Z", + "weather": null, + "weatherLogId": null, + + "origin": null, + "id": "d03b8cce-dbdb-4562-bdd8-c0238d8bfded", + "_ts": 1549295157, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-17T14:38:14.6422431Z", + "weather": { + "timestamp": "2018-08-17T14:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22, + "tempFeelsLike": 24.5, + "relHumidity": 97, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 13.8, + "windGustSpeed": 18, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 97, + "pressure": 1012.9, + "precipPast24Hours": 3 + }, + "weatherLogId": "170635c4-8da2-4fa7-b800-017ef750677b", + + "origin": "dialogflow", + "id": "7c0e274d-55c6-4e84-96d3-f85509d87051", + "_ts": 1534516694, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-16T00:39:12.5845119Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "776e5e72-972b-452c-b322-36439ede8c3d", + + "origin": "dialogflow", + "id": "ea7b115e-6940-4625-90fb-97fd83191f81", + "_ts": 1534379952, + "deleted": false + }, + { + "type": "testlog", + "fc": 4, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-16T00:37:34.6585562Z", + "weather": { + "timestamp": "2018-08-16T00:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 26.9, + "tempFeelsLike": 28.9, + "relHumidity": 74, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 11.1, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 81, + "pressure": 1014, + "precipPast24Hours": 0 + }, + "weatherLogId": "089431d6-21fe-4fda-b04f-fba27c2c20eb", + + "origin": "dialogflow", + "id": "c0475b4a-963f-475c-a8f1-22f5c5fdfc2d", + "_ts": 1534379854, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-15T00:02:22.8880771Z", + "weather": { + "timestamp": "2018-08-15T00:01:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 26.3, + "tempFeelsLike": 25.9, + "relHumidity": 63, + "windDir": 270, + "windDirDesc": "W", + "windSpeed": 13.5, + "windGustSpeed": 17, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 28, + "pressure": 1012.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "2855707a-2d89-45cb-8702-75987ec89f8f", + + "origin": "dialogflow", + "id": "ac40d9e1-8a11-48f6-ba98-da8323518102", + "_ts": 1534291343, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-08-13T23:49:38.0936887Z", + "weather": { + "timestamp": "2018-08-13T23:45:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 24.3, + "tempFeelsLike": 23.9, + "relHumidity": 68, + "windDir": 45, + "windDirDesc": "NE", + "windSpeed": 9.4, + "windGustSpeed": 12.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 77, + "pressure": 1015.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "717b9d7a-7659-4131-b87f-d13134cdeb41", + + "origin": "dialogflow", + "id": "2c6ed786-c2f4-493f-b35f-a200f6fb23f5", + "_ts": 1534204178, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-13T00:09:44.1352293Z", + "weather": { + "timestamp": "2018-08-13T00:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26.4, + "tempFeelsLike": 25.8, + "relHumidity": 60, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 11.4, + "windGustSpeed": 14.7, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 68, + "pressure": 1017.5, + "precipPast24Hours": 1 + }, + "weatherLogId": "cf3c0db0-2c3a-42a2-b176-6f5a5e9e128f", + + "origin": "dialogflow", + "id": "5030e5a8-24f9-41b4-abfb-8fefa387102b", + "_ts": 1534118984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-12T14:43:30.0390095Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "3623d415-d372-49e3-a5b8-5fb0f13863be", + + "origin": "dialogflow", + "id": "beb80cab-63ce-46c5-bddb-ef04f2c9cd34", + "_ts": 1534085010, + "deleted": false + }, + { + "type": "testlog", + "fc": 2, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-08-12T14:42:01.4115554Z", + "weather": { + "timestamp": "2018-08-12T14:30:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24, + "tempFeelsLike": 28.4, + "relHumidity": 68, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 5.6, + "windGustSpeed": 8.6, + "uvIndex": 5, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1018.4, + "precipPast24Hours": 1 + }, + "weatherLogId": "72d58aa2-d430-49bf-88c8-ab8717fa2077", + + "origin": "dialogflow", + "id": "99d51b84-11d7-4b7f-bcf2-205b77dc721f", + "_ts": 1534085040, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-09T13:38:47.2819901Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "5ad94891-96d6-4296-8681-1dbd210d43e8", + + "origin": "dialogflow", + "id": "adf46068-180b-408a-8947-49c361ff72b2", + "_ts": 1533821927, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": 0.25, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-09T13:36:52.2780111Z", + "weather": { + "timestamp": "2018-08-09T13:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 21.5, + "tempFeelsLike": 23.6, + "relHumidity": 86, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.7, + "windGustSpeed": 13, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 82, + "pressure": 1012.8, + "precipPast24Hours": 1 + }, + "weatherLogId": "8beea3cb-0e4c-4290-ac41-fbc39ab1e963", + + "origin": "dialogflow", + "id": "12090f61-701b-44a6-97cb-f7b98ea02581", + "_ts": 1533821970, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-07T21:25:50.7176017Z", + "weather": { + "timestamp": "2018-08-07T21:20:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 25.6, + "tempFeelsLike": 28.5, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 8.1, + "windGustSpeed": 11.7, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 91, + "pressure": 1011.7, + "precipPast24Hours": 18 + }, + "weatherLogId": "3c769a46-7202-4b87-a2b4-b1dec93b6d54", + + "origin": "dialogflow", + "id": "0998b96e-fda4-447a-86f6-165bf1cbc9d4", + "_ts": 1533677151, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-06T21:34:23.3122289Z", + "weather": { + "timestamp": "2018-08-06T21:25:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 27.9, + "tempFeelsLike": 31.3, + "relHumidity": 72, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 11.4, + "windGustSpeed": 16, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 83, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "70f30ade-67d7-4c5a-9d7e-eac70a3a5343", + + "origin": "dialogflow", + "id": "73a1a200-a536-4996-b9cb-6635b5df17db", + "_ts": 1533591263, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-05T23:32:35.1643275Z", + "weather": { + "timestamp": "2018-08-05T23:25:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 29, + "relHumidity": 63, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 15.2, + "windGustSpeed": 20.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 54, + "pressure": 1016.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "9b107452-ede0-46c1-8c9b-9a34c11d50e2", + + "origin": "dialogflow", + "id": "96a55109-15dd-4c0f-85ff-912f8c76badb", + "_ts": 1533511955, + "deleted": false + }, + { + "type": "maintlog", + "backwashed": false, + "brushed": false, + "cleanedFilter": false, + "vacuumed": true, + "flowRate": null, + "pressure": null, + "waterTemp": null, + "pumpRuntime": null, + "swgCellPercent": null, + "opened": false, + "closed": false, + "notes": null, + + "logTimestamp": "2018-08-05T14:17:00.0463318Z", + "weather": { + "timestamp": "2018-08-05T14:10:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.7, + "tempFeelsLike": 30.5, + "relHumidity": 85, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 10.6, + "windGustSpeed": 14.5, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 52, + "pressure": 1020.1, + "precipPast24Hours": 0 + }, + "weatherLogId": "7fb51a1e-2997-43be-9a35-11f48ca611b4", + + "origin": "dialogflow", + "id": "e0a6f6c9-515f-4877-9bce-f6391d2bbc6b", + "_ts": 1533478620, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-08-04T20:37:27.0893588Z", + "weather": { + "timestamp": "2018-08-04T20:20:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 27.4, + "tempFeelsLike": 29.7, + "relHumidity": 55, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 7.9, + "windGustSpeed": 10.6, + "uvIndex": 3, + "uvIndexDesc": "Moderate", + "visibility": 6.4, + "cloudCover": 33, + "pressure": 1019.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "0aa6eb0d-09b8-4245-a720-2b22685b8605", + + "origin": "dialogflow", + "id": "aa1b9180-3f22-4107-ac1a-62a1b91d1fa1", + "_ts": 1533415047, + "deleted": false + }, + { + "type": "testlog", + "fc": 6.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-08-04T15:27:37.9011375Z", + "weather": { + "timestamp": "2018-08-04T15:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 22.9, + "tempFeelsLike": 29.1, + "relHumidity": 79, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 6.7, + "windGustSpeed": 9.9, + "uvIndex": 8, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 24, + "pressure": 1019, + "precipPast24Hours": 0 + }, + "weatherLogId": "0d7f3b3a-e67a-4773-83fe-31045212cc4a", + + "origin": "dialogflow", + "id": "1f2c688f-8dd4-4190-bf42-f96b7b19b336", + "_ts": 1533396474, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-08-03T00:25:11.3787107Z", + "weather": { + "timestamp": "2018-08-03T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.5, + "tempFeelsLike": 24.4, + "relHumidity": 73, + "windDir": 135, + "windDirDesc": "SE", + "windSpeed": 13.1, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1015, + "precipPast24Hours": 0 + }, + "weatherLogId": "a3e5c7cb-4b4f-4b16-835d-4e454b35a17d", + + "origin": "dialogflow", + "id": "b4db8719-1480-4d97-ae5b-13a47ff2c74f", + "_ts": 1533255911, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-08-01T21:16:03.4408029Z", + "weather": { + "timestamp": "2018-08-01T21:10:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.1, + "tempFeelsLike": 22, + "relHumidity": 80, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 13.7, + "windGustSpeed": 17.1, + "uvIndex": 1, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1013.1, + "precipPast24Hours": 1 + }, + "weatherLogId": "07e002b7-af16-4770-8c77-3996588a19e8", + + "origin": "dialogflow", + "id": "5e46b288-b950-4d6d-9ef1-77a8083d14a1", + "_ts": 1533158163, + "deleted": false + }, + { + "type": "testlog", + "fc": null, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-30T23:47:58.6770836Z", + "weather": { + "timestamp": "2018-07-30T23:40:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 23.1, + "tempFeelsLike": 22.3, + "relHumidity": 69, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 9.7, + "windGustSpeed": 12.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 84, + "pressure": 1016.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "98c28b44-8c02-4282-8d5d-d84b4779a730", + + "origin": "dialogflow", + "id": "e2dd0091-148b-42ef-bd84-4702c02e5bb9", + "_ts": 1532994478, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-28T11:39:45.4772522Z", + "weather": { + "timestamp": "2018-07-28T11:35:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 17.5, + "tempFeelsLike": 17.6, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 13.4, + "windGustSpeed": 16.9, + "uvIndex": 2, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 65, + "pressure": 1017.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "d5b29b45-837a-4dc9-8e37-f19076fd1f36", + + "origin": "dialogflow", + "id": "3e2bba3e-4a80-41f6-83a7-8250ac9d6cf8", + "_ts": 1532777985, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 0.8, + "NormalizedAmount": 800, + + "logTimestamp": "2018-07-27T00:30:26.7584573Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "9e50efe2-1378-4ee1-a718-3b00776e81cc", + + "origin": "dialogflow", + "id": "9f82ced2-a906-4cdd-ab76-761b5ddbcf24", + "_ts": 1532651426, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 87, + "waterTempUnits": null, + + "logTimestamp": "2018-07-27T00:23:51.2269602Z", + "weather": { + "timestamp": "2018-07-27T00:15:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 22.6, + "tempFeelsLike": 21.7, + "relHumidity": 81, + "windDir": 248, + "windDirDesc": "WSW", + "windSpeed": 20.9, + "windGustSpeed": 29.6, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 4.8, + "cloudCover": 77, + "pressure": 1009.7, + "precipPast24Hours": 7 + }, + "weatherLogId": "e53c08a4-f77e-40ae-bc48-30c8e7150660", + + "origin": "dialogflow", + "id": "bd2be2fc-9f04-4c21-8d19-676e5317bfcd", + "_ts": 1532651059, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-26T00:07:21.8672953Z", + "weather": { + "timestamp": "2018-07-26T00:03:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 26, + "tempFeelsLike": 25.6, + "relHumidity": 63, + "windDir": 180, + "windDirDesc": "S", + "windSpeed": 11.2, + "windGustSpeed": 13.9, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1010.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "d1d2e117-caef-46cb-bafc-4d5c532590ad", + + "origin": "dialogflow", + "id": "a7f5a6d2-24a3-45e9-b62e-f6ad142619c5", + "_ts": 1532563642, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-25T00:03:16.614879Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "f3081451-8510-407a-8239-8f1d518d12c7", + + "origin": null, + "id": "0eb12baa-9a8a-4873-808e-507b8ccf1fe5", + "_ts": 1532477010, + "deleted": false + }, + { + "type": "testlog", + "fc": 3.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-24T23:59:16.1670206Z", + "weather": { + "timestamp": "2018-07-25T00:01:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 24.5, + "tempFeelsLike": 25.3, + "relHumidity": 74, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 7.1, + "windGustSpeed": 10.1, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 97, + "pressure": 1011.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "c70de094-6f97-462d-a6b0-a59b18ec4297", + + "origin": "dialogflow", + "id": "df80a9b2-8307-4fb7-9a48-a09ee0a55d74", + "_ts": 1532476756, + "deleted": false + }, + { + "type": "testlog", + "fc": 20, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T03:01:43.37876Z", + "weather": { + "timestamp": "2018-07-22T03:01:00Z", + "desc": "Mostly cloudy", + "icon": 38, + "temp": 22.2, + "tempFeelsLike": 22.1, + "relHumidity": 86, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 15.2, + "windGustSpeed": 19.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 88, + "pressure": 1007.6, + "precipPast24Hours": 1 + }, + "weatherLogId": "444fd80f-91e6-4ef5-86fb-8c4f5a65f3d0", + + "origin": "dialogflow", + "id": "ed1bb7b4-e61a-4e10-9cf5-85276cb52f1a", + "_ts": 1532228503, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.75, + "NormalizedAmount": 1750, + + "logTimestamp": "2018-07-22T01:47:35.4244336Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "126e1d2d-f79f-42e5-a703-c865aa4a1436", + + "origin": "dialogflow", + "id": "a054db03-f812-447d-b234-f3516f0ec2ef", + "_ts": 1532224055, + "deleted": false + }, + { + "type": "testlog", + "fc": 15, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T01:45:31.6302124Z", + "weather": { + "timestamp": "2018-07-22T01:40:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.3, + "relHumidity": 81, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 13.9, + "windGustSpeed": 17.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 91, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "852197dd-4d50-403b-85d1-baa3f2142f57", + + "origin": "dialogflow", + "id": "32186e7f-cfb7-4875-9797-844f7f8b64ca", + "_ts": 1532223932, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 4, + "NormalizedAmount": 4000, + + "logTimestamp": "2018-07-22T00:43:19.1151705Z", + "weather": { + "timestamp": "2018-07-22T00:30:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.5, + "tempFeelsLike": 22.1, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18.4, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 16.1, + "cloudCover": 93, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "1d65d2f3-18e1-4aab-ae20-45b8de501143", + + "origin": "dialogflow", + "id": "a3dd1114-36c2-4ea3-90cf-2aa6b9a05f77", + "_ts": 1532220199, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": 0.5, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.43, + "waterTemp": 86, + "waterTempUnits": null, + + "logTimestamp": "2018-07-22T00:35:35.086717Z", + "weather": { + "timestamp": "2018-07-22T00:25:00Z", + "desc": "Cloudy", + "icon": 7, + "temp": 22.9, + "tempFeelsLike": 22.8, + "relHumidity": 82, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 14.9, + "windGustSpeed": 18, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 95, + "pressure": 1007, + "precipPast24Hours": 1 + }, + "weatherLogId": "55b4b107-8085-47c7-a480-4685a6c77915", + + "origin": "dialogflow", + "id": "f9900745-085a-49e7-a8ae-47546700502b", + "_ts": 1532219779, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:57:25.361359Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "700bc4b1-6738-4021-abc2-75f3c9ebcead", + + "origin": "dialogflow", + "id": "b66c50c8-2d78-4938-bf31-31a7cc7be3f4", + "_ts": 1532048246, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-20T00:53:03.9456967Z", + "weather": { + "timestamp": "2018-07-20T00:45:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.8, + "tempFeelsLike": 22.4, + "relHumidity": 67, + "windDir": 68, + "windDirDesc": "ENE", + "windSpeed": 17.8, + "windGustSpeed": 22.8, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 19, + "pressure": 1014.7, + "precipPast24Hours": 0 + }, + "weatherLogId": "3cd942f7-4be9-4dc1-8249-c4d1e7653e89", + + "origin": "dialogflow", + "id": "31825b59-cd10-4711-a2b9-f8d0ab81113a", + "_ts": 1532047984, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.5, + "NormalizedAmount": 1500, + + "logTimestamp": "2018-07-17T00:04:45.3187924Z", + "weather": { + "timestamp": "2018-07-17T00:01:00Z", + "desc": "Mostly cloudy", + "icon": 6, + "temp": 25.8, + "tempFeelsLike": 28.3, + "relHumidity": 80, + "windDir": 293, + "windDirDesc": "WNW", + "windSpeed": 9.8, + "windGustSpeed": 14.5, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 79, + "pressure": 1009.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "78b12772-f10e-4aef-84c1-f8578143ef61", + + "origin": "dialogflow", + "id": "7a4bc193-ce32-4d0c-b651-ffa7ddf7c010", + "_ts": 1531785885, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1033, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-15T17:47:44.093287Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "dc9e7aa4-b661-4e54-8b04-fb76745aaaad", + + "origin": null, + "id": "f9876d6e-357e-4a5a-9f51-38fe522a9913", + "_ts": 1531676865, + "deleted": false + }, + { + "type": "testlog", + "fc": 1.5, + "cc": 0, + "cya": 45, + "ch": null, + "ph": 7.5, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.42, + "waterTemp": 89, + "waterTempUnits": null, + + "logTimestamp": "2018-07-15T17:47:12Z", + "weather": { + "timestamp": "2018-07-15T17:40:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 27.2, + "tempFeelsLike": 32.8, + "relHumidity": 71, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 9.8, + "windGustSpeed": 12.8, + "uvIndex": 6, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 67, + "pressure": 1014.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "fbf5a79d-7109-4150-ae7a-c2175012368d", + + "origin": null, + "id": "7b7c4ecf-c993-44e9-9e37-fcbf5093b5a0", + "_ts": 1532219834, + "deleted": false + }, + { + "type": "testlog", + "fc": 5.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-12T17:45:58.3969482Z", + "weather": { + "timestamp": "2018-07-12T17:40:00Z", + "desc": "Partly sunny", + "icon": 3, + "temp": 24.2, + "tempFeelsLike": 28.4, + "relHumidity": 50, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 11.5, + "windGustSpeed": 14.8, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 48, + "pressure": 1023.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "109cc2c2-8b4d-47d8-969d-9da77ffbd6ff", + + "origin": "dialogflow", + "id": "bcd1dab1-7cc2-4f83-accc-aba85e1abb79", + "_ts": 1531417558, + "deleted": false + }, + { + "type": "testlog", + "fc": 5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": null, + "waterTempUnits": null, + + "logTimestamp": "2018-07-08T17:02:21.8166098Z", + "weather": { + "timestamp": "2018-07-08T17:00:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 23.2, + "tempFeelsLike": 29, + "relHumidity": 56, + "windDir": 203, + "windDirDesc": "SSW", + "windSpeed": 5.9, + "windGustSpeed": 8.2, + "uvIndex": 9, + "uvIndexDesc": "Very High", + "visibility": 6.4, + "cloudCover": 26, + "pressure": 1025.6, + "precipPast24Hours": 0 + }, + "weatherLogId": "246e9bad-dcfe-4b68-af12-f42085674295", + + "origin": "dialogflow", + "id": "4798cb21-f79b-4121-bde1-b62d6cd33ff4", + "_ts": 1531069342, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 1328, + "NormalizedAmount": null, + + "logTimestamp": "2018-07-07T18:35:24.715964Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "57403c31-a43e-4781-998f-c4817c1b943d", + + "origin": null, + "id": "53bf83a7-a1e8-45b4-a8c2-d2240d246927", + "_ts": 1530988526, + "deleted": false + }, + { + "type": "testlog", + "fc": 0.5, + "cc": null, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-07T18:34:11.45778Z", + "weather": { + "timestamp": "2018-07-07T18:25:00Z", + "desc": "Mostly sunny", + "icon": 2, + "temp": 21.4, + "tempFeelsLike": 24, + "relHumidity": 52, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 16.9, + "windGustSpeed": 24.6, + "uvIndex": 7, + "uvIndexDesc": "High", + "visibility": 6.4, + "cloudCover": 16, + "pressure": 1027.9, + "precipPast24Hours": 0 + }, + "weatherLogId": "4af952ad-5480-4538-9acd-eac9fcdc80bb", + + "origin": null, + "id": "25d11b3e-fabb-435d-b948-317b6af20423", + "_ts": 1530988459, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 0, + "Amount": 750, + "NormalizedAmount": 750, + + "logTimestamp": "2018-07-05T23:25:47.8601697Z", + "weather": { + "timestamp": "2018-07-05T23:20:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.2, + "tempFeelsLike": 31.1, + "relHumidity": 76, + "windDir": 225, + "windDirDesc": "SW", + "windSpeed": 20.8, + "windGustSpeed": 27, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 73, + "pressure": 1017.2, + "precipPast24Hours": 0 + }, + "weatherLogId": "cec7857d-0439-450c-9c9f-093876347eca", + + "origin": "dialogflow", + "id": "36b7bca1-4b8b-476b-b49e-ce1c5d3a8e84", + "_ts": 1530833148, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1, + "NormalizedAmount": 1000, + + "logTimestamp": "2018-07-04T23:13:10.293007Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "40a6cc38-5591-4dd8-9925-3524e3488d46", + + "origin": "dialogflow", + "id": "50fa29ed-0008-48e6-b885-01fed3e92912", + "_ts": 1530745990, + "deleted": false + }, + { + "type": "testlog", + "fc": 3, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": null, + "waterTemp": 91, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T23:10:51.6869302Z", + "weather": { + "timestamp": "2018-07-04T23:06:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 28.4, + "tempFeelsLike": 33.2, + "relHumidity": 78, + "windDir": 158, + "windDirDesc": "SSE", + "windSpeed": 8.8, + "windGustSpeed": 12.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 63, + "pressure": 1021.8, + "precipPast24Hours": 0 + }, + "weatherLogId": "8d6fc2bb-6508-4455-9d39-c5209f21a50c", + + "origin": "dialogflow", + "id": "0a2ce88c-b37b-43de-ac40-c9470be0cada", + "_ts": 1530746061, + "deleted": false + }, + { + "type": "chemlog", + "Chemical": 0, + "runTime": null, + "Percent": 11, + "Unit": 1, + "Amount": 1.25, + "NormalizedAmount": 1250, + + "logTimestamp": "2018-07-04T00:19:47.161294Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "ec82f9ca-b584-459c-b3be-1ba6f27ee534", + + "origin": null, + "id": "8f52fd2d-b517-4ee1-9903-59f9b06146bf", + "_ts": 1530663595, + "deleted": false + }, + { + "type": "testlog", + "fc": 2.5, + "cc": 0, + "cya": null, + "ch": null, + "ph": null, + "ta": null, + "salt": null, + "bor": null, + "tds": null, + "csi": 0.32, + "waterTemp": 88, + "waterTempUnits": null, + + "logTimestamp": "2018-07-04T00:19:27.928185Z", + "weather": { + "timestamp": "2018-07-04T00:15:00Z", + "desc": "Clouds and sun", + "icon": 4, + "temp": 24.6, + "tempFeelsLike": 26.2, + "relHumidity": 86, + "windDir": 90, + "windDirDesc": "E", + "windSpeed": 15.5, + "windGustSpeed": 21.2, + "uvIndex": 0, + "uvIndexDesc": "Low", + "visibility": 6.4, + "cloudCover": 69, + "pressure": 1021.4, + "precipPast24Hours": 0 + }, + "weatherLogId": "afb0eff3-a2d1-4c0c-85da-beefa3fa248d", + + "origin": null, + "id": "844069b4-9f46-43b1-8002-a111616f0bc2", + "_ts": 1530663575, + "deleted": false + } +] \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Resources/Splash/splash.svg b/src/Controls/tests/ManualTests/Resources/Splash/splash.svg new file mode 100644 index 000000000000..21dfb25f187b --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Splash/splash.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Resources/Styles/Colors.xaml b/src/Controls/tests/ManualTests/Resources/Styles/Colors.xaml new file mode 100644 index 000000000000..245758ba1793 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Styles/Colors.xaml @@ -0,0 +1,44 @@ + + + + + #512BD4 + #DFD8F7 + #2B0B98 + White + Black + #E1E1E1 + #C8C8C8 + #ACACAC + #919191 + #6E6E6E + #404040 + #212121 + #141414 + + + + + + + + + + + + + + + #F7B548 + #FFD590 + #FFE5B9 + #28C2D1 + #7BDDEF + #C3F2F4 + #3E8EED + #72ACF1 + #A7CBF6 + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Resources/Styles/PoolStyles.xaml b/src/Controls/tests/ManualTests/Resources/Styles/PoolStyles.xaml new file mode 100644 index 000000000000..848cf31e73cc --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Styles/PoolStyles.xaml @@ -0,0 +1,421 @@ + + + + + + + + + + + + + + + + + + + + + + 10 + + #DA0606 + #255AAB + #0C64BC + #255AAB + #5e697c + #24416e + #24416e + #FFFFFF + #000000 + #FFFFFF + #84C269 + #DA0606 + #3E73C4 + #FFFFFF + #6D6D72 + #979797 + #0B71D9 + #FFFFFF + #255AAB + #000000 + + #303030 + #303030 + + #D500FF + #f7ccff + #FEEDF2 + #D500FF + #f7ccff + #FEEDF2 + #DA0641 + #fca3bc + #FFDEE7 + #56921C + #c7eda2 + #E8F6DA + #1389AB + #a0e2f4 + #E1F3F8 + #D16403 + #fed9b8 + #F8E9DC + #656565 + #dadada + #F1F1F1 + #C26C6C + #f0dcdc + #FCF1F1 + #79A44E + #dfead3 + #EFF7E6 + #FFA03A + #ffe8d0 + #FFF6EC + + + + + + + #FFFFFF + #F3F7FA + #F3F7FA + #000000 + #255AAB + #FFFFFF + #FFFFFF + #FFFFFF + #000000 + #DDDDE7 + #0F4B76 + #DDDDE7 + #BABABA + #000000 + #255AAB + #ECECEC + #FFFFFF + #A1A1A1 + #A1A1A1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Resources/Styles/PoolStyles.xaml.cs b/src/Controls/tests/ManualTests/Resources/Styles/PoolStyles.xaml.cs new file mode 100644 index 000000000000..7442b555865b --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Styles/PoolStyles.xaml.cs @@ -0,0 +1,9 @@ +namespace Microsoft.Maui.ManualTests.Gallery.Pool; + +public partial class PoolStyles : ResourceDictionary +{ + public PoolStyles() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Resources/Styles/Styles.xaml b/src/Controls/tests/ManualTests/Resources/Styles/Styles.xaml new file mode 100644 index 000000000000..dc4a03475b51 --- /dev/null +++ b/src/Controls/tests/ManualTests/Resources/Styles/Styles.xaml @@ -0,0 +1,405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/tests/ManualTests/Tests/Animation/F1.xaml b/src/Controls/tests/ManualTests/Tests/Animation/F1.xaml new file mode 100644 index 000000000000..23640d4f3b96 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/Animation/F1.xaml @@ -0,0 +1,27 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Tests/Animation/F1.xaml.cs b/src/Controls/tests/ManualTests/Tests/Animation/F1.xaml.cs new file mode 100644 index 000000000000..31d28a3ada2b --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/Animation/F1.xaml.cs @@ -0,0 +1,21 @@ +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.RefreshView; + +[Test( + id: "F1", + title: "Animation tasks do not complete when Battery Saver enabled.", + category: Category.Animation)] +public partial class F1 : ContentPage +{ + public F1() + { + InitializeComponent(); + + Appearing += async (sender, args) => + { + await Label1.FadeTo(1, 120000); + Label2.IsVisible = true; + }; + } +} diff --git a/src/Controls/tests/ManualTests/Tests/Animation/F2.xaml b/src/Controls/tests/ManualTests/Tests/Animation/F2.xaml new file mode 100644 index 000000000000..92caf3a3063c --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/Animation/F2.xaml @@ -0,0 +1,26 @@ + + + + + diff --git a/src/Controls/tests/ManualTests/Tests/Animation/F2.xaml.cs b/src/Controls/tests/ManualTests/Tests/Animation/F2.xaml.cs new file mode 100644 index 000000000000..2d1180a56b7d --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/Animation/F2.xaml.cs @@ -0,0 +1,21 @@ +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.RefreshView; + +[Test( + id: "F2", + title: "Animation tasks do not complete when Remove Animations enabled.", + category: Category.Animation)] +public partial class F2 : ContentPage +{ + public F2() + { + InitializeComponent(); + + Appearing += async (sender, args) => + { + await Label1.FadeTo(1, 120000); + Label2.IsVisible = true; + }; + } +} diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I10_Swipe.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I10_Swipe.xaml new file mode 100644 index 000000000000..ec5d52c430b0 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I10_Swipe.xaml @@ -0,0 +1,17 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I10_Swipe.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I10_Swipe.xaml.cs new file mode 100644 index 000000000000..0505edd23d8f --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I10_Swipe.xaml.cs @@ -0,0 +1,26 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I10", + title: "Swipe.", + category: Category.CollectionView)] +public partial class I10_Swipe : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I10_Swipe() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I1_Layout.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I1_Layout.xaml new file mode 100644 index 000000000000..f66f265faa4f --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I1_Layout.xaml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I1_Layout.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I1_Layout.xaml.cs new file mode 100644 index 000000000000..c29989e8c70e --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I1_Layout.xaml.cs @@ -0,0 +1,27 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I1", + title: "Layout.", + category: Category.CollectionView)] + +public partial class I1_Layout : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I1_Layout() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I2_Spacing.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I2_Spacing.xaml new file mode 100644 index 000000000000..aa22f86ecdaa --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I2_Spacing.xaml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I2_Spacing.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I2_Spacing.xaml.cs new file mode 100644 index 000000000000..7442ca4efc45 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I2_Spacing.xaml.cs @@ -0,0 +1,27 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I2", + title: "Spacing.", + category: Category.CollectionView)] + +public partial class I2_Spacing : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I2_Spacing() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I3_Sizing.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I3_Sizing.xaml new file mode 100644 index 000000000000..ad814c7f5a14 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I3_Sizing.xaml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I3_Sizing.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I3_Sizing.xaml.cs new file mode 100644 index 000000000000..f320d10ddb02 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I3_Sizing.xaml.cs @@ -0,0 +1,27 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I3", + title: "Sizing.", + category: Category.CollectionView)] + +public partial class I3_Sizing : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I3_Sizing() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I4_Selection.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I4_Selection.xaml new file mode 100644 index 000000000000..93c08bbd8759 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I4_Selection.xaml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I4_Selection.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I4_Selection.xaml.cs new file mode 100644 index 000000000000..7ca2b973a2c4 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I4_Selection.xaml.cs @@ -0,0 +1,27 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I4", + title: "Selection.", + category: Category.CollectionView)] + +public partial class I4_Selection : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I4_Selection() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I5_EmptyView.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I5_EmptyView.xaml new file mode 100644 index 000000000000..472bd6d4f6f5 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I5_EmptyView.xaml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I5_EmptyView.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I5_EmptyView.xaml.cs new file mode 100644 index 000000000000..b5fe73de23c2 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I5_EmptyView.xaml.cs @@ -0,0 +1,26 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I5", + title: "EmptyView.", + category: Category.CollectionView)] +public partial class I5_EmptyView : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I5_EmptyView() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I6_Grouping.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I6_Grouping.xaml new file mode 100644 index 000000000000..a8be8b0fd3d4 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I6_Grouping.xaml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I6_Grouping.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I6_Grouping.xaml.cs new file mode 100644 index 000000000000..0536ba574b98 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I6_Grouping.xaml.cs @@ -0,0 +1,27 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I6", + title: "Grouping.", + category: Category.CollectionView)] + +public partial class I6_Grouping : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I6_Grouping() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I7_PullToRefresh.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I7_PullToRefresh.xaml new file mode 100644 index 000000000000..af4431000d93 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I7_PullToRefresh.xaml @@ -0,0 +1,21 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I7_PullToRefresh.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I7_PullToRefresh.xaml.cs new file mode 100644 index 000000000000..459e74efa1bb --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I7_PullToRefresh.xaml.cs @@ -0,0 +1,27 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I7", + title: "Pull To Refresh.", + category: Category.CollectionView)] + +public partial class I7_PullToRefresh : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I7_PullToRefresh() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I8_HeaderAndFooters.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I8_HeaderAndFooters.xaml new file mode 100644 index 000000000000..1b9d15ec50b5 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I8_HeaderAndFooters.xaml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I8_HeaderAndFooters.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I8_HeaderAndFooters.xaml.cs new file mode 100644 index 000000000000..8f189c67e4ec --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I8_HeaderAndFooters.xaml.cs @@ -0,0 +1,27 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I8", + title: "Headers and Footers.", + category: Category.CollectionView)] + +public partial class I8_HeaderAndFooters : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I8_HeaderAndFooters() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I9_Scrolling.xaml b/src/Controls/tests/ManualTests/Tests/CollectionView/I9_Scrolling.xaml new file mode 100644 index 000000000000..6d4be6a048b2 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I9_Scrolling.xaml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/CollectionView/I9_Scrolling.xaml.cs b/src/Controls/tests/ManualTests/Tests/CollectionView/I9_Scrolling.xaml.cs new file mode 100644 index 000000000000..5d8bdf65e403 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/CollectionView/I9_Scrolling.xaml.cs @@ -0,0 +1,26 @@ +using System.Windows.Input; +using Microsoft.Maui.ManualTests.Categories; + +namespace Microsoft.Maui.ManualTests.Tests.CollectionView; + +[Test( + id: "I9", + title: "Scrolling.", + category: Category.CollectionView)] +public partial class I9_Scrolling : ContentPage +{ + public ICommand NavigateCommand { get; private set; } + public I9_Scrolling() + { + InitializeComponent(); + + NavigateCommand = new Command( + async (Type pageType) => + { + Page page = (Page)Activator.CreateInstance(pageType); + await Navigation.PushAsync(page); + }); + + BindingContext = this; + } +} \ No newline at end of file diff --git a/src/Controls/tests/ManualTests/Tests/Commands/G1.xaml b/src/Controls/tests/ManualTests/Tests/Commands/G1.xaml new file mode 100644 index 000000000000..b1b16cb27244 --- /dev/null +++ b/src/Controls/tests/ManualTests/Tests/Commands/G1.xaml @@ -0,0 +1,19 @@ + + + + + + + +