[GELÖST] Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Moderatoren: jmaus, Co-Administratoren
[GELÖST] Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Wenn mein Homematic-IP Funkadapter ausfällt, merkt Raspberrymatic das nicht, und reagiert auf keine Geräte mehr.
Das System:
RaspberryMatic, neueste Software-Version, läuft als VM in einem Windows Mini-PC.
Das Funkmodul ist per USB-Kabel angeschlossen, es ist ein RPI-RF-MOD, es steckt auf einer USB Adapterplatine HB-RF-USB-2.
Das USB Kabel brauche ich auch, um das Funkmodul an einer funktechnisch "günstigen" Stelle montieren zu können.
Funktioniert normalerweise alles ganz toll,
Duty Cycle ist z.B. 4%, Carrier Sense ist 1%.
Wenn jetzt aber das Funkmodul ausfällt, oder ich zum Test das USB-Kabel zum Funkmodul abziehe, passiert Folgendes:
Nichts.
Der CCU Duty Cycle bleibt bei 4% (habe 1.5 Stunden gewartet)
Der Carrier Sense Wert bleibt bei 1%
Es gibt keine Alarmmeldung und keine Servicemeldung.
RaspberryMatic selber läuft munter weiter.
Da es aber keinen Input der Homematic-IP Geräte mehr empfangen kann, passiert ab jetzt überhaupt nichts mehr.
Das liegt evtl. auch daran, dass ich keine Geräte regelmäßig von der CCU aus ansteuere, sondern nur Geräte habe, die
sich bei der CCU melden, wie Fenster- und Türsensoren und Heizungsthermostate.
Ich würde auf meiner Heimautomatisierung aber schon sehr gerne anzeigen, dass kein Homematic-IP Gerät mehr funktioniert.
Eine Systemvariable die den Ausfall anzeigt würde schon ausreichen.
Ich hatte mal irgendwo gelesen, dass die Duty Cycle Systemvariable auf -1 gesetzt wird, wenn kein Funkmodul erkannt wird. Das ist aber
nur dann der Fall, wenn beim Start von RaspberryMatic kein Modul gefunden wird. Das nützt leider nichts, bei einem Ausfall des
Funkmoduls NACH dem Start von RaspberrMatic.
Ich hatte auch mal gelesen, dass man den Funkadapter neuerdings über einen Konfig Channel auslesen kann, er wird als Gerät angezeigt: RPI-RF-MOD 00xxxxxxxxxx
Ich weiß aber nicht, ob man genug Info bekommt, um zu entscheiden, ob er noch funktioniert, und ich weiß auch nicht, wie ich darauf zugreifen kann.
Hier also die Frage:
Wie erkenne ich einen Ausfall meines Funkmoduls im laufenden Betrieb?
und setze eine Systemvariable entsprechend?
Das System:
RaspberryMatic, neueste Software-Version, läuft als VM in einem Windows Mini-PC.
Das Funkmodul ist per USB-Kabel angeschlossen, es ist ein RPI-RF-MOD, es steckt auf einer USB Adapterplatine HB-RF-USB-2.
Das USB Kabel brauche ich auch, um das Funkmodul an einer funktechnisch "günstigen" Stelle montieren zu können.
Funktioniert normalerweise alles ganz toll,
Duty Cycle ist z.B. 4%, Carrier Sense ist 1%.
Wenn jetzt aber das Funkmodul ausfällt, oder ich zum Test das USB-Kabel zum Funkmodul abziehe, passiert Folgendes:
Nichts.
Der CCU Duty Cycle bleibt bei 4% (habe 1.5 Stunden gewartet)
Der Carrier Sense Wert bleibt bei 1%
Es gibt keine Alarmmeldung und keine Servicemeldung.
RaspberryMatic selber läuft munter weiter.
Da es aber keinen Input der Homematic-IP Geräte mehr empfangen kann, passiert ab jetzt überhaupt nichts mehr.
Das liegt evtl. auch daran, dass ich keine Geräte regelmäßig von der CCU aus ansteuere, sondern nur Geräte habe, die
sich bei der CCU melden, wie Fenster- und Türsensoren und Heizungsthermostate.
Ich würde auf meiner Heimautomatisierung aber schon sehr gerne anzeigen, dass kein Homematic-IP Gerät mehr funktioniert.
Eine Systemvariable die den Ausfall anzeigt würde schon ausreichen.
Ich hatte mal irgendwo gelesen, dass die Duty Cycle Systemvariable auf -1 gesetzt wird, wenn kein Funkmodul erkannt wird. Das ist aber
nur dann der Fall, wenn beim Start von RaspberryMatic kein Modul gefunden wird. Das nützt leider nichts, bei einem Ausfall des
Funkmoduls NACH dem Start von RaspberrMatic.
Ich hatte auch mal gelesen, dass man den Funkadapter neuerdings über einen Konfig Channel auslesen kann, er wird als Gerät angezeigt: RPI-RF-MOD 00xxxxxxxxxx
Ich weiß aber nicht, ob man genug Info bekommt, um zu entscheiden, ob er noch funktioniert, und ich weiß auch nicht, wie ich darauf zugreifen kann.
Hier also die Frage:
Wie erkenne ich einen Ausfall meines Funkmoduls im laufenden Betrieb?
und setze eine Systemvariable entsprechend?
- Baxxy
- Beiträge: 10766
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 602 Mal
- Danksagung erhalten: 2201 Mal
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Vorab:
Jegliche Homematic Zentrale, egal ob CCUx / RM / piVCCU / DebMatic ist nicht darauf ausgelegt die Verbindung zum Funkmodul zu verlieren.
Oberstes Ziel sollte es daher sein so einen "Disconnect" zu vermeiden
So ein "Disconnect" tritt bei GPIO-Anbindung quasi nie auf, und bei USB-Anbindung sollte er nicht auftreten.
Am "wackeligsten" ist da m.E. die LAN-Anbindung mittels HB-RF-ETH. Wenn irgendein Segment im Netzwerk zickt kommt es recht schnell zum "Disconnect". (@deimos, das soll nicht heißen das die HB-RF-ETH eine schlechte Wahl oder so ist)
Lösungsmöglichkeit:
Da man den DC WebUI-Programmen auswerten kann und dieser i.d.R. immer ein bisschen "wackelt" kann man das recht einfach umsetzen.
Der "retrigger-Haken" muss gesetzt sein und dadurch wird bei jeder Aktualisierung der laufende Timer abgebrochen und neu gestartet.
Nicht unbedingt elegant, sollte aber funktionieren.
Edit: Da DC und CS alle 5m aktualisiert werden reichen 6m Verzögerung aus. Man muss aber auf den CS triggern, da der DC munter weiter aktualisiert wird obwohl kein Funkmodul mehr dran ist.
Jegliche Homematic Zentrale, egal ob CCUx / RM / piVCCU / DebMatic ist nicht darauf ausgelegt die Verbindung zum Funkmodul zu verlieren.
Oberstes Ziel sollte es daher sein so einen "Disconnect" zu vermeiden
So ein "Disconnect" tritt bei GPIO-Anbindung quasi nie auf, und bei USB-Anbindung sollte er nicht auftreten.
Am "wackeligsten" ist da m.E. die LAN-Anbindung mittels HB-RF-ETH. Wenn irgendein Segment im Netzwerk zickt kommt es recht schnell zum "Disconnect". (@deimos, das soll nicht heißen das die HB-RF-ETH eine schlechte Wahl oder so ist)
Lösungsmöglichkeit:
Da man den DC WebUI-Programmen auswerten kann und dieser i.d.R. immer ein bisschen "wackelt" kann man das recht einfach umsetzen.
Code: Alles auswählen
WENN
CS >= 0% bei Aktualisierung
DANN
verzögert um 6m Alarm-SysVar "ausgelöst"
Nicht unbedingt elegant, sollte aber funktionieren.
Edit: Da DC und CS alle 5m aktualisiert werden reichen 6m Verzögerung aus. Man muss aber auf den CS triggern, da der DC munter weiter aktualisiert wird obwohl kein Funkmodul mehr dran ist.
Zuletzt geändert von Baxxy am 12.04.2022, 21:55, insgesamt 1-mal geändert.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Danke für den Tip.
Habe daraufhin mal überprüft, wie sich der DC so über die Zeit ändert.
Er ist mal 2 Stunden auf 5% geblieben.
Das heißt, wenn man keine Fehlalarme haben möchte, müsste man den
Timer deutlich länger einstellen.
Dann kommt eine Fehlermeldung natürlich ziemlich spät...
Es wäre bestimmt besser, wenn es eine Möglichkeit gäbe, an den USB Verbindungsstatus zu kommen, aber wie?
Habe daraufhin mal überprüft, wie sich der DC so über die Zeit ändert.
Er ist mal 2 Stunden auf 5% geblieben.
Das heißt, wenn man keine Fehlalarme haben möchte, müsste man den
Timer deutlich länger einstellen.
Dann kommt eine Fehlermeldung natürlich ziemlich spät...
Es wäre bestimmt besser, wenn es eine Möglichkeit gäbe, an den USB Verbindungsstatus zu kommen, aber wie?
- Baxxy
- Beiträge: 10766
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 602 Mal
- Danksagung erhalten: 2201 Mal
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Mein Beispielprogramm setzt ja auch auf "bei Aktualisierung".
Nur weil sich der Wert in der WebUI nicht ändert heißt es ja nicht das er nicht mit dem gleichen Wert "aktualisiert" wird.
Mein RPI-RF-MOD aktualisiert die Werte im 5m Raster, somit wären die 10m aus dem Beispiel eigentlich schon zu lang.
Code: Alles auswählen
06:09:10 12.04.2022 Funkmodul Pi3Bp: RPI-RF-MOD 6FA:0 Duty Cycle 1.50%, Carrier Sense 0.50%
06:14:10 12.04.2022 Funkmodul Pi3Bp: RPI-RF-MOD 6FA:0 Duty Cycle 1.50%, Carrier Sense 0.00%
06:19:10 12.04.2022 Funkmodul Pi3Bp: RPI-RF-MOD 6FA:0 Duty Cycle 1.50%, Carrier Sense 0.00%
06:24:10 12.04.2022 Funkmodul Pi3Bp: RPI-RF-MOD 6FA:0 Duty Cycle 1.50%, Carrier Sense 0.00%
06:29:10 12.04.2022 Funkmodul Pi3Bp: RPI-RF-MOD 6FA:0 Duty Cycle 1.50%, Carrier Sense 0.00%
06:34:10 12.04.2022 Funkmodul Pi3Bp: RPI-RF-MOD 6FA:0 Duty Cycle 1.50%, Carrier Sense 1.00%
06:39:10 12.04.2022 Funkmodul Pi3Bp: RPI-RF-MOD 6FA:0 Duty Cycle 1.50%, Carrier Sense 0.00%
Wie man jetzt auf Betriebssystemebene den Disconnect erkennt und ein Event an die Logikschicht der Zentrale sendet kann ich dir nicht sagen.
Machbar sollte aber auch das sein.
Grüße, Baxxy
-
- Beiträge: 1343
- Registriert: 27.06.2015, 22:17
- Hat sich bedankt: 43 Mal
- Danksagung erhalten: 32 Mal
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Das könnte doch sicher über Monit und einem kleinen Script gemacht werden, welches nach dem USB Gerät sucht.
Wäre IMHO ein interessanter Zusatz für Raspberrymatic. In diesem Zusammenhang dann auch mit der Ethernet Variante, falls sich das ähnlich verhält.
Wäre IMHO ein interessanter Zusatz für Raspberrymatic. In diesem Zusammenhang dann auch mit der Ethernet Variante, falls sich das ähnlich verhält.
- Baxxy
- Beiträge: 10766
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 602 Mal
- Danksagung erhalten: 2201 Mal
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Soweit ich weiß gibt es die Überwachung für die HB-RF-ETH per Monit schon.
Grüße, Baxxy
Grüße, Baxxy
-
- Beiträge: 1343
- Registriert: 27.06.2015, 22:17
- Hat sich bedankt: 43 Mal
- Danksagung erhalten: 32 Mal
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Dann könnte ja mal jemand den es betrifft ein Github Ticket auf machen. Vielleicht findet Jens dann irgendwo ein paar freie Minuten um das einzubauen. Oder jemand anderes findet sich.
Macht ja total Sinn, wenn ein nicht verbundenes Funkmodul erkannt wird.
Macht ja total Sinn, wenn ein nicht verbundenes Funkmodul erkannt wird.
- jmaus
- Beiträge: 9844
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 462 Mal
- Danksagung erhalten: 1863 Mal
- Kontaktdaten:
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Ehrlich gesagt versteh ich den Sinn zwar beim HB-RF-ETH, aber nicht bei USB-basierten Funkmodulen? Ich bau ja auch keine Überprüfung ein ob jemand während des Betriebes das RPI-RF-MOD vom GPIO Bus zieht und dann das Funkmodul weg ist?!? Wieso sollte man überprüfen ob ein USB-basiertes Funkmodul plötzlich weg ist? Das sollte doch wirklich nicht passieren und wenn dann nur in sehr sehr sehr seltenen Ausnahmefällen wo dann der Nutzer das sicherlich schnell dadurch merkt, das es eben zu vermehrten Kommunikationsstörungen kommt und dann nach einem Reboot das Funkmodul nicht mehr erkannt wird. Dafür jetzt extra ne Überwachung einbauen halte ich für etwas overkill.darkbrain85 hat geschrieben: ↑12.04.2022, 10:01Dann könnte ja mal jemand den es betrifft ein Github Ticket auf machen. Vielleicht findet Jens dann irgendwo ein paar freie Minuten um das einzubauen. Oder jemand anderes findet sich.
Macht ja total Sinn, wenn ein nicht verbundenes Funkmodul erkannt wird.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Hab's ausprobiert.
Leider updatet RaspberryMatic die DC Systemvariable auch dann weiter, wenn das USB Kabel mit dem Funkadapter abgezogen ist. Das ist in mho ein Bug.
Ich habe es mit deinem Programmvorschlag ausprobiert.
Die Variable wurde jede Minute aktualisiert, und das blieb auch so, nachdem ich den USB Stecker gezogen hatte.
Kann mir jemand mehr über diese möglichkeit mit monit sagen?
- jmaus
- Beiträge: 9844
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 462 Mal
- Danksagung erhalten: 1863 Mal
- Kontaktdaten:
Re: Ausfall des Funkadapters und RaspberryMatic merkt es nicht
Das ist kein Bug. Der Bug ist, das du das USB Kabel einfach im laufenden Betrieb abziehst. Das ist nicht vorgesehen und wird somit einfach nicht unterstützt.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /