Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hobbyquaker/hm-simulator
Simulates (partly) a Homematic CCU
https://github.com/hobbyquaker/hm-simulator
homematic simulator smarthome testing
Last synced: about 2 months ago
JSON representation
Simulates (partly) a Homematic CCU
- Host: GitHub
- URL: https://github.com/hobbyquaker/hm-simulator
- Owner: hobbyquaker
- Created: 2017-04-29T21:15:25.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-10-02T20:28:30.000Z (over 5 years ago)
- Last Synced: 2024-11-01T22:38:41.418Z (2 months ago)
- Topics: homematic, simulator, smarthome, testing
- Language: JavaScript
- Size: 476 KB
- Stars: 3
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-homematic - hm-simulator - Simulates (partly) a Homematic CCU. (Misc Software)
README
# hm-simulator
[![NPM version](https://badge.fury.io/js/hm-simulator.svg)](http://badge.fury.io/js/hm-simulator)
[![Dependency Status](https://img.shields.io/gemnasium/hobbyquaker/hm-simulator.svg?maxAge=2592000)](https://gemnasium.com/github.com/hobbyquaker/hm-simulator)
[![Build Status](https://travis-ci.org/hobbyquaker/hm-simulator.svg?branch=master)](https://travis-ci.org/hobbyquaker/hm-simulator)
[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![License][mit-badge]][mit-url]> Simulates (partly) a Homematic CCU
## Installation
Prerequisites: [Node.js](https://nodejs.org) >= 6.0
`npm install -g hm-simulator`
## What for?
This can be used for automated tests of software connecting to a Homematic CCU
## What does it do?
**Warning: This is far away from a complete simulation and still work in progress** Until now I'm only implementing what
I needed for basic tests of [hm2mqtt.js](https://github.com/hobbyquaker/hm2mqtt.js).* Simulated rfd, [binrpc](https://github.com/hobbyquaker/binrpc) only, interface on port 2001
* Simulated hmipserver, xmlrpc only, interface on port 2010### RPC methods implemented until now
**incoming:**
* init
* ping
* system.listMethods
* getParamsetDescription**outgoing:**
* listDevices
* newDevices
* deleteDevices
* event
* system.multicall### Scripting
In the behaviors directory are two example scripts:
* `virtual-button-press.js` triggers a `PRESS_SHORT` on `BidCoS-RF:1` every 5 seconds.
* `window-open-close.js` opens and closes `0000D3C98C9233:1` every 30 seconds.## Todo
* bugfixes...
* extend script api
* more behavior examples
* more rfd devices
* correct error responses to invalid methodCalls
* incoming getParamset
* MASTER, MAINTENANCE and LINK paramsets
* service messages, incoming getServiceMessages
* incoming putParamset
* rega listener on port 8181, rega script mocking
* ... many more... ;)## Contributing
Pull Request welcome! :-)
## License
MIT
Copyright (c) 2017 Sebastian Raff[mit-badge]: https://img.shields.io/badge/License-MIT-blue.svg?style=flat
[mit-url]: LICENSE