ik gebruik al een sinds ik Homey heb het logboek Papertrails van @Dijker en dit bevalt prima. Nu is er een nieuwe app door Homey gepubliceerd genaamd Google Sheets, nu wil ik dit gebruiken als 2e Logboek voor andere logs. Ik wil namelijk graag mijn logs kunnen spitsen in groepen (wat naar mijn weten bij Papertrials niet kan)
Het probleem: ik zou graag net zoals bij papertrails dat de datum+tijd bij de logs wordt geschreven.
Nu heeft Homey in logic kaartjes met Datum en Tijd, echter laat het Tijd logic kaartje geen secondes zien en dit zou ik wel graag willen.
Ik heb zelf al in Sheets geprobeerd dit voor elkaar te krijgen echter lukt dit niet, bij het commando =NU() blijft de datum+tijd elke keer updaten bij een nieuwe log update. Ook via een script in Sheets een statische tijd automatisch laten weer geven werkt niet.
Ik heb Athom support al gemaild en zij (Development) geven aan dat het Homey Logic tijds kaartje niet aangepast kan worden met secondes erbij.
Wie kan mij hierin helpen?? wellicht iets met Homey Scripts??
return getCurrentTime("nl-NL","Europe/Amsterdam");
function getCurrentTime(locale, timezone){
let date = new Date();
return date.toLocaleString(locale,{timeZone: timezone });
//return date.toLocaleTimeString(locale,{timeZone: timezone });
//return date.toLocaleDateString(locale,{timeZone: timezone });
}
Ik heb het script nog even aangepast. Hij zal nu “datum+tijd” teruggeven, maar je kan ook alleen de tijd of alleen de datum teruggeven door de // aan te passen in de code.
dit is gelukt, maar ik zou graag de uitkomst in een Tag willen hebben. Als je dat hierin bouwt update die dat niet automatisch elke seconden toch? dan zou ik dus elke keer voordat ik iets toe wil voegen het script moeten uitvoeren en daarbij die tijd in van de Tag moeten pakken en die gebruiken in de andere Sheets flows?
Bedankt Peter, dit werkt ook. welke manier denken jullie dat het accuraats en best is? niet dat ik voor alleen de secondes toevoegen aan sheets 3 flow kaartjes en apps nodig ben en daar Homey mee overbelast
Dit is in principe hetzelfde als het better logic kaartje doet toch? denk dat dat wat makkelijker te gebruiken is. maar bedankt voor de uitleg , ga er zeker mee stoeien!
Kun je niet aan support vragen of er automagisch een kolom met een timestamp gevuld kan worden, als je een nieuwe log regel stuurt?
Bij de andere log apps gebeurt dat standaard.
Dit is super! Echter had ik graag de datum in een ander format gezien zie foto hieronder, de bovenste 3 zijn via athom, de onderste 2 via betterlogic/script.
Dus heb nu weer gevraagd of het gewijzigd kan worden of aanpasbaar naar wens zoals dat kan in Sheets. Aangezien dat ook kan met de oplossing van zowel script als Better logic denk ik dat dat hier ook wel bij kan. Deze vraag heb ik weer neer gelegd bij Athom en daarop dit antwoord gekregen dus even wachten
Kijk, mooie service, en mss waren ze er al mee bezig. De formatting snap ik ook niet nee. Veel te lang voor in een sheet, en timestamps voor logging zijn meestal in getalvorm.
Heb je de taal in Homey op NL staan, of Engels? Omdat de tijd in AM/PM format staat?
Zowel van homey als van Sheets staat deze op nl, ook de tijdzone op nl en veranderen doet niks met uitkomst van de timestamp. Dit heb ik ook aan hun meegeven met mijn feedback.
Ik heb reactie van Athom, zij zeggen dat als je de landinstellingen op verenigd koninkrijk zet je de timestamp wel naar wens kunt aanpassen. Ik heb dit getest en dit klopt inderdaad.
Ik heb nog wel meegegeven dat het wellicht interessant/handig is om de timestamp te programmeren naar de gevraagde timestamp welke ook in de afbeelding staat. hierdoor heeft ieder (iig Europees land) de juiste timestamp.
Op de foto is te zien hoe je de timestamp kun aanpassen naar wens.
@Peter_Kawa kun jij dit in het Duitse forum ventileren, aangezien mijn Duits niet zo geweldig is in het schrijven
Voor diegene die het interessant vind, hier een scriptje welke de Sheet bij openen naar het laatst toegevoegde waarde brengt. Dit scheelt veel scrollen
Bij Sheets kun je via het menu uitbreiding naar apps script, hier kun je volgende in plakken:
function onOpen(){
lastRowOfCol(1); //Enter the column number you want to use as the base of the search
}
function lastRowOfCol(column){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var total = sheet.getMaxRows();
var values = SpreadsheetApp.getActiveSheet().getRange(1,column,total).getValues();
for(var i=total-1;values[i]=="" && i>0; i--){}
var last = sheet.getRange(i+1,column);
//var last = sheet.getRange(i+1,1); //Option to fetch the last row of a given column, but to position in column 1
//var last = sheet.getRange(i+2,column); //Option to go to the cell below the last one with content
sheet.setActiveSelection(last);
}
Opslaan en test. Bij de volgende keren dat je het betreffende sheet opent, gaat hij automatisch naar laatst geplaatste tijd/datum