displayType

displayType #

The displayType is an optional request parameter, which should indicate the expected display type, if this happens to be known beforehand. It should be either analog or digital. Providing this parameter might result in more accurate readings by Blicker. In addition, it can be used to verify that the readings by Blicker are in line with the expectations.

Based on the image, Blicker will try to determine the display type. If Blicker is able to verify that the expected display type is indeed found, no special message is returned. For example, when the expected display type was analog, the response will contain:

{
    "displayType": "analog",
    "expectedDisplayType": "analog"
}

When the display type could not be verified, the response will contain messageCode no_match_display_type. For example:

{
    "displayType": "analog",
    "expectedDisplayType": "digital",
    "messages": [
        {
            "code": "no_match_display_type",
            "message": "The display type of the detected meter does not match the expected display type.",
            "messageId": "<messageId",
            "objectId": "<objectId>"
        }
    ]
}

If this is the case, the end-user may have photographed the wrong meter. It is recommended to indicate this to the end-user and instruct them to take an image of the correct meter. In some cases, Blicker will repeatedly identify the display type to be different from the expected display type. Therefore, an end-user might be given the opportunity to submit the request anyway.

Example request #

curl -X 'POST' \
  'https://api.blicker.ai/blicker/2020-10-01' \
  -H 'subscription-key: <your subscription key>' \
  -F 'image=@test_image.jpg' \
  -F 'displayType=analog'
from pathlib import Path
from pprint import pprint

import requests

response = requests.post(
    "https://api.blicker.ai/blicker/2020-10-01",
    headers={"subscription-key": "<your subscription key>"},
    files={"image": ("test_image.jpg", Path("test_image.jpg").read_bytes())},
    data={"displayType": "analog"},
)

pprint(response.json())