ALTER TABLE Sensors ADD active tinyint(1);

UPDATE Sensors SET active = 0;
UPDATE Sensors SET active = 1 WHERE identifier in ('1+8', '15+2', '2+5', '3+8', '4+5', '8+2');

/*
 *
 */
CREATE TABLE SensorDetails
(
  tipo int PRIMARY KEY,
  nombre varchar(60),
  unidad varchar(30),
  evento varchar(15)
);

INSERT INTO SensorDetails(tipo, nombre, unidad, evento) VALUES (2, "CO2", "ppm", "co2");
INSERT INTO SensorDetails(tipo, nombre, unidad, evento) VALUES (5, "Humidity", "%", "hum");
INSERT INTO SensorDetails(tipo, nombre, unidad, evento) VALUES (7, "Power Consumption", "W", "halleff");
INSERT INTO SensorDetails(tipo, nombre, unidad, evento) VALUES (8, "Temperature", "ºC", "temp");
INSERT INTO SensorDetails(tipo, nombre, unidad, evento) VALUES (10, "Energy cost", "€", "cost");
INSERT INTO SensorDetails(tipo, nombre, unidad, evento) VALUES (11, "Unknown", "Unknown", "unk");

/*
 *
 */
CREATE TABLE SensorLocations
(
  address int PRIMARY KEY,
  nombre varchar(60)
);

INSERT INTO SensorLocations(address, nombre) VALUES (1, "Lab Temp1");
INSERT INTO SensorLocations(address, nombre) VALUES (2, "Lab Hum1");
INSERT INTO SensorLocations(address, nombre) VALUES (3, "Lab Temp2");
INSERT INTO SensorLocations(address, nombre) VALUES (4, "Lab Hum2");
INSERT INTO SensorLocations(address, nombre) VALUES (5, "Hall-effect Load_1");
INSERT INTO SensorLocations(address, nombre) VALUES (6, "Hall-effect Load_2");
INSERT INTO SensorLocations(address, nombre) VALUES (7, "Hall-effect Load_3");
INSERT INTO SensorLocations(address, nombre) VALUES (8, "CO2 Lab");
INSERT INTO SensorLocations(address, nombre) VALUES (9, "CO2 Audit");
INSERT INTO SensorLocations(address, nombre) VALUES (11, "outside Temp");
INSERT INTO SensorLocations(address, nombre) VALUES (12, "outside Hum");
INSERT INTO SensorLocations(address, nombre) VALUES (15, "CO2 Floor1");
INSERT INTO SensorLocations(address, nombre) VALUES (80, "Load 1");
INSERT INTO SensorLocations(address, nombre) VALUES (81, "Load 2");
INSERT INTO SensorLocations(address, nombre) VALUES (82, "Load 3");
INSERT INTO SensorLocations(address, nombre) VALUES (83, "Energy Cost");
INSERT INTO SensorLocations(address, nombre) VALUES (84, "Energy Cost");


/*
 *
 */
CREATE TABLE Users (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(50),
	pass VARCHAR(200),
    tipo INT(2) /* Campo id de la tabla UserType */
);
INSERT INTO Users (nombre, pass, tipo) VALUES ('admin', MD5('admin'), 1);

/*
 *
 */
CREATE TABLE UserTypes (
    id INT(2) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(50),
);
INSERT INTO UserType (nombre) VALUES ('admin');
INSERT INTO UserType (nombre) VALUES ('editor');

/*
 *
 */
CREATE TABLE Menus (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	nombre VARCHAR(50),
	url VARCHAR(100), /* Campo url de la tabla Page */
	espadre TINYINT(1),
	padre INT(3),
	orden INT(3),
	edit TINYINT(1)
);

INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Home', '/', 0, 0, 1, 0);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Use case', '/use-case', 1, 0, 2, 0);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('General', '/use-case/general', 0, 2, 1, 1);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Smart Grid', '#', 0, 2, 2, 1);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Info', '/use-case/smart-grid/info', 0, 2, 3, 1);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Data', '/use-case/smart-grid', 0, 2, 4, 1);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Air Quality', '#', 0, 2, 5, 1);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Info', '/use-case/air-quality/info', 0, 2, 6, 1);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Data', '/use-case/air-quality', 0, 2, 7, 1);
INSERT INTO MENUS (nombre, url, espadre, padre, orden, edit) VALUES ('Contact', '/contact', 0, 0, 3, 0);


SELECT * FROM Menus WHERE url <> '#' and espadre=0 and id not in (SELECT m.id FROM Menus m INNER JOIN Pages p ON p.url = m.url);

/*
 *
 */
CREATE TABLE Pages (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	titulo VARCHAR(50),
	url VARCHAR(100),
	contenido TEXT,
	tipo INT(2)
);

CREATE TABLE PageTypes (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(50)
);
INSERT INTO PageTypes(nombre) VALUES ('contenido');
INSERT INTO PageTypes(nombre) VALUES ('dashboard');

/*
 *
 */
CREATE TABLE PageCharts (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	idPage INT, /* Campo id de la tabla Page */
	idChart INT /* Campo id de la tabla Graph */
);
INSERT INTO PageCharts(idPage, idChart) VALUES (3,1);
INSERT INTO PageCharts(idPage, idChart) VALUES (3,3);
INSERT INTO PageCharts(idPage, idChart) VALUES (3,2);

INSERT INTO PageCharts(idPage, idChart) VALUES (2,3);


/*
 *
 */
CREATE TABLE Charts (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	nombre VARCHAR(50),
	tipo VARCHAR(5) /* Campo event de la tabla SensorDetails */
);
INSERT INTO Charts (nombre, tipo) VALUES ('Co2', 2);
INSERT INTO Charts (nombre, tipo) VALUES ('Humidity', 5);
INSERT INTO Charts (nombre, tipo) VALUES ('Temperature', 8);