示例#1
0
"""

import os
import logging
from django.conf.urls import url
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from influxdb.exceptions import InfluxDBClientError
from endpoints.utils import BasePlugin
from endpoints.utils import basicauth, get_influxdb_client, create_influxdb_obj
from endpoints.utils import get_setting
from endpoints.tasks import save_to_influxdb

ENV_NAME = 'ESPEASY_URL'
URL = get_setting(ENV_NAME)
ESP_EASY_DB = get_setting('ESP_EASY_DB', 'espeasy')
logger = logging.getLogger(__name__)


class Plugin(BasePlugin):
    """
    Esp Easy plugin. Checks if endpoint's URL has been set in env.
    """
    name = 'espeasy'
    viewname = 'espeasyhandler'

    def __init__(self):
        """Check that `ENV_NAME` is in env variables."""
        super().__init__()
        if URL is not None:
示例#2
0
import pytz
import re
import random
from django.conf import settings
from django.conf.urls import url
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from django.utils import timezone
from influxdb.exceptions import InfluxDBClientError
from endpoints.utils import BasePlugin
from endpoints.utils import get_influxdb_client, create_influxdb_obj
from endpoints.utils import get_setting, get_datalogger
from endpoints.views import dump_request

ENV_NAME = 'EVERYNET_URL'
URL = get_setting(ENV_NAME)
EVERYNET_DB = get_setting('EVERYNET_DB', 'everynet')
logger = logging.getLogger(__name__)


def handle_v1(data):
    pass


def handle_paxcounter(data_str):
    wifi = int.from_bytes(data_str[:2], byteorder='big')
    ble = int.from_bytes(data_str[2:], byteorder='big')
    idata = {'wifi': wifi, 'ble': ble}
    return idata

示例#3
0
import binascii
import dateutil
import pytz
from django.conf import settings
from django.conf.urls import url
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from django.utils import timezone
from influxdb.exceptions import InfluxDBClientError
from endpoints.utils import BasePlugin
from endpoints.utils import get_influxdb_client, create_influxdb_obj
from endpoints.utils import get_setting, get_datalogger
from endpoints.views import dump_request

ENV_NAME = 'DIGITA_URL'
URL = get_setting(ENV_NAME)
DIGITA_DB = get_setting('DIGITA_DB', 'digita')
logger = logging.getLogger(__name__)


def hex2int(hex_str):
    """
    Convert 2 hex characters (e.g. "23") to int (35)
    :param hex_str: hex character string
    :return: int integer
    """
    return int(hex_str, 16)


def calc_temp(hex_str):
    """
示例#4
0
import datetime
import json
import logging

from dateutil.parser import parse
from django.conf.urls import url
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from influxdb.exceptions import InfluxDBClientError
from endpoints.utils import BasePlugin
from endpoints.utils import basicauth, get_influxdb_client, create_influxdb_obj
from endpoints.utils import get_setting, get_datalogger
from endpoints.tasks import save_to_influxdb, push_ngsi_orion

ENV_NAME = 'SENTILO_URL'
URL = get_setting(ENV_NAME)
SENTILO_DB = get_setting('SENTILO_DB', 'sentilo')
logger = logging.getLogger(__name__)

ORION_URL_ROOT = get_setting('ORION_URL_ROOT')
ORION_USERNAME = get_setting('ORION_USERNAME')
ORION_PASSWORD = get_setting('ORION_PASSWORD')


def parse_sentilo_data(data):
    measurements = []
    for item in data['sensors']:
        ts_str = item['observations'][0].get('timestamp')
        if ts_str is not None:
            ts = parse(item['observations'][0]['timestamp'], dayfirst=True)
        else:
示例#5
0
import json
import logging
import os
from dateutil.parser import parse
from django.conf.urls import url
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from influxdb.exceptions import InfluxDBClientError
from endpoints.utils import BasePlugin
from endpoints.utils import get_influxdb_client, create_influxdb_obj
from endpoints.utils import get_setting
from endpoints.views import dump_request
from endpoints.models import Plate

ENV_NAME = 'PLATECAMERA_URL'
URL = get_setting(ENV_NAME)
logger = logging.getLogger(__name__)


def invalid_data(data_str, msg, status=400):
    log_msg = '[PLATECAMERA] Invalid data: "{}". {}.'.format(
        data_str[:50], msg)
    err_msg = 'Invalid data: "{}"... Hint: {}'.format(data_str[:50], msg)
    logger.error(log_msg)
    return HttpResponse(err_msg, status=status)


class Plugin(BasePlugin):
    """
    Example plugin. Checks if endpoint's URL has been set in env.
    """
"""

import json
import dateutil.parser
import logging
from django.conf.urls import url
from django.http import HttpResponse
from django.utils.timezone import get_default_timezone
from django.views.decorators.csrf import csrf_exempt
from endpoints.utils import BasePlugin
from endpoints.utils import basicauth, create_influxdb_obj
from endpoints.utils import get_setting
from endpoints.tasks import save_to_influxdb

ENV_NAME = 'RUUVISTATION_URL'
URL = get_setting(ENV_NAME)
RUUVISTATION_DB = get_setting('RUUVISTATION_DB', 'ruuvistation')
logger = logging.getLogger(__name__)

to_save = [
    "rssi",
    "voltage",
    "accelY",
    "accelZ",
    "accelX",
    "temperature",
    "pressure",
    "humidity",
    "movementCounter",
    "defaultBackground",
]