If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.

0
U

Property:uimod.lua (restapi)

From BoxMatrix


BoxMatrix >> Webinterface >> uimod.lua (restapi) @ BoxMatrix   -   IRC-Chat   -   Translate: de es fr it nl pl
News Selectors Models Accessories Components Environment Config Commands System Webif Software Develop Lexicon Community Project Media

UI-Structure UI-Modules HTML-Files XML-Files REST-API Lua-Scripts Javascript Browser SSI-Files SSI-Directives HTML-Text Event-Text Help-Pages CSS-Files Graphics Research

Info
  
Name-Collision - multiple objects in this wiki use the name uimod.lua!
uimod.lua (luascr) TODO
uimod.lua (restapi) REST-API UI-Modules API

RESTAPI-Script

Goto:   Whitelist  -  Functions  -  Dependencies   -   Model-Matrix   -   SMW-Browser

Details

uimod.lua is the REST-API UI-Modules API. It is included by api_generic.lua, api_generic_filter.lua and security.lua.

It provides an object representing one UI-Module, if this module is listed in the Whitelist accessible at Uimod.module_names.
It also provides methods to access the Webvariables of this module, which are wrappers for the box.* backend.
This object does not contain / store any variable, but provides methods to get or set them using the backend.

REST-API:

Whitelist

uimod.lua contains a whitelist of UI-Modules which could be accessed by the API: 7530 fw 7.50:

* apps
* aura
* avm_pa
* backendsupport
* blocked_ip
* box
* boxusers
* budget
* capiotcp
* capture
* cfgtakeover
* configd
* connection_voip
* connections
* country
* ctlusb
* ddns
* dect
* dhcpv6info
* dns_excepted_domains
* dnscfg                  
* dnsserver
* downgradecheck
* dslmail
* dslstatglobal
* dslstatistic
* emailnotify
* env
* eth_ports
* filelinks
* filter_profile
* forwardrules
* fritzappurls - unused in webif
* fwupdatestate - unused in webif
* hotspotgre
* hybridcfg
* igdforwardrules
* inetstat
* interfaces
* internet_ruleset
* ipv6
* ipv6firewall
* ipv6route
* jasonii
* landevice
* language
* letsencrypt
* lisp
* mediasrv
* meshd
* mobiled
* myfritzdevice
* netapp
* nexus
* nexusfon
* nqos
* oncal
* ontel
* openports
* parental_control
* pcp
* plc
* power
* providerlist
* remoteman
* rights
* route
* services
* shellinabox
* sip
* sipextra
* speedtest
* storagedirectories
* t_media
* tam
* telcfg
* time
* timer
* tr064
* tr069
* trafficprio
* uimodlogic
* umts                    
* umts_provider
* updatecheck
* usbdevices
* user
* userglobal
* userticket
* voip_providerlist
* voipextension
* voipjournal
* voipstat
* vpn
* webdavclient
* webui
* wlan
* wlan_light - unknown so far

Functions

The function names of scripts often help to understand function blocks (and show gaps in the docs). fw 7.50 functions:

$ grep -e '^function' -e '^local function' /usr/rest_api/uimod.lua

# split a string by separator
local function str_split (inputstr, sep)

# cmd_results eg: {boxusers:settings/user[boxuser15]/vpn_axxess=-2}
# to: {vpn_axxess=-2}
local function strip_cmd2webvar(cmd_results)

# Helper function that checks the existence of an item in a list
local function contains(list, param)

# Search a list of objects for an object with a given UID
local function get_entry_with_uid(entries, uid)

# Uimod constructor.
function Uimod:new(modulename)

# Get name-value pairs for webvars.
function Uimod:get_webvar(webvar)

# Set values for webvariables
function Uimod:set_webvar(webvar_data)

# Get the whole uimodule with all webvars and values from backend.
function Uimod:get_module()

# Gets the item with the given uid from a given list or the result member of Uimod class.
function Uimod:get_entry_by_uid(uid, entries)

# Gets the whole list with all entries and their name-value-pairs
function Uimod:get_list(list_name, uid)

# Create a new uimodule list item with default values.
function Uimod:new_list_item(list_name)

# Set the values of a existing list item.
function Uimod:set_list_item(listname_with_uid, data)

# Creates a new list item and set their webvariable values.
function Uimod:create_list_item(list_name, data)

# Delete an item by its uid from a list.
function Uimod:delete_list_item(listname, uid) 

Dependencies

Daily updated index of all dependencies of this script. Last update: GMT.
A * in the Mod column marks info from Supportdata-Probes, which will always stay incomplete.
If an Object includes itself then this is a file with the same name but another Path and the dependencies are merged.

Relation Typ Object Mod Firmware Info Origin
Accesses uimod boxusers 38 7.39 - 8.00 FritzBox-Users AVM
Accesses uimod connections 25 7.70 - 8.00 TODO AVM
Accesses uimod emailnotify 25 7.70 - 8.00 Push-Mail settings AVM
Accesses uimod landevice 25 7.70 - 8.00 Network device list AVM
Requires rest avmluamessages.lua 33 7.39 - 7.63 REST-API Debug Message Printer AVM
Requires rest common.lua (restapi) 25 7.70 - 8.00 REST-API common helper functions AVM
Requires rest response.lua 25 7.70 - 8.00 REST-API Response API AVM
Requires rest rest_api_const.lua 38 7.39 - 8.00 REST-API Const Tables AVM
Required by rest api.lua 12 7.39 REST-API Lua-Land root for scgi_server AVM
Required by rest api_generic.lua 38 7.39 - 8.00 REST-API Generic Endpoints AVM
Required by rest api_generic_filter.lua 37 7.39 - 8.00 REST-API UI-Modules Webvar Filter AVM
Required by rest boxname.lua (restapi) 25 7.90 - 8.00 REST-API Misc-Plugin for the FRITZ!Box-Name AVM
Required by rest configuration.lua 25 7.90 - 8.00 REST-API Misc-Plugin for basic box configuration AVM
Required by rest connections.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest cookie.lua 25 7.70 - 8.00 TODO AVM
Required by rest country.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest fiber.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest handsets.lua 25 7.90 - 8.00 TODO AVM
Required by rest internet.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest isp.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest landevice.lua 12 7.39 REST-API wrapper for the landevice ui-module AVM
Required by rest locale.lua 25 7.70 - 8.00 TODO AVM
Required by rest mesh.lua 25 7.70 - 8.00 TODO AVM
Required by rest mobile.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest monitor.lua 25 7.90 - 8.00 REST-API Plugin for the monitoring API AVM
Required by rest myfritz.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest opmode.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest phonebook.lua (restapi) 25 7.90 - 8.00 REST-API Plugin for the Phonebook AVM
Required by rest plugin_common.lua 25 7.90 - 8.00 REST-API Plugin helper functions AVM
Required by rest privacy.lua 25 7.70 - 8.00 TODO AVM
Required by rest progress.lua 25 7.70 - 8.00 TODO AVM
Required by rest saveset.lua 25 7.70 - 8.00 TODO AVM
Required by rest security.lua (restapi) 37 7.39 - 8.00 REST-API Security AVM
Required by rest timermix.lua 25 7.90 - 8.00 REST-API Plugin for XML timers AVM
Required by rest uimod_cache.lua 25 7.70 - 8.00 TODO AVM
Required by rest update.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest update_status.lua 25 7.90 - 8.00 TODO AVM
Required by rest wan_status.lua 25 7.90 - 8.00 TODO AVM
Required by rest wifi.lua (restapi) 25 7.70 - 8.00 TODO AVM
Required by rest wififlags.lua 25 7.70 - 8.00 TODO AVM
40 dependencies for this script

Model-Matrix

Daily updated index of the presence, path and size of this script for each model. Last update: GMT.
Showing all models using this script. Click any column header (click-wait-click) to sort the list by the respective data.
The (main/scrpn/boot/arm/prx/atom/rtl) label in the Model column shows which CPU is meant for Multi-Linux models.
Note that this list is merged from Firmware-Probes of all known AVM firmware for a model, including Recovery.exe and Labor-Files.

Model Firmware Path Size/Bytes
FRITZ!Box 4040 7.39 - 8.00 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 4050 7.58 - 7.90 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 4060 7.39 - 7.90 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 5530 Fiber (main) 7.39 - 8.00 /usr/rest_api 12.2k - 29.9k
FRITZ!Box 5590 Fiber (main) 7.39 - 8.00 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 5590 Fiber (prx) 7.70 - 8.00 /usr/rest_api 20.3k - 29.9k
FRITZ!Box 5690 Pro (main) 7.62 /usr/rest_api 12.2k
FRITZ!Box 6490 Cable (atom) 7.39 - 7.51 /usr/rest_api 12.2k
FRITZ!Box 6590 Cable (atom) 7.39 - 7.51 /usr/rest_api 12.2k
FRITZ!Box 6591 Cable (arm) 8.00 /usr/rest_api 30.0k
FRITZ!Box 6591 Cable (atom) 7.39 - 8.00 /usr/rest_api 11.0k - 30.0k
FRITZ!Box 6660 Cable (arm) 7.90 - 8.00 /usr/rest_api 30.0k
FRITZ!Box 6660 Cable (atom) 7.39 - 8.00 /usr/rest_api 11.2k - 30.0k
FRITZ!Box 6670 Cable (arm) 7.90 /usr/rest_api 30.0k
FRITZ!Box 6670 Cable (atom) 7.61 - 7.90 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 6690 Cable (arm) 7.90 /usr/rest_api 30.0k
FRITZ!Box 6690 Cable (atom) 7.39 - 7.90 /usr/rest_api 11.2k - 30.0k
FRITZ!Box 6820 LTE v1 (main) 7.51 - 7.59 /usr/rest_api 12.2k
FRITZ!Box 6820 LTE v2 (main) 7.51 - 7.59 /usr/rest_api 12.2k
FRITZ!Box 6820 LTE v3 (main) 7.51 - 7.57 /usr/rest_api 12.2k
FRITZ!Box 6820 LTE v4 7.59 /usr/rest_api 12.2k
FRITZ!Box 6850 LTE 7.39 - 7.90 /usr/rest_api 11.2k - 30.0k
FRITZ!Box 6850 5G 7.39 - 7.90 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 6890 LTE (main) 7.39 - 7.57 /usr/rest_api 11.2k - 12.2k
FRITZ!Box 6890 LTE v1 (main) 7.39 - 7.57 /usr/rest_api 11.2k - 12.2k
FRITZ!Box 6890 LTE v2 (main) 7.39 - 7.57 /usr/rest_api 11.2k - 12.2k
FRITZ!Box 7490 (main) 7.51 /usr/rest_api 12.2k
FRITZ!Box 7510 7.39 - 8.00 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 7520 7.39 - 8.00 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 7520 v2 (main) 7.39 - 8.00 /usr/rest_api 12.2k - 30.0k
FRITZ!Box 7530 7.39 - 8.00 /usr/rest_api 11.0k - 30.0k
FRITZ!Box 7530 AX 7.39 - 8.00 /usr/rest_api 11.2k - 30.0k
FRITZ!Box 7583 (main) 7.50 - 7.59 /usr/rest_api 12.2k
FRITZ!Box 7583 VDSL (main) 7.59 - 8.00 /usr/rest_api 12.2k - 29.9k
FRITZ!Box 7590 (main) 7.39 - 8.00 /usr/rest_api 11.0k - 30.0k
FRITZ!Box 7590 AX (main) 7.39 - 8.00 /usr/rest_api 11.0k - 29.9k
FRITZ!Box 7690 7.61 - 7.90 /usr/rest_api 12.2k - 30.0k
FRITZ!Repeater 2400 7.39 /usr/rest_api 11.0k
38 models use this script

SMW-Browser

Information is currently being retrieved from the backend.