Legion2 / open-cue-service

HTTP REST API service for Open CUE CLI
Apache License 2.0
35 stars 5 forks source link

ProfilesConfigurationProblem #57

Closed UiharuKazari2008 closed 2 years ago

UiharuKazari2008 commented 2 years ago

Im getting ProfilesConfigurationProblem - problem related to profiles and priorities file

OS: Windows 11 ICUE Version: 4.20.169

My priorities files is:

LightsDay=10
LightsNight=20
LightsNightWeek=25
LightsOff=128
AppVR=800

All the .cueprofile files are in C:\ProgramData\Corsair\CUE4\GameSdkEffects\profiles image

Here is the profile im trying to load LightsDay.txt

Legion2 commented 2 years ago

Can you remove the version file and the txt file and restart icue. Have you renamed the profiles after you have exported them?

UiharuKazari2008 commented 2 years ago

Removed the version file and the txt file i made and no dice. The files are the same name as exported from iCUE. I attached the file i exported if that helps. I used to hace underscorses in the name but i removed that as i thought that was the issue so i removed them and re-exported and still no dice :(

Really want to get it to work so i can sync my PC lights with HomeKit via REST

UiharuKazari2008 commented 2 years ago

Heres the full stack trace

PS E:\Program Files\open-cue-service> .\open-cue-service.exe
Unhandled exception. OpenCueService.CgSdk.SdkError: Sdk Error occurred: ProfilesConfigurationProblem - problem related to profiles and priorities file
   at OpenCueService.CgSdk.CorsairGameSdk.WithErrorHandling(Boolean returnValue)
   at OpenCueService.CgSdk.CorsairGameSdk.SetState(String stateName)
   at OpenCueService.SdkHandler.SetState(String stateName)
   at OpenCueService.ProfileManager.ActivateProfile(Profile profile, Boolean activate)
   at OpenCueService.ProfileManager..ctor(IOptions`1 config, SdkHandler sdkHandler)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at OpenCueService.Program.Main(String[] args)
PS E:\Program Files\open-cue-service>
UiharuKazari2008 commented 2 years ago

I was looking through process explorer and i found the log from Corsair and its saying that none of my files have priorities for some reason. 2022-02-14T15-13-23.log

Legion2 commented 2 years ago

can you try to decrease the priority of AppVR=800, maybe icue does not support large numbers

UiharuKazari2008 commented 2 years ago

Tired setting them to 10,11,12,13,20 and same no dice.

Legion2 commented 2 years ago

How does your configuration file look like. What happens if you specify ProfilesDirectoryName with an existing profiles folder. Does it produce the same error?

UiharuKazari2008 commented 2 years ago
{
  "ProfilesDirectoryName": "profiles",
  "AutoSyncProfileName": "",
  "AutoSyncInterval": 10,
  "StartProfileName": "LightsDay",
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

I have my directory name set to profiles already

Legion2 commented 2 years ago

can you change ProfilesDirectoryName to a directory which was created by icue

UiharuKazari2008 commented 2 years ago
{
  "ProfilesDirectoryName": "MetroExodus",
  "AutoSyncProfileName": "",
  "AutoSyncInterval": 10,
  "StartProfileName": "METE_Autumn",
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

Using the folder MetroExodus and METE_Autumn profile allows it to start properly

UiharuKazari2008 commented 2 years ago

Also tried Common and SDK_Alarm and that works, I dont know if theres something wrong with corsairs exporter

UiharuKazari2008 commented 2 years ago

So i went and copied the priorites files from one of the other themes and replaced the contents and now its running. I dont know if there were bad permissons or file attribute but now it seems fine.

I know i had issues making the file to start and i used a administrator mode terminal to echo "" > priorities.cfg to start the file