commit 4
This commit is contained in:
@@ -17,4 +17,3 @@ RelayController est une application de contrôle de relais électriques et de ca
|
||||
- **Communication WebSocket** : mise à jour instantanée des états via Redis
|
||||
- **Historique des états** : enregistrement des événements et durées d'activation
|
||||
- **Contrôle à distance** : interface web pour piloter les appareils
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ programs = dashboard, workers
|
||||
[program:dashboard]
|
||||
process_name=%(program_name)s
|
||||
priority=900
|
||||
directory=/home/rpi4/workspace/django-relay-controller/relaycontroller
|
||||
command=/home/rpi4/workspace/django-relay-controller/relaycontroller/runserver.sh
|
||||
directory=/home/rpi4/django-relay-controller/relaycontroller
|
||||
command=/home/rpi4/django-relay-controller/relaycontroller/runserver.sh
|
||||
user=rpi4
|
||||
group=rpi4
|
||||
stopasgroup=true
|
||||
@@ -17,8 +17,8 @@ programs = dashboard, workers
|
||||
[program:workers]
|
||||
process_name=%(program_name)s
|
||||
priority=999
|
||||
directory=/home/rpi4/workspace/django-relay-controller/relaycontroller
|
||||
command=/home/rpi4/workspace/django-relay-controller/relaycontroller/workers.sh start
|
||||
directory=/home/rpi4/django-relay-controller/relaycontroller
|
||||
command=/home/rpi4/django-relay-controller/relaycontroller/workers.sh start
|
||||
user=rpi4
|
||||
group=rpi4
|
||||
stopasgroup=true
|
||||
|
||||
@@ -4,7 +4,7 @@ DEBUG=True
|
||||
IS_LOGGING=False
|
||||
APP_DATAS=relaycontroller
|
||||
RAMDISK_DEVICE=/mnt/ramdisk
|
||||
MKCERT_VERSION=mkcert-v1.4.4
|
||||
MKCERT_VERSION=v1.4.4
|
||||
|
||||
DJANGO_APP=relaycontroller
|
||||
APP_TITLE=Controleur de relais
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# Generated by Django 6.0.3 on 2026-03-12 10:50
|
||||
|
||||
import datetime
|
||||
import django.db.models.deletion
|
||||
import django_resized.forms
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('django_celery_beat', '0019_alter_periodictasks_options'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='DeviceType',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=64, null=True, verbose_name='Nom du capteur')),
|
||||
('code', models.SlugField(blank=True, help_text='Max 16 caractères', max_length=16, null=True, unique=True, verbose_name='Type de capteur')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Type de capteur',
|
||||
'verbose_name_plural': 'Types de capteurs',
|
||||
'ordering': ['name'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Device',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('label', models.CharField(max_length=100, null=True, verbose_name='Capteur')),
|
||||
('uuid', models.SlugField(blank=True, help_text='Uuid iot clef unique', max_length=32, null=True, unique=True, verbose_name='Uuid')),
|
||||
('index', models.SmallIntegerField(default=0, help_text="Numéro d'index", verbose_name='Index')),
|
||||
('pin_active', models.BooleanField(default=True, help_text="Broche active à l'initialisation", verbose_name='Broche')),
|
||||
('image', django_resized.forms.ResizedImageField(blank=True, crop=None, default='devices/vanne.png', force_format=None, help_text='Image du capteur', keep_meta=True, null=True, quality=-1, scale=None, size=[320, 240], upload_to='devices/', verbose_name='Image')),
|
||||
('lifetime', models.DurationField(blank=True, default=datetime.timedelta(seconds=4500), help_text="Durée de l'évènement. Jours hh:mm:ss format", null=True, verbose_name='Durée')),
|
||||
('heartbeat', models.IntegerField(default=1, help_text='Interrogation du capteur en secondes', verbose_name='Battement')),
|
||||
('active', models.BooleanField(default=True, verbose_name='Actif')),
|
||||
('task', models.ForeignKey(help_text='Tâche de démarrage périodique de ce capteur (optionnel)', null=True, on_delete=django.db.models.deletion.CASCADE, to='django_celery_beat.periodictask', verbose_name='Tâche périodique')),
|
||||
('device_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='relay.devicetype', verbose_name='Type de capteur')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Capteur',
|
||||
'verbose_name_plural': 'Capteurs',
|
||||
'ordering': ['index'],
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user