MySensors Php API
This class implements methods to directly send messages (and get answers) to a MySensors gateway.
- example.php : Basic usage example
- form.php : Send (or visually convert) messages to your Gateway
- src/mysensors_bin.php : an excecutable script to send/receive message from the command line
- src/mysensors.class.php : The main class
- src/PhpSerial.php : Serial handling class by Rémy Sanchez
Sender / Converter Form
form.php allow you compose messages using convenient dynamic drowndown menu. resulting message is then shown in the message box. You can also do the reverse action : type any text in the message box, and it will dynamically decode it. Finally you can also send the message to the gateway.
Command Line Script
Here is the mysensors_bin.php help.
soif@server:~# ./mysensors_bin.php -h Usage: mysensors_bin.php [-p port] [-a] [-g] [-v] [-h] ADDRESS COMMAND -p port : set the gateway TCP port if not 5003 -a : send an ACK -g : get answer -v : verbose (show message sent to gateway) -h : show this help ADDRESS : (required) Gateway IP address or SerialPort to use COMMAND : (required) is one of the following commands: - presentation NODE CHILD TYPE - set NODE CHILD TYPE PAYLOAD - req NODE CHILD TYPE - internal NODE CHILD TYPE Using the following parameters : - NODE : Node ID - CHILD : Child Sensor ID - TYPE : Sub Type - PAYLOAD : value to send Examples: mysensors_bin.php -g 192.168.0.240 internal 0 0 I_VERSION mysensors_bin.php -p 5002 192.168.0.240 presentation 5 1 V_TEMP mysensors_bin.php -a 192.168.0.240 set 12 0 V_STATUS 0 mysensors_bin.php COM1 set 12 0 V_STATUS 1
- Currently only the Ethernet Gateway is supposed to work. The Serial Gateway if just a draft, for somebody willing to test it and implementing correctly (Push your PR!).
- Missing some detailed documentation about the MySensors messages protocol, some features may not work as expected (ie: the req command was not tested). So I won't be responsible if you'd burn your house or kill a cat by using this software! ;-)
Contributions are welcome ! Please fork this repo at GitHub and submit your PR to the develop branch.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.