Dies ist eine alte Version des Dokuments!
pilight - Funk-Steuerung und mehr
Jetzt spendiere ich der Software doch einen eigenen Punkt. Bei den diversen Setups gibt es schon informationen, hier die letzten dazu.
Probleme gab es mit volllaufendem Speicher - da habe ich auf alte Version zurückgesetzt (mehr dazu und im forum). Aktuell versuche ich es mal wieder mit der aktuellsten. In der Nightly Version wäre MQTT dabei, aber es soll erst mal wieder stabil laufen. Ich habe also alles neu aufgesetzt.
Um dem Fehler auf die Spur zu kommen, pilight wie folgt gestartet: sudo gdb –args pilight-daemon -D (da kommt zwar ein Fehler, aber in der gdb dann „start“ eingeben, und er läuft los.
verschiedene Schnittstellen
MQTT geht erst im Nightly-Build, den ich (noch) nicht eingespielt habe.
Um die Socket API nutzen zu können, muss man entweder das Beispiel von GitHub nutzen, oder selber etwas Programmieren. Vor allem dann, wenn man pilight als standalone laufen lässt. Dann am besten auch in der config den „port“: #### setzen. Leider habe ich das mit dem blocking und timeout nicht verstanden. Der Socket blockierte nie. Bei einem normalen restart von pilight beendete sich der Socket mit der Ausgabe „1“. Wenn ich pilight per kill-9 beende, bringt der Socket lauter 0 Byte lange Ergebnisse. Kein timeout, kein blocken, egal was ich einstelle. Frage jetzt genau auf diese Situationen ab, mache 10 Sekunden Pause und versuche dann wieder einen Socket-Connect. Aktuell habe ich allerdings keine Verwendung dafür. Vielleicht mal Fenster auf/zu darüber in die DB schreiben.
Der Aufruf des GUI über die Webserver API und dann an den URL /values oder /config danach nutze ich, um den aktuellen Stand der Fenster und Steckdosen abzufragen.
Das Schalten von Licht und Steckdosen über wie Web-API funktioniert auch ganz gut.
Nutzt man pilight standalone (config.json), muss man darauf achten bei den Aufrufen von pilight-send Server und Port mit anzugeben, da dann von pilight kein ssdp Dienst mehr zur Verfügung gestellt wird.
Es gibt ein Device Programm. Dort wollte ich den Rolladen steuern, da der nicht mit einem selbstgebastelten Funk-C-Programm hoch und runter gefahren wird. Weder der direkte Aufruf des C-Programms, noch über eine Shell hat funktioniert. Die Shell macht nichts anderes, als so lange zu laufen, wie der Rolladen unten ist, damit pilight den Prozess findet und als 'aktiv' anzeigt. Aus Frust rufe ich aus pilight jetzt einen Node-Webservice auf, der die Shell aufruft. Wieso das geht, ist mir ein Rätsel.
Leider kann man einzelne Protokolle nicht deaktivieren, dazu müsste man neu kompilieren. Nachdem ich nur kerui, kaku_dimmer und brennenstuhl benutze, habe ich in den seufzen mal nach den werten gesucht und versuche, in der config.json die werte entsprechend anzupassen, das wären dann „mingaplen“:9316, „maxgaplen“:10880, „minrawlen“:50, „maxrawlen“:148 (original:4420,72900,26,400)
Stand März 2021