1

Получение поездок за интервал

(17/02/2020 20:52:12 отредактировано tdt66)

Тема: Получение поездок за интервал

не получается получить .. получаю инвалид инпут 4

все как в теме https://forum.gurtam.com/viewtopic.php?id=5209

только я заранее делаю .. запрос сообщений треков и msgsSource=1


в доках написано

Используйте команду messages/load_interval для загрузки сообщений, прежде чем будете использовать команду.

и тут же внизу ..

Данный запрос не может одновременно выполняться со следующими запросами:

messages/load_interval,

тогда я не понимаю что значит одновременно !?
как не получить одновременно тогда ? если меня просят её предварительно выполнить !?


выполняю примерно следующее ..

        params = {
            "itemId":i['id'],
            "timeFrom":1580598000,
            "timeTo":1581980400,
            "flags":0,
            "flagsMask":0xFF00,
            "loadCount":1
        }
        try:
            messages = wialon_api.messages_load_interval(**params)


            paramstrip = {"itemId":i['id'],"msgsSource":1}
            trips = wialon_api.unit_get_trips(**paramstrip)

получаю отлуп ..

подпись сломали .. впрочем не удивительно
2

Получение поездок за интервал

Re: Получение поездок за интервал

Добрый день tdt66
У вас не правильно сформированы параметры для unit_get_trips методы. Необходимо добавить timeFrom и timeTo параметры

+ Пример unit/get_trips
params = {
        'itemId': i['id'],
        'timeFrom': 1580598000,
        'timeTo':1581980400,
        'flags': 0x00,
        'flagsMask': 0xFF00,
        'loadCount': 0xFFFFFFFF
}

resp = wialon.messages_load_interval(**params)
print(resp)

params = {
        'itemId': i['id'],
        'timeFrom': 1580598000,
        'timeTo': 1581980400,
        'msgsSource': 1
}

trips = wialon.unit_get_trips(**params)
print(trips)

тогда я не понимаю что значит одновременно !?

Одновременно значит то, что нельзя выполнить запрос в рамках одной сессии в два потока/процесса (параллельно). Здесь же данные запросы выполняются последовательно и нет никакой проблемы.

3

Получение поездок за интервал

(18/02/2020 17:43:52 отредактировано tdt66)

Re: Получение поездок за интервал

mitu пишет:

Добрый день tdt66
У вас не правильно сформированы параметры для unit_get_trips методы. Необходимо добавить timeFrom и timeTo параметры

понятно , в доках поправите ? а то там сказано так что как бы их и не надо ..
особенно в версии 1504/1604 .. или в ней то все и работало как надо с подхватом данных из интервала

да уже вижу что в тех версиях бралось из интервала .. время .. потому как СЕЙЧАС тоже берется оттуда !!

так что можно даже так

+ открыть спойлер
params = {
        'itemId': i['id'],
        'timeFrom': 1580598000,
        'timeTo':1581980400,
        'flags': 0x00,
        'flagsMask': 0xFF00,
        'loadCount': 0xFFFFFFFF
}

resp = wialon.messages_load_interval(**params)
print(resp)

params = {
        'itemId': i['id'],
        'timeFrom': 0, <<<==============
        'timeTo': 0, <<<==============
        'msgsSource': 1
}

trips = wialon.unit_get_trips(**params)
print(trips)

вопрос .... зачем оно тогда требует эти параметры ?

подпись сломали .. впрочем не удивительно
4

Получение поездок за интервал

(19/03/2020 17:11:18 отредактировано tdt66)

Re: Получение поездок за интервал

странности , когда ставлю флаг 'flagsMask': 0xFF01, то есть сообщения только с местоположением возвращается нуль сообщений , хотя данные о местоположении возвращает .. при маске 0xFF00, и флаг 0

имеются ввиду какие то другие данные в каком то другом месте хранении /формате??

ставлю флаг 1
при маске 0xFF00,

тоже возврат нуля ..

+ открыть спойлер
    params = {
        "itemId":i['id'],
        "timeFrom":int(time_start),
        "timeTo":int(time_end),
        "flags":0,
        "flagsMask":0xFF00,
        "loadCount":10
    }

возврат 10

    params = {
        "itemId":i['id'],
        "timeFrom":int(time_start),
        "timeTo":int(time_end),
        "flags":1,#только сообщения с координатами
        "flagsMask":0xFF00,#только сообщения с координатами
        "loadCount":10
    }


возврат ноль

    params = {
        "itemId":i['id'],
        "timeFrom":int(time_start),
        "timeTo":int(time_end),
        "flags":0,#только сообщения с координатами
        "flagsMask":0xFF01,#только сообщения с координатами
        "loadCount":10
    }
возврат ноль
подпись сломали .. впрочем не удивительно
5

Получение поездок за интервал

Re: Получение поездок за интервал

Маска не десятичная нужна, случаем?

6

Получение поездок за интервал

(19/03/2020 17:12:30 отредактировано tdt66)

Re: Получение поездок за интервал

SanderAMC пишет:

Маска не десятичная нужна, случаем?

там нолик и единичка .. разницы не должно быть

в доках вроде тоже не пойми как то про маску то про флаг ..с маской

Загрузим сообщения с данными о местоположении объекта за интервал с 01.04.2013 по 20.04.2013 при помощи запроса messages/load_interval и получим первые 3 из них. Для того, чтобы запросить только сообщения с местоположением, следует использовать маску 0xFF01 (65281) (0xFF00 (65280) - определяет тип сообщения, 0x0001 (1) - определяет наличие информации о местоположении для сообщений с данными). Так же необходимо использовать флаг 0x0001 (1), который получается из суммы флагов: 0x0000 (0) - сообщения с данными, 0x0001 (1) - сообщения с местоположением.


ахты .. божеж мой .. надо тут и тут по еденичке добавить .. бррррр ...

подпись сломали .. впрочем не удивительно