You can install our site as a web app on your iOS device by utilizing the Add to Home Screen feature in Safari. Please see this thread for more details on this.
Note: This feature may not be available in some browsers.
@amund7 , where does 'Energy buffer' come from?? Above is my sons and is at '3.00'.
Energy buffer represents 4.5% of the Nominal full pack capacity.@amund7 , where does 'Energy buffer' come from?? Above is my sons and is at '3.00'.
Is it calculated or an exact value from Tesla?
I ask because I see other TM3 owners with 'Energy buffer' of '3.50'.
ie. TeslaFi - Battery Degradation Reports (upload your data)
Will Scan My Tesla every save my custom tabs. With each new version I have to redo them from scratch,
A few things from my wish list.
separate switch for km/miles and F/C
Inverted color mode. White background, black numbers.
Combined gauges (Min/max/average)
Thanks. I did recently see that referenced in another thread.Energy buffer represents 4.5% of the Nominal full pack capacity.
Feature request:
1. Allow me to name Bluetooth adapters.
2. Remember some of us have multiple Tesla's. Can we get something worked up to make switching between 2 cars easier? Its a bit of pain as I never know which Bluetooth is to which car.
@amund7 , where does 'Energy buffer' come from?? Above is my sons and is at '3.00'.
Is it calculated or an exact value from Tesla?
I ask because I see other TM3 owners with 'Energy buffer' of '3.50'.
I would say ditch the iOS version. LOL
I use ScanMyTesla so much that I have a dedicated phone just for that in the car.
Hah! I went out and bought an Android phone just for SMT!
param([string]$filein = $null, [int]$skipevery = 0, [int]$ms = 0) #Looks for -filein "C:\filename" from command line
write-host "INPUT FILE: '$($filein)'"
if ($skipevery -eq 0) { write-host "Note: option '-skipevery X' groups and skips every X lines." } else { $skip = $true }
if ($ms -eq 0) { write-host "Note: option '-ms X' groups and outputs data every X milliseconds." } else { $skipms = $true }
if ($filein.length -eq 0) { write-host "No input file specified. Use syntax '.\fixcsv.ps1 -filein ""C:\path\yourfile"" and re-try. Note: Command assumes filein will end with '.csv'" ; exit }
$filein_csv_result = select-string -pattern ".csv" -InputObject $filein
$fullpath_result = select-string -pattern ":" -InputObject $filein
if ($filein_csv_result.length -eq 0) { write-host ".csv NOT found in input filename. This script requires filename end with .csv" ; exit }
$MyFileIn = $filein
$MyPath = get-location
if ($fullpath_result.length -eq 0) { $MyFileIn = "$($MyPath)\$($MyFileIn)" }
#remove \.\ if it exists
$pathfix_result = select-string -pattern "\\.\\" -InputObject $MyFileIn
if ($pathfix_result.length -ne 0) { $MyFileIn = $MyFileIn.replace("\.\","\") }
#output file name
if ($ms -ne 0) {
$MyFileOut = $MyFileIn.replace(".csv","_out_$($ms)ms.csv")
} elseif ($skipevery -ne 0) {
$MyFileOut = $MyFileIn.replace(".csv","_out_skip$($skipevery).csv")
} else { $MyFileOut = $MyFileIn.replace(".csv","_out.csv") }
$file = New-Object System.IO.StreamReader -Arg $MyFileIn
$fileout = New-Object System.IO.StreamWriter $MyFileOut
write-host "OUTPUT FILE: '$($MyFileOut)'"
$i = 0
$a = 0
$filerow = 0
$valuescounted = $false
#Get header and count elements per line
$header = $file.ReadLine()
$filerow++
$Split = $header.Split(",")
Foreach ($value in $Split) {
#write-host "$($a)=$value"
#$MyArray[0,$a] = $value #array not init yet
#write-host "$($i),$($a) = $($MyArray[$i,$a])"
$a++
}
#a is now the number of tokens (because it started at zero, but incremented at the end)
$values = [INT]$a
write-host "Found $($values) data elements:"
$valuescounted = $true
write-host "$($header)"
$fileout.Writeline($header)
#Setup array. 0 could be header, 1 and 2 are for comparing
$MyArray = New-Object 'object[,]' 3,($values+1)
$line1 = $file.Readline()
$Split1 = $line1.Split(",")
$time1 = $Split1[0]
$deltaStart = $time1
$skipdelta = 0
$TimesMatch = $false
$line2 = $file.Readline() #cue up line2 for do loop
if ($skip) { $skipcount = 0; write-host "Skipping every $($skipevery) lines." }
if ($skipms) { $skipdelta = 0; write-host "Grouping every $($ms) milliseconds." }
$LinesRead = 2
$ChunkSize = 10000 #ChunkSize is how many rows to process before reporting in command window
$report = 0
do
{
$filerow++
$line1_ = $null
$Split2 = $line2.Split(",")
$time2 = $Split2[0]
# Combine entries if same timestamp
if ($time1 -eq $time2) { $TimesMatch = $true } else { $TimesMatch = $false }
if (($TimesMatch) -or (($skip) -and !($skipcount -eq $skipevery)) -or (($skipms) -and ($skipdelta -le $ms))) {
#write-host "DEBUG: Combining R:$($filerow) T:$($time1) with R:$($filerow+1) T:$($time2) skipdelta=$($skipdelta)ms."
#Fill MyArray 1 and 2
$a=1
Foreach ($value in $Split1) {$MyArray[1,$a] = $value ; $a++ }
$a=1
Foreach ($value in $Split2) {$MyArray[2,$a] = $value; $a++ }
$a=1
#Add values from line2 into line1
Foreach ($value in $Split1) {
if ($MyArray[2,$a].length -gt 0) {
$MyArray[1,$a] = $MyArray[2,$a]
if ($a -eq 1) { $line1_ += "$($MyArray[1,1])"} else { $line1_ += ",$($MyArray[1,$a])" }
} else {
if ($a -eq 1) { $line1_ += "$($value)" } else { $line1_ += ",$($value)" }
}
$a++
}
$line1 = $line1_
$Split1 = $line1.Split(",") #new split includes line2 elements just added
$time1 = $Split1[0]
if ((($skip) -or ($skipms)) -and !($TimesMatch)) {
$skipcount++
$skipdelta = ($time2 - $deltaStart)
if (($skip) -and ($skipcount -gt $skipevery)) { $skipcount = 0 }
}
} else {
#Replace INFINITY with 99999
$fileout.Writeline($line1.replace("Infinity","99999"))
#Move line2 into line1 position
$line1 = $line2
$Split1 = $line1.Split(",")
$time1 = $Split1[0]
if ($skip) {
$skipcount++
if ($skipcount -gt $skipevery) { $skipcount = 0 }
}
if (($skipms) -and ($skipdelta -gt $skipms)) { $deltaStart = $time2 ; $skipdelta = 0 }
}
$LinesRead++
$Report++
if ($Report -gt $ChunkSize) { $Report = 0 ; write-host ("{0:N0} lines processed." -f $LinesRead) }
} while ($line2 = $file.ReadLine())
write-host ("DONE.")
$file.close()
$fileout.close()
@amund7 , where does 'Energy buffer' come from?? Above is my sons and is at '3.00'.
Is it calculated or an exact value from Tesla?
I ask because I see other TM3 owners with 'Energy buffer' of '3.50'.
ie. TeslaFi - Battery Degradation Reports (upload your data)
I have just scratched the surface of making an IOS version, which requires redesigning a new UI from scratch in Xamarin.Forms (which is both Android and IOS compatible), and have gotten help from a pro designer. His sketches look amazing!
Question which information tab can I find the Battery heater. I'd like to monitor when it's on or off.
This is really exciting!! Would an iOS version require a compatible bluetooth-capable OBD2 device, such as the OBDLink MX+?
(and please please do make ºC available at the same time as miles instead of km, thank you!)
C/mi is on the list.
I think to begin with there will be only BLE support. I already have an MX+, so that will be the start, but it should then support any ELM327 compatible BLE device. Then hopefully wifi further down the line (for both platforms).
Awesome on both counts! I will buy the MX+ then. What's your rough estimate on availability of iOS version? (need to see if I can wait, else need to buy an Android device)
Very hard to say, I have just got all the macs, iphones and PCs set up to compile, build and deploy a demo application, and that has taken several months struggling with Mac OS upgrades, virtual machines, hackintoshes and other things. Now I just need to learn Xamarin.Forms and Xamarin.IOS, so it's a long steep hill. I have a dream that a very awful limited functionality beta version could show up in 1 or 2 months at best, and a nicely working good looking one maybe 3 to 6 months.