Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
public:fhem_culresetter [2018/10/27 15:36]
admin [FHEM Konfiguration]
public:fhem_culresetter [2019/03/30 07:48]
admin [FHEM Konfiguration]
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 67: 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 76: 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 101: 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 WatchdogCUL 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}}

Navigation
Eigene Werkzeuge