Plugwise Smile P1 – De tijd klopt niet
Veel mensen klagen dat de tijd van de Smile P1 niet klopt, dit is juist!, de smile houd geen rekening met “de wintertijd”!, in de wintertijd (van November t/m Maart) loopt de smile 1 uur achter, in de zomertijd (van April t/m Oktober) klopt het wel!
Tijdverschil tussen APP’s (Android/iOS) en Windows software.
Het volgende is mij gemaild:
De grafieken op de iPad app en de PC app zijn een uur verschiven t.o.v. elkaar.
Een uurbalk (18:00-19:00) staat op de iPad op 19:00 uur en op de PC op 18:00 uur.
Waarom geen “wintertijd”?
Ik vermoed dat plugwise hiervoor heeft gekozen omdat je anders geen juiste chronologische statistieken en/of grafieken uit je smile kan halen want:
Van wintertijd naar zomertijd heb je een uur geen meetgegevens omdat de klok van 02:00 naar 03:00 wordt verzet!
Van zomertijd naar wintertijd heb je een uur aan dubbele meetgegevens omdat de klok van 03:00 naar 02:00 verzet!
Mail d.d. 2013-03-01 Leo Plugge:
1 2 |
De grafieken op de iPad app en de PC app zijn een uur verschiven t.o.v. elkaar. Een uurbalk (18:00-19:00) staat op de iPad op 19:00 uur en op de PC op 18:00 uur. |
Tijd corrigeren en doorrekenen.
Je kan deze afwijking zelf corrigeren, maar dan moet je wel alles doorrekenen (incl. wintertijden en schrikkeljaren), ik heb hier een scriptvoorbeeld gemaakt met Autoit3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
$TelegramDataDatetime = _XMLGetAttrib("/telegrams/telegram[" & $teller & "]", "log_date") $TelegramJaar = StringMid($TelegramDataDatetime, 1, 4) $TelegramMaand = StringMid($TelegramDataDatetime, 6, 2) $TelegramDag = StringMid($TelegramDataDatetime, 9, 2) $TelegramUur = StringMid($TelegramDataDatetime, 12, 2) $TelegramMinuten = StringMid($TelegramDataDatetime, 15, 2) ;Smile Wintertijd 'hotfix', in de winter moet er 1 uur bij op! Global $DateISO = $TelegramJaar & $TelegramMaand & $TelegramDag $ZomertijdFlag = 0 If $DateISO > 20110327 And $DateISO < 20111030 Then $ZomertijdFlag = 1 ;2011 If $DateISO > 20120325 And $DateISO < 20121028 Then $ZomertijdFlag = 1 ;2012 If $DateISO > 20130330 And $DateISO < 20131027 Then $ZomertijdFlag = 1 ;2013 If $DateISO > 20140329 And $DateISO < 20141026 Then $ZomertijdFlag = 1 ;2014 If $DateISO > 20150328 And $DateISO < 20151025 Then $ZomertijdFlag = 1 ;2015 If $DateISO > 20160326 And $DateISO < 20161030 Then $ZomertijdFlag = 1 ;2016 If $DateISO > 20170325 And $DateISO < 20171029 Then $ZomertijdFlag = 1 ;2017 If $DateISO > 20180324 And $DateISO < 20181028 Then $ZomertijdFlag = 1 ;2018 If $DateISO > 20190330 And $DateISO < 20191027 Then $ZomertijdFlag = 1 ;2019 If $DateISO > 20200328 And $DateISO < 20201025 Then $ZomertijdFlag = 1 ;2020 If $DateISO > 20210327 And $DateISO < 20211031 Then $ZomertijdFlag = 1 ;2021 If $DateISO > 20220326 And $DateISO < 20221030 Then $ZomertijdFlag = 1 ;2022 If $DateISO > 20230325 And $DateISO < 20231029 Then $ZomertijdFlag = 1 ;2023 If $DateISO > 20240330 And $DateISO < 20241027 Then $ZomertijdFlag = 1 ;2024 If $DateISO > 20250329 And $DateISO < 20251026 Then $ZomertijdFlag = 1 ;2025 If $DateISO > 20260328 And $DateISO < 20261025 Then $ZomertijdFlag = 1 ;2026 If $DateISO > 20270327 And $DateISO < 20271031 Then $ZomertijdFlag = 1 ;2027 If $ZomertijdFlag = 0 Then ;Het is winter, er moet 1 uur bij op ;-) GlobaL $SchrikkelJaarFlag = 0 If $TelegramJaar = 2016 Then $SchrikkelJaarFlag = 1 ;2016 If $TelegramJaar = 2020 Then $SchrikkelJaarFlag = 1 ;2020 If $TelegramJaar = 2024 Then $SchrikkelJaarFlag = 1 ;2024 Global $Maanddagen = 0 If $TelegramMaand = 1 Then $Maanddagen = 31 If $TelegramMaand = 2 Then $Maanddagen = 28 If $TelegramMaand = 2 And $SchrikkelJaarFlag = 1 Then $Maanddagen = 29 If $TelegramMaand = 3 Then $Maanddagen = 31 If $TelegramMaand = 4 Then $Maanddagen = 30 If $TelegramMaand = 5 Then $Maanddagen = 31 If $TelegramMaand = 6 Then $Maanddagen = 30 If $TelegramMaand = 7 Then $Maanddagen = 31 If $TelegramMaand = 8 Then $Maanddagen = 31 If $TelegramMaand = 9 Then $Maanddagen = 30 If $TelegramMaand = 10 Then $Maanddagen = 31 If $TelegramMaand = 11 Then $Maanddagen = 30 If $TelegramMaand = 12 Then $Maanddagen = 31 ; Alles doorrekenen als > 23 uur $TelegramUur +=1 If $TelegramUur > 23 Then $TelegramUur = 0 $TelegramDag +=1 If $TelegramDag > $Maanddagen Then $TelegramDag = 1 $TelegramMaand +=1 If $TelegramMaand > 12 Then $TelegramMaand = 1 $TelegramJaar +=1 EndIf EndIf EndIf EndIf |