Nukiana/Upgrade.md

4.1 KiB

29.10.2020

SQL Update
ALTER TABLE Smartlock ADD COLUMN `doorsensorBatteryCritical` BOOLEAN NOT NULL AFTER `doorState`;
ALTER TABLE Smartlock ADD COLUMN `keypadBatteryCritical` BOOLEAN NOT NULL AFTER `homekitState`;
ALTER TABLE Smartlock ADD COLUMN `batteryCharging` BOOLEAN NOT NULL AFTER `batteryCharge`;
SQL Update
ALTER TABLE Smartlock ADD COLUMN `autoUpdateEnabled` BOOLEAN NOT NULL AFTER `autoUnlatch`;
ALTER TABLE Smartlock ADD COLUMN `batteryCharge` SMALLINT NOT NULL AFTER `automaticBatteryTypeDetection`;
ALTER TABLE Smartlock ADD COLUMN `batteryCharging` BOOLEAN NOT NULL AFTER `batteryCharge`;

16.07.2020

SQL Update
ALTER TABLE Smartlock ADD COLUMN `autoLock` BOOLEAN NOT NULL AFTER `authId`;

24.10.2019

SQL Update
ALTER TABLE Smartlock ADD COLUMN `nightMode` BOOLEAN NOT NULL AFTER `name`;

12.05.2019

SQL Update
ALTER TABLE SmartlockLog DROP COLUMN `flagGeoFence`;

03.05.2019

Updated Smartlock and SmartlockLog

SQL Update
ALTER TABLE Smartlock ADD COLUMN `adminPinState` INT NOT NULL AFTER `accountId`;
ALTER TABLE Smartlock ADD COLUMN `capabilities` INT NOT NULL AFTER `buttonEnabled`;
ALTER TABLE Smartlock ADD COLUMN `ringToOpenTimer` INT NOT NULL AFTER `pairingEnabled`;
ALTER TABLE Smartlock ADD COLUMN `operatingMode` INT NOT NULL AFTER `name`;

ALTER TABLE SmartlockLog ADD COLUMN `deviceType` BOOLEAN NOT NULL AFTER `date`;
ALTER TABLE SmartlockLog ADD COLUMN `flagGeoFence` BOOLEAN NOT NULL AFTER `deviceType`;

26.04.2019

Updated Bridge things

SQL Update
ALTER TABLE BridgeList ADD COLUMN `mode` INT NOT NULL AFTER `batteryCritical`;
ALTER TABLE BridgeLockState ADD COLUMN `mode` INT NOT NULL AFTER `batteryCritical`;
ALTER TABLE BridgeInfo ADD COLUMN `deviceType` INT NOT NULL AFTER `currentTime`;

11.12.2018

Added hardwareVersion Information

SQL Update
TRUNCATE TABLE Smartlock; /*needs to be truncated - otherwise column mod is not possible*/
ALTER TABLE Smartlock MODIFY `firmwareVersion` INT NOT NULL;
ALTER TABLE Smartlock ADD COLUMN `hardwareVersion` INT NOT NULL AFTER `fobPaired`;

30.11.2018

  • Nuki Smartlock Firmware 67330 -> 67331 (checked @ 30.11.2018)
  • Nuki Bridge Firmware 1.11.3 -> 1.11.4 (checked @ 30.11.2018)
  • Nuki Bridge WiFi Firmware 1.2.0 -> no change
SQL Update
ALTER TABLE SmartlockLog ADD COLUMN  `List`  VARCHAR(24) FIRST;

ALTER TABLE SmartlockAuth ADD COLUMN `accountUserId` VARCHAR(24) FIRST;
ALTER TABLE SmartlockAuth ADD COLUMN `allowedFromDate` DATETIME NOT NULL AFTER `accountUserId`;
ALTER TABLE SmartlockAuth ADD COLUMN `allowedFromTime` SMALLINT AFTER `allowedFromDate`;
ALTER TABLE SmartlockAuth ADD COLUMN `allowedUntilDate` DATETIME NOT NULL AFTER `allowedFromTime`;
ALTER TABLE SmartlockAuth ADD COLUMN `allowedUntilTime` SMALLINT AFTER `allowedUntilDate`;
ALTER TABLE SmartlockAuth ADD COLUMN `allowedWeekDays` SMALLINT NOT NULL AFTER `allowedUntilTime`;

/*delimeter is set to ++ to use this script in DBVisualizer*/
DROP FUNCTION IF EXISTS DaysFromBitMask;
@delimiter ++;
CREATE FUNCTION DaysFromBitMask (val INT)
RETURNS VARCHAR(255) DETERMINISTIC
BEGIN
    DECLARE DAY_RESULT VARCHAR(255);
    SET DAY_RESULT="";
    IF val =  0  THEN SET DAY_RESULT='Keine'; END IF;
    IF val >= 64 THEN SET DAY_RESULT='Mo'; SET val=val-64; END IF;
    IF val >= 32 THEN SET DAY_RESULT=CONCAT('Di',', ',DAY_RESULT); SET val=val-32; END IF;
    IF val >= 16 THEN SET DAY_RESULT=CONCAT('Mi',', ',DAY_RESULT); SET val=val-16; END IF;
    IF val >= 8  THEN SET DAY_RESULT=CONCAT('Do',', ',DAY_RESULT); SET val=val-8;  END IF;
    IF val >= 4  THEN SET DAY_RESULT=CONCAT('Fr',', ',DAY_RESULT); SET val=val-4;  END IF;
    IF val >= 2  THEN SET DAY_RESULT=CONCAT('Sa',', ',DAY_RESULT); SET val=val-2;  END IF;
    IF val >= 1  THEN SET DAY_RESULT=CONCAT('So',', ',DAY_RESULT); SET val=val-1;  END IF;
    /*Wenn val nicht mit "Keine" oder mit "Mo" endet, dann das Komma+Leerzeichen abschneiden*/
    SET DAY_RESULT = CASE WHEN DAY_RESULT LIKE '%, ' THEN LEFT(DAY_RESULT,length(DAY_RESULT)-2)  ELSE DAY_RESULT END;
    RETURN DAY_RESULT;
END
++
@delimiter ;++
GRANT EXECUTE ON FUNCTION DaysFromBitMask TO nuki;