Code Block |
---|
let timeOfJustNow = new Date();
/*
just now is a absolute time, if the date shall calculate correctly also
a few minutes after midnigth, the time must be absolutely precise
Homey seemsm to miss the corrrect time with 1 hour, so just test the script and see
if it's precise like your armwatch.
Just run this script i HomeyScript and observe the output.
*/
// add skew (adjusted time) here
let skew = 1;
// adjust the time with plus or minus skew
timeOfJustNow.setHours(timeOfJustNow.getHours()+skew);
// verify your timezone here, you migth want to comment the next line after assuring the timezone is correct
console.log("time", timeOfJustNow);
// Returns the day of the month (1 – 31) for the specified date according to local time.
let dayInMonth = timeOfJustNow.getDate();
let monthInYear = timeOfJustNow.getMonth();
// it's only these 3 next lines you should upadet to match your requrements
let sheetName = 'Ark 8'; // put the name of your tab in your sheet
let startingColumnChar = 'B'; // set your coumn character for January
let startingRowNbr = 2; // set your starting row for the first day in month
// calulating the column, based on monthNumber
let column = String.fromCharCode( startingColumnChar.charCodeAt(0) + monthInYear);
let calulatedCellReference = sheetName + "!"+ column + (startingRowNbr + dayInMonth-1);
// uncomment next line to get result logged
// console.log("result", calulatedCellReference);
return calulatedCellReference;
|
In your flow, create a HomeyScript Run card that returns a Text-tag, and paste the code from above. Then in the next Easy Logger set-cell card, the #Result will contain the reference to the cell of this day