Do you know that Kaiju now comes with a REST API support?
You can call the Kaiju API with the tool or language of your choice, and Kaiju will return nicely JSON-formatted results.
For example, to analyse a captured data you can do:
Replace:
- xxxxxxxxx@gmail.com by your kaiju email account
- XX:XX:XX:XX:XX:XX by your PandwaRF MAC address
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx by your Kaiju API token (found in your Kaiju User Profile page)
<Input your binary data here>
by the RF data captured. Not ethat you can alsouse rawHexStream if you have hex data.
You will receive a JSON response like:
{
"user": "comthings1@gmail.com",
"id": "433f1679-4679-475e-adcc-73b4a237dd9f",
"name": "kaiju_compute_analyze_detailed",
"status": "queued",
"progress": 0,
"complete": false,
"failedReason": "",
"resultType": "analyze/detailed",
"enqueuedAt": "2021-11-25T10:07:56.576538Z",
"startedAt": null,
"endedAt": null,
"queue": "high",
"kaijuVersionUsed": "v286",
"origin": "PandwaRF Rogue Pro",
"pandwaRfProduct": 25846
}
Then use the provided task id (433f1679-4679-475e-adcc-73b4a237dd9f) to query the Kaiju analysis result:
curl --location --request GET 'https://rolling.pandwarf.com/api/v1/remote/433f1679-4679-475e-adcc-73b4a237dd9f' \
--header 'Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ' \
--header 'Cookie: csrftoken=fJfzYwaRUSUt8RN0PbtcyWqcpcqOq7cw7dyNskQpUIquBFTEjK65a5VbVZv481gl' \
--data-raw ''
You will receive a JSON response like:
{
"task": {
...Removed data...
},
"rxTxConfig": {
...Removed data...
},
"generatedTxConfig": null,
"remoteData": {
"manufacturerCodeId": "MC027",
"type": "Gate Opener",
"brand": "FAAC",
"model": "RC",
"serialNumberHex": "0x00061C0",
"syncCounter": 4,
"fixedPartHex": "0x2600061C0",
"plainTextHex": "",
"cipherTextHex": "0x744D8955",
"buttonStatus": 6,
"encoder": "PWM 198",
"cipher": "KeeLoq",
"createdAt": "2021-11-25T10:04:39.871711Z",
"locked": false,
"rollingCodes": [],
"imageUrl": "https://example.com/static/assets/images/remotes/gate_opener/ic_remote_faac_rc.png"
}
The (not so) complete documentation is available as a Swagger or Redoc specifications.
You can see how to use the most important API in this video, using curl: Kaiju API for rolling code analysis & generation.