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()+1; // 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 = 'DB'; // 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( columnCharstartingColumnChar.charAtcharCodeAt(columnChar0) + monthInYear); let calulatedCellReference = sheetsheetName + "!"+ column + (startingRowNbr + dayInMonth-1); return cellNbr; // 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
...