Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New api #1

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

New api #1

wants to merge 8 commits into from

Conversation

TermeHansen
Copy link
Owner

No description provided.

@JanHG
Copy link

JanHG commented Feb 23, 2025

Jeg har forsøgt at installere igen, men nu hænger den med teksten "Vent venligst - starter konfigurationsguiden for Bibliotek", og så crasher den.

@TermeHansen
Copy link
Owner Author

Installerer hvordan? Har du noget log output?

Jeg kopierer bare custom_component direktoriet over og bruger ikke HACS. Så hvis det er via HACS må du lige hjælpe mig lidt mere til hvad du gør helt konkret.

@JanHG
Copy link

JanHG commented Feb 24, 2025

Jeg brugte HACS, men har nu kopieret over manuelt i stedet, og kommer videre fra "tilføj integration", men det spiller ikke rigtigt.
Får følgende 2 fejl i loggen når jeg forsøger at tilføje en låner (hvis jeg aktiverer fejlfindingslog får jeg ikke yderligere fejl beskrivelse):

Denne fejl stammer fra en brugerdefineret integration.

Logger: custom_components.bibliotek_dk.library_api
Kilde: custom_components/bibliotek_dk/library_api.py:223
integration: Bibliotek (dokumentation, problemer)
Første forekomst: 14.03.50 (1 forekomster)
Senest logget: 14.03.50

<Navn> Bearer <ID> 40

Denne fejl stammer fra en brugerdefineret integration.

Logger: custom_components.bibliotek_dk.sensor
Kilde: helpers/update_coordinator.py:380
integration: Bibliotek (dokumentation, problemer)
Første forekomst: 14.03.50 (1 forekomster)
Senest logget: 14.03.50

Unexpected error fetching sensor data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 380, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 281, in _async_update_data
return await self.update_method()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bibliotek_dk/sensor.py", line 58, in async_update_data
await hass.async_add_executor_job(myLibrary.update)
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/bibliotek_dk/library_api.py", line 56, in update
self.fetchLoans()
~~~~~~~~~~~~~~~^^
File "/config/custom_components/bibliotek_dk/library_api.py", line 227, in fetchLoans
data['CoverUrl'] = self._getCoverUrl(data['pid'])
~~~~^^^^^^^
TypeError: 'NoneType' object is not subscriptable

@TermeHansen
Copy link
Owner Author

Tak det ligner mere en bug jeg skal gribe ordentligt. Jeg laver fix og melder tilbage når du skal prøve igen

@TermeHansen
Copy link
Owner Author

@JanHG så må du gerne hive her fra repo igen og meget gerne sende log output.

Ihvertfald et af dine lånte materialer fejlede med at finde detaljeinformationer. Hvis det sker nu burde den bare printe de data som en error til log og fortsætte (og det fejlede materiale vil ikke være i din liste)

@JanHG
Copy link

JanHG commented Feb 25, 2025

Jeg får nu denne:

Denne fejl stammer fra en brugerdefineret integration.

Logger: custom_components.bibliotek_dk.library_api
Kilde: custom_components/bibliotek_dk/library_api.py:344
integration: Bibliotek (dokumentation, problemer)
Første forekomst: 13.35.47 (1 forekomster)
Senest logget: 13.35.47

dept data [{'feeId': 43409, 'type': 'compensation', 'reasonMessage': '', 'amount': 29.2, 'dueDate': '2025-03-26', 'creationDate': '2025-02-24', 'paidDate': None, 'payableByClient': False, 'materials': [{'materialItemNumber': '5418546672', 'recordId': '137425688', 'periodical': None, 'materialGroup': {'name': 'fje', 'description': 'Fjernlån'}}]}]

@JanHG
Copy link

JanHG commented Feb 25, 2025

Nogle lånere kan jeg slet ikke sætte op og får blot nedenstående "unknown error" uden noget i loggen (det virker som en timeout, da den "cirkler" i lang tid).

image

@TermeHansen
Copy link
Owner Author

Det er super med de info.
Det her timeout eller hvad det er for nogle lånere er underligt, særligt hvis det er altid for nogle lånere...

Jeg retter fra dine input og finder på noget mere output fra Login flow og melder tilbage med ny version

give extra login flow fail output
@TermeHansen
Copy link
Owner Author

@JanHG så har jeg opdateret igen, Jeg fandt der var en fejl i logout flow, men for mig var jeg faktisk begyndt at tro at det her med at logge pænt ud og at den kun kører en instance ad gange ikke var nødvendigt.
Her i huset har vi 2 konti og der kan jeg godt få det rigtige info selvom de 2 processer bliver kørt samtidigt, da det er lidt ligesom at have 2 tabs åbne i browseren. Anyhow lad os se hvor vi ender...

@JanHG
Copy link

JanHG commented Feb 25, 2025

De brugere der timer ud/får fejl i setup, er vist dem der ingen lån (eller noget andet) har, måske der er en sammenhæng?

Jeg får nu følgende to fejl (for brugeren der ikke fejler under setup).

Denne fejl stammer fra en brugerdefineret integration.

Logger: custom_components.bibliotek_dk.library_api
Kilde: custom_components/bibliotek_dk/library_api.py:134
integration: Bibliotek (dokumentation, problemer)
Første forekomst: 17.19.21 (2 forekomster)
Senest logget: 17.19.26

(<ID>) is logging in

Denne fejl stammer fra en brugerdefineret integration.

Logger: custom_components.bibliotek_dk.sensor
Kilde: helpers/update_coordinator.py:380
integration: Bibliotek (dokumentation, problemer)
Første forekomst: 17.19.34 (1 forekomster)
Senest logget: 17.19.34

Unexpected error fetching sensor data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 380, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 281, in _async_update_data
return await self.update_method()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bibliotek_dk/sensor.py", line 58, in async_update_data
await hass.async_add_executor_job(myLibrary.update)
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/bibliotek_dk/library_api.py", line 58, in update
self.fetchDebts()
~~~~~~~~~~~~~~~^^
File "/config/custom_components/bibliotek_dk/library_api.py", line 357, in fetchDebts
id = material['recordId']
~~~~~~~~^^^^^^^^^^^^
KeyError: 'recordId'

still not sure if each debt can have more than one material
@TermeHansen
Copy link
Owner Author

TermeHansen commented Feb 25, 2025

Jeg havde skrevet lidt forkert i den der fetchDebt funktion, det brude være fixet nu.

Mht. til de fejlede logins. Du ser ikke engang:
(<ID>) is logging in
i loggen for dem?

Jeg opretter lige en af børnene og ser hvordan det opfører sig her, men de burde bare blive sat med tomme lister på alle ting.

Edit:
Det virkede fint den nye tomme konto for min datter.

@JanHG
Copy link

JanHG commented Feb 26, 2025

Så er der hul igennem! Jeg kan oprette alle brugere, dvs. der er ingen der hænger i opsætningen ligegyldigt om de har lån eller ej. :-)

Jeg får stadig denne fejl for alle brugere, selv om de ser ud til at blive oprettet korrekt:

Denne fejl stammer fra en brugerdefineret integration.

Logger: custom_components.bibliotek_dk.library_api
Kilde: custom_components/bibliotek_dk/library_api.py:134
integration: Bibliotek (dokumentation, problemer)
Første forekomst: 09.28.56 (2 forekomster)
Senest logget: 09.29.00

(<ID>) is logging in

make update jobs able to run in parallel
@TermeHansen
Copy link
Owner Author

TermeHansen commented Feb 26, 2025

Jep det er ikke en fejl, jeg bruger bare at logge som error, så du ikke skal slå debug til :)

Jeg har lige lavet en version uden den error logging så, nu da du får alle rigtigt ind.
I den version jeg har lavet nu tillader jeg at køre update for alle brugere samtidigt, da det virker fint for mig. Kan du bekræfte at det også virker fint for dig stadig?

Vi kan begge lige køre med den her et par dage og se at det virker som det skal, inden jeg merger den ind som den første rigtigt virkende version igen.

Fremover vil jeg gerne at vi og andre bruger issues her på GitHub til at diskutere problemer med det. Jeg håber f.eks. at HACS også bare virker nu, hvis ikke må du gerne oprette et issue på det så vi kan debugge det seperat der.

@JanHG
Copy link

JanHG commented Feb 26, 2025

Det ser ud til at virke fint med samtidigt update.

Det ser dog kun ud til at jeg får lån via ereolen? Den ene bruger har 40 lån, 4 reserveringer og 1 mellemværender når jeg kigger i Biblioteket app'en. I HA ser det således ud:
image

@TermeHansen
Copy link
Owner Author

Og det var der med versionen lige før (uden parallel update?

@JanHG
Copy link

JanHG commented Feb 26, 2025

Nej, jeg har kun set de 6 lån, så på det punkt er intet ændret.

@TermeHansen
Copy link
Owner Author

TermeHansen commented Feb 26, 2025

ok, nu har jeg lavet en version med ektra error log output når vi henter lån. Du skulle gerne se noget ala:

user: (ID1), Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
user: (ID1), physical loans: 9
user: (ID2), Bearer yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
user: (ID2), physical loans: 1

tjek at hver bruger har sin egen unikke Bearer token og hvis du ikke får "physical loans" linien må du gerne dele indholdet som nok er lidt langt, så måske du sender det som en fil istedet...

@JanHG
Copy link

JanHG commented Feb 26, 2025

Det er delt op i to fejl hos mig, den første lister blot users med bearer ID (alle unikke).

Den anden lister fysiske udlån, og her er antallet korrekt. De ser bare ikke ud til at komme videre ind i sensor'en:

Denne fejl stammer fra en brugerdefineret integration.

Logger: custom_components.bibliotek_dk.library_api
Kilde: custom_components/bibliotek_dk/library_api.py:232
integration: Bibliotek (dokumentation, problemer)
Første forekomst: 11.28.27 (5 forekomster)
Senest logget: 11.28.32

user: (<ID1>), physical loans: 0
user: (<ID2>), physical loans: 0
user: (<ID3>), physical loans: 0
user: (<ID4>), physical loans: 40
user: (<ID5>), physical loans: 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants