# -*- coding: utf-8 -*- # !/usr/bin/env python import datetime import logging import struct from typing import TYPE_CHECKING from apps.web.core.accounting import Accounting from apps.web.device.models import Device from apps.web.device.timescale import FluentedEngine, OfflineManager from script.eventer.handlers import Handler from apps.web.common.event import do_device_event logger = logging.getLogger(__name__) if TYPE_CHECKING: from apps.web.eventer import EventBuilder, Event class ShakeHandHandler(Handler): def parse(self): logger.debug('orginal payload len: {}'.format(len(self.payload))) payload = struct.pack('<{}s4s'.format(len(self.payload)), self.payload, '0000') logger.debug('now payload len: {}'.format(len(payload))) offset = 0 ts = struct.unpack_from('