Nukiana/Upgrade.md

2.0 KiB

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`;

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;