zwave 0.10.0

Dart native
Flutter Android iOS

A Dart Library for interacting with Z-Wave devices on Linux.

example/example.dart

import 'dart:async';

import 'package:logging/logging.dart';
import 'package:zwave/port/rpi_zw_port.dart';
import 'package:zwave/zw_manager.dart';
import 'package:zwave/port/zw_port.dart';

import 'wall_switch.dart';

Future<void> main() async {
  final example = Example(RpiZwPort());
  await example.start();
  await example.turnLampOn();
  await Future.delayed(const Duration(seconds: 2));
  await example.turnLampOff();
  await example.stop();
}

class Example {
  final ZwPort port;
  final ZwManager manager;

  // Change `9` to the node id of your wall switch or switched outlet
  final lamp = WallSwitch(9, 'living room', 'lamp');

  Example(this.port) : manager = ZwManager(port.driver) {
    manager.add(lamp);
  }

  Future<void> start() async {
    // Update this line with the path to your Z-Wave controller
    await port.open('/dev/ttyACM0');

    final version = await manager.apiLibraryVersion();
    logger.info(version.toString());
  }

  Future<void> turnLampOn() => lamp.setState(true);
  Future<void> turnLampOff() => lamp.setState(false);

  Future<void> stop() async {
    await port.close();
  }
}

Logger logger = Logger('Example');
0
likes
75
pub points
4%
popularity

A Dart Library for interacting with Z-Wave devices on Linux.

Repository (GitHub)
View/report issues

Documentation

API reference

Uploaders

danrubel@google.com
devoncarew@google.com
dan.rubel.usa@gmail.com

License

BSD (LICENSE)

Dependencies

logging, path

More

Packages that depend on zwave