statystyki z modemu e3372h-153

0

Witam,
system operacyjny: linux
model modemu: e3372h-153

Korzystam z gotowego skryptu:
https://github.com/trick77/huawei-hilink-status

Program się nie uruchamia Nie mogę znaleźć rozwiązanie dla poniższego wyjątku:

def call_api(device_ip, token, resource, xml_attribs=True):
    headers = {}
    if token is not None:
        headers = {'__RequestVerificationToken': token}
    try:
        r = requests.get(url='http://' + device_ip + resource, headers=headers, allow_redirects=False, timeout=(2.0,2.0))
    except requests.exceptions.RequestException as e:
        print ("Error: "+str(e))
        return False;

    if r.status_code == 200:
        d = xmltodict.parse(r.text, xml_attribs=xml_attribs)
        if 'error' in d:
            raise Exception('Received error code ' + d['error']['code'] + ' for URL ' + r.url)
        return d
    else:
      raise Exception('Received status code ' + str(r.status_code) + ' for URL ' + r.url)

error

Traceback (most recent call last):
  File "./hstatus.py", line 272, in <module>
    print_device_info(device_ip, token)
  File "./hstatus.py", line 220, in print_device_info
    d = call_api(device_ip, token, '/api/device/information')
  File "./hstatus.py", line 59, in call_api
    raise Exception('Received error code ' + d['error']['code'] + ' for URL ' + r.url)
Exception: Received error code 125002 for URL http://192.168.8.1/api/device/information

Macie może propozycje, jak można rozwiązać powyższy problem?

0

Cóż, nikt tego za Ciebie nie zrobi. Pytanie brzmi: Przejechałeś to debugerem? Co tam sie dzieje w runtime? Co to jest to:
r = requests.get(url='http://' + device_ip + resource, headers=headers, allow_redirects=False, timeout=(2.0,2.0)) ?
A czym powinno być?

0

łącze się przez putty do raspberry pi, więc trudno mi jest to sprawdzić debuggerem. Uruchomie na virtualnej maszynie i sprawdze tak jak mówisz debuggerem

0
Dominik Kiełtyka napisał(a):

łącze się przez putty do raspberry pi, więc trudno mi jest to sprawdzić debuggerem. Uruchomie na virtualnej maszynie i sprawdze tak jak mówisz debuggerem

Ale chyba gdzieś ten skrypt Odpalasz?! To tam Sprawdź co się dzieje.

0

uruchamiam w sposób następujący przez konsole python nazwa_skryptu

Po uruchomieniu wyskakuje komunikat:

Traceback (most recent call last):
  File "./hstatus.py", line 272, in <module>
    print_device_info(device_ip, token)
  File "./hstatus.py", line 220, in print_device_info
    d = call_api(device_ip, token, '/api/device/information')
  File "./hstatus.py", line 59, in call_api
    raise Exception('Received error code ' + d['error']['code'] + ' for URL ' + r.url)
Exception: Received error code 125002 for URL http://192.168.8.1/api/device/information
0

Właśnie i tu Debuguj. PDB:
https://docs.python.org/2/library/pdb.html
Żeby wiedzieć co tam ma być, Poszukaj jakiejś apki, np takiej:
https://vxlabs.com/stats-for-huawei-lte-routers/

0

w inny sposób musiałem pobrać informację na temat token i pomogło
Informacje z modemu usb pobieram za pomocą request, przez co konweruje mi to do jsona
OrderedDict([('response', OrderedDict([('ConnectionStatus', '901'), ('WifiConnectionStatus', None), ('SignalStrength', None), ('SignalIcon', '1'), ('CurrentNetworkType', '19'), ('CurrentServiceDomain', '3'), ('RoamingStatus', '0'), ('BatteryStatus', None), ('BatteryLevel', None), ('BatteryPercent', None), ('simlockStatus', '0'), ('WanIPAddress', '10.231.207.139'), ('WanIPv6Address', None), ('PrimaryDns', '194.204.159.1'), ('SecondaryDns', '194.204.152.34'), ('PrimaryIPv6Dns', None), ('SecondaryIPv6Dns', None), ('CurrentWifiUser', None), ('TotalWifiUser', None), ('currenttotalwifiuser', '0'), ('ServiceStatus', '2'), ('SimStatus', '1'), ('WifiStatus', None), ('CurrentNetworkTypeEx', '101'), ('maxsignal', '5'), ('wifiindooronly', '-1'), ('wififrequence', '0'), ('classify', 'hilink'), ('flymode', '0'), ('cellroam', '0'), ('ltecastatus', '0')]))])

Dlaczego pobiera mi SingalStrength = None?

('SignalStrength', None)

1 użytkowników online, w tym zalogowanych: 0, gości: 1