""" 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:
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
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): """
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:
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", ]