https://github.com/cwi-dis/iotsa433
Iotsa server to control and sense 433MHz home automation devices
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Repository
Iotsa server to control and sense 433MHz home automation devices
Basic Info
- Host: GitHub
- Owner: cwi-dis
- Language: C++
- Default Branch: master
- Size: 146 KB
Statistics
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
readme.md
iotsa433 - 433MHz home automation interface
This is a wifi http server that allows access to simple 433 MHz home automation devices. These are usually plugin sockets, door openers, etc. and the remote controls for those.
Home page is https://github.com/cwi-dis/iotsa433. This software is licensed under the MIT license by the CWI DIS group, http://www.dis.cwi.nl.
Software requirements
- Arduino IDE, v1.6 or later.
- The iotsa framework, download from https://github.com/cwi-dis/iotsa.
- To build without modifications (but see Remotes and Sockets below) a forked rc-switch from https://github.com/jackjansen/rc-switch.git.
Or you can build using PlatformIO.
Hardware requirements
- a iotsa board. Alternatively you can use any other esp8266 board, but then you may have to adapt the available I/O pins.
- a 433 MHz receiver The RXB6 is common, cheap and known to work. Attach receiver data pin to GPIO 4.
- a 433 MHz transmitter. The SF R433D is often sold together with the RXB6 and is known to work. Attach GPIO 5 to receiver transmit data pin.
Remotes and sockets
All 433MHz remote controls and controlled devices (such as sockets) use slightly different protocols. Most use simple AM modulation (also known as OOK, on-off-keying), but they differ in how a bit is encoded, how many bits there are in a packet and many other parameters.
For this reason you will most likely have to adapt the code to whatever remote controls you happen to have. The library https://github.com/sui77/rc-switch supports many types, you should start there. That repo also has information on how to find out what your switches send (and your sockets receive).
But: you could be lucky: the type that is called HEMA in the code is a fairly common type. The chance that you have an ELRO Flamingo FA500 set is a lot less likely, so you could rip that code out and use the standard rc-switch library.
Terminology
The wording used is different for each manufacturer of 433MHz devices and software. We use the following terminology:
brandis a class of devices and remotes that are somehow compatible with each other.groupcan usually be set on the remote using dip-switches, or is hardcoded by the remote.applianceis a socket or bulb or motor or other devices controlled by (usually) one set of on/off buttons on one remote.statewhether the device is on or off. Support for multi-valued states (such dimmers) is easy to add.telegram_protocol,telegram_pulsewidth,telegram_tristate,telegram_binary,telegram_bitssee https://github.com/sui77/rc-switch
REST API
GET /api/433receive returns:
-
receivedis a list of the 10 most recently received commands from remote controls (telegrams). Fields as above, fieldtimestates how many seconds ago the command was received. -
forwardersis a list of triggers and URLs. If a command is received that matches the trigger aGETrequest is sent to the URL. If a field in the trigger is empty it alwasy matches. Available fields:-
brand,group,appliance,stateandtelegram_tristateare as explained above. -
urlthe URL to sent the request to. -
parametersis a boolean. If true the fields are added as a query with name=value to the URL.
-
POST /api/433receive adds a new forwarder to the start of the list.
PUT /api/433receive is not yet implemented.
Owner
- Name: cwi-dis
- Login: cwi-dis
- Kind: organization
- Location: Amsterdam, the Netherlands
- Website: http://www.dis.cwi.nl
- Repositories: 21
- Profile: https://github.com/cwi-dis
CWI Distributed and Interactive Systems Group
GitHub Events
Total
- Push event: 4
Last Year
- Push event: 4