-
-
Notifications
You must be signed in to change notification settings - Fork 949
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
Feature: Fritz!Box Widget #2387
Conversation
That library is huge https://bundlephobia.com/package/fritzbox … for 1 service widget 😕 The largest one in our entire project, in fact... |
Please post an example API output |
I will try to get rid of it as I came across that you don't have to struggle with any authentication to retrieve the information via the UPNP services. Unfortunately the TR-064 / UPNP standard relies on SOAP and that's the only way to get information from the device. Maybe upnp-client-ts can do the job too and bring a more general library for UPNP communication to the project. What do you think about it, @shamoon? I think i'll give it a try. As for that i changed this PR to draft. |
I've got a more or less working branch for talking via TR-064 (see here, please keep in mind, this is very WIP) without any additional packages (except currently swapped out the xml2js but that shouldn't be a problem to revert). |
Thanks, I will have a look at your solution. Anyway, I am not very motivated to implement the XML generation / parsing myself. 😉 |
Sounds good. Yes of course it’s sometimes reasonable to add a dependency but in this case that original one is just too big to accept, especially since this widget will be used by a tiny fraction of users. Appreciate the flexibility. And again, please post an example of API output when you’re ready. |
I have just published a solution without adding a new dependency to the project. Please have a look at the changes ... |
squashed to 1 commit |
Great work, thanks. No need to squash here, that happens on merge. I fixed the code style (pre-commit hooks mentioned in the PR template) and some minor code style. The only other thing was the bytes / byterates to just use i18n. Let me know any concerns, thanks again for reworking things |
PS. I have no way to verify that proxy but I’ll take your word on that, awesome work from > 800 KB down to 3 :) |
Looks great! Since I only have the DSL version of the Fritz!Box, the functionality could possibly be tested by users with cable or fiber optics connection. Maybe @t0rb3n can give it a try. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think a majority of homepage users are not able to test this so we can merge it into main
and other users can test there and we'll see if anything comes up.
I can give it a try later. |
This will be in v0.8.3 then? |
…0.8.3@4214f13 (#15946) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/gethomepage/homepage](https://togithub.com/gethomepage/homepage) | patch | `v0.8.2` -> `v0.8.3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>gethomepage/homepage (ghcr.io/gethomepage/homepage)</summary> ### [`v0.8.3`](https://togithub.com/gethomepage/homepage/releases/tag/v0.8.3) [Compare Source](https://togithub.com/gethomepage/homepage/compare/v0.8.2...v0.8.3) #### What's Changed - Feature: Fritz!Box Widget by [@​evorg](https://togithub.com/evorg) in [gethomepage/homepage#2387 - Change: changedetection.io widget count diff if not viewed by [@​xconverge](https://togithub.com/xconverge) in [gethomepage/homepage#2401 - Chore: migrate crowdin to GHA by [@​shamoon](https://togithub.com/shamoon) in [gethomepage/homepage#2421 - Enhancement: improve fritzbox proxy perfomance by [@​evorg](https://togithub.com/evorg) in [gethomepage/homepage#2429 - Feature: setting for equal height cards by [@​jdcmarques](https://togithub.com/jdcmarques) in [gethomepage/homepage#2432 - Fix: fields not working for healthchecks widget by [@​lawtonmanning](https://togithub.com/lawtonmanning) in [gethomepage/homepage#2440 - Fix: Increase kubernetes cpu/mem usage scale by [@​shamoon](https://togithub.com/shamoon) in [gethomepage/homepage#2453 #### New Contributors - [@​evorg](https://togithub.com/evorg) made their first contribution in [gethomepage/homepage#2387 - [@​xconverge](https://togithub.com/xconverge) made their first contribution in [gethomepage/homepage#2401 - [@​jdcmarques](https://togithub.com/jdcmarques) made their first contribution in [gethomepage/homepage#2432 - [@​lawtonmanning](https://togithub.com/lawtonmanning) made their first contribution in [gethomepage/homepage#2440 **Full Changelog**: gethomepage/homepage@v0.8.2...v0.8.3 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44OS41IiwidXBkYXRlZEluVmVyIjoiMzcuODkuNSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
I have a Fritz!Box 6660 Cable and can confirm that the widget is working. Thank you for your work. |
Like so: - Miscellaneous:
- Fritz!Box:
icon: avmfritzbox.png
href: http://192.168.XX.XX
description: FRITZ!Box 6660 Cable
widget:
type: fritzbox
fields: ["connectionStatus", "maxDown", "maxUp", "externalIPAddress"]
url: http://192.168.XX.XX the
I assume it's due to space constraints. |
Thank you for your feedback! Please note that there is a small typo in the current documentation, which is already fixed in main. The field is named
Good idea, I'll have a look at it. Since my connection is interrupted every day, I hadn't thought about it yet.
The limitation of 4 fields is defined in the guidelines. |
Hello, trying to add this but i'm getting an API error. My yaml :
Already enabled the two features under Home Network as stated in the documentation How can i troubleshoot? Thank you |
Thank you for your feedback, @Coggi!
Maybe there's already a fix for it in
Otherwise you could execute the requests by hand on your CLI using curl as mentioned here and here |
@Coggi Out of curiosity. the default IP for Fritzbox is http://192.168.178.1/, but you used http://192.168.1.1. |
Yes you're right, I changed the subnet :D |
Haha nice. I wonder if Fritzbox does some special things if u change the subnet but wanna accquire the infos of this... hmm |
Doesn't really do much difference when changing the subnet. I have mine currently set to 10.0.0.0/16 |
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns. |
Fritz!Box Widget
A new widget showing status information about your Fritz!Box device:
Supported fields are:
["connectionStatus", "upTime", "maxDown", "maxUp", "down", "up", "received", "sent", "externalIPAddress"]
However, the display of the fields is limited to a maximum of 4 within the component.
The proxy is using the UPnP API of the device.
The service API output only includes the data for the frontend output:
Closes #371
Type of change
Checklist:
pnpm lint
(see development guidelines).