Nukiana/Upgrade.md

41 lines
2.0 KiB
Markdown
Raw Normal View History

2018-11-30 00:52:59 +01:00
2018-11-30 00:53:55 +01:00
## 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
2018-11-30 00:52:59 +01:00
2018-11-30 00:53:55 +01:00
##### SQL Update
2018-11-30 13:05:32 +01:00
```
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`;
2018-11-30 14:16:36 +01:00
ALTER TABLE SmartlockAuth ADD COLUMN `allowedFromTime` SMALLINT AFTER `allowedFromDate`;
2018-11-30 13:05:32 +01:00
ALTER TABLE SmartlockAuth ADD COLUMN `allowedUntilDate` DATETIME NOT NULL AFTER `allowedFromTime`;
2018-11-30 14:16:36 +01:00
ALTER TABLE SmartlockAuth ADD COLUMN `allowedUntilTime` SMALLINT AFTER `allowedUntilDate`;
2018-11-30 13:05:32 +01:00
ALTER TABLE SmartlockAuth ADD COLUMN `allowedWeekDays` SMALLINT NOT NULL AFTER `allowedUntilTime`;
2018-11-30 15:41:37 +01:00
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;
2018-11-30 13:05:32 +01:00
```