All Projects → plasticrake → tplink-smarthome-simulator

plasticrake / tplink-smarthome-simulator

Licence: MIT license
TP-Link Smarthome Device Simulator

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to tplink-smarthome-simulator

watt
iOS App for TP-Link Devices (Kasa Smart & Tapo) | Support page for issues related to Watt iOS App
Stars: ✭ 24 (-56.36%)
Mutual labels:  tplink, hs100, hs110, lb100, lb130, hs105, hs200, lb120
tplink-smarthome-crypto
TP-Link Smarthome Crypto
Stars: ✭ 22 (-60%)
Mutual labels:  smarthome, tplink
openman
Postman to OpenAPI Spec converter with mocking and documentation
Stars: ✭ 17 (-69.09%)
Mutual labels:  mock
puppet-mock
Puppet Mocker for Wechaty (& A Puppet Template Starter)
Stars: ✭ 33 (-40%)
Mutual labels:  mock
aem-stubs
Tool for providing sample data for AEM applications in a simple and flexible way. Stubbing server on AEM, no separate needed.
Stars: ✭ 40 (-27.27%)
Mutual labels:  mock
fhemApp
Web-App zur Steuerung deiner Smarthome Umgebung in Verbindung mit FHEM.
Stars: ✭ 25 (-54.55%)
Mutual labels:  smarthome
Domoticz-Google-Assistant
Google Assistant for Domoticz
Stars: ✭ 81 (+47.27%)
Mutual labels:  smarthome
Vue Element Admin
🎉 A magical vue admin https://panjiachen.github.io/vue-element-admin
Stars: ✭ 73,044 (+132707.27%)
Mutual labels:  mock
XML-API
HomeMatic CCU Addon implementing a xml request functionality
Stars: ✭ 106 (+92.73%)
Mutual labels:  smarthome
mocka
Mocka - The complete testing framework for LUA and Nginx
Stars: ✭ 26 (-52.73%)
Mutual labels:  mock
home-assistant-config
🏠 My Home Assistant configuration
Stars: ✭ 17 (-69.09%)
Mutual labels:  smarthome
HomeAssistantRepository
🏡 Home Assistant on Gentoo Linux.
Stars: ✭ 26 (-52.73%)
Mutual labels:  smarthome
xrm-mock-generator
📖  Generates a mock Xrm.Page object. Commonly used by xrm-mock to test Dynamics 365 client-side customisations.
Stars: ✭ 15 (-72.73%)
Mutual labels:  mock
graphql-mock-api
A GraphQL mock to any GraphQL schema
Stars: ✭ 28 (-49.09%)
Mutual labels:  mock
DataAbstractions.Dapper
A light abstraction around Dapper and Dapper.Contrib that also maintains the behavior IDbConnection.
Stars: ✭ 37 (-32.73%)
Mutual labels:  mock
Roode
A reliable smart home people counter based on VL53L1X and ESPHome
Stars: ✭ 119 (+116.36%)
Mutual labels:  smarthome
go-github-mock
A library to aid unittesting code that uses Golang's Github SDK
Stars: ✭ 63 (+14.55%)
Mutual labels:  mock
my home assistant configuration
My Home Assistant Configuration
Stars: ✭ 24 (-56.36%)
Mutual labels:  smarthome
walletconnect-test-wallet
Test Wallet (Web)
Stars: ✭ 163 (+196.36%)
Mutual labels:  mock
node-red-contrib-polymer
A Polymer based Dashboard UI for Node-RED
Stars: ✭ 21 (-61.82%)
Mutual labels:  smarthome

tplink-smarthome-simulator

NPM Version Build Status Coverage Status GitHub Sponsors

Kasa Screenshot

TP-Link Smart Home Device Simulator

I created this so I could automate my tests for tplink-smarthome-api.

See more examples. @simlu has used this in creating kasa-smart-hub.

debug is used for output. To see all messages set the DEBUG environment variable. To see everything:

DEBUG=* node examples/multi-device.js

To see most:

DEBUG=*,-device:udp,*:error node examples/multi-device.js
'use strict';

const Device = require('..').Device;
const UdpServer = require('..').UdpServer;

let devices = [];

// If you setup virtual interfaces or aliases you can have unique ips to work with Kasa app.
// On a mac you can run `sudo ifconfig en0 alias 10.0.0.200`
devices.push(
  new Device({
    port: 9999,
    address: '10.0.0.200',
    model: 'hs100',
    data: { alias: 'Mock HS100', mac: '50:c7:bf:8f:58:18', deviceId: 'A100' },
  })
);
devices.push(
  new Device({
    port: 9999,
    address: '10.0.0.201',
    model: 'hs105',
    data: { alias: 'Mock HS105', mac: '50:c7:bf:d8:bf:d4', deviceId: 'A105' },
  })
);
devices.push(
  new Device({
    port: 9999,
    address: '10.0.0.202',
    model: 'hs110',
    data: { alias: 'Mock HS110', mac: '50:c7:bf:0d:91:8c', deviceId: 'A110' },
  })
);
devices.push(
  new Device({
    port: 9999,
    address: '10.0.0.203',
    model: 'hs200',
    data: { alias: 'Mock HS200', mac: '50:c7:bf:46:b4:24', deviceId: 'A200' },
  })
);
devices.push(
  new Device({
    port: 9999,
    address: '10.0.0.204',
    model: 'lb100',
    data: { alias: 'Mock LB100', mac: '50:c7:bf:49:ca:42', deviceId: 'BB100' },
  })
);
devices.push(
  new Device({
    port: 9999,
    address: '10.0.0.205',
    model: 'lb120',
    data: { alias: 'Mock LB120', mac: '50:c7:bf:90:9b:da', deviceId: 'BB120' },
  })
);
devices.push(
  new Device({
    port: 9999,
    address: '10.0.0.206',
    model: 'lb130',
    data: { alias: 'Mock LB130', mac: '50:c7:bf:b1:04:d3', deviceId: 'BB130' },
  })
);

devices.forEach((d) => {
  d.start();
});

UdpServer.start();
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].