Nodo-Domotica / Nodo-Core

Arduino based Domotica platform
http://www.nodo-domotica.nl
4 stars 8 forks source link

ClockSync komt met de verkeerde tijd en datum. #906

Open ronnalt opened 9 years ago

ronnalt commented 9 years ago

Hallo Paul,

Bij gebruik van het commando ClockSync in de WebAPP wordt de datum op 24-11-2011 en de tijd op 08:00 uur gezet. Mogelijk heeft te maken met de I2C.

Input=HTTP; Unit=1; Event=ClockSync Output=RF; Unit=0; Event=ClockSync Output=HTTP; Unit=1; Event=ClockSync Output=RF; Unit=0; Event=ClockSetDate 24-11-2011 Output=RF24; Unit=0; Event=ClockSetDate 24-11-2011 Output=HTTP; Unit=1; Event=ClockSetDate 24-11-2011 Output=RF; Unit=0; Event=ClockSetTime 08:02 Output=RF24; Unit=0; Event=ClockSetTime 08:02 Output=HTTP; Unit=1; Event=ClockSetTime 08:02

Via de terminal sessie is de output als hieronder clocksync Input=Terminal; Unit=1; Event=ClockSync Output=RF; Unit=0; Event=ClockSync Output=HTTP; Unit=1; Event=ClockSync Output=RF; Unit=0; Event=ClockSetDate 07-09-2001 Output=RF24; Unit=0; Event=ClockSetDate 07-09-2001 Output=HTTP; Unit=1; Event=ClockSetDate 07-09-2001 Output=RF; Unit=0; Event=ClockSetTime 02:20 Output=RF24; Unit=0; Event=ClockSetTime 02:20 Output=HTTP; Unit=1; Event=ClockSetTime 02:20

NODO-Core Build 817, NES v2.01, WebApp (SWINWA-PROD-V099)

ps:via deze wijze mijn oprechte complimenten voor dit project. Ik beleef er jaren veel plezier aan!

Nodo-Domotica commented 9 years ago

2x Dank. De ClockSync bug was al gespot ;-)

Op di 19 mei 2015 20:53 schreef ronnalt notifications@github.com:

Hallo Paul,

Bij gebruik van het commando ClockSync wordt de datum op 24-11-2011 en de tijd op 08:00 uur gezet. Mogelijk heeft te maken met de I2C.

Input=HTTP; Unit=1; Event=ClockSync Output=RF; Unit=0; Event=ClockSync Output=HTTP; Unit=1; Event=ClockSync Output=RF; Unit=0; Event=ClockSetDate 24-11-2011 Output=RF24; Unit=0; Event=ClockSetDate 24-11-2011 Output=HTTP; Unit=1; Event=ClockSetDate 24-11-2011 Output=RF; Unit=0; Event=ClockSetTime 08:02 Output=RF24; Unit=0; Event=ClockSetTime 08:02 Output=HTTP; Unit=1; Event=ClockSetTime 08:02

NODO-Core Build 817, NES v2.01, WebApp (SWINWA-PROD-V099)

ps:via deze wijze mijn oprechte complimenten voor dit project. Ik beleef er jaren veel plezier aan!

— Reply to this email directly or view it on GitHub https://github.com/Nodo-Domotica/Nodo-Core/issues/906.

pommie65 commented 9 years ago

Hoi,

wordt deze bug wel opgelost, Ik heb grote problemen met alles wat tijd- en/of clockdaylight-gedreven is.

Nodo-Domotica commented 9 years ago

Wordt zeker opgelost. Het beste kun je het "ClockSync HTTP" commando nu even niet gebruiken en handmatig de tijd instellen. Het gaat mis bij het ophalen van de tijd uit de webapp. Als het goed is loopt de realtimeclock nauwkeurig genoeg om hier even mee uit de voeten te kunnen.

Groeten Paul.

Op do 25 jun. 2015 11:28 schreef Robert Teunissen <notifications@github.com

:

Hoi,

wordt deze bug wel opgelost, Ik heb grote problemen met alles wat tijd- en/of clockdaylight-gedreven is.

— Reply to this email directly or view it on GitHub https://github.com/Nodo-Domotica/Nodo-Core/issues/906#issuecomment-115183180 .

Nodo-Domotica commented 8 years ago

We gaan de WebApp/HTTP communicatie anders opzetten m.b.v. een WebSocket. (Snelheidswinst en eenvoudiger verbinding opzetten tussen Nodo en WebApp). Met deze klus moet dit stuk funktionaliteit zowiezo worden herschreven. Ik zet dit issue daarom even in de wacht. Dank.

Ivanverdonck commented 8 years ago

Hoi,

Gezien ik mijn nodo ook als wekker gebruik... heb ik het even bestudeerd en heb een oplossing gevonden: Probleem is dat hij 1keer de klok goed insteld en daarna overschrijft met een foutieve waarde (string lengte was 0) .... Mijn oplossing zorgt er voor dat hij enkel de goede waarde schrijft... if(TempEvent.Par2<0xffffffff && strlen(TempString)>0)

orgineel in Port_Ethernet.ino: if(ClockSyncHTTP) // als de tijd wordt meegeleverd, dan de clock gelijkzetten. { if(ParseHTTPRequest(IPBuffer,"time=", TempString,";, ")) { ClearEvent(&TempEvent); TempEvent.Command=CMD_CLOCK_TIME; TempEvent.Par2=str2ultime(TempString); if(TempEvent.Par2<0xffffffff) ExecuteCommand(&TempEvent); }
if(ParseHTTPRequest(IPBuffer,"date=", TempString,";, ")) { ClearEvent(&TempEvent); TempEvent.Command=CMD_CLOCK_DATE; TempEvent.Par2=str2uldate(TempString); if(TempEvent.Par2<0xffffffff) ExecuteCommand(&TempEvent); }
}

aangepast: if(ClockSyncHTTP) // als de tijd wordt meegeleverd, dan de clock gelijkzetten. { if(ParseHTTPRequest(IPBuffer,"time=", TempString,";, ")) { ClearEvent(&TempEvent); TempEvent.Command=CMD_CLOCK_TIME; TempEvent.Par2=str2ultime(TempString); if(TempEvent.Par2<0xffffffff && strlen(TempString)>0) ExecuteCommand(&TempEvent); }
if(ParseHTTPRequest(IPBuffer,"date=", TempString,";, ")) { ClearEvent(&TempEvent); TempEvent.Command=CMD_CLOCK_DATE; TempEvent.Par2=str2uldate(TempString); if(TempEvent.Par2<0xffffffff && strlen(TempString)>0) ExecuteCommand(&TempEvent); }
}

Nodo-Domotica commented 8 years ago

He thanks. Ik zal het bij de volgende release meenemen.

Groeten Paul.

Op za 16 jan. 2016 16:17 schreef Ivanverdonck notifications@github.com:

Hoi,

Gezien ik mijn nodo ook als wekker gebruik... heb ik het even bestudeerd en heb een oplossing gevonden: Probleem is dat hij 1keer de klok goed insteld en daarna overschrijft met een foutieve waarde (string lengte was 0) .... Mijn oplossing zorgt er voor dat hij enkel de goede waarde schrijft... if(TempEvent.Par2<0xffffffff && strlen(TempString)>0)

_orgineel in PortEthernet.ino: if(ClockSyncHTTP) // als de tijd wordt meegeleverd, dan de clock gelijkzetten. { if(ParseHTTPRequest(IPBuffer,"time=", TempString,";, ")) { ClearEvent(&TempEvent); TempEvent.Command=CMD_CLOCK_TIME; TempEvent.Par2=str2ultime(TempString); if(TempEvent.Par2<0xffffffff) ExecuteCommand(&TempEvent); }

if(ParseHTTPRequest(IPBuffer,"date=", TempString,";, ")) { ClearEvent(&TempEvent); TempEvent.Command=CMD_CLOCK_DATE; TempEvent.Par2=str2uldate(TempString); if(TempEvent.Par2<0xffffffff) ExecuteCommand(&TempEvent); }

}

aangepast: if(ClockSyncHTTP) // als de tijd wordt meegeleverd, dan de clock gelijkzetten. { if(ParseHTTPRequest(IPBuffer,"time=", TempString,";, ")) { ClearEvent(&TempEvent); TempEvent.Command=CMD_CLOCK_TIME; TempEvent.Par2=str2ultime(TempString); if(TempEvent.Par2<0xffffffff && strlen(TempString)>0) ExecuteCommand(&TempEvent); }

if(ParseHTTPRequest(IPBuffer,"date=", TempString,";, ")) { ClearEvent(&TempEvent); TempEvent.Command=CMD_CLOCK_DATE; TempEvent.Par2=str2uldate(TempString); if(TempEvent.Par2<0xffffffff && strlen(TempString)>0) ExecuteCommand(&TempEvent); }

}

— Reply to this email directly or view it on GitHub https://github.com/Nodo-Domotica/Nodo-Core/issues/906#issuecomment-172215710 .