Skip to content
This repository has been archived by the owner on May 20, 2024. It is now read-only.

Plugin installs, but fails to laod #1

Open
Vipale opened this issue Jan 22, 2023 · 4 comments
Open

Plugin installs, but fails to laod #1

Vipale opened this issue Jan 22, 2023 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@Vipale
Copy link

Vipale commented Jan 22, 2023

As the title says, I tried to install the plugin, which worked, but then it immediatly stops when loupedeck tries to load it.
I ran the troubleshooter and found the following in the logs. I tried 1.3.0 and 1.2.0, both failed to load. This log is for 1.3.0.

2023-01-22T02-36-49-1632 | 15 | ERROR | Error deserializing Loupedeck.PiholePlugin.Models.Summary. Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Loupedeck.PiholePlugin.Models.Summary' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
2023-01-22T02-36-49-1642 | 15 | ERROR | (JsonSerializationException) Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Loupedeck.PiholePlugin.Models.Summary' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
2023-01-22T02-36-49-1652 | 15 | WARN | JSON.NET: 'Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Loupedeck.PiholePlugin.Models.Summary' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.' at ''
2023-01-22T02-36-49-1667 | 22 | ERROR | Exception caught: Func raised exception
2023-01-22T02-36-49-1672 | 22 | ERROR | (AggregateException) Mindestens ein Fehler ist aufgetreten.
2023-01-22T02-36-49-1677 | 22 | ERROR | (JsonSerializationException) Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Loupedeck.PiholePlugin.Models.Summary' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
2023-01-22T02-36-49-1682 | 22 | ERROR | Exception details:
2023-01-22T02-36-49-1687 | 22 | ERROR | (AggregateException) Mindestens ein Fehler ist aufgetreten.
2023-01-22T02-36-49-1696 | 22 | ERROR | (JsonSerializationException) Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Loupedeck.PiholePlugin.Models.Summary' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
2023-01-22T02-36-49-1702 | 22 | ERROR | Call stack:
2023-01-22T02-36-49-1801 | 22 | ERROR | System.Threading.Tasks.Task 1.GetResultCore(Boolean waitCompletionNotification)
2023-01-22T02-36-49-1806 | 22 | ERROR | Loupedeck.PiholePlugin.PiholePlugin.VerifyToken() - src\PiholePlugin\PiholePlugin.cs(116)
2023-01-22T02-36-49-1806 | 22 | ERROR | Loupedeck.PiholePlugin.PiholePlugin.Load() - src\PiholePlugin\PiholePlugin.cs(75)
2023-01-22T02-36-49-1811 | 22 | ERROR | Loupedeck.Plugin.TryLoad()
2023-01-22T02-36-49-1816 | 22 | ERROR | Loupedeck.Helpers+<>c__DisplayClass74_0 1.b__0()
2023-01-22T02-36-49-1816 | 22 | ERROR | ----------
2023-01-22T02-36-49-1826 | 22 | ERROR | Loupedeck.Tracer.Error(System.String message, System.Exception ex)
2023-01-22T02-36-49-1826 | 22 | ERROR | Loupedeck.Helpers+<>c__DisplayClass74_0 1.b__0()
2023-01-22T02-36-49-1831 | 22 | ERROR | System.Threading.Tasks.Task.Execute()
2023-01-22T02-36-49-1836 | 22 | ERROR | System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx)
2023-01-22T02-36-49-1841 | 22 | ERROR | System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx)
2023-01-22T02-36-49-1841 | 22 | ERROR | System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task& currentTaskSlot)
2023-01-22T02-36-49-1846 | 22 | ERROR | System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
2023-01-22T02-36-49-1851 | 22 | ERROR | System.Threading.ThreadPoolWorkQueue.Dispatch()
2023-01-22T02-36-49-1856 | 22 | ERROR | (JsonSerializationException) Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Loupedeck.PiholePlugin.Models.Summary' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
2023-01-22T02-36-49-1861 | 22 | ERROR | Call stack:
2023-01-22T02-36-49-1881 | 22 | ERROR | Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract)
2023-01-22T02-36-49-1881 | 22 | ERROR | Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.Object existingValue, System.String id)
2023-01-22T02-36-49-1886 | 22 | ERROR | Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue)
2023-01-22T02-36-49-1891 | 22 | ERROR | Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent)
2023-01-22T02-36-49-1896 | 22 | ERROR | Newtonsoft.Json.JsonSerializer.DeserializeInternal(Newtonsoft.Json.JsonReader reader, System.Type objectType)
2023-01-22T02-36-49-1896 | 22 | ERROR | Newtonsoft.Json.JsonConvert.DeserializeObject(System.String value, System.Type type, Newtonsoft.Json.JsonSerializerSettings settings)
2023-01-22T02-36-49-1901 | 22 | ERROR | Newtonsoft.Json.JsonConvert.DeserializeObject(System.String value, Newtonsoft.Json.JsonSerializerSettings settings)
2023-01-22T02-36-49-1906 | 22 | ERROR | Loupedeck.JsonHelpers.DeserializeObject(System.String value)
2023-01-22T02-36-49-1906 | 22 | ERROR | Loupedeck.PiholePlugin.PiHoleApiClient+d__8.MoveNext() - src\PiholePlugin\PiApiClient.cs(67)
2023-01-22T02-36-49-1911 | 22 | ERROR | ----------
2023-01-22T02-36-49-1916 | 22 | ERROR | Loupedeck.Tracer.Error(System.String message, System.Exception ex)
2023-01-22T02-36-49-1921 | 22 | ERROR | Loupedeck.Helpers+<>c__DisplayClass74_0 1.b__0()
2023-01-22T02-36-49-1921 | 22 | ERROR | System.Threading.Tasks.Task.Execute()
2023-01-22T02-36-49-1926 | 22 | ERROR | System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx)
2023-01-22T02-36-49-1931 | 22 | ERROR | System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx)
2023-01-22T02-36-49-1936 | 22 | ERROR | System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task& currentTaskSlot)
2023-01-22T02-36-49-1936 | 22 | ERROR | System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
2023-01-22T02-36-49-1941 | 22 | ERROR | System.Threading.ThreadPoolWorkQueue.Dispatch()
2023-01-22T02-36-49-1946 | 1 | ERROR | 'Load' method failed
2023-01-22T02-36-49-1956 | 1 | ERROR | Plugin not loaded

@shells-dw
Copy link
Owner

Try v1.3.1
which should fix the issue I believe was causing this.
You appear to have your PiHole password protected, so make sure to follow setup instructions (which was not the issue here, just making sure)

@shells-dw shells-dw self-assigned this Jan 22, 2023
@shells-dw shells-dw added the bug Something isn't working label Jan 22, 2023
@Vipale
Copy link
Author

Vipale commented Jan 22, 2023

Thank you, it is working now. Nice Plugin btw!
I was wondering if it would be possible to deactivate pihole for a certain device only. Not even sure if the API gives you this option.

@shells-dw
Copy link
Owner

Awesome, thanks for the feedback.

You mean disabling a group? I know of no other way to disable adblocking for a selection of clients other than adding them to a group and disable blocking for the group then.

Well, maybe. I didn't look into it, I mainly just disable it completely myself. I only do it somewhat rarely when a site really depends on something I'm blocking and I'm too lazy to figure out what. 😉

I'll look into it, when I have some spare time.

@Vipale
Copy link
Author

Vipale commented Jan 22, 2023

Sure could be a group.

It's exactly the same for me, I only disable it if a site really needs it disabled.
That's why I thought it would be neat to only disable it for the clients that need to have it disabled.

It's really just an idea, I'm quite happy I can switch it off with just one click now.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants