Is there a need for luci app for usteer similar to luci-app-dawn/wireless overview across APs? luci-app-usteer

Dear all,

I was missing a luci-app for usteer, so i had a look at luci-app-dawn and adapted it for usteer. The output currently contains most of this output:

ubus call usteer remote_hosts
ubus call usteer local_info
ubus call usteer remote_info
ubus call usteer get_clients

and looks like this:

It currently just is 2 files located in /usr/lib/lua/luci/model/cbi/usteer and /usr/lib/lua/luci/controller

Would it help to make a real package out of this? And if so how do i do that?

Thank you,

Ramon

3 Likes

Guess that is a definite no.
I did add an overview to show what devices (mac, IP or hostname depending on what is available) are connected to which AP and which band.


Regardless it was a nice exercise in programming in lua :slight_smile:

2 Likes

It it was a package available through menuconfig when i compile ny firmware, I would be interested for sure.

Ok i made a pull request, see here: https://github.com/openwrt/luci/pull/6617
Not quite sure if i did it correctly. If anybody can give some feedback on it that would be great.

1 Like

ok it seems lua is not accepted anymore, if anybody wants to try it out, then manually install the two files in the directories given above. If i find some time then I may attempt to rewrite to js.

1 Like

Thanks a lot for taking of your time. I am using usteer from some time now and it just works, although you cannot see what it is doing :slight_smile:

I didnt get around to make a js version yet, but you can try the lua version if you click on the pull-request-link a few posts back, then download the two files and place them manually on the router. Let me know what you think about it or if you need any help installing.

Thanks for the reply. I downloaded the files and created the directories as they were not existing. I placed the files in the directories, but there is no menu in LuCI.

Did you try logging out of luci and back in?

Should be like this:

root@OpenWrt6:/usr/lib# ls -l /usr/lib/lua/luci/model/cbi/usteer
-rw-r--r--    1 root     root          9266 Oct  3 20:16 usteer_status.lua
root@OpenWrt6:/usr/lib# ls -l /usr/lib/lua/luci/controller
drwxr-xr-x    2 root     root          4096 Sep  3  2022 admin
-rw-r--r--    1 root     root           173 Sep 28 18:19 usteer.lua

For me the controller directory already existed.

oh and the menu should appear under Network menu called "Usteer status"

Yes, it seems I placed them right. But it is not appearing. Maybe it is version of Openwrt. Anyhow, thanks a lot for your effort!

 OpenWrt 23.05.0, r23497-6637af95aa
 -----------------------------------------------------
root@AP1-Hola:~# ls -l /usr/lib/lua/luci/model/cbi/usteer
-rw-r--r--    1 root     root          9266 Oct 15 19:18 usteer_status.lua
root@AP1-Hola:~# ls -l /usr/lib/lua/luci/controller
-rw-r--r--    1 root     root           173 Oct 15 19:17 usteer.lua

must be a missing dependency then. Must be one of these:
image

For sure you need lua

Well, that was it :slight_smile: That package was missing. Now it works. The only thing that would be nice in the Hearing map to take out the names of the clients from /tmp/dhcp.leases, so you have better overview. Thanks a lot! It looks nice and very usefull.

Ah nice :slight_smile:

Currently for the connected/hearing devices usteer gets a mac address. The lua script I made looks up the mac in the neighbor list, if they are in then the IPv4 is displayed. Then it does a nslookup, if that resolves into something then it displays that:

Example on my router (which does not have WiFi, but access to everything):

On the actual AP, it gives:


It cannot show an IP or hostnames because it is not in the neighbor list on the AP. The reason is that the VLAN this client is connected to is unmanaged on the AP, so the AP does not know what IP it is using, and it actually also has no way of finding out, unless some extension is done to usteer, where it not only communicates the mac address but also the IPs and host names. That is a bit out of scope of this status page :wink:

Maybe one more thing. If you add two files to the backup file list, then it will survive a firmware upgrade (until i can find some time to translate it to js and have it included in the opkg packages that is)

You were right. Nslookup works well. I just did not realized it did not work on my AP. After the corrected, I can see hostnames now :slight_smile: I will backup these! Thanks a lot again!

1 Like

Very interested in that. Have you started to play with the js version?

worked on it a bit, but there is a bit of lack of documentation (or maybe I just did not find it), so i am just reverse engineering some other luci-apps a bit...

This can help, someone has translated dawn to JavaScript:

1 Like

Ah interesting, i will have a look today, that should help. In the meanwhile, i did add a page to edit all the settings, and figured out how to get the data into variables, just a matter of putting it into tables now.