SharpBroadlink 1.0.0

There is a newer version of this package available.
See the version list below for details.
Install-Package SharpBroadlink -Version 1.0.0
dotnet add package SharpBroadlink --version 1.0.0
<PackageReference Include="SharpBroadlink" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SharpBroadlink --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SharpBroadlink, 1.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install SharpBroadlink as a Cake Addin
#addin nuget:?package=SharpBroadlink&version=1.0.0

// Install SharpBroadlink as a Cake Tool
#tool nuget:?package=SharpBroadlink&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

SharpBroadlink - for Broadlink RM IR Controller

A simple C# API for controlling RM from Broadlink.
This is a port of python-broadlink to C# .Net Standard.

Description

Supported device:

  • RM Pro
  • RM mini 3 (Black Bean)
  • A1 Temperature/Humidity/Noise/Light/VOC Sensor
  • SP mini 3 Smart Plug

Supports .NET Standard2.0

Requirement

Xb.Core
Xb.Net

Usage

  1. Create your new C# project.
  2. Download this solution.
  3. Add a project-reference SharpBroadlink/SharpBroadlink.csproj to your project.
  4. Setup devices or discover devices as follows:
Setup:

== Preparation - It is the same as the original. ==

  1. Put the device into AP Mode.
  2. Long press the reset button until the blue LED is blinking quickly.
  3. Long press again until blue LED is blinking slowly.
  4. Manually connect to the WiFi SSID named BroadlinkProv.

== Preparation is over ==

using SharpBroadlink;
 
// Security mode options are [None, Wep, WPA1, WPA2, WPA12]    
Broadlink.Setup('myssid', 'mynetworkpass', Broadlink.WifiSecurityMode.WPA12);
Discover devices:
using SharpBroadlink;
 
var devices = await Broadlink.Discover(5);
Get signal data with RM:
using SharpBroadlink;
 
var devices = await Broadlink.Discover(5);
var rm = (SharpBroadlink.Devices.Rm) devices[0];
 
// Enter Learning mode
await rm.EnterLearning();

Here, Point the remote control to be learned to RM Pro, and press the button.
And...

// Get signal data.
var signal = await rm.CheckData();
 
// Test signal
await rm.SendData(signal);
Get sensor data with A1:
using SharpBroadlink;
 
var devices = await Broadlink.Discover(5);
var device = (SharpBroadlink.Devices.A1)devs.First(d => d.DeviceType == DeviceType.A1);

// before Auth, cannot get values. 
await device.Auth();
 
var values = await dev.CheckSensors();
Get/Set plug state with SP3:
using SharpBroadlink;
 
var devices = await Broadlink.Discover(5);
var device = (SharpBroadlink.Devices.Sp2)devs.First(d => d.DeviceType == DeviceType.Sp2);

// before Auth, cannot get values. 
await device.Auth();
 
var powerState = await dev.CheckPower();
var nightLightState = await dev.CheckNightLight();

await dev.SetPower(!powerState);
await dev.SetNightLight(!nightLightState);

Licence

MIT Licence

Links

Original python-broadlink:
https://github.com/mjg59/python-broadlink

Protocol document:
https://github.com/mjg59/python-broadlink/blob/master/protocol.md

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.3 752 8/9/2019
1.0.2 704 12/30/2018
1.0.1 469 9/29/2018
1.0.0 451 9/29/2018

first release.