switchbot_api_dio 0.1.1 copy "switchbot_api_dio: ^0.1.1" to clipboard
switchbot_api_dio: ^0.1.1 copied to clipboard

A simple implementation of SwitchBotAPI (v1.1) client with dio library.

switchbot_api_dio #

Pub test

A simple implementation of SwitchBotAPI (v1.1) client with dio library.

Note: This is a 3rd party library

Features #

  • ✅ Get device list
  • ✅ Get device status
  • ✅ Send device control command
  • ✅ Get scene list
  • ✅ Execute manual scenes
  • ❌ Webhook

Details of each API endpoint are described in SwitchBotAPI docs.

Getting started #

Add switchbot_api_dio package to your pubspec dependencies.

Usage #

Initialize client #

User token and secret are required for api authorization.
These credentials are available in developer options of SwitchBot official app. Please follow the steps described in SwitchBotAPI docs.

import 'package:switchbot_api_dio/switchbot_api_dio.dart';

final api = SwitchBotApi(
  userToken: 'token', 
  userSecret: 'secret',
);

Get devices and send control command #

void main() async {
  final collection = await api.getDevices();
  
  // A list of physical devices
  print(collection.deviceList);
  // A list of virtual infrared remote devices
  print(collection.infraredRemoteList);

  // Almost all devices support 'turnOn' command
  await api.controlVirtualDevice(
    device: collection.infraredRemoteList[0],
    command: VirtualDeviceCommand.turnOn(),
  );
  // Send 'press' command to physical device 'Bot'
  await api.controlPhysicalDevice(
    device: collection.deviceList[0],
    command: PhysicalDeviceCommand.bot.press(),
  );
}

Get manual scenes and execute #

void main() async {
  final scenes = await api.getScenes();
  await api.executeScene(sceneId: scenes[0].id);
}

Error handling #

void main() async {
  try {
    await api.getDevices();
  } on SwitchBotException catch (e) {
    // Depending on the type of error,
    // each subclass of `SwitchBotException` will be thrown
    print(e);
  }
}
1
likes
130
points
45
downloads

Publisher

verified publisherseo4d696b75.com

Weekly Downloads

A simple implementation of SwitchBotAPI (v1.1) client with dio library.

Repository (GitHub)
View/report issues

Topics

#dio #switchbot

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

crypto, dio, freezed_annotation, json_annotation, uuid

More

Packages that depend on switchbot_api_dio