Actuele tijd weergeven inclusief secondes

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. :cry:

Wie kan mij hierin helpen?? wellicht iets met Homey Scripts??

Probeer dit script eens:

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.

2 Likes

Dit is ook een manier, met Better Logic timeformatting

Bedankt,

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 :rofl:

Zo zou je het script in een Advanced Flow kunnen gebruiken:

Pas als je de flow start wordt de lokale tag gevuld.

1 Like

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 :clap:, ga er zeker mee stoeien!

1 Like

ik zie trouwens wel dat de Better Logic app, bijna 2 x zoveel geheugen vraagt als Scripts bij het uitvoeren 1 dezelfde test flow

Better logic vraag 35 mb terwijl scripts bij het uitvoeren alleen 21 mb gebruikt.
35 mb is wel wat aan de hoge kant toch? of kan dit geen kwaad?

Ik zal kijken of ik het geheugen van de VM (die de scripts uitvoert) kan verminderen.

2 Likes

Super! Ben benieuwd

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.

Ik heb de vraag bij support neergelegd, ben benieuwd wat ze antwoorden.

1 Like

Heb antwoord terug, zie fotos

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

2 Likes

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.

1 Like

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

1 Like

In Duitsland hebben ze ook google translate :wink::upside_down_face:

1 Like

haha is ook zo, ik zal wel even kort wat zeggen met een linkje

1 Like

Seit wann?

2 Likes

Voor diegene die het interessant vind, hier een scriptje welke de Sheet bij openen naar het laatst toegevoegde waarde brengt. Dit scheelt veel scrollen :rofl:

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

1 Like