Hallo Zusammen!
Ich wollte mit dem cmdswitch2 Plugin einen Schalter anlegen, der ein Python Script ausführt.
Ich habe das Plugin installiert und in der config.json die folgenden Zeilen eingefügt:
{
"platform": "cmdSwitch2",
"name": "CMD Switch",
"switches": [
{
"name": "SendMail",
"on_cmd": "python3 /home/pi/Dokumente/mail.py"
}
]
}
Das nimmt er auch so an. Im Log meldet er nach dem Start den aktuellen Zustand des Schalters. Als ich dann in der Home App dann den Schalter betätigte, führte er das Skript auch einmal aus (sieh 11:46:25). Ich habe also die Email erhalten. Gleichzeitig kamen eine Reihe von Fehlermeldungen, die ich nicht verstehe.
Aug 17 11:46:21 raspberrypi homebridge[23544]: [2019-8-17 11:46:21 AM] Homebridge is running on port 51826.
Aug 17 11:46:23 raspberrypi homebridge[23544]: [2019-8-17 11:46:23 AM] [Config] Console v4.6.0 is listening on :: port 8080
Aug 17 11:46:25 raspberrypi homebridge[23544]: [2019-8-17 11:46:25 AM] [Test lamp] Power state for the 'Lamp1' is 0
Aug 17 11:46:25 raspberrypi homebridge[23544]: [2019-8-17 11:46:25 AM] [CMD Switch] SendMail is off.
Aug 17 11:49:17 raspberrypi homebridge[23544]: [2019-8-17 11:49:17 AM] [CMD Switch] SendMail is turned on.
Aug 17 11:49:18 raspberrypi homebridge[23544]: [2019-8-17 11:49:18 AM] TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received type undefined
Aug 17 11:49:18 raspberrypi homebridge[23544]: at validateString (internal/validators.js:125:11)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at normalizeSpawnArguments (child_process.js:411:3)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at spawn (child_process.js:545:16)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at Object.execFile (child_process.js:221:15)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at exec (child_process.js:152:18)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at cmdSwitchPlatform.setPowerState (/usr/local/lib/node_modules/homebridge-cmdswitch2/index.js:222:3)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at Characteristic.emit (events.js:198:13)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at Characteristic.setValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Characteristic.js:321:10)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at Service.setCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Service.js:183:32)
Aug 17 11:49:18 raspberrypi homebridge[23544]: at Timeout._onTimeout (/usr/local/lib/node_modules/homebridge-cmdswitch2/index.js:237:12)
Aug 17 11:49:18 raspberrypi homebridge[23544]: [2019-8-17 11:49:18 AM] Got SIGTERM, shutting down Homebridge...
Aug 17 11:49:23 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=143/n/a
Aug 17 11:49:23 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.
Aug 17 11:49:33 raspberrypi systemd[1]: homebridge.service: Service RestartSec=10s expired, scheduling restart.
Aug 17 11:49:33 raspberrypi systemd[1]: homebridge.service: Scheduled restart job, restart counter is at 1.
Alles anzeigen
Seit dem ist der Schalter immer im Status "an" und wenn ich versuche ihn auszuschalten, kommen die Fehlermeldung und die Homebridge startet sich neu.
Hat jemand eine Idee, was ich tun kann, um das zu Laufen zu bekommen?
Ich will eigentlich einen Schalter (Taster) simulieren, der -wenn er gedrückt wird- eine Email verschickt. Das Python Skript funktioniert, sofern ich es über die Konsole aufrufe.
Schon mal vorab vielen Dank für jede Hilfe oder Idee!
Viele Grüße
HennD