RESTful-API für die Node-RCSwitch-Bindung basierend auf Node.js/restify. Ermöglicht die Steuerung ferngesteuerter 433-MHz-RC-Steckdosen mit dem Raspberry-Pi über das HTTP-Protokoll. Auf meinem Blog gibt es einen deutschen Beitrag, der die Hardwareanforderungen und Schaltpläne beschreibt.
$ npm install raspi-rcswitch-api
transmitter_pin
definiert den GIPO-Pin, an dem der Sender mit dem Raspberry Pi verbunden ist. Notieren Sie sich die Nummer des WiringPi-Daten-Pins. (siehe http://wiringpi.com/pins/)retries
mit denen das Signal gesendet wird (optional) $ npm start
> [email protected] start /home/pi/node-raspi-rcswitch-api
> node daemon.js start
raspi-rcswitch-api Server started. PID: 9082
raspi-rcswitch-api listening at port 3000
Der Server läuft standardmäßig als Deamon und verwendet daemonize2. Als Alternative können Sie mit beginnen
$ node server.js
$ npm stop
http://host:port/api/v1/switch/systemCode/unitCode/state
systemCode
Fünf Zeichen langer binärer Systemcode, der das RC-Switch-System identifiziert.unitCode
Ganzzahl zwischen 1 und 4, die die Steckdosennummer im System identifiziert.state
kann für den Zielstatus der Steckdose entweder on
oder off
sein. Beispielsweise schaltet ein GET-Aufruf an http://host:port/api/v1/switch/10101/2/on
die zweite Steckdose des Systems 10101
ein.
Sie können in der Datei device_config.json
benannte Geräte angeben, um schnell darauf zuzugreifen.
Das folgende Beispiel ermöglicht den Zugriff auf die Steckdose mit dem Systemcode 01001
und dem Gerätecode 1
unter dem Namen Living_Room_Ambient_Light
.
{
"Living_Room_Ambient_Light" : {
"systemCode" : " 01001 " ,
"unitCode" : 1
}
}
Jetzt können Sie über http://host:port/api/v1/switch/Living_Room_Ambient_Light/state schnell auf den Netzstecker zugreifen. Für den state
und die Konfigurationswerte gelten die gleichen Einschränkungen wie im Abschnitt „Direkter Gerätezugriff“ erwähnt.
Copyright (c) 2017 Chris Klinger. Lizenziert unter MIT-Lizenz, die vollständige Lizenz finden Sie unter LIZENZ.
Siehe https://github.com/c-klinger/node-raspi-rcswitch-api/issues.