Zuletzt angesehen:
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
public:fhem_culresetter [2018/10/25 07:01] admin [FHEM Konfiguration] |
public:fhem_culresetter [2019/08/07 16:30] (aktuell) |
||
|---|---|---|---|
| Zeile 5: | Zeile 5: | ||
| Der **CUL-Resetter** setzt genau hier ein und verschafft Abhilfe. Er resettet den nanoCUL, damit dieser wieder wie gewohnt funktioniert. \\ | Der **CUL-Resetter** setzt genau hier ein und verschafft Abhilfe. Er resettet den nanoCUL, damit dieser wieder wie gewohnt funktioniert. \\ | ||
| Über ein **DOIF** wird der CUL-Resetter nur dann ausgelöst, wenn der nanoCUL über 60 Sekunden im Zustand **opened** verweilt. Er resettet den nanoCUL und initialisiert ihn wieder.\\ | Über ein **DOIF** wird der CUL-Resetter nur dann ausgelöst, wenn der nanoCUL über 60 Sekunden im Zustand **opened** verweilt. Er resettet den nanoCUL und initialisiert ihn wieder.\\ | ||
| - | Leider ist dies softwaretechnisch nicht möglich. Aber diese kleine Hardware wird einfach an den Raspberry Pi angeschlossen und hilft uns einen Woraround anzuwenden. \\ | + | Leider ist dies softwaretechnisch nicht möglich. Aber diese kleine Hardware wird einfach an den Raspberry Pi angeschlossen und hilft uns einen Workaround anzuwenden. \\ |
| \\ | \\ | ||
| Nachfolgend die erforderliche Installation- und Konfiguration-Anleitung. \\ | Nachfolgend die erforderliche Installation- und Konfiguration-Anleitung. \\ | ||
| Zeile 12: | Zeile 12: | ||
| ==== Hardware Installation ==== | ==== Hardware Installation ==== | ||
| - | Der CUL-Resetter hat 3 Stck Dupont Kabel, welche an die GPIO-Schnittstelle des Raspberry Pi aufgesteckt werden. \\ | + | Der CUL-Resetter hat 3 Stck beschriftete Dupont Kabel, welche an die GPIO-Schnittstelle des Raspberry Pi aufgesteckt werden. \\ |
| - | Dazu wählt man die Anschlüsse **5V, GND** und einen der GPIO-Pins. Hier im Beispiel wird **GPIO-18** verwendet.\\ | + | {{:public:cul-resetter2.jpg?300|}} |
| + | |||
| + | Dazu wählt man die Anschlüsse **5V, GND** und einen der **GPIO**-Pins. Hier im Beispiel wird **GPIO-18** verwendet.\\ | ||
| \\ | \\ | ||
| {{:public:cul-resetter-1.jpg?800|}} | {{:public:cul-resetter-1.jpg?800|}} | ||
| | | ||
| + | Anschließend wird der USB-Adapter in einen der USB-Ports am Raspberry eingesteckt und der nanoCUL auf den Adapter. \\ | ||
| + | Auch wenn der Raspberry bereits gestartet ist, wird der nanoCUL noch nicht mit Strom versorgt und zeigt **disconnected**. Dies ändert sich nach der nachfolgenden Konfiguration in FHEM.\\ | ||
| + | {{:public:cul-resetter7.jpg?500|}} | ||
| \\ | \\ | ||
| \\ | \\ | ||
| Zeile 45: | Zeile 49: | ||
| attr GPIO_18 room Watchdog | attr GPIO_18 room Watchdog | ||
| attr GPIO_18 setList on off | attr GPIO_18 setList on off | ||
| + | attr GPIO_18 icon RPi | ||
| </code> | </code> | ||
| Zeile 53: | Zeile 58: | ||
| define GPIO_18_on notify GPIO_18:on {system("/usr/bin/gpio export 18 out && /usr/bin/gpio -g write 18 1")} | define GPIO_18_on notify GPIO_18:on {system("/usr/bin/gpio export 18 out && /usr/bin/gpio -g write 18 1")} | ||
| attr GPIO_18_on room Watchdog | attr GPIO_18_on room Watchdog | ||
| + | attr GPIO_18_on icon audio_shuffle | ||
| </code> | </code> | ||
| Zeile 59: | Zeile 65: | ||
| define GPIO_18_off notify GPIO_18:off {system("/usr/bin/gpio export 18 out && /usr/bin/gpio -g write 18 0")} | define GPIO_18_off notify GPIO_18:off {system("/usr/bin/gpio export 18 out && /usr/bin/gpio -g write 18 0")} | ||
| attr GPIO_18_off room Watchdog | attr GPIO_18_off room Watchdog | ||
| + | attr GPIO_18_off icon audio_shuffle | ||
| </code> | </code> | ||
| Zeile 64: | Zeile 71: | ||
| \\ | \\ | ||
| - | Anschließend konfigurieren wir einen Watchdog für den automatischen Reset des nanoCUL.\\ | + | === Automatismus === |
| - | Die Funktion ist folgende: Wechselt der nanoCUL für mehr als 60 Sekunden auf **openend**, dann wird der Strom des nanoCUL weggenommen und wieder zugeführt. Dies simuliert ein händisches aus/einstecken und der nanoCUL geht wieder auf **initialized**. \\ | + | Jetzt konfigurieren wir einen Watchdog für den automatischen Reset des nanoCUL.\\ |
| - | Der Pfad zum nanoCUL (/dev/serial/by.id/...) muss natürlich angepasst werden. Evtl. auch **pushmsg** anpassen/entfernen wenn nicht vorhanden. \\ | + | Die Funktion ist folgende: Wechselt der nanoCUL für mehr als 60 Sekunden auf **openend**, wird der Strom des nanoCUL weggenommen und wieder zugeführt. Dies simuliert ein händisches aus/einstecken und der nanoCUL geht wieder auf **initialized**. \\ |
| + | Die Zeile mit der **pushmsg** muss man anpassen oder entfernen wenn der Service nicht vorhanden ist, also nicht benutzt wird. \\ | ||
| <code> | <code> | ||
| Zeile 73: | Zeile 81: | ||
| {\ | {\ | ||
| my $culpath = InternalVal('nanoCUL','DEF','');;\ | my $culpath = InternalVal('nanoCUL','DEF','');;\ | ||
| - | $culpath=~s/@/\\@/;; \\ | + | fhem("defmod nanoCUL CUL /dev/serial/by-id/none\@38400 0000");;\ |
| - | fhem("defmod nanoCUL CUL /dev/serial/by-id/none\@38400 0000");;\ | + | |
| system("/usr/bin/gpio export 18 out");;\ | system("/usr/bin/gpio export 18 out");;\ | ||
| system("/usr/bin/gpio -g write 18 0");;\ | system("/usr/bin/gpio -g write 18 0");;\ | ||
| Zeile 90: | Zeile 97: | ||
| attr nanoCULWatchdog wait 60 | attr nanoCULWatchdog wait 60 | ||
| attr nanoCULWatchdog room Watchdog | attr nanoCULWatchdog room Watchdog | ||
| + | attr Watchdog_nanoCUL icon control_reboot | ||
| </code> | </code> | ||
| Zeile 97: | Zeile 105: | ||
| attr nanoCUL event-on-update-reading state | attr nanoCUL event-on-update-reading state | ||
| </code> | </code> | ||
| + | |||
| + | Falls das o.g. DOIF nicht funktioniert, hier eine Alternative, welche die Zeit des letzten Datenempfangs beurteilt. | ||
| + | <code> | ||
| + | define nanoCULWatchdog DOIF ( time() - time_str2num(ReadingsTimestamp("nanoCUL","state","0")) > 15 ) (set pushmsg msg 'fhem' 'nanoCUL hat mehr als 15 min kein Update erhalten - Bitte prüfen!') | ||
| + | </code> | ||
| + | |||
| + | |||
| + | {{:public:cul-resetter-fhem.jpg?600}} | ||