UNPKG

homebridge-am43-blinds-bluez

Version:

A homebridge plugin to control AM43 based shade motors in HomeKit. These include the A OK and Zemismart bluetooth based motors. This plugin requires a Homebridge host that supports Bluetooth 4.0

26 lines (25 loc) 1.38 kB
import React, { useState, useCallback } from "react"; import MotorIcon from "./motorIcon"; const DeviceList = ({ onSelect }) => { const [devices, setDevices] = useState([]); const scanForDevices = useCallback(() => { setDevices([]); homebridge.showSpinner(); homebridge .request("/scan_for_devices", { scan_time: 10e3 }) .then((scanResults) => { homebridge.hideSpinner(); setDevices(scanResults); }); }, []); return (React.createElement("div", { className: "card-body" }, React.createElement("ol", { className: "list-group" }, devices.map(({ address, name }) => (React.createElement("button", { className: "list-group-item list-group-item-action d-flex flex-row", key: address, onClick: () => onSelect(address) }, React.createElement("div", { className: "mr-4" }, React.createElement(MotorIcon, { small: true })), React.createElement("div", null, React.createElement("h5", null, name), React.createElement("p", null, address)))))), React.createElement("div", { className: "d-flex flex-column align-items-center" }, React.createElement("button", { type: "button", className: "btn btn-primary w-100", onClick: scanForDevices }, "Scan For Devices")))); }; export default DeviceList;