Carga
Carga
This commit is contained in:
0
fijos/__init__.py
Normal file
0
fijos/__init__.py
Normal file
BIN
fijos/__pycache__/__init__.cpython-310.pyc
Normal file
BIN
fijos/__pycache__/__init__.cpython-310.pyc
Normal file
Binary file not shown.
BIN
fijos/__pycache__/admin.cpython-310.pyc
Normal file
BIN
fijos/__pycache__/admin.cpython-310.pyc
Normal file
Binary file not shown.
BIN
fijos/__pycache__/apps.cpython-310.pyc
Normal file
BIN
fijos/__pycache__/apps.cpython-310.pyc
Normal file
Binary file not shown.
BIN
fijos/__pycache__/forms.cpython-310.pyc
Normal file
BIN
fijos/__pycache__/forms.cpython-310.pyc
Normal file
Binary file not shown.
BIN
fijos/__pycache__/models.cpython-310.pyc
Normal file
BIN
fijos/__pycache__/models.cpython-310.pyc
Normal file
Binary file not shown.
BIN
fijos/__pycache__/views.cpython-310.pyc
Normal file
BIN
fijos/__pycache__/views.cpython-310.pyc
Normal file
Binary file not shown.
6
fijos/admin.py
Normal file
6
fijos/admin.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from django.contrib import admin
|
||||
from .models import telegram
|
||||
# Register your models here.
|
||||
|
||||
|
||||
admin.site.register(telegram)
|
||||
6
fijos/apps.py
Normal file
6
fijos/apps.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class FijosConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'fijos'
|
||||
26
fijos/forms.py
Normal file
26
fijos/forms.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from django import forms
|
||||
from .models import sensoresfijos, AltaSensoresFijos, telegram
|
||||
|
||||
|
||||
|
||||
class Formsensoresf(forms.ModelForm):
|
||||
class Meta:
|
||||
model = sensoresfijos
|
||||
fields = ('idsensor', 'temp', 'hume')
|
||||
|
||||
|
||||
class FormAltasensoresf(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(FormAltasensoresf, self).__init__(*args, **kwargs)
|
||||
self.fields['idsensor'].widget.attrs['readonly'] = True
|
||||
|
||||
class Meta:
|
||||
model = AltaSensoresFijos
|
||||
fields = ('idsensor', 'nombre', 'temp_min', 'temp_max', 'hume_min', 'hume_max', 'activo', 'ver_humedad')
|
||||
|
||||
|
||||
|
||||
class Formtelegram(forms.ModelForm):
|
||||
class Meta:
|
||||
model = telegram
|
||||
fields = ('idBot', 'idGrupo')
|
||||
65
fijos/migrations/0001_initial.py
Normal file
65
fijos/migrations/0001_initial.py
Normal file
@@ -0,0 +1,65 @@
|
||||
# Generated by Django 4.0.5 on 2022-11-04 11:09
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='AltaSensoresFijos',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('idsensor', models.CharField(max_length=5, unique=True, verbose_name='Tarjeta Sensor')),
|
||||
('nombre', models.CharField(max_length=255, verbose_name='Ubicacion')),
|
||||
('temp_media', models.FloatField(blank=True, null=True, verbose_name='Temperatura Media')),
|
||||
('temp_min', models.FloatField(verbose_name='Temperatura Minima')),
|
||||
('temp_max', models.FloatField(verbose_name='Temperatura Maxima')),
|
||||
('hume_min', models.FloatField(verbose_name='Humedad Minima')),
|
||||
('hume_max', models.FloatField(verbose_name='Humedad Maxima')),
|
||||
('activo', models.CharField(choices=[('SI', 'SI'), ('NO', 'NO')], default='NO', max_length=5, verbose_name='Activo?')),
|
||||
('ver_humedad', models.CharField(choices=[('SI', 'SI'), ('NO', 'NO')], default='NO', max_length=5, verbose_name='ver Humedad?')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Alta Sensor Fijo',
|
||||
'verbose_name_plural': 'Alta Sensor Fijo',
|
||||
'ordering': ['idsensor'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='sensoresfijos',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('idsensor', models.CharField(max_length=5, verbose_name='Tarjeta Sensor')),
|
||||
('temp', models.FloatField(blank=True, null=True, verbose_name='Temperatura')),
|
||||
('hume', models.FloatField(blank=True, null=True, verbose_name='Humedad')),
|
||||
('fecha', models.DateField(auto_now_add=True, verbose_name='Fecha')),
|
||||
('hora', models.TimeField(default=django.utils.timezone.now, verbose_name='Hora')),
|
||||
('fecharango', models.DateTimeField(auto_now_add=True, verbose_name='Fecha por rango')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Sensor Fijo',
|
||||
'verbose_name_plural': 'Sensor Fijo',
|
||||
'ordering': ['idsensor'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='telegram',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('idBot', models.CharField(max_length=250, unique=True, verbose_name='ID del Bot')),
|
||||
('idGrupo', models.CharField(max_length=250, unique=True, verbose_name='ID del Grupo')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'telegram conf',
|
||||
'verbose_name_plural': 'telegram conf',
|
||||
'ordering': ['id'],
|
||||
},
|
||||
),
|
||||
]
|
||||
0
fijos/migrations/__init__.py
Normal file
0
fijos/migrations/__init__.py
Normal file
BIN
fijos/migrations/__pycache__/0001_initial.cpython-310.pyc
Normal file
BIN
fijos/migrations/__pycache__/0001_initial.cpython-310.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fijos/migrations/__pycache__/0007_telegram.cpython-310.pyc
Normal file
BIN
fijos/migrations/__pycache__/0007_telegram.cpython-310.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fijos/migrations/__pycache__/__init__.cpython-310.pyc
Normal file
BIN
fijos/migrations/__pycache__/__init__.cpython-310.pyc
Normal file
Binary file not shown.
62
fijos/models.py
Normal file
62
fijos/models.py
Normal file
@@ -0,0 +1,62 @@
|
||||
from django.db import models
|
||||
from django.utils.timezone import now
|
||||
from datetime import datetime
|
||||
from django.utils import timezone
|
||||
from tinymce import models as tinymce_models
|
||||
from model_utils import Choices
|
||||
# Create your models here.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class sensoresfijos(models.Model):
|
||||
idsensor = models.CharField(max_length=5, null=False, unique=False, verbose_name='Tarjeta Sensor')
|
||||
temp = models.FloatField(null=True, blank=True, verbose_name='Temperatura')
|
||||
hume = models.FloatField(null=True, blank=True, verbose_name='Humedad')
|
||||
fecha = models.DateField(auto_now_add=True, verbose_name='Fecha')
|
||||
hora = models.TimeField(default=timezone.now, verbose_name='Hora')
|
||||
fecharango = models.DateTimeField(auto_now_add=True, verbose_name='Fecha por rango')
|
||||
|
||||
def __str__(self):
|
||||
return self.idsensor
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Sensor Fijo'
|
||||
verbose_name_plural = 'Sensor Fijo'
|
||||
ordering = ['idsensor']
|
||||
|
||||
|
||||
|
||||
class AltaSensoresFijos(models.Model):
|
||||
STATUS1 = Choices('SI', 'NO')
|
||||
idsensor = models.CharField(max_length=5, null=False, unique=True, verbose_name='Tarjeta Sensor')
|
||||
nombre = models.CharField(max_length=255, null=False, blank=False, verbose_name='Ubicacion')
|
||||
temp_media = models.FloatField(null=True, blank=True, verbose_name='Temperatura Media')
|
||||
temp_min = models.FloatField(null=False, blank=False, verbose_name='Temperatura Minima')
|
||||
temp_max = models.FloatField(null=False, blank=False, verbose_name='Temperatura Maxima')
|
||||
hume_min = models.FloatField(null=False, blank=False, verbose_name='Humedad Minima')
|
||||
hume_max = models.FloatField(null=False, blank=False, verbose_name='Humedad Maxima')
|
||||
activo = models.CharField(choices=STATUS1, default=STATUS1.NO, max_length=5, verbose_name='Activo?')
|
||||
ver_humedad = models.CharField(choices=STATUS1, default=STATUS1.NO, max_length=5, verbose_name='ver Humedad?')
|
||||
|
||||
def __str__(self):
|
||||
return self.idsensor
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Alta Sensor Fijo'
|
||||
verbose_name_plural = 'Alta Sensor Fijo'
|
||||
ordering = ['idsensor']
|
||||
|
||||
|
||||
class telegram(models.Model):
|
||||
idBot = models.CharField(max_length=250, null=False, unique=True, verbose_name='ID del Bot')
|
||||
idGrupo = models.CharField(max_length=250, null=False, unique=True, verbose_name='ID del Grupo')
|
||||
|
||||
def __str__(self):
|
||||
return self.idGrupo
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'telegram conf'
|
||||
verbose_name_plural = 'telegram conf'
|
||||
ordering = ['id']
|
||||
3
fijos/tests.py
Normal file
3
fijos/tests.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
950
fijos/views.py
Normal file
950
fijos/views.py
Normal file
@@ -0,0 +1,950 @@
|
||||
from asyncio.windows_events import NULL
|
||||
from inspect import _void
|
||||
import json
|
||||
import os
|
||||
import requests
|
||||
from django.conf import settings
|
||||
from django.template import Context
|
||||
from django.template.loader import get_template
|
||||
from django.contrib import messages
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.http import HttpResponse
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.models import User
|
||||
from datetime import datetime, timedelta
|
||||
import time
|
||||
from urllib.parse import urlencode
|
||||
from urllib.request import Request, urlopen
|
||||
|
||||
from django.core.mail import EmailMultiAlternatives
|
||||
|
||||
|
||||
from .models import sensoresfijos, AltaSensoresFijos, telegram
|
||||
from .forms import Formsensoresf, FormAltasensoresf, Formtelegram
|
||||
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
||||
from django.http.response import JsonResponse
|
||||
from django.views import View
|
||||
|
||||
from django.views.generic import TemplateView
|
||||
from random import randint
|
||||
# Create your views here.
|
||||
|
||||
|
||||
def ConsultaSensoresf(request):
|
||||
if request.method == "POST":
|
||||
sensor = request.POST.get("sensor")
|
||||
fecha = request.POST.get("fecha")
|
||||
datos = sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__icontains=fecha)
|
||||
sensores = AltaSensoresFijos.objects.all().order_by('nombre')
|
||||
return render(request, "sensoresf.html", {"datos": datos, "sensores": sensores,"menus": sensores})
|
||||
|
||||
sensor = request.POST.get("sensor")
|
||||
fecha = request.POST.get("fecha")
|
||||
datos = sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__icontains=fecha)
|
||||
sensores = AltaSensoresFijos.objects.all().order_by('nombre')
|
||||
return render(request, "sensoresf.html", {"datos": datos, "sensores": sensores,"menus": sensores})
|
||||
|
||||
|
||||
def ConsultaSensoresRango(request):
|
||||
if request.method == "POST":
|
||||
sensor = request.POST.get("sensor")
|
||||
ini = request.POST.get("fecha_ini")
|
||||
fin = request.POST.get("fecha_fin")
|
||||
datos = sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__range=(ini, fin))
|
||||
sensores = AltaSensoresFijos.objects.all().order_by('nombre')
|
||||
return render(request, "sensoresf.html", {"datos": datos, "sensores": sensores,"menus": sensores, "fecha_ini": ini, "fecha_fin": fin})
|
||||
|
||||
|
||||
|
||||
## sensores fijos
|
||||
@method_decorator(csrf_exempt)
|
||||
def sensoresf(request):
|
||||
if request.method == "POST":
|
||||
form = Formsensoresf(request.POST)
|
||||
if form.is_valid():
|
||||
post = form.save(commit=False)
|
||||
post.save()
|
||||
sensor = request.POST.get("idsensor")
|
||||
temp = request.POST.get("temp")
|
||||
hume = request.POST.get("hume")
|
||||
temp1 = float(temp)
|
||||
hume1 = float(hume)
|
||||
nombres = AltaSensoresFijos.objects.filter(idsensor=sensor)
|
||||
nombre = nombres[0].nombre
|
||||
telegram1 = 'El sensor: ' + nombre +' Salio Fuera del rango con temperatura actual de: '+ temp
|
||||
telegram2 = 'El sensor: ' + nombre +' Salio Fuera del rango con humedad actual de: '+ hume
|
||||
datos1 = AltaSensoresFijos.objects.all()
|
||||
|
||||
t01id = datos1[0].idsensor
|
||||
t01tmin = datos1[0].temp_min
|
||||
t01tmax = datos1[0].temp_max
|
||||
t01hmin = datos1[0].hume_min
|
||||
t01hmax = datos1[0].hume_max
|
||||
|
||||
t02id = datos1[1].idsensor
|
||||
t02tmin = datos1[1].temp_min
|
||||
t02tmax = datos1[1].temp_max
|
||||
t02hmin = datos1[1].hume_min
|
||||
t02hmax = datos1[1].hume_max
|
||||
|
||||
t03id = datos1[2].idsensor
|
||||
t03tmin = datos1[2].temp_min
|
||||
t03tmax = datos1[2].temp_max
|
||||
t03hmin = datos1[2].hume_min
|
||||
t03hmax = datos1[2].hume_max
|
||||
|
||||
t04id = datos1[3].idsensor
|
||||
t04tmin = datos1[3].temp_min
|
||||
t04tmax = datos1[3].temp_max
|
||||
t04hmin = datos1[3].hume_min
|
||||
t04hmax = datos1[3].hume_max
|
||||
|
||||
t05id = datos1[4].idsensor
|
||||
t05tmin = datos1[4].temp_min
|
||||
t05tmax = datos1[4].temp_max
|
||||
t05hmin = datos1[4].hume_min
|
||||
t05hmax = datos1[4].hume_max
|
||||
|
||||
t06id = datos1[5].idsensor
|
||||
t06tmin = datos1[5].temp_min
|
||||
t06tmax = datos1[5].temp_max
|
||||
t06hmin = datos1[5].hume_min
|
||||
t06hmax = datos1[5].hume_max
|
||||
|
||||
t07id = datos1[6].idsensor
|
||||
t07tmin = datos1[6].temp_min
|
||||
t07tmax = datos1[6].temp_max
|
||||
t07hmin = datos1[6].hume_min
|
||||
t07hmax = datos1[6].hume_max
|
||||
|
||||
t08id = datos1[7].idsensor
|
||||
t08tmin = datos1[7].temp_min
|
||||
t08tmax = datos1[7].temp_max
|
||||
t08hmin = datos1[7].hume_min
|
||||
t08hmax = datos1[7].hume_max
|
||||
|
||||
t09id = datos1[8].idsensor
|
||||
t09tmin = datos1[8].temp_min
|
||||
t09tmax = datos1[8].temp_max
|
||||
t09hmin = datos1[8].hume_min
|
||||
t09hmax = datos1[8].hume_max
|
||||
|
||||
t010id = datos1[9].idsensor
|
||||
t010tmin = datos1[9].temp_min
|
||||
t010tmax = datos1[9].temp_max
|
||||
t010hmin = datos1[9].hume_min
|
||||
t010hmax = datos1[9].hume_max
|
||||
|
||||
t011id = datos1[10].idsensor
|
||||
t011tmin = datos1[10].temp_min
|
||||
t011tmax = datos1[10].temp_max
|
||||
t011hmin = datos1[10].hume_min
|
||||
t011hmax = datos1[10].hume_max
|
||||
|
||||
t012id = datos1[11].idsensor
|
||||
t012tmin = datos1[11].temp_min
|
||||
t012tmax = datos1[11].temp_max
|
||||
t012hmin = datos1[11].hume_min
|
||||
t012hmax = datos1[11].hume_max
|
||||
|
||||
t013id = datos1[12].idsensor
|
||||
t013tmin = datos1[12].temp_min
|
||||
t013tmax = datos1[12].temp_max
|
||||
t013hmin = datos1[12].hume_min
|
||||
t013hmax = datos1[12].hume_max
|
||||
|
||||
t014id = datos1[13].idsensor
|
||||
t014tmin = datos1[13].temp_min
|
||||
t014tmax = datos1[13].temp_max
|
||||
t014hmin = datos1[13].hume_min
|
||||
t014hmax = datos1[13].hume_max
|
||||
|
||||
t015id = datos1[14].idsensor
|
||||
t015tmin = datos1[14].temp_min
|
||||
t015tmax = datos1[14].temp_max
|
||||
t015hmin = datos1[14].hume_min
|
||||
t015hmax = datos1[14].hume_max
|
||||
|
||||
t016id = datos1[15].idsensor
|
||||
t016tmin = datos1[15].temp_min
|
||||
t016tmax = datos1[15].temp_max
|
||||
t016hmin = datos1[15].hume_min
|
||||
t016hmax = datos1[15].hume_max
|
||||
|
||||
t017id = datos1[16].idsensor
|
||||
t017tmin = datos1[16].temp_min
|
||||
t017tmax = datos1[16].temp_max
|
||||
t017hmin = datos1[16].hume_min
|
||||
t017hmax = datos1[16].hume_max
|
||||
|
||||
t018id = datos1[17].idsensor
|
||||
t018tmin = datos1[17].temp_min
|
||||
t018tmax = datos1[17].temp_max
|
||||
t018hmin = datos1[17].hume_min
|
||||
t018hmax = datos1[17].hume_max
|
||||
|
||||
t019id = datos1[18].idsensor
|
||||
t019tmin = datos1[18].temp_min
|
||||
t019tmax = datos1[18].temp_max
|
||||
t019hmin = datos1[18].hume_min
|
||||
t019hmax = datos1[18].hume_max
|
||||
|
||||
t020id = datos1[19].idsensor
|
||||
t020tmin = datos1[19].temp_min
|
||||
t020tmax = datos1[19].temp_max
|
||||
t020hmin = datos1[19].hume_min
|
||||
t020hmax = datos1[19].hume_max
|
||||
|
||||
t021id = datos1[20].idsensor
|
||||
t021tmin = datos1[20].temp_min
|
||||
t021tmax = datos1[20].temp_max
|
||||
t021hmin = datos1[20].hume_min
|
||||
t021hmax = datos1[20].hume_max
|
||||
|
||||
t022id = datos1[21].idsensor
|
||||
t022tmin = datos1[21].temp_min
|
||||
t022tmax = datos1[21].temp_max
|
||||
t022hmin = datos1[21].hume_min
|
||||
t022hmax = datos1[21].hume_max
|
||||
|
||||
t023id = datos1[22].idsensor
|
||||
t023tmin = datos1[22].temp_min
|
||||
t023tmax = datos1[22].temp_max
|
||||
t023hmin = datos1[22].hume_min
|
||||
t023hmax = datos1[22].hume_max
|
||||
|
||||
t024id = datos1[23].idsensor
|
||||
t024tmin = datos1[23].temp_min
|
||||
t024tmax = datos1[23].temp_max
|
||||
t024hmin = datos1[23].hume_min
|
||||
t024hmax = datos1[23].hume_max
|
||||
|
||||
t025id = datos1[24].idsensor
|
||||
t025tmin = datos1[24].temp_min
|
||||
t025tmax = datos1[24].temp_max
|
||||
t025hmin = datos1[24].hume_min
|
||||
t025hmax = datos1[24].hume_max
|
||||
|
||||
t026id = datos1[25].idsensor
|
||||
t026tmin = datos1[25].temp_min
|
||||
t026tmax = datos1[25].temp_max
|
||||
t026hmin = datos1[25].hume_min
|
||||
t026hmax = datos1[25].hume_max
|
||||
|
||||
t027id = datos1[26].idsensor
|
||||
t027tmin = datos1[26].temp_min
|
||||
t027tmax = datos1[26].temp_max
|
||||
t027hmin = datos1[26].hume_min
|
||||
t027hmax = datos1[26].hume_max
|
||||
|
||||
t028id = datos1[27].idsensor
|
||||
t028tmin = datos1[27].temp_min
|
||||
t028tmax = datos1[27].temp_max
|
||||
t028hmin = datos1[27].hume_min
|
||||
t028hmax = datos1[27].hume_max
|
||||
|
||||
t029id = datos1[28].idsensor
|
||||
t029tmin = datos1[28].temp_min
|
||||
t029tmax = datos1[28].temp_max
|
||||
t029hmin = datos1[28].hume_min
|
||||
t029hmax = datos1[28].hume_max
|
||||
|
||||
t030id = datos1[29].idsensor
|
||||
t030tmin = datos1[29].temp_min
|
||||
t030tmax = datos1[29].temp_max
|
||||
t030hmin = datos1[29].hume_min
|
||||
t030hmax = datos1[29].hume_max
|
||||
|
||||
t031id = datos1[30].idsensor
|
||||
t031tmin = datos1[30].temp_min
|
||||
t031tmax = datos1[30].temp_max
|
||||
t031hmin = datos1[30].hume_min
|
||||
t031hmax = datos1[30].hume_max
|
||||
|
||||
t032id = datos1[31].idsensor
|
||||
t032tmin = datos1[31].temp_min
|
||||
t032tmax = datos1[31].temp_max
|
||||
t032hmin = datos1[31].hume_min
|
||||
t032hmax = datos1[31].hume_max
|
||||
|
||||
t033id = datos1[32].idsensor
|
||||
t033tmin = datos1[32].temp_min
|
||||
t033tmax = datos1[32].temp_max
|
||||
t033hmin = datos1[32].hume_min
|
||||
t033hmax = datos1[32].hume_max
|
||||
|
||||
t034id = datos1[33].idsensor
|
||||
t034tmin = datos1[33].temp_min
|
||||
t034tmax = datos1[33].temp_max
|
||||
t034hmin = datos1[33].hume_min
|
||||
t034hmax = datos1[33].hume_max
|
||||
|
||||
t035id = datos1[34].idsensor
|
||||
t035tmin = datos1[34].temp_min
|
||||
t035tmax = datos1[34].temp_max
|
||||
t035hmin = datos1[34].hume_min
|
||||
t035hmax = datos1[34].hume_max
|
||||
|
||||
t036id = datos1[35].idsensor
|
||||
t036tmin = datos1[35].temp_min
|
||||
t036tmax = datos1[35].temp_max
|
||||
t036hmin = datos1[35].hume_min
|
||||
t036hmax = datos1[35].hume_max
|
||||
|
||||
t037id = datos1[36].idsensor
|
||||
t037tmin = datos1[36].temp_min
|
||||
t037tmax = datos1[36].temp_max
|
||||
t037hmin = datos1[36].hume_min
|
||||
t037hmax = datos1[36].hume_max
|
||||
|
||||
t038id = datos1[37].idsensor
|
||||
t038tmin = datos1[37].temp_min
|
||||
t038tmax = datos1[37].temp_max
|
||||
t038hmin = datos1[37].hume_min
|
||||
t038hmax = datos1[37].hume_max
|
||||
|
||||
t039id = datos1[38].idsensor
|
||||
t039tmin = datos1[38].temp_min
|
||||
t039tmax = datos1[38].temp_max
|
||||
t039hmin = datos1[38].hume_min
|
||||
t039hmax = datos1[38].hume_max
|
||||
|
||||
t040id = datos1[39].idsensor
|
||||
t040tmin = datos1[39].temp_min
|
||||
t040tmax = datos1[39].temp_max
|
||||
t040hmin = datos1[30].hume_min
|
||||
t040hmax = datos1[30].hume_max
|
||||
|
||||
t041id = datos1[40].idsensor
|
||||
t041tmin = datos1[40].temp_min
|
||||
t041tmax = datos1[40].temp_max
|
||||
t041hmin = datos1[40].hume_min
|
||||
t041hmax = datos1[40].hume_max
|
||||
|
||||
t042id = datos1[41].idsensor
|
||||
t042tmin = datos1[41].temp_min
|
||||
t042tmax = datos1[41].temp_max
|
||||
t042hmin = datos1[41].hume_min
|
||||
t042hmax = datos1[41].hume_max
|
||||
|
||||
t043id = datos1[42].idsensor
|
||||
t043tmin = datos1[42].temp_min
|
||||
t043tmax = datos1[42].temp_max
|
||||
t043hmin = datos1[42].hume_min
|
||||
t043hmax = datos1[42].hume_max
|
||||
|
||||
t044id = datos1[43].idsensor
|
||||
t044tmin = datos1[43].temp_min
|
||||
t044tmax = datos1[43].temp_max
|
||||
t044hmin = datos1[43].hume_min
|
||||
t044hmax = datos1[43].hume_max
|
||||
|
||||
t045id = datos1[44].idsensor
|
||||
t045tmin = datos1[44].temp_min
|
||||
t045tmax = datos1[44].temp_max
|
||||
t045hmin = datos1[44].hume_min
|
||||
t045hmax = datos1[44].hume_max
|
||||
|
||||
t046id = datos1[45].idsensor
|
||||
t046tmin = datos1[45].temp_min
|
||||
t046tmax = datos1[45].temp_max
|
||||
t046hmin = datos1[45].hume_min
|
||||
t046hmax = datos1[45].hume_max
|
||||
|
||||
t047id = datos1[46].idsensor
|
||||
t047tmin = datos1[46].temp_min
|
||||
t047tmax = datos1[46].temp_max
|
||||
t047hmin = datos1[46].hume_min
|
||||
t047hmax = datos1[46].hume_max
|
||||
|
||||
t048id = datos1[47].idsensor
|
||||
t048tmin = datos1[47].temp_min
|
||||
t048tmax = datos1[47].temp_max
|
||||
t048hmin = datos1[47].hume_min
|
||||
t048hmax = datos1[47].hume_max
|
||||
|
||||
t049id = datos1[48].idsensor
|
||||
t049tmin = datos1[48].temp_min
|
||||
t049tmax = datos1[48].temp_max
|
||||
t049hmin = datos1[48].hume_min
|
||||
t049hmax = datos1[48].hume_max
|
||||
|
||||
t050id = datos1[49].idsensor
|
||||
t050tmin = datos1[49].temp_min
|
||||
t050tmax = datos1[49].temp_max
|
||||
t050hmin = datos1[49].hume_min
|
||||
t050hmax = datos1[49].hume_max
|
||||
|
||||
if sensor == t01id:
|
||||
if temp1 < t01tmin or temp1 > t01tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t01hmin or hume1 > t01hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t02id:
|
||||
if temp1 < t02tmin or temp1 > t02tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t02hmin or hume1 > t02hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t03id:
|
||||
if temp1 < t03tmin or temp1 > t03tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t03hmin or hume1 > t03hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t04id:
|
||||
if temp1 < t04tmin or temp1 > t04tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t04hmin or hume1 > t04hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t05id:
|
||||
if temp1 < t05tmin or temp1 > t05tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t05hmin or hume1 > t05hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t06id:
|
||||
if temp1 < t06tmin or temp1 > t06tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t06hmin or hume1 > t06hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t07id:
|
||||
if temp1 < t07tmin or temp1 > t07tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t07hmin or hume1 > t07hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t08id:
|
||||
if temp1 < t08tmin or temp1 > t08tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t08hmin or hume1 > t08hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t09id:
|
||||
if temp1 < t09tmin or temp1 > t09tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t09hmin or hume1 > t09hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t010id:
|
||||
if temp1 < t010tmin or temp1 > t010tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t010hmin or hume1 > t010hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t011id:
|
||||
if temp1 < t011tmin or temp1 > t011tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t011hmin or hume1 > t011hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t012id:
|
||||
if temp1 < t012tmin or temp1 > t012tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t012hmin or hume1 > t012hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t013id:
|
||||
if temp1 < t013tmin or temp1 > t013tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t013hmin or hume1 > t013hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t014id:
|
||||
if temp1 < t014tmin or temp1 > t014tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t014hmin or hume1 > t014hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t015id:
|
||||
if temp1 < t015tmin or temp1 > t015tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t015hmin or hume1 > t015hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t016id:
|
||||
if temp1 < t016tmin or temp1 > t016tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t016hmin or hume1 > t016hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t017id:
|
||||
if temp1 < t017tmin or temp1 > t017tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t017hmin or hume1 > t017hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t018id:
|
||||
if temp1 < t018tmin or temp1 > t018tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t018hmin or hume1 > t018hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t019id:
|
||||
if temp1 < t019tmin or temp1 > t019tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t019hmin or hume1 > t019hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t020id:
|
||||
if temp1 < t020tmin or temp1 > t020tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t020hmin or hume1 > t020hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t021id:
|
||||
if temp1 < t021tmin or temp1 > t021tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t021hmin or hume1 > t021hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t022id:
|
||||
if temp1 < t022tmin or temp1 > t022tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t022hmin or hume1 > t022hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t023id:
|
||||
if temp1 < t023tmin or temp1 > t023tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t023hmin or hume1 > t023hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t024id:
|
||||
if temp1 < t024tmin or temp1 > t024tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t024hmin or hume1 > t024hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t025id:
|
||||
if temp1 < t025tmin or temp1 > t025tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t025hmin or hume1 > t025hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t026id:
|
||||
if temp1 < t026tmin or temp1 > t026tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t026hmin or hume1 > t026hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t027id:
|
||||
if temp1 < t027tmin or temp1 > t027tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t027hmin or hume1 > t027hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t028id:
|
||||
if temp1 < t028tmin or temp1 > t028tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t028hmin or hume1 > t028hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t029id:
|
||||
if temp1 < t029tmin or temp1 > t029tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t029hmin or hume1 > t029hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t030id:
|
||||
if temp1 < t030tmin or temp1 > t030tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t030hmin or hume1 > t030hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t031id:
|
||||
if temp1 < t031tmin or temp1 > t031tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t031hmin or hume1 > t031hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t032id:
|
||||
if temp1 < t032tmin or temp1 > t032tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t032hmin or hume1 > t032hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t033id:
|
||||
if temp1 < t033tmin or temp1 > t033tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t033hmin or hume1 > t033hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t034id:
|
||||
if temp1 < t034tmin or temp1 > t034tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t034hmin or hume1 > t034hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t035id:
|
||||
if temp1 < t035tmin or temp1 > t035tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t035hmin or hume1 > t035hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t036id:
|
||||
if temp1 < t036tmin or temp1 > t036tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t036hmin or hume1 > t036hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t037id:
|
||||
if temp1 < t037tmin or temp1 > t037tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t037hmin or hume1 > t037hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t038id:
|
||||
if temp1 < t038tmin or temp1 > t038tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t038hmin or hume1 > t038hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t039id:
|
||||
if temp1 < t039tmin or temp1 > t039tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t039hmin or hume1 > t039hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t040id:
|
||||
if temp1 < t040tmin or temp1 > t040tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t040hmin or hume1 > t040hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t041id:
|
||||
if temp1 < t041tmin or temp1 > t041tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t041hmin or hume1 > t041hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t042id:
|
||||
if temp1 < t042tmin or temp1 > t042tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t042hmin or hume1 > t042hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t043id:
|
||||
if temp1 < t043tmin or temp1 > t043tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t043hmin or hume1 > t043hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t044id:
|
||||
if temp1 < t044tmin or temp1 > t044tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t044hmin or hume1 > t044hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t045id:
|
||||
if temp1 < t045tmin or temp1 > t045tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t045hmin or hume1 > t045hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t046id:
|
||||
if temp1 < t046tmin or temp1 > t046tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t046hmin or hume1 > t046hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t047id:
|
||||
if temp1 < t047tmin or temp1 > t047tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t047hmin or hume1 > t047hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t048id:
|
||||
if temp1 < t048tmin or temp1 > t048tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t048hmin or hume1 > t048hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t049id:
|
||||
if temp1 < t049tmin or temp1 > t049tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t049hmin or hume1 > t049hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
elif sensor == t050id:
|
||||
if temp1 < t050tmin or temp1 > t050tmax:
|
||||
enviarmensaje(telegram1)
|
||||
elif hume1 < t050hmin or hume1 > t050hmax:
|
||||
enviarmensajeh(telegram2)
|
||||
return HttpResponse(status=200)
|
||||
else:
|
||||
for field, items in form.errors.items():
|
||||
for item in items:
|
||||
messages.error(request, '{}: {}'.format(field, item))
|
||||
|
||||
form = Formsensoresf()
|
||||
date = datetime.now()
|
||||
date1 = date.strftime("%Y-%m-%d")
|
||||
datos = sensoresfijos.objects.filter(fecha__icontains=date1)
|
||||
sensores = AltaSensoresFijos.objects.all().order_by('nombre')
|
||||
return render(request, "sensoresf.html", {"form": form, "datos": datos, "sensores": sensores,"menus": sensores})
|
||||
|
||||
|
||||
|
||||
class SensoresFijos(TemplateView):
|
||||
template_name = 'sensores.html'
|
||||
|
||||
@method_decorator(csrf_exempt)
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
data = {}
|
||||
try:
|
||||
action = request.POST['action']
|
||||
if action == 'get_graph_online1':
|
||||
sf = sensoresfijos.objects.filter(idsensor='T001').latest('id')
|
||||
data = {'y': sf.temp}
|
||||
elif action == 'get_graph_online2':
|
||||
sf = sensoresfijos.objects.filter(idsensor='T002').latest('id')
|
||||
data = {'y': sf.temp}
|
||||
elif action == 'get_graph_online3':
|
||||
sf = sensoresfijos.objects.filter(idsensor='T003').latest('id')
|
||||
data = {'y': sf.temp}
|
||||
elif action == 'get_graph_online4':
|
||||
sf = sensoresfijos.objects.filter(idsensor='T004').latest('id')
|
||||
data = {'y': sf.temp}
|
||||
else:
|
||||
data['error'] = 'Ha ocurrido un error'
|
||||
except Exception as e:
|
||||
data['error'] = str(e)
|
||||
return JsonResponse(data, safe=False)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context['panel'] = 'Panel de administrador'
|
||||
return context
|
||||
|
||||
|
||||
### alta sensores fijos ###
|
||||
|
||||
@login_required(login_url='acceder')
|
||||
def altasensoresf(request):
|
||||
if request.method == "POST":
|
||||
form = FormAltasensoresf(request.POST)
|
||||
if form.is_valid():
|
||||
post = form.save(commit=False)
|
||||
post.save()
|
||||
return redirect("altasensoresf")
|
||||
else:
|
||||
for field, items in form.errors.items():
|
||||
for item in items:
|
||||
messages.error(request, '{}: {}'.format(field, item))
|
||||
|
||||
datos = AltaSensoresFijos.objects.all().order_by('nombre')
|
||||
teleg = telegram.objects.all()
|
||||
return render(request, "altasensoresf.html", {"datos": datos, "teleg": teleg, "menus": datos})
|
||||
|
||||
|
||||
|
||||
@login_required(login_url='acceder')
|
||||
def ActualizarSensor(request, id):
|
||||
instance= get_object_or_404(AltaSensoresFijos, pk=id)
|
||||
form = FormAltasensoresf(request.POST or None, instance=instance)
|
||||
context= {'form': form}
|
||||
if form.is_valid():
|
||||
obj= form.save(commit= False)
|
||||
obj.save()
|
||||
messages.success(request, "El perfil fue actualizado")
|
||||
return redirect("altasensoresf")
|
||||
|
||||
else:
|
||||
context= {'form': form, 'error': 'Error al actualizar'}
|
||||
return render(request,'actualizar_sensorf.html' , context)
|
||||
|
||||
|
||||
#############################################################################################
|
||||
################# telegram conf ###################################
|
||||
|
||||
def enviarmensaje(telegram1):
|
||||
teleg = telegram.objects.all()
|
||||
bot = teleg[0].idBot
|
||||
grupo = teleg[0].idGrupo
|
||||
idBot = bot
|
||||
idGrupo = grupo
|
||||
requests.post('https://api.telegram.org/bot' + idBot + '/sendMessage',
|
||||
data={'chat_id': idGrupo, 'text': telegram1, 'parse_mode': 'HTML'})
|
||||
|
||||
|
||||
def enviarmensajeh(telegram2):
|
||||
teleg = telegram.objects.all()
|
||||
bot = teleg[0].idBot
|
||||
grupo = teleg[0].idGrupo
|
||||
idBot = bot
|
||||
idGrupo = grupo
|
||||
requests.post('https://api.telegram.org/bot' + idBot + '/sendMessage',
|
||||
data={'chat_id': idGrupo, 'text': telegram2, 'parse_mode': 'HTML'})
|
||||
|
||||
|
||||
def enviarmensajeact(telegram3):
|
||||
teleg = telegram.objects.all()
|
||||
bot = teleg[0].idBot
|
||||
grupo = teleg[0].idGrupo
|
||||
idBot = bot
|
||||
idGrupo = grupo
|
||||
requests.post('https://api.telegram.org/bot' + idBot + '/sendMessage',
|
||||
data={'chat_id': idGrupo, 'text': telegram3, 'parse_mode': 'HTML'})
|
||||
|
||||
|
||||
def confTelegram(request):
|
||||
datos = telegram.objects.all()
|
||||
return render(request, "telegram.html", {"datos": datos})
|
||||
|
||||
|
||||
@login_required(login_url='acceder')
|
||||
def ActualizarTelegram(request, id):
|
||||
instance= get_object_or_404(telegram, pk=id)
|
||||
form = Formtelegram(request.POST or None, instance=instance)
|
||||
context= {'form': form}
|
||||
if form.is_valid():
|
||||
obj= form.save(commit= False)
|
||||
obj.save()
|
||||
messages.success(request, "El perfil fue actualizado")
|
||||
return redirect("altasensoresf")
|
||||
|
||||
else:
|
||||
context= {'form': form, 'error': 'Error al actualizar'}
|
||||
return render(request,'actualizar_telegram.html' , context)
|
||||
|
||||
|
||||
|
||||
#### ENVIO EMAIL #######
|
||||
def enviaremail(sensor, temp):
|
||||
subject = 'Sensor fuera de rango'
|
||||
template = get_template('email.html')
|
||||
email = "********@gmail.com"
|
||||
content = template.render({
|
||||
'sensor': sensor,'temp': temp,
|
||||
})
|
||||
message = EmailMultiAlternatives(subject,
|
||||
'',
|
||||
settings.EMAIL_HOST_USER,
|
||||
[email])
|
||||
message.attach_alternative(content, 'text/html')
|
||||
message.send()
|
||||
|
||||
|
||||
####### ruta post sensor con dia especifico sin actualizacion
|
||||
def sensoresfijosdia(request):
|
||||
if request.method == "POST":
|
||||
sensor = request.POST.get("sensor")
|
||||
ini = request.POST.get("fecha_ini")
|
||||
fin = request.POST.get("fecha_fin")
|
||||
if sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__range=(ini, fin)).exists():
|
||||
datos = sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__range=(ini, fin))
|
||||
datos2 = sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__range=(ini, fin)).order_by('temp').values()
|
||||
datos3 = sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__range=(ini, fin)).order_by('-temp').values()
|
||||
datos4 = sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__range=(ini, fin)).order_by('hume').values()
|
||||
datos5 = sensoresfijos.objects.filter(idsensor=sensor).filter(fecha__range=(ini, fin)).order_by('-hume').values()
|
||||
temmin = datos2[0]
|
||||
temmax = datos3[0]
|
||||
humemin = datos4[0]
|
||||
humemax = datos5[0]
|
||||
sensores = AltaSensoresFijos.objects.all().order_by('nombre')
|
||||
nombre = AltaSensoresFijos.objects.filter(idsensor=sensor)[0]
|
||||
sensort = nombre
|
||||
return render(request, "sensores_fijos_dia.html", {"datos": datos, "sensores": sensores, "sensort": sensort, "fecha_ini": ini, "fecha_fin": fin, "temmin": temmin, "temmax": temmax, "humemin": humemin, "humemax": humemax, "menus": sensores})
|
||||
|
||||
date = 'No Existen Datos del Sensor'
|
||||
date1 = 'No Existen Datos del Sensor'
|
||||
datos = 'No Existen Datos del Sensor'
|
||||
datos2 = 'No Existen Datos del Sensor'
|
||||
datos3 = 'No Existen Datos del Sensor'
|
||||
datos4 = 'No Existen Datos del Sensor'
|
||||
datos5 = 'No Existen Datos del Sensor'
|
||||
temmin = 'No Existen Datos del Sensor'
|
||||
temmax = 'No Existen Datos del Sensor'
|
||||
humemin = 'No Existen Datos del Sensor'
|
||||
humemax = 'No Existen Datos del Sensor'
|
||||
sensores = AltaSensoresFijos.objects.all().order_by('nombre')
|
||||
sensort = 'No Existen Datos del Sensor'
|
||||
return render(request, "sensores_fijos_dia.html", {"datos": datos, "sensores": sensores, "sensort": sensort, "fecha": date1, "temmin": temmin, "temmax": temmax, "humemin": humemin, "humemax": humemax, "menus": sensores})
|
||||
|
||||
|
||||
#### ruta get por sensor con actualizacion cada 20 segundos
|
||||
def sensoresfijosdianew(request, id):
|
||||
date = datetime.now()
|
||||
date1 = date.strftime("%Y-%m-%d")
|
||||
sen = str(id).zfill(3)
|
||||
sen1 = id
|
||||
sensores = AltaSensoresFijos.objects.all().order_by('nombre')
|
||||
if sensoresfijos.objects.filter(idsensor=sen1).exists():
|
||||
if sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=date1).exists():
|
||||
datos = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=date1).order_by('fecharango').values()
|
||||
datos2 = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=date1).order_by('temp').values()
|
||||
datos3 = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=date1).order_by('-temp').values()
|
||||
datos4 = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=date1).order_by('hume').values()
|
||||
datos5 = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=date1).order_by('-hume').values()
|
||||
temmin = datos2[0]
|
||||
temmax = datos3[0]
|
||||
humemin = datos4[0]
|
||||
humemax = datos5[0]
|
||||
nombre = AltaSensoresFijos.objects.filter(idsensor=sen1)[0]
|
||||
sensort = nombre
|
||||
return render(request, "sensores_fijos_dianew.html", {"datos": datos, "sensores": sensores, "sensort": sensort, "fecha": date1, "temmin": temmin, "temmax": temmax, "humemin": humemin, "humemax": humemax, "menus": sensores})
|
||||
|
||||
uf = sensoresfijos.objects.filter(idsensor=sen1).latest('id')
|
||||
uf1 = uf.fecha
|
||||
datos = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=uf1).order_by('fecharango').values()
|
||||
datos2 = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=uf1).order_by('temp').values()
|
||||
datos3 = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=uf1).order_by('-temp').values()
|
||||
datos4 = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=uf1).order_by('hume').values()
|
||||
datos5 = sensoresfijos.objects.filter(idsensor=sen1).filter(fecha__icontains=uf1).order_by('-hume').values()
|
||||
temmin = datos2[0]
|
||||
temmax = datos3[0]
|
||||
humemin = datos4[0]
|
||||
humemax = datos5[0]
|
||||
nombre = AltaSensoresFijos.objects.filter(idsensor=sen1)[0]
|
||||
sensort = nombre
|
||||
return render(request, "sensores_fijos_dianew.html", {"datos": datos, "sensores": sensores, "sensort": sensort, "fecha": uf1, "temmin": temmin, "temmax": temmax, "humemin": humemin, "humemax": humemax, "menus": sensores})
|
||||
|
||||
sensort = 'No Existen Datos del Sensor'
|
||||
temmin = sensort
|
||||
temmax = sensort
|
||||
hummin = sensort
|
||||
hummax = sensort
|
||||
return render(request, "sensores_fijos_dianew.html", {"sensores": sensores, "sensort": sensort, "fecha": date1, "temmin": temmin, "temmax": temmax, "hummin": hummin, "hummax": hummax, "menus": sensores})
|
||||
|
||||
|
||||
######################### check activo #####################
|
||||
|
||||
def CheckSensoresActivos(request):
|
||||
datos = AltaSensoresFijos.objects.all()
|
||||
for i in range(50):
|
||||
idt = datos[i].idsensor
|
||||
act = datos[i].activo
|
||||
min = 29
|
||||
timer = str(min)
|
||||
if act == 'SI':
|
||||
if sensoresfijos.objects.filter(idsensor=idt).exists():
|
||||
uf = sensoresfijos.objects.filter(idsensor=idt).latest('id')
|
||||
oldf = uf.fecharango.strftime("%Y-%m-%d %H:%M:%S")
|
||||
tn = datetime.strptime(oldf, "%Y-%m-%d %H:%M:%S") + timedelta(minutes=min)
|
||||
hoy = datetime.now()
|
||||
f1 = tn.strftime("%Y-%m-%d %H:%M:%S")
|
||||
f2 = hoy.strftime("%Y-%m-%d %H:%M:%S")
|
||||
if f1 < f2:
|
||||
telegram3 = 'El sensor: ' + idt +' No ha enviado datos en mas de '+ timer +' minutos.'
|
||||
enviaractivo(idt)
|
||||
enviarmensajeact(telegram3)
|
||||
|
||||
return HttpResponse(status=200)
|
||||
|
||||
|
||||
def enviaractivo(id):
|
||||
url = "http://server.mxsig.com.mx:9000/sensoresf/"
|
||||
post_fields = {'idsensor': id , "temp": "-200.0", "hume": "-200.0"}
|
||||
request = Request(url, urlencode(post_fields).encode())
|
||||
json = urlopen(request).read().decode()
|
||||
print(json)
|
||||
Reference in New Issue
Block a user