Troubleshooting unsorted

From Larnitech wiki page
Jump to navigation Jump to search

Disk usage error

Check what folder is full:

cd /storage
du -h -d 1

If folder is /storage/history, then write in screen:

history delete old

This will delete history of connected devices.

Registering email with no verification

testemail@gmail.com.no-check if there is ".no-check" in the email address it will not send email for vefirication

Alice

https://dialogs.yandex.ru/store/skills/f636b340-larnitech

Upload backup from server A to server B

  1. Save backup on server A;
  2. Download it;
  3. Switch module ID on server B to A's ID;
  4. Copy and save somewhere B server's sn from logic->hw;
  5. Install needed plugins;
  6. Switch server mode to 'Gateway';
  7. Upload backup to B and restore it;
  8. Switch sn="xxxxxxxx" on B in logic.xml to the sn from p.4;
  9. Switch back server mode to 'Default'

Find out password from LT_Setup

sqlite3 /home/settings/db/larnitech.db
select * from accounts;

Control valve-heating from script

sprintf(strCommand, "%03d:%03d0ts:%d",ID, SID, setpoint);
strCommand[7]=0;
setStatus(1000:102, &strCommand);

Bluetooth

  1. Connect the module.
  2. Find item in logic with type="json".
  3. Add sub-type="btunreg" json item.
  4. Turn on "Edit mode" in the app.
  5. Connect BT device from menu-> setup-> Bluetooth.

No modules in lt_setup after reset to factory defaults via web on the new (3.xx) lt_setup

You need to be very carefully. If any errors in the file system - it will not boot and you will need to send the device to repair!
Send command bootrw, then bootro.
Edit /boot/config.txt with data from another server, where all works correctly.

How to add http-API2 converter

  1. Create folder /home/html/api_v2.
  2. Put the file (index.php) into the folder.
  3. Enable API in LTsetup
  4. Request example: http://192.168.67.154/api_v2/?{"request":"status-get","addr":"395:14","API-KEY":"08283242722612433"}
index.php
<?php

function api_send($sock, $req) {
    $r = '-JSON-'.$req;
    return fwrite($sock, pack('I', strlen($r)) . $r);
}

function api_recv($sock) {
    $s = fread($sock, 4);
    $size = unpack("I", $s)[1];
    $data = fread($sock, $size);
    if (strpos($data, '"error"')) {
	die(substr($data, 7));
    }
    return substr($data, 7);
}

$headers = apache_request_headers();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $post = file_get_contents('php://input');
} else {
    $post = urldecode($_SERVER['QUERY_STRING']);
}

if (!isset($headers['API-KEY'])) { // API key not found in header, Checking request
    $req = json_decode($post, true);
    if (!isset($req['API-KEY'])) die('No API-KEY provided');
    $key = $req['API-KEY'];
    unset($req['API-KEY']);
    $post = json_encode($req);
} else $key = $headers['API-KEY'];

$sock = stream_socket_client('unix:///tmp/sh.socket', $errno, $errst);
$auth_req = '{"request": "authorize","key": "'.$key.'"}';
api_send($sock, $auth_req);
api_recv($sock);
api_send($sock, $post);
echo api_recv($sock);
fclose($sock);