Code: Select all
CREATE TABLE [DeviceStatus] ([ID] INTEGER PRIMARY KEY, [HardwareID] INTEGER NOT NULL, [DeviceID] VARCHAR(25) NOT NULL, [Unit] INTEGER DEFAULT 0, [Name] VARCHAR(100
) DEFAULT Unknown, [Used] INTEGER DEFAULT 0, [Type] INTEGER NOT NULL, [SubType] INTEGER NOT NULL, [SwitchType] INTEGER DEFAULT 0, [Favorite] INTEGER DEFAULT 0, [Si
gnalLevel] INTEGER DEFAULT 0, [BatteryLevel] INTEGER DEFAULT 0, [nValue] INTEGER DEFAULT 0, [sValue] VARCHAR(200) DEFAULT null, [LastUpdate] DATETIME DEFAULT (date
time('now','localtime')),[Order] INTEGER BIGINT(10) default 0, [AddjValue] FLOAT DEFAULT 0, [AddjMulti] FLOAT DEFAULT 1, [AddjValue2] FLOAT DEFAULT 0, [AddjMulti2]
FLOAT DEFAULT 1, [StrParam1] VARCHAR(200) DEFAULT '', [StrParam2] VARCHAR(200) DEFAULT '', [LastLevel] INTEGER DEFAULT 0, [Protected] INTEGER DEFAULT 0, [CustomIm
age] INTEGER DEFAULT 0, [Description] VARCHAR(200) DEFAULT '', [Options] TEXT DEFAULT null, [Color] TEXT DEFAULT NULL);
CREATE TABLE [LightingLog] ([DeviceRowID] BIGINT(10) NOT NULL, [nValue] INTEGER DEFAULT 0, [sValue] VARCHAR(200), [User] VARCHAR(100) DEFAULT (''), [Date] DATETIME
DEFAULT (datetime('now','localtime')));
CREATE TABLE [SceneLog] ([SceneRowID] BIGINT(10) NOT NULL, [nValue] INTEGER DEFAULT 0, [Date] DATETIME DEFAULT (datetime('now','localtime')), [User] VARCHAR(100) D
EFAULT (''));
CREATE TABLE [Rain] ([DeviceRowID] BIGINT(10) NOT NULL, [Total] FLOAT NOT NULL, [Rate] INTEGER DEFAULT 0, [Date] DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [Rain_Calendar] ([DeviceRowID] BIGINT(10) NOT NULL, [Total] FLOAT NOT NULL, [Rate] INTEGER DEFAULT 0, [Date] DATE NOT NULL);
CREATE TABLE [Temperature] ([DeviceRowID] BIGINT(10) NOT NULL, [Temperature] FLOAT NOT NULL, [Chill] FLOAT DEFAULT 0, [Humidity] INTEGER DEFAULT 0, [Barometer] INT
EGER DEFAULT 0, [DewPoint] FLOAT DEFAULT 0, [SetPoint] FLOAT DEFAULT 0, [Date] DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [Temperature_Calendar] ([DeviceRowID] BIGINT(10) NOT NULL, [Temp_Min] FLOAT NOT NULL, [Temp_Max] FLOAT NOT NULL, [Temp_Avg] FLOAT DEFAULT 0, [Chill_Mi
n] FLOAT DEFAULT 0, [Chill_Max] FLOAT, [Humidity] INTEGER DEFAULT 0, [Barometer] INTEGER DEFAULT 0, [DewPoint] FLOAT DEFAULT 0, [SetPoint_Min] FLOAT DEFAULT 0, [Se
tPoint_Max] FLOAT DEFAULT 0, [SetPoint_Avg] FLOAT DEFAULT 0, [Date] DATE NOT NULL);
CREATE TABLE [Timers] ([ID] INTEGER PRIMARY KEY, [Active] BOOLEAN DEFAULT true, [DeviceRowID] BIGINT(10) NOT NULL, [Date] DATE DEFAULT 0, [Time] TIME NOT NULL, [Ty
pe] INTEGER NOT NULL, [Cmd] INTEGER NOT NULL, [Level] INTEGER DEFAULT 15, [Hue] INTEGER DEFAULT 0, [UseRandomness] INTEGER DEFAULT 0, [TimerPlan] INTEGER DEFAULT 0
, [Days] INTEGER NOT NULL, [Month] INTEGER DEFAULT 0, [MDay] INTEGER DEFAULT 0, [Occurence] INTEGER DEFAULT 0, [Color] TEXT DEFAULT NULL);
CREATE TABLE [SetpointTimers] ([ID] INTEGER PRIMARY KEY, [Active] BOOLEAN DEFAULT true, [DeviceRowID] BIGINT(10) NOT NULL, [Date] DATE DEFAULT 0, [Time] TIME NOT N
ULL, [Type] INTEGER NOT NULL, [Temperature] FLOAT DEFAULT 0, [TimerPlan] INTEGER DEFAULT 0, [Days] INTEGER NOT NULL, [Month] INTEGER DEFAULT 0, [MDay] INTEGER DEFA
ULT 0, [Occurence] INTEGER DEFAULT 0);
CREATE TABLE [UV] ([DeviceRowID] BIGINT(10) NOT NULL, [Level] FLOAT NOT NULL, [Date] DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [UV_Calendar] ([DeviceRowID] BIGINT(10) NOT NULL, [Level] FLOAT, [Date] DATE NOT NULL);
CREATE TABLE [Wind] ([DeviceRowID] BIGINT(10) NOT NULL, [Direction] FLOAT NOT NULL, [Speed] INTEGER NOT NULL, [Gust] INTEGER NOT NULL, [Date] DATETIME DEFAULT (dat
etime('now','localtime')));
CREATE TABLE [Wind_Calendar] ([DeviceRowID] BIGINT(10) NOT NULL, [Direction] FLOAT NOT NULL, [Speed_Min] INTEGER NOT NULL, [Speed_Max] INTEGER NOT NULL, [Gust_Min]
INTEGER NOT NULL, [Gust_Max] INTEGER NOT NULL, [Date] DATE NOT NULL);
CREATE TABLE [Meter] ([DeviceRowID] BIGINT NOT NULL, [Value] BIGINT NOT NULL, [Usage] INTEGER DEFAULT 0, [Date] DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [Meter_Calendar] ([DeviceRowID] BIGINT NOT NULL, [Value] BIGINT NOT NULL, [Counter] BIGINT DEFAULT 0, [Date] DATETIME DEFAULT (datetime('now','localti
me')));
CREATE TABLE [MultiMeter] ([DeviceRowID] BIGINT(10) NOT NULL, [Value1] BIGINT NOT NULL, [Value2] BIGINT DEFAULT 0, [Value3] BIGINT DEFAULT 0, [Value4] BIGINT DEFAU
LT 0, [Value5] BIGINT DEFAULT 0, [Value6] BIGINT DEFAULT 0, [Date] DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [MultiMeter_Calendar] ([DeviceRowID] BIGINT(10) NOT NULL, [Value1] BIGINT NOT NULL, [Value2] BIGINT NOT NULL, [Value3] BIGINT NOT NULL, [Value4] BIGIN
T NOT NULL, [Value5] BIGINT NOT NULL, [Value6] BIGINT NOT NULL, [Counter1] BIGINT DEFAULT 0, [Counter2] BIGINT DEFAULT 0, [Counter3] BIGINT DEFAULT 0, [Counter4] B
IGINT DEFAULT 0, [Date] DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [Notifications] ([ID] INTEGER PRIMARY KEY, [DeviceRowID] BIGINT(10) NOT NULL, [Params] VARCHAR(100), [CustomMessage] VARCHAR(300) DEFAULT (''), [Activ
eSystems] VARCHAR(200) DEFAULT (''), [Priority] INTEGER default 0, [SendAlways] INTEGER default 0, [LastSend] DATETIME DEFAULT 0);
CREATE TABLE [Users] ([ID] INTEGER PRIMARY KEY, [Active] INTEGER NOT NULL DEFAULT 0, [Username] VARCHAR(200) NOT NULL, [Password] VARCHAR(200) NOT NULL, [Rights] I
NTEGER DEFAULT 255, [TabsEnabled] INTEGER DEFAULT 255, [RemoteSharing] INTEGER DEFAULT 0);
CREATE TABLE [LightSubDevices] ([ID] INTEGER PRIMARY KEY, [DeviceRowID] INTEGER NOT NULL, [ParentID] INTEGER NOT NULL);
CREATE TABLE [Cameras] ([ID] INTEGER PRIMARY KEY, [Name] VARCHAR(200) NOT NULL, [Enabled] INTEGER DEFAULT 1, [Address] VARCHAR(200), [Port] INTEGER, [Protocol] INT
EGER DEFAULT 0, [Username] VARCHAR(100) DEFAULT (''), [Password] VARCHAR(100) DEFAULT (''), [ImageURL] VARCHAR(200) DEFAULT (''));
CREATE TABLE [CamerasActiveDevices] ([ID] INTEGER PRIMARY KEY, [CameraRowID] INTEGER NOT NULL, [DevSceneType] INTEGER NOT NULL, [DevSceneRowID] INTEGER NOT NULL, [
DevSceneWhen] INTEGER NOT NULL, [DevSceneDelay] INTEGER NOT NULL);
CREATE TABLE [DeviceToPlansMap] ([ID] INTEGER PRIMARY KEY, [DeviceRowID] BIGINT NOT NULL, [DevSceneType] INTEGER DEFAULT 0, [PlanID] BIGINT NOT NULL, [Order] INTEG
ER BIGINT(10) DEFAULT 0, [XOffset] INTEGER default 0, [YOffset] INTEGER default 0);
CREATE TABLE [Plans] ([ID] INTEGER PRIMARY KEY, [Order] INTEGER BIGINT(10) default 0, [Name] VARCHAR(200) NOT NULL, [FloorplanID] INTEGER default 0, [Area] VARCHAR
(200) DEFAULT '');
CREATE TABLE [Scenes] (
[ID] INTEGER PRIMARY KEY,
[Name] VARCHAR(100) NOT NULL,
[Favorite] INTEGER DEFAULT 0,
[Order] INTEGER BIGINT(10) default 0,
[nValue] INTEGER DEFAULT 0,
[SceneType] INTEGER DEFAULT 0,
[Protected] INTEGER DEFAULT 0,
[OnAction] VARCHAR(200) DEFAULT '', [OffAction] VARCHAR(200) DEFAULT '', [Description] VARCHAR(200) DEFAULT '', [Activators] VARCHAR(200) DEFAULT '', [LastUpdate]
DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [SceneDevices] ([ID] INTEGER PRIMARY KEY, [Order] INTEGER BIGINT(10) default 0, [SceneRowID] BIGINT NOT NULL, [DeviceRowID] BIGINT NOT NULL, [Cmd] INT
EGER DEFAULT 1, [Level] INTEGER DEFAULT 100, [Hue] INTEGER DEFAULT 0, [OnDelay] INTEGER DEFAULT 0, [OffDelay] INTEGER DEFAULT 0, [Color] TEXT DEFAULT NULL);
CREATE TABLE [TimerPlans] ([ID] INTEGER PRIMARY KEY, [Name] VARCHAR(200) NOT NULL);
CREATE TABLE [SceneTimers] ([ID] INTEGER PRIMARY KEY, [Active] BOOLEAN DEFAULT true, [SceneRowID] BIGINT(10) NOT NULL, [Date] DATE DEFAULT 0, [Time] TIME NOT NULL,
[Type] INTEGER NOT NULL, [Cmd] INTEGER NOT NULL, [Level] INTEGER DEFAULT 15, [Hue] INTEGER DEFAULT 0, [UseRandomness] INTEGER DEFAULT 0, [TimerPlan] INTEGER DEFAU
LT 0, [Days] INTEGER NOT NULL, [Month] INTEGER DEFAULT 0, [MDay] INTEGER DEFAULT 0, [Occurence] INTEGER DEFAULT 0);
CREATE TABLE [SharedDevices] ([ID] INTEGER PRIMARY KEY, [SharedUserID] BIGINT NOT NULL, [DeviceRowID] BIGINT NOT NULL, [Favorite] INTEGER DEFAULT 0);
CREATE TABLE [EventMaster] ([ID] INTEGER PRIMARY KEY, [Name] VARCHAR(200) NOT NULL, [Interpreter] VARCHAR(10) DEFAULT 'Blockly', [Type] VARCHAR(10) DEFAULT 'All',
[XMLStatement] TEXT NOT NULL, [Status] INTEGER DEFAULT 0);
CREATE TABLE [EventRules] ([ID] INTEGER PRIMARY KEY, [EMID] INTEGER, [Conditions] TEXT NOT NULL, [Actions] TEXT NOT NULL, [SequenceNo] INTEGER NOT NULL, FOREIGN KE
Y (EMID) REFERENCES EventMaster(ID));
CREATE TABLE [ZWaveNodes] ([ID] INTEGER PRIMARY KEY, [HardwareID] INTEGER NOT NULL, [HomeID] INTEGER NOT NULL, [NodeID] INTEGER NOT NULL, [Name] VARCHAR(100) DEFAU
LT Unknown, [ProductDescription] VARCHAR(100) DEFAULT Unknown, [PollTime] INTEGER DEFAULT 0);
CREATE TABLE [WOLNodes] ([ID] INTEGER PRIMARY KEY, [HardwareID] INTEGER NOT NULL, [Name] VARCHAR(100) DEFAULT Unknown, [MacAddress] VARCHAR(50) DEFAULT Unknown, [T
imeout] INTEGER DEFAULT 5);
CREATE TABLE [Percentage] ([DeviceRowID] BIGINT(10) NOT NULL, [Percentage] FLOAT NOT NULL, [Date] DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [Percentage_Calendar] ([DeviceRowID] BIGINT(10) NOT NULL, [Percentage_Min] FLOAT NOT NULL, [Percentage_Max] FLOAT NOT NULL, [Percentage_Avg] FLOAT DEF
AULT 0, [Date] DATE NOT NULL);
CREATE TABLE [Fan] ([DeviceRowID] BIGINT(10) NOT NULL, [Speed] INTEGER NOT NULL, [Date] DATETIME DEFAULT (datetime('now','localtime')));
CREATE TABLE [Fan_Calendar] ([DeviceRowID] BIGINT(10) NOT NULL, [Speed_Min] INTEGER NOT NULL, [Speed_Max] INTEGER NOT NULL, [Speed_Avg] INTEGER DEFAULT 0, [Date] D
ATE NOT NULL);
CREATE TABLE [BackupLog] ([Key] VARCHAR(50) NOT NULL, [nValue] INTEGER DEFAULT 0);
CREATE TABLE [EnoceanSensors] ([ID] INTEGER PRIMARY KEY, [HardwareID] INTEGER NOT NULL, [DeviceID] VARCHAR(25) NOT NULL, [Manufacturer] INTEGER NOT NULL, [Profile]
INTEGER NOT NULL, [Type] INTEGER NOT NULL);
CREATE TABLE [UserVariables] ([ID] INTEGER PRIMARY KEY, [Name] VARCHAR(200), [ValueType] INT NOT NULL, [Value] VARCHAR(200), [LastUpdate] DATETIME DEFAULT(datetime
('now', 'localtime')));
CREATE TABLE [CustomImages]( [ID] INTEGER PRIMARY KEY, [Base] VARCHAR(80) NOT NULL, [Name] VARCHAR(80) NOT NULL, [Description] VARCHAR(80) NOT NULL,
[IconSmall] BLOB, [IconOn] BLOB, [IconOff] BLOB);
CREATE TABLE [MySensors]( [HardwareID] INTEGER NOT NULL, [ID] INTEGER NOT NULL, [Name] VARCHAR(100) DEFAULT Unknown, [SketchName] VARCHAR(100) DEFAULT Unknown, [Sk
etchVersion] VARCHAR(40) DEFAULT(1.0));
CREATE TABLE [MySensorsVars]( [HardwareID] INTEGER NOT NULL, [NodeID] INTEGER NOT NULL, [ChildID] INTEGER NOT NULL, [VarID] INTEGER NOT NULL, [Value] VARCHAR(100)
NOT NULL);
CREATE TABLE [MySensorsChilds]( [HardwareID] INTEGER NOT NULL, [NodeID] INTEGER NOT NULL, [ChildID] INTEGER NOT NULL, [Name] VARCHAR(100) DEFAULT '', [Type] INTEGE
R NOT NULL, [UseAck] INTEGER DEFAULT 0, [AckTimeout] INTEGER DEFAULT 1200);
CREATE TABLE [ToonDevices]( [HardwareID] INTEGER NOT NULL, [UUID] VARCHAR(100) NOT NULL);
CREATE TABLE [MobileDevices]([ID] INTEGER PRIMARY KEY, [Active] BOOLEAN DEFAULT false, [Name] VARCHAR(100) DEFAULT '',[DeviceType] VARCHAR(100) DEFAULT '',[SenderI
D] TEXT NOT NULL,[UUID] TEXT NOT NULL, [LastUpdate] DATETIME DEFAULT(datetime('now', 'localtime')));
CREATE TABLE sqlite_stat1(tbl,idx,stat);
CREATE TABLE [Floorplans]([ID] INTEGER PRIMARY KEY, [Name] VARCHAR(200) NOT NULL, [Image] BLOB, [Order] INTEGER BIGINT(10) default 0, [ScaleFactor] Float default 1
.0);
CREATE TABLE [UserSessions]( [SessionID] VARCHAR(100) NOT NULL, [Username] VARCHAR(100) NOT NULL, [AuthToken] VARCHAR(100) UNIQUE NOT NULL, [ExpirationDate] DATETI
ME NOT NULL, [RemoteHost] VARCHAR(50) NOT NULL, [LastUpdate] DATETIME DEFAULT(datetime('now', 'localtime')), PRIMARY KEY([SessionID]));
CREATE TABLE [Hardware] ([ID] INTEGER PRIMARY KEY, [Name] VARCHAR(200) NOT NULL, [Enabled] INTEGER DEFAULT 1, [Type] INTEGER NOT NULL, [Address] VARCHAR(200), [Por
t] INTEGER, [SerialPort] TEXT DEFAULT (''), [Username] VARCHAR(100), [Password] VARCHAR(100), [Extra] TEXT DEFAULT (''),[Mode1] CHAR DEFAULT 0, [Mode2] CHAR DEFAUL
T 0, [Mode3] CHAR DEFAULT 0, [Mode4] CHAR DEFAULT 0, [Mode5] CHAR DEFAULT 0, [Mode6] CHAR DEFAULT 0, [DataTimeout] INTEGER DEFAULT 0, [Configuration] TEXT DEFAULT
(''));
CREATE TABLE [PushLink] ([ID] INTEGER PRIMARY KEY, [PushType] INTEGER, [DeviceRowID] BIGINT NOT NULL, [DelimitedValue] INTEGER DEFAULT 0, [TargetType] INTEGER DEFA
ULT 0, [TargetVariable] VARCHAR(100), [TargetDeviceID] INTEGER, [TargetProperty] VARCHAR(100), [Enabled] INTEGER DEFAULT 1, [IncludeUnit] INTEGER default 0);
CREATE TABLE [Preferences] ([Key] VARCHAR(50) PRIMARY KEY, [nValue] INTEGER DEFAULT 0, [sValue] VARCHAR(200));
CREATE INDEX ds_hduts_idx on DeviceStatus(HardwareID, DeviceID, Unit, Type, SubType);
CREATE INDEX f_id_idx on Fan(DeviceRowID);
CREATE INDEX f_id_date_idx on Fan(DeviceRowID, Date);
CREATE INDEX fc_id_idx on Fan_Calendar(DeviceRowID);
CREATE INDEX fc_id_date_idx on Fan_Calendar(DeviceRowID, Date);
CREATE INDEX ll_id_idx on LightingLog(DeviceRowID);
CREATE INDEX ll_id_date_idx on LightingLog(DeviceRowID, Date);
CREATE INDEX sl_id_idx on SceneLog(SceneRowID);
CREATE INDEX sl_id_date_idx on SceneLog(SceneRowID, Date);
CREATE INDEX m_id_idx on Meter(DeviceRowID);
CREATE INDEX m_id_date_idx on Meter(DeviceRowID, Date);
CREATE INDEX mc_id_idx on Meter_Calendar(DeviceRowID);
CREATE INDEX mc_id_date_idx on Meter_Calendar(DeviceRowID, Date);
CREATE INDEX mm_id_idx on MultiMeter(DeviceRowID);
CREATE INDEX mm_id_date_idx on MultiMeter(DeviceRowID, Date);
CREATE INDEX mmc_id_idx on MultiMeter_Calendar(DeviceRowID);
CREATE INDEX mmc_id_date_idx on MultiMeter_Calendar(DeviceRowID, Date);
CREATE INDEX p_id_idx on Percentage(DeviceRowID);
CREATE INDEX p_id_date_idx on Percentage(DeviceRowID, Date);
CREATE INDEX pc_id_idx on Percentage_Calendar(DeviceRowID);
CREATE INDEX pc_id_date_idx on Percentage_Calendar(DeviceRowID, Date);
CREATE INDEX r_id_idx on Rain(DeviceRowID);
CREATE INDEX r_id_date_idx on Rain(DeviceRowID, Date);
CREATE INDEX rc_id_idx on Rain_Calendar(DeviceRowID);
CREATE INDEX rc_id_date_idx on Rain_Calendar(DeviceRowID, Date);
CREATE INDEX t_id_idx on Temperature(DeviceRowID);
CREATE INDEX t_id_date_idx on Temperature(DeviceRowID, Date);
CREATE INDEX tc_id_idx on Temperature_Calendar(DeviceRowID);
CREATE INDEX tc_id_date_idx on Temperature_Calendar(DeviceRowID, Date);
CREATE INDEX u_id_idx on UV(DeviceRowID);
CREATE INDEX u_id_date_idx on UV(DeviceRowID, Date);
CREATE INDEX uv_id_idx on UV_Calendar(DeviceRowID);
CREATE INDEX uv_id_date_idx on UV_Calendar(DeviceRowID, Date);
CREATE INDEX w_id_idx on Wind(DeviceRowID);
CREATE INDEX w_id_date_idx on Wind(DeviceRowID, Date);
CREATE INDEX wc_id_idx on Wind_Calendar(DeviceRowID);
CREATE INDEX wc_id_date_idx on Wind_Calendar(DeviceRowID, Date);
CREATE TRIGGER devicestatusupdate AFTER INSERT ON DeviceStatus
BEGIN
UPDATE DeviceStatus SET [Order] = (SELECT MAX([Order]) FROM DeviceStatus)+1 WHERE DeviceStatus.ID = NEW.ID;
END;
CREATE TRIGGER deviceplantatusupdate AFTER INSERT ON DeviceToPlansMap
BEGIN
UPDATE DeviceToPlansMap SET [Order] = (SELECT MAX([Order]) FROM DeviceToPlansMap)+1 WHERE DeviceToPlansMap.ID = NEW.ID;
END;
CREATE TRIGGER planordertrigger AFTER INSERT ON Plans
BEGIN
UPDATE Plans SET [Order] = (SELECT MAX([Order]) FROM Plans)+1 WHERE Plans.ID = NEW.ID;
END;
CREATE TRIGGER scenesupdate AFTER INSERT ON Scenes
BEGIN
UPDATE Scenes SET [Order] = (SELECT MAX([Order]) FROM Scenes)+1 WHERE Scenes.ID = NEW.ID;
END;
CREATE TRIGGER scenedevicesupdate AFTER INSERT ON SceneDevices
BEGIN
UPDATE SceneDevices SET [Order] = (SELECT MAX([Order]) FROM SceneDevices)+1 WHERE SceneDevices.ID = NEW.ID;
END;
CREATE TRIGGER floorplanordertrigger AFTER INSERT ON Floorplans
BEGIN
UPDATE Floorplans SET [Order] = (SELECT MAX([Order]) FROM Floorplans)+1 WHERE Floorplans.ID = NEW.ID;
END;