Official SinricPro SDK for Node.js and TypeScript. Control your IoT devices with Alexa and Google Home.
🎯 Features:
- ✅ Full TypeScript support with strong typing
- ✅ Modern async/await API
- ✅ WebSocket with automatic reconnection
- ✅ HMAC-SHA256 authentication
- ✅ Event rate limiting
- ✅ Multiple device types (Switch, Light, Thermostat, etc.)
- ✅ Comprehensive error handling
- ✅ Unit tested
npm install sinricproOr with yarn:
yarn add sinricpro- Sign up at sinric.pro
- Create a new device (e.g., "Switch")
- Copy your credentials:
APP_KEYAPP_SECRETDEVICE_ID
importSinricProfrom'sinricpro';import{SinricProSwitch}from'sinricpro/devices';constconfig={appKey: 'YOUR-APP-KEY',appSecret: 'YOUR-APP-SECRET',};asyncfunctionmain(){// Create a switch deviceconstmySwitch=SinricProSwitch('YOUR-DEVICE-ID');// Handle power state changes from Alexa/Google HomemySwitch.onPowerState(async(deviceId,state)=>{console.log(`Device turned ${state ? 'ON' : 'OFF'}`);// Control your hardware herereturntrue;// Return true if successful});// Add device to SinricProSinricPro.add(mySwitch);// Connection eventsSinricPro.onConnected(()=>console.log('Connected!'));SinricPro.onDisconnected(()=>console.log('Disconnected!'));// Initialize SDKawaitSinricPro.begin(config);// Send events when state changes locallysetTimeout(async()=>{awaitmySwitch.sendPowerStateEvent(true);},5000);}main().catch(console.error);ts-node app.ts- "Alexa, turn on Switch"
- "OK Google, turn off Switch"
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new features
- Submit a pull request
This project is licensed under CC-BY-SA-4.0.
- Website:sinric.pro
- Documentation:help.sinric.pro
- GitHub:github.com/sinricpro
- Support:community.sinric.pro
- Issues:GitHub Issues
- Community:SinricPro Community
- Email:support@sinric.pro
Made with ❤️ by the SinricPro team