tuya_home_sdk_flutter 0.0.1 tuya_home_sdk_flutter: ^0.0.1 copied to clipboard
Tuya Smart home SDK for flutter
Tuya Home SDK Flutter #
Introduction #
Tuya Home SDK Flutter is a plugin for integrating Tuya IoT functionalities into Flutter applications. It provides a set of APIs for managing user authentication, controlling devices, managing homes and rooms, and more.
Installation #
To use Tuya Home SDK Flutter in your Flutter project, follow these steps:
- Add
tuya_home_sdk_flutter
as a dependency in yourpubspec.yaml
file:
dependencies:
flutter:
sdk: flutter
tuya_home_sdk_flutter: ^version_number
Usage #
Initialization #
To initialize the Tuya Home SDK, use the initSdk method:
import 'package:tuya_home_sdk_flutter/tuya_home_sdk_flutter.dart';
void main() async {
await TuyaHomeSdkFlutter.instance.initSdk('your_app_key', 'your_app_secret');
}
User Authentication #
You can authenticate users, send verification codes, register users, and login users using methods provided by the SDK. For example:
bool result = await TuyaHomeSdkFlutter.instance.sendVerifyCodeWithUserName(
username: 'john',
countryCode: '+1',
type: 2,
);
Device Discovery #
List<ThingSmartDeviceModel> devices = await TuyaHomeSdkFlutter.instance.discoverDeviceInfo();
Device Management #
connect device via BLE
var device = await startConfigBLEWifiDevice(
ssid: 'MyWiFiNetwork',
password: 'MyPassword',
homeId: 123,
deviceUuid: 'abcd1234',
deviceProductId: 'xyz789',
timeout: 200,
);
if (device != null) {
// Device configuration successful
} else {
// Error occurred during device configuration
}
Home and Room Management #
Manage homes, rooms, and assign devices to rooms:
// Add a home
num? homeId = await TuyaHomeSdkFlutter.instance.addHomeWithName(
name: 'My Home',
geoName: 'My Geo',
rooms: ['Living Room', 'Bedroom'],
latitude: 37.7749,
longitude: -122.4194,
);
// Get a list of rooms in a home
List<ThingSmartRoomModel> rooms = await TuyaHomeSdkFlutter.instance.getHomeRooms(
homeId: homeId!,
);
// Assign a device to a room
bool assigned = await TuyaHomeSdkFlutter.instance.assignDeviceToRoom(
deviceId: 'your_device_id',
homeId: homeId,
roomId: 1,
);