diff --git a/sites/WeatherStation/HomeWeather/models.py b/sites/WeatherStation/HomeWeather/models.py
index a7a7f36..fc78d19 100644
--- a/sites/WeatherStation/HomeWeather/models.py
+++ b/sites/WeatherStation/HomeWeather/models.py
@@ -3,13 +3,16 @@ from django.db import models
# Create your models here.
class Sensor(models.Model):
name = models.CharField(max_length=20, default="bedroom-bme280-01")
+ location = models.CharField(max_length=128, default="somewhere")
temperature_unit = models.CharField(max_length=5, default="C")
pressure_unit = models.CharField(max_length=5, default="hPa")
humidity_unit = models.CharField(max_length=5, default="%")
def __str__(self):
- return f"Sensor {self.name}, units are C (temperature), hPa (pressure) and % (humidity)"
+ return f"""Sensor {self.name}, at {self.location}, units are C
+ (temperature), hPa (pressure) and % (humidity)"""
class Measurement(models.Model):
+ sensor = models.IntegerField(default=0)
time = models.DateTimeField('timestamp', auto_now=True)
temperature = models.FloatField(default=-400)
humidity = models.FloatField(default=-1)
diff --git a/sites/WeatherStation/HomeWeather/templates/HomeWeather/index.html b/sites/WeatherStation/HomeWeather/templates/HomeWeather/index.html
new file mode 100644
index 0000000..56f5329
--- /dev/null
+++ b/sites/WeatherStation/HomeWeather/templates/HomeWeather/index.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+ Home weather station
+
+
+ List of sensors
+ {% if sensor_list %}
+
+ {% else %}
+ No sensor is added yet.
+ {% endif %}
+
+
diff --git a/sites/WeatherStation/HomeWeather/templates/HomeWeather/sensor.html b/sites/WeatherStation/HomeWeather/templates/HomeWeather/sensor.html
new file mode 100644
index 0000000..ec48034
--- /dev/null
+++ b/sites/WeatherStation/HomeWeather/templates/HomeWeather/sensor.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Sensor details
+
+
+ Sensor details
+
+ - Name: {{ sensor.name }}
+ - Location: {{ sensor.location }}
+ - Temperature unit: {{ sensor.temperature_unit }}
+ - Pressure unit: {{ sensor.pressure_unit }}
+ - Humidity unit: {{ sensor.humidity_unit }}
+
+
+
diff --git a/sites/WeatherStation/HomeWeather/urls.py b/sites/WeatherStation/HomeWeather/urls.py
index 88a9cac..8f14f6f 100644
--- a/sites/WeatherStation/HomeWeather/urls.py
+++ b/sites/WeatherStation/HomeWeather/urls.py
@@ -3,5 +3,10 @@ from django.urls import path
from . import views
urlpatterns = [
- path('', views.index, name='index'),
+ # http://127.0.0.1:8000/home/
+ path('', views.index, name='homeweather_home'),
+ # http://127.0.0.1:8000/home/sensor/0/
+ path('sensor//', views.sensor, name='sensor'),
+ # http://127.0.0.1:8000/home/meas/0/1/
+ path('meas///', views.measurement, name='meas'),
]
diff --git a/sites/WeatherStation/HomeWeather/views.py b/sites/WeatherStation/HomeWeather/views.py
index 9ce07dc..efa664e 100644
--- a/sites/WeatherStation/HomeWeather/views.py
+++ b/sites/WeatherStation/HomeWeather/views.py
@@ -1,6 +1,16 @@
-from django.shortcuts import render
+from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse
+from .models import Sensor, Measurement
# Create your views here.
def index(request):
- return HttpResponse("Home Weather")
+ sensor_list = Sensor.objects.order_by('id')[:5]
+ context = {'sensor_list': sensor_list}
+ return render(request, 'HomeWeather/index.html', context)
+
+def sensor(request, sensor):
+ s = get_object_or_404(Sensor, pk=sensor)
+ return render(request, 'HomeWeather/sensor.html', {"sensor": s})
+
+def measurement(request, sensor, measurement):
+ return HttpResponse(f"Sensor {sensor}, measurement {measurement}")