Benutzer-Werkzeuge

Webseiten-Werkzeuge


public:fhem_culresetter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
public:fhem_culresetter [2018/10/23 20:17] – [FHEM Konfiguration] adminpublic:fhem_culresetter [2019/03/30 07:49] (aktuell) – [FHEM Konfiguration] admin
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 72: Zeile 80:
 \ \
  {\  {\
- fhem("defmod nanoCUL CUL /dev/serial/by-id/none\@38400 0000");;\+        my $culpath = InternalVal('nanoCUL','DEF','');;\ 
 +        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");;\
- system("sleep 3");;\+ sleep 3;;\
  system("/usr/bin/gpio -g write 18 1");;\  system("/usr/bin/gpio -g write 18 1");;\
- fhem("defmod nanoCUL CUL /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0\@38400 0000");;\+ fhem("defmod nanoCUL CUL $culpath");;\
         fhem("set pushmsg msg 'fhem' 'nanoCUL wurde resettet, da 1min im Status opened'");         fhem("set pushmsg msg 'fhem' 'nanoCUL wurde resettet, da 1min im Status opened'");
  }\  }\
Zeile 88: 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 95: 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}}
public/fhem_culresetter.1540325845.txt.gz · Zuletzt geändert: (Externe Bearbeitung)