<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Michael, Chris,<div><br></div><div>Regarding Chris's iOS pull request, it seems I missed it. Github is supposed to notify, but in that case it didn't. I've found it, and merged it in. Just a small change:</div><div><br></div><div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><table class="diff-table  tab-size-8 " style="box-sizing: border-box; border-spacing: 0px; tab-size: 8; width: 918px; color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans, clean, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); position: static; z-index: auto;"><tbody style="box-sizing: border-box;"><tr class="js-expandable-line" data-position="0" style="box-sizing: border-box;"><td class="blob-num blob-num-expandable" colspan="2" style="box-sizing: border-box; padding: 0px; width: 100px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: middle; text-align: center; border-style: solid; border-color: rgb(213, 228, 242); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none; background-color: rgb(240, 245, 250);"><a href="https://github.com/webprofusion-chrisc/Open-Vehicle-iOS/commit/1d546ddfb55c892a7753139c1962a842e193aa56#diff-e1e125d6533544ee40194c0fae5eba9eR12" class="diff-expander js-expand" title="Expand" aria-label="Expand" data-url="/webprofusion-chrisc/Open-Vehicle-iOS/blob_excerpt/fee773c73ff983b91b8870e6fb9e63fdd22c1178?diff=unified&left_hunk_size=7&mode=100644&next_line_num_left=13&next_line_num_right=13&path=OpenVehicleApp%2Fovms%2FOCMSyncHelper.m&prev_line_num_left=&prev_line_num_right=&right_hunk_size=7" data-left-range="1-12" data-right-range="1-12" style="box-sizing: border-box; background-color: transparent; color: rgb(153, 153, 153); text-decoration: none; display: block; width: auto; height: auto; margin-right: -1px; padding: 4px 11px 4px 10px; cursor: pointer; background-position: initial initial; background-repeat: initial initial;"><span class="octicon octicon-unfold" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 1; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none;"></span></a></td><td class="blob-code blob-code-hunk" style="box-sizing: border-box; padding: 4px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: middle; white-space: pre; overflow: visible; border-color: rgb(213, 228, 242); background-color: rgb(248, 250, 253); border-width: 1px 0px;">@@ -13,7 +13,7 @@</td></tr><tr style="box-sizing: border-box;"><td id="diff-e1e125d6533544ee40194c0fae5eba9eL13" data-line-number="13" class="blob-num blob-num-context js-linkable-line-number selected-line" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(240, 219, 136); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none; background-color: rgb(246, 232, 181);"></td><td id="diff-e1e125d6533544ee40194c0fae5eba9eR13" data-line-number="13" class="blob-num blob-num-context js-linkable-line-number selected-line" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(240, 219, 136); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none; background-color: rgb(246, 232, 181);"></td><td class="blob-code blob-code-context selected-line" style="box-sizing: border-box; padding: 0px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; vertical-align: top; white-space: pre; overflow: visible; background-color: rgb(248, 238, 199);"><span class="add-line-comment octicon octicon-plus js-add-line-comment js-add-single-line-comment" data-path="OpenVehicleApp/ovms/OCMSyncHelper.m" data-anchor="diff-e1e125d6533544ee40194c0fae5eba9e" data-position="1" data-line="13" role="button" aria-label="Add line comment" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 20px; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none; position: relative; z-index: 5; float: left; width: 20px; height: 20px; margin: -1px -10px -1px -20px; color: rgb(255, 255, 255); text-align: center; cursor: pointer; background-color: rgb(65, 131, 196); background-image: linear-gradient(rgb(84, 144, 202), rgb(65, 131, 196)); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 4px; opacity: 0; -webkit-transform: scale(0.8, 0.8); transition: -webkit-transform 0.1s ease-in-out; -webkit-transition: -webkit-transform 0.1s ease-in-out; background-repeat: repeat no-repeat;"></span> #<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">import</span> <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>EntityName.h<span class="pl-pds" style="box-sizing: border-box;">"</span></span></td></tr><tr style="box-sizing: border-box;"><td id="diff-e1e125d6533544ee40194c0fae5eba9eL14" data-line-number="14" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td id="diff-e1e125d6533544ee40194c0fae5eba9eR14" data-line-number="14" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td class="blob-code blob-code-context" style="box-sizing: border-box; padding: 0px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; vertical-align: top; white-space: pre; overflow: visible;"><span class="add-line-comment octicon octicon-plus js-add-line-comment js-add-single-line-comment" data-path="OpenVehicleApp/ovms/OCMSyncHelper.m" data-anchor="diff-e1e125d6533544ee40194c0fae5eba9e" data-position="2" data-line="14" role="button" aria-label="Add line comment" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 20px; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none; position: relative; z-index: 5; float: left; width: 20px; height: 20px; margin: -1px -10px -1px -20px; color: rgb(255, 255, 255); text-align: center; cursor: pointer; background-color: rgb(65, 131, 196); background-image: linear-gradient(rgb(84, 144, 202), rgb(65, 131, 196)); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 4px; opacity: 0; -webkit-transform: scale(0.8, 0.8); transition: -webkit-transform 0.1s ease-in-out; -webkit-transition: -webkit-transform 0.1s ease-in-out; background-repeat: repeat no-repeat;"></span> </td></tr><tr style="box-sizing: border-box;"><td id="diff-e1e125d6533544ee40194c0fae5eba9eL15" data-line-number="15" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td id="diff-e1e125d6533544ee40194c0fae5eba9eR15" data-line-number="15" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td class="blob-code blob-code-context" style="box-sizing: border-box; padding: 0px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; vertical-align: top; white-space: pre; overflow: visible;"><span class="add-line-comment octicon octicon-plus js-add-line-comment js-add-single-line-comment" data-path="OpenVehicleApp/ovms/OCMSyncHelper.m" data-anchor="diff-e1e125d6533544ee40194c0fae5eba9e" data-position="3" data-line="15" role="button" aria-label="Add line comment" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 20px; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none; position: relative; z-index: 5; float: left; width: 20px; height: 20px; margin: -1px -10px -1px -20px; color: rgb(255, 255, 255); text-align: center; cursor: pointer; background-color: rgb(65, 131, 196); background-image: linear-gradient(rgb(84, 144, 202), rgb(65, 131, 196)); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 4px; opacity: 0; -webkit-transform: scale(0.8, 0.8); transition: -webkit-transform 0.1s ease-in-out; -webkit-transition: -webkit-transform 0.1s ease-in-out; background-repeat: repeat no-repeat;"></span> #<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">define</span> <span class="pl-en" style="box-sizing: border-box; color: rgb(121, 93, 163);">NULL_TO_NIL</span>(<span class="pl-v" style="box-sizing: border-box; color: rgb(29, 62, 129);">obj</span>) ({ <span class="pl-s3" style="box-sizing: border-box; color: rgb(0, 134, 179);">__typeof__</span> (obj) __obj = (obj); __obj == [<span class="pl-s3" style="box-sizing: border-box; color: rgb(0, 134, 179);">NSNull</span> <span class="pl-s3" style="box-sizing: border-box; color: rgb(0, 134, 179);">null</span>] ? <span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 134, 179);">nil</span> : obj; })</td></tr><tr style="box-sizing: border-box;"><td id="diff-e1e125d6533544ee40194c0fae5eba9eL16" data-line-number="16" class="blob-num blob-num-deletion js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(241, 192, 192); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none; background-color: rgb(255, 221, 221);"></td><td class="blob-num blob-num-deletion empty-cell" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(241, 192, 192); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none; background-color: rgb(255, 221, 221);"></td><td class="blob-code blob-code-deletion" style="box-sizing: border-box; padding: 0px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; vertical-align: top; white-space: pre; overflow: visible; background-color: rgb(255, 236, 236);"><span class="add-line-comment octicon octicon-plus js-add-line-comment js-add-single-line-comment" data-path="OpenVehicleApp/ovms/OCMSyncHelper.m" data-anchor="diff-e1e125d6533544ee40194c0fae5eba9e" data-position="4" data-line="16" role="button" aria-label="Add line comment" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 20px; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none; position: relative; z-index: 5; float: left; width: 20px; height: 20px; margin: -1px -10px -1px -20px; color: rgb(255, 255, 255); text-align: center; cursor: pointer; background-color: rgb(65, 131, 196); background-image: linear-gradient(rgb(84, 144, 202), rgb(65, 131, 196)); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 4px; opacity: 0; -webkit-transform: scale(0.8, 0.8); transition: -webkit-transform 0.1s ease-in-out; -webkit-transition: -webkit-transform 0.1s ease-in-out; background-repeat: repeat no-repeat;"></span>-#<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">define</span> <span class="pl-en" style="box-sizing: border-box; color: rgb(121, 93, 163);">BASE_URL</span> <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">@"</span>http://<span class="x x-first x-last" style="box-sizing: border-box; border-top-left-radius: 0.2em; border-bottom-left-radius: 0.2em; border-top-right-radius: 0.2em; border-bottom-right-radius: 0.2em; background-color: rgb(248, 203, 203);">www</span>.openchargemap.<span class="x x-first x-last" style="box-sizing: border-box; border-top-left-radius: 0.2em; border-bottom-left-radius: 0.2em; border-top-right-radius: 0.2em; border-bottom-right-radius: 0.2em; background-color: rgb(248, 203, 203);">org/api/</span>?output=json<span class="pl-pds" style="box-sizing: border-box;">"</span></span></td></tr><tr style="box-sizing: border-box;"><td class="blob-num blob-num-addition empty-cell" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(193, 233, 193); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none; background-color: rgb(219, 255, 219);"></td><td id="diff-e1e125d6533544ee40194c0fae5eba9eR16" data-line-number="16" class="blob-num blob-num-addition js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(193, 233, 193); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none; background-color: rgb(219, 255, 219);"></td><td class="blob-code blob-code-addition" style="box-sizing: border-box; padding: 0px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; vertical-align: top; white-space: pre; overflow: visible; background-color: rgb(234, 255, 234);"><span class="add-line-comment octicon octicon-plus js-add-line-comment js-add-single-line-comment" data-path="OpenVehicleApp/ovms/OCMSyncHelper.m" data-anchor="diff-e1e125d6533544ee40194c0fae5eba9e" data-position="5" data-line="16" role="button" aria-label="Add line comment" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 20px; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none; position: relative; z-index: 5; float: left; width: 20px; height: 20px; margin: -1px -10px -1px -20px; color: rgb(255, 255, 255); text-align: center; cursor: pointer; background-color: rgb(65, 131, 196); background-image: linear-gradient(rgb(84, 144, 202), rgb(65, 131, 196)); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 4px; opacity: 0; -webkit-transform: scale(0.8, 0.8); transition: -webkit-transform 0.1s ease-in-out; -webkit-transition: -webkit-transform 0.1s ease-in-out; background-repeat: repeat no-repeat;"></span>+#<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">define</span> <span class="pl-en" style="box-sizing: border-box; color: rgb(121, 93, 163);">BASE_URL</span> <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">@"</span>http://<span class="x x-first x-last" style="box-sizing: border-box; border-top-left-radius: 0.2em; border-bottom-left-radius: 0.2em; border-top-right-radius: 0.2em; border-bottom-right-radius: 0.2em; background-color: rgb(166, 243, 166);">api</span>.openchargemap.<span class="x x-first x-last" style="box-sizing: border-box; border-top-left-radius: 0.2em; border-bottom-left-radius: 0.2em; border-top-right-radius: 0.2em; border-bottom-right-radius: 0.2em; background-color: rgb(166, 243, 166);">io/v2/poi/</span>?output=json<span class="x x-first x-last" style="box-sizing: border-box; border-top-left-radius: 0.2em; border-bottom-left-radius: 0.2em; border-top-right-radius: 0.2em; border-bottom-right-radius: 0.2em; background-color: rgb(166, 243, 166);">&verbose=false</span><span class="pl-pds" style="box-sizing: border-box;">"</span></span></td></tr><tr style="box-sizing: border-box;"><td id="diff-e1e125d6533544ee40194c0fae5eba9eL17" data-line-number="17" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td id="diff-e1e125d6533544ee40194c0fae5eba9eR17" data-line-number="17" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td class="blob-code blob-code-context" style="box-sizing: border-box; padding: 0px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; vertical-align: top; white-space: pre; overflow: visible;"><span class="add-line-comment octicon octicon-plus js-add-line-comment js-add-single-line-comment" data-path="OpenVehicleApp/ovms/OCMSyncHelper.m" data-anchor="diff-e1e125d6533544ee40194c0fae5eba9e" data-position="6" data-line="17" role="button" aria-label="Add line comment" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 20px; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none; position: relative; z-index: 5; float: left; width: 20px; height: 20px; margin: -1px -10px -1px -20px; color: rgb(255, 255, 255); text-align: center; cursor: pointer; background-color: rgb(65, 131, 196); background-image: linear-gradient(rgb(84, 144, 202), rgb(65, 131, 196)); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 4px; opacity: 0; -webkit-transform: scale(0.8, 0.8); transition: -webkit-transform 0.1s ease-in-out; -webkit-transition: -webkit-transform 0.1s ease-in-out; background-repeat: repeat no-repeat;"></span> #<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">define</span> <span class="pl-en" style="box-sizing: border-box; color: rgb(121, 93, 163);">SWF</span>(<span class="pl-v" style="box-sizing: border-box; color: rgb(29, 62, 129);">format, args...</span>) [<span class="pl-s3" style="box-sizing: border-box; color: rgb(0, 134, 179);">NSString</span> <span class="pl-s3" style="box-sizing: border-box; color: rgb(0, 134, 179);">stringWithFormat:</span>format, args]</td></tr><tr style="box-sizing: border-box;"><td id="diff-e1e125d6533544ee40194c0fae5eba9eL18" data-line-number="18" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td id="diff-e1e125d6533544ee40194c0fae5eba9eR18" data-line-number="18" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td class="blob-code blob-code-context" style="box-sizing: border-box; padding: 0px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; vertical-align: top; white-space: pre; overflow: visible;"><span class="add-line-comment octicon octicon-plus js-add-line-comment js-add-single-line-comment" data-path="OpenVehicleApp/ovms/OCMSyncHelper.m" data-anchor="diff-e1e125d6533544ee40194c0fae5eba9e" data-position="7" data-line="18" role="button" aria-label="Add line comment" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 20px; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none; position: relative; z-index: 5; float: left; width: 20px; height: 20px; margin: -1px -10px -1px -20px; color: rgb(255, 255, 255); text-align: center; cursor: pointer; background-color: rgb(65, 131, 196); background-image: linear-gradient(rgb(84, 144, 202), rgb(65, 131, 196)); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 4px; opacity: 0; -webkit-transform: scale(0.8, 0.8); transition: -webkit-transform 0.1s ease-in-out; -webkit-transition: -webkit-transform 0.1s ease-in-out; background-repeat: repeat no-repeat;"></span> </td></tr><tr style="box-sizing: border-box;"><td id="diff-e1e125d6533544ee40194c0fae5eba9eL19" data-line-number="19" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td id="diff-e1e125d6533544ee40194c0fae5eba9eR19" data-line-number="19" class="blob-num blob-num-context js-linkable-line-number" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); vertical-align: top; text-align: right; border-style: solid; border-color: rgb(238, 238, 238); border-width: 0px 1px 0px 0px; cursor: pointer; -webkit-user-select: none;"></td><td class="blob-code blob-code-context" style="box-sizing: border-box; padding: 0px 10px; position: relative; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; vertical-align: top; white-space: pre; overflow: visible;"><span class="add-line-comment octicon octicon-plus js-add-line-comment js-add-single-line-comment" data-path="OpenVehicleApp/ovms/OCMSyncHelper.m" data-anchor="diff-e1e125d6533544ee40194c0fae5eba9e" data-position="8" data-line="19" role="button" aria-label="Add line comment" style="box-sizing: border-box; font-size: 16px; font-family: octicons; line-height: 20px; display: inline-block; -webkit-font-smoothing: antialiased; -webkit-user-select: none; position: relative; z-index: 5; float: left; width: 20px; height: 20px; margin: -1px -10px -1px -20px; color: rgb(255, 255, 255); text-align: center; cursor: pointer; background-color: rgb(65, 131, 196); background-image: linear-gradient(rgb(84, 144, 202), rgb(65, 131, 196)); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 4px; opacity: 0; -webkit-transform: scale(0.8, 0.8); transition: -webkit-transform 0.1s ease-in-out; -webkit-transition: -webkit-transform 0.1s ease-in-out; background-repeat: repeat no-repeat;"></span> <span class="pl-c" style="box-sizing: border-box; color: rgb(150, 152, 150);">//#define UPDATE_SEC 120.0</span></td></tr></tbody></table></div></blockquote></div><div><br></div><div>I'll make sure it gets included with the next build for iOS.</div><div><br></div><div>For Android, I still have my eclipse based build environment working. If anyone wants/needs me to build a test apk let me know.</div><div><br></div><div>Regards, Mark.</div><div><br><div><div>On 12 Jan, 2015, at 7:14 pm, Michael Balzer <<a href="mailto:dexter@expeedo.de">dexter@expeedo.de</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  

    <meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
  
  <div bgcolor="#FFFFFF" text="#000000">
    FYI<br>
    <div class="moz-forward-container"><br>
      <br>
      -------- Weitergeleitete Nachricht --------
      <table class="moz-email-headers-table" border="0" cellpadding="0" cellspacing="0">
        <tbody>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Betreff:
            </th>
            <td>Re: OVMS App missing most charge points, detail info
              wrong</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Datum: </th>
            <td>Mon, 12 Jan 2015 18:30:38 +0800</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Von: </th>
            <td>Christopher Cook (Open Charge Map)
              <a class="moz-txt-link-rfc2396E" href="mailto:christopher.cook@openchargemap.net"><christopher.cook@openchargemap.net></a></td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">An: </th>
            <td>Michael Balzer <a class="moz-txt-link-rfc2396E" href="mailto:dexter@expeedo.de"><dexter@expeedo.de></a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <pre>Hi Michael,

I'm also currently trying to get my android dev setup working again (for 
the OCM app). Not easy especially as they have now retired eclipse and 
moved to the new gradle build system in Android Studio, so there's lots 
of trial and error required to get things building again.

The API prefix is also wrong in both cases, it should be:
<a class="moz-txt-link-freetext" href="http://api.openchargemap.io/v2/referencedata/">http://api.openchargemap.io/v2/referencedata/</a> (for pulling the reference 
data for dropdown lists etc)

And the POI query should really be of the form:
<a class="moz-txt-link-freetext" href="http://api.openchargemap.io/v2/poi/?output=json&verbose=false&">http://api.openchargemap.io/v2/poi/?output=json&verbose=false&</a><filter 
params>

Max results filter can be much higher (2500 etc) but will potentially 
return more data (and take longer), my own preference would be to 
default the search to a smaller distance. API docs are here: 
<a class="moz-txt-link-freetext" href="http://openchargemap.org/site/develop/api">http://openchargemap.org/site/develop/api</a>

It's also wrong on iOS, I did submit a pull request a while back but I 
don't think anything happened to it.

Chris
On 12/01/2015 18:13, Michael Balzer wrote:
> Hi Christopher,
>
> thank you for your help!
>
> From home this morning ( 51.263201, 7.150157 ) I had 494/495 stations 
> on the map.
> From office now ( 51.321685, 7.343394 ) I have 507 stations. The same 
> stations are missing.
>
> The search radius according to the App should already be switchable to 
> the vehicle range, but that switch has no effect on the number of 
> stations.
>
> So this definitely looks like the 500 results limit.
>
> Search:
> <a class="moz-txt-link-freetext" href="https://github.com/openvehicles/Open-Vehicle-Android/search?utf8=%E2%9C%93&q=openchargemap">https://github.com/openvehicles/Open-Vehicle-Android/search?utf8=%E2%9C%93&q=openchargemap</a> 
>
>
> Seems to me it's this API call:
> <a class="moz-txt-link-freetext" href="https://github.com/openvehicles/Open-Vehicle-Android/blob/81971beb45defd87e4c993027c00e0fa3e2b68ec/OpenVehicleApp/src/com/openvehicles/OVMS/ui/MainActivity.java#L140">https://github.com/openvehicles/Open-Vehicle-Android/blob/81971beb45defd87e4c993027c00e0fa3e2b68ec/OpenVehicleApp/src/com/openvehicles/OVMS/ui/MainActivity.java#L140</a> 
>
>
> That also explains why the range switch has no effect, the distance is 
> fixed in the call.
>
> There's another call in ui/FragMap, but that's fixed (some 
> init/default maybe).
>
> I'll try to change the maxresults parameter, but I first need to get a 
> working Android development environment -- haven't developed Apps up 
> to now.
>
> Maybe the maxresults parameter should be user configurable.
>
> Regards,
> Michael
>
>
> Am 12.01.2015 um 01:57 schrieb Christopher Cook (Open Charge Map):
>> Hi Michael,
>>
>> I'll download the code for the app from github and have a look, I 
>> haven't developed any of the OCM integration myself and I think 
>> (certainly in the case of iOS, not sure about Android) that 3rd party 
>> developers were paid to deliver the integration. Presumably then the 
>> hope is that the community will refine their efforts via github - I'm 
>> assuming the path is very much clear for enthusiastic developers to 
>> submit patches for these apps directly. I can help more on 
>> integration questions like calling the OCM APIs etc (such as your 
>> filtering question). I've held off contributing directly to the apps 
>> because I'm limited for time with OCM and other projects.
>>
>> If I find a simple fix for the API request to OCM I'll submit a pull 
>> request to github.
>>
>> For the example you've given, where is the center of your search 
>> (lat/long if possible)? By default the app is search from your 
>> current lat/long with a radius of 285 KM, max 500 results. Is it 
>> possible there are more than 500 charging locations in your search area?
>>
>> Best regards,
>> Christopher Cook
>> Open Charge Map
>>
>> On 12/01/2015 00:36, Michael Balzer wrote:
>>> Hi Christopher,
>>>
>>> I first posted this on the OVMS developer list (I'm the Twizy 
>>> developer). J-C Saint-Po told me to forward this to you:
>>>
>>> I'm missing about 80% of all OCM charge stations on the OVMS map 
>>> display (Android).
>>>
>>> I cannot find any criteria in the station data for this effect. 
>>> Example:
>>> visible: <a class="moz-txt-link-freetext" href="http://www.openchargemap.org/site/poi/details/32598">http://www.openchargemap.org/site/poi/details/32598</a>
>>> missing: <a class="moz-txt-link-freetext" href="http://www.openchargemap.org/site/poi/details/32607">http://www.openchargemap.org/site/poi/details/32607</a>
>>>
>>> Both stations are from the same provider with identical capabilities.
>>>
>>> The connection filter does not affect this, neither does the range 
>>> filter or clustering.
>>>
>>> Also the detail info on visible points is wrong.
>>> See attached screen shots for the map label and detail info on 
>>> #32598 as shown in the App.
>>>
>>> If I can help by more examples, tell me.
>>>
>>> This is no new issue, has been this way from the beginning.
>>> I just decided to add some missing stations from my region and then 
>>> discovered they are not really missing in the OCM database.
>>>
>>> Regards,
>>> Michael
>>>
>>
>>
>
>


-- 
Christopher Cook
Open Charge Map

</pre>
      <br>
    </div>
    <br>
  </div>

_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.teslaclub.hk">OvmsDev@lists.teslaclub.hk</a><br>http://lists.teslaclub.hk/mailman/listinfo/ovmsdev<br></blockquote></div><br></div></body></html>