Common Issues#

Be sure to make sure your SDK is up to date, we may have already fixed your issue! Updating the Harbor SDK

Locker not found#

One of the most common issues is trying to open a lock through a port that is not connected to a lock. Here’s an image of one of our boards with the ports labeled 1-20

board-ports

If you are trying to open lock 4 but you only have ports 1-3 connected then you will get the error: 502 Locker not found.

Locker status changing, but lock not firing#

Scenario: When opening the locker with my app, the lock does not open but the status of the locker in Harbor Console changes to “rented” or “occupied”

Hardware causes#

Upside down lock#

blue wire incorrectly placed on top.

Location/Tower/Locker example

Correctly placed lock#

notice the white wire on the top.

Location/Tower/Locker example

Lock/Board connection wire loose#

this lock will not be able to communicate with the tower properly.

Location/Tower/Locker example

Lock wire correctly plugged in example:

Location/Tower/Locker example

Software causes#

How to fix it:

There’s many reasons why this error happens, here are some of the most common issues and their solutions:

  1. Your app does not have sufficient bluetooth permissions. Make sure you’ve followed the directions of how to request bluetooth permissions of your platform.

If you believe bluetooth is working properly: try resetting the events from Harbor Console.

  1. Your app is creating the drop off token but not sending it to the locker, so the locker is staying in “Rented” state.

    Fix: Make sure you are syncing with the tower before creating the drop off token. Discovering towers

Cannot connect to tower#

There are many possible reasons for this.

1. The most general one is: Check your credentials Double check your client and your client_secret and make sure they are right. Check with us at harbor too to make sure there wasn’t an issue copying it in transit.

2. If your credentials are fine, Check your environment. If you are asking production to connect to a sandbox board it will not work. You can find more information about environments here: Get Access Tokens.

3. Make sure you are close enough to the tower. You should not be more than a 10ft from the tower otherwise bluetooth can disconnect. 4.

Factory reset#

A factory reset will restore your board to the factory state, by resetting the tower ID to 0’s, removing the configuration, location, and name.
Factory resets are a great way to solve pesky issues, but should not have to be done regularly in the production environment.

To perform a factory reset:

  1. Log in to the environment your tower is in and connect to your tower.

  2. Press the “Factory reset” button and press “ok”. This will disconnect you from the tower.

  3. This will take a few minutes to complete. Once the process is complete you will see your tower displayed in every environment like this:

    Location/Tower/Locker example
  4. Your tower is now completely reset.

Factory reset without using the app#

Location/Tower/Locker example

The board has a factory reset button that can be accessed through a small pinhole on the side of the plastic case. Use a small item (like a toothpick) to press this button and hold it for 10 seconds to get the board to factory reset.

If you perform this kind of reset you need to contact us so that we will be able to also reset our server side

Error codes and what they mean:#

When something is broken you will recieve an error code. With this table your error code can be translated into more useful data for tracking down your errors.

Error Code Range

Description

100 - 199

Communication Packet Errors

100
101
102
103
104
105
106
107
108
Unknown message error.
Unsupported message ID.
Item key not found.
Item key found, invalid CBOR type.
Item valid, but invalid range.
Item valid, but length incorrect.
Item valid, but value incorrect.
Packet has expired.
CBOR message validation failed.

200 - 299

Authentication Errors

200
201
202
203
204
206
207
208
Unknown Auth error.
Failed authentication.
Session not found or expired.
Key not supported.
Session doesn’t have permissions.
Tower ID mismatch in sync command.
Payload signature invalid.
Payload too large.

300 - 399

Hardware Errors

300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
Placeholder hw error.
Locker Port not supported.
System out of memory.
Temp value above safe threshold.
Temp value below safe threshold.
Battery critically low.
SPI flash init failure or not found.
RTC communication failure.
Battery monitor failure.
Keypad failure.
Internal flash failure.
Battery voltage out of range.
Battery monitor not configured.
Battery has reached end of service.
Battery monitoring is disabled.

400-404

Firmware Errors

400
401
402
403
404
Unknown FW error.
Unknown CBOR library error.
Cbor buffer allocation too small.
Crypto library failure.
Invalid event stored.

500-510

System errors

500
501
502
503
504
505
506
507
508
509
510

Unknown system error.
Locker port not configured.
Locker not found.
Last opened locker data invalid.
No last opened locker found.
Not enough available resources.
Factory Reset in progress.
SPI Flash recovery in progress.
Invalid sync push command handling.
Attempt to configure locker while busy.
Attempt to sync while machinery is already
in use.

Tip

If you’re still having issues, contact us on slack. We are willing to help you (PST timezone)

HarborHarry