Duty_Cycle CCU2 als SysVar
Moderator: Co-Administratoren
- funkleuchtturm
- Beiträge: 2368
- Registriert: 13.06.2011, 16:42
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 357 Mal
- Kontaktdaten:
Re: Duty_Cycle CCU2 als SysVar
Toller Ansatz
Ich überlege, was man außer der Anzeige mit dem Wert für eine aktive Prävention eines bevorstehenden Kollapses machen könnte.
Könnte man bei Überschreiten eines Wertes, sagen wir mal 50%, den Funk-Übeltäter ermitteln und ggf. "mundtot" machen oder ignorieren ?
Kann man per Skript o.ä. überhaupt ein Modul "ignorieren" ?
Jedenfalls bietet dieser Ansatz viel Raum für interessante Folgeaktivitäten!!
... damit die Tipps & Tricks" auch wieder ihrem Namen gerecht werden
Ich überlege, was man außer der Anzeige mit dem Wert für eine aktive Prävention eines bevorstehenden Kollapses machen könnte.
Könnte man bei Überschreiten eines Wertes, sagen wir mal 50%, den Funk-Übeltäter ermitteln und ggf. "mundtot" machen oder ignorieren ?
Kann man per Skript o.ä. überhaupt ein Modul "ignorieren" ?
Jedenfalls bietet dieser Ansatz viel Raum für interessante Folgeaktivitäten!!
... damit die Tipps & Tricks" auch wieder ihrem Namen gerecht werden
Viele Gruesse
Eugen
________________________________________________
SmartHome-Eintopf mit feinem Homeduino-Gemüse
... und für Feinschmecker gibt´s den WIFFI, den WEATHERMAN-2, den PULSECOUNTER und den AIRSNIFFER
mit vielen Kochrezepten für den ambitionierten Homematiker
Eugen
________________________________________________
SmartHome-Eintopf mit feinem Homeduino-Gemüse
... und für Feinschmecker gibt´s den WIFFI, den WEATHERMAN-2, den PULSECOUNTER und den AIRSNIFFER
mit vielen Kochrezepten für den ambitionierten Homematiker
-
- Beiträge: 9115
- Registriert: 17.11.2012, 10:47
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Köln
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 283 Mal
Re: Duty_Cycle CCU2 als SysVar
Hi Eugen,
Die Problematik? mit dem DC gibt es ja bei der 2er erst seit der 2.17er!
Aber automatisiert 'mundtot' bzw. 'ignorieren' - interessanter Gedanke - nur wie?.
Ich dachte, Du bist in Urlaub.funkleuchtturm hat geschrieben:Toller Ansatz
Z. B. CCU-Reboot.funkleuchtturm hat geschrieben:Ich überlege, was man außer der Anzeige mit dem Wert für eine aktive Prävention eines bevorstehenden Kollapses machen könnte.
Habe mich seit meiner nur CCU-Zeit nicht mehr damit beschäftigt.funkleuchtturm hat geschrieben:Könnte man bei Überschreiten eines Wertes, sagen wir mal 50%, den Funk-Übeltäter ermitteln und ggf. "mundtot" machen oder ignorieren ?
Die Problematik? mit dem DC gibt es ja bei der 2er erst seit der 2.17er!
Aber automatisiert 'mundtot' bzw. 'ignorieren' - interessanter Gedanke - nur wie?.
Gruß Günter
pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
-
- Beiträge: 7151
- Registriert: 31.12.2006, 15:18
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Rhein-Main
- Danksagung erhalten: 34 Mal
Re: Duty_Cycle CCU2 als SysVar
Moin,
das wird eher schwierig, den Übeltäter zu ermitteln, da man dazu selbst jedes eingehende Datenpaket auf ein Aktor-Konto buchen müsste*. Damit könnte man evtl. eine übermäßige Häufung erkennen, aber es gibt noch so viel nebenbei, das man das Syslog der CCU für den RFD auf Debug drehen müsste, und dann das Syslog mit hohen Künsten der KI zerlegen, interpretieren und auch dieses wieder auf Aktor-Konten buchen müsste (ob eine Quittung auf ein von der CCU empfangenes Funkpaket gesendet wurde bekommt die WebUI gar nicht mit, es belastet aber sehr wohl den DutyCycle der CCU). Ein Wakeup-Burst der CCU ist nur im syslog erkennbar, um die automatische Erkennung habe ich mir da noch gar keine Gedanken gemacht.
Der Familienvater
__
* Und man müsst eigentlich auch von Programmen/Scripten veranlasste Sendeaktionen der CCU einem Skript/Programm zuordnen, inkl der evtl. "unnötigen" Antwort-/Quittungs-Sendezeit (im Script den falschen Befehl verwendet, und schon fragt die CCU sicherheitshalber jedesmal beim Aktor nach, als den letzten bekannten Zustand zu nutzen).
das wird eher schwierig, den Übeltäter zu ermitteln, da man dazu selbst jedes eingehende Datenpaket auf ein Aktor-Konto buchen müsste*. Damit könnte man evtl. eine übermäßige Häufung erkennen, aber es gibt noch so viel nebenbei, das man das Syslog der CCU für den RFD auf Debug drehen müsste, und dann das Syslog mit hohen Künsten der KI zerlegen, interpretieren und auch dieses wieder auf Aktor-Konten buchen müsste (ob eine Quittung auf ein von der CCU empfangenes Funkpaket gesendet wurde bekommt die WebUI gar nicht mit, es belastet aber sehr wohl den DutyCycle der CCU). Ein Wakeup-Burst der CCU ist nur im syslog erkennbar, um die automatische Erkennung habe ich mir da noch gar keine Gedanken gemacht.
Der Familienvater
__
* Und man müsst eigentlich auch von Programmen/Scripten veranlasste Sendeaktionen der CCU einem Skript/Programm zuordnen, inkl der evtl. "unnötigen" Antwort-/Quittungs-Sendezeit (im Script den falschen Befehl verwendet, und schon fragt die CCU sicherheitshalber jedesmal beim Aktor nach, als den letzten bekannten Zustand zu nutzen).
- Herbert_Testmann
- Beiträge: 11062
- Registriert: 17.01.2009, 11:30
- Danksagung erhalten: 7 Mal
Re: Duty_Cycle CCU2 als SysVar
Hallo FV
für den normalen User fände ich den Aufwand auch übertrieben. Wenn es um Fehlersuche bei einem Kunden geht oder der Hersteller ein Problem finden möchte, könnte ich mir evtl. einen statistischen Ansatz vor stellen.
Aus dem von Dir erwähnten Log File auf dem Syslog Server könnte man fest stellen, wie oft sich jeder Aktor in einer bestimmten Zeiteinheit (30 min) mit der CCU per Funk verständigt. Die Sende und Empfangspakete sollte im Log mit Seriennummer vermerkt sein ?
Das könnte als senkrechtes Balkendiagramm sogar pro Aktor farbig mit 2 Balken (von der CCU gesendet, empfangen) passieren. Vermutlich sähe das dann so ähnlich wie die RSSI Liste aus.
Aber nur "um das mal zu sehen" ist es einfach zu viel Zeitaufwand.
für den normalen User fände ich den Aufwand auch übertrieben. Wenn es um Fehlersuche bei einem Kunden geht oder der Hersteller ein Problem finden möchte, könnte ich mir evtl. einen statistischen Ansatz vor stellen.
Aus dem von Dir erwähnten Log File auf dem Syslog Server könnte man fest stellen, wie oft sich jeder Aktor in einer bestimmten Zeiteinheit (30 min) mit der CCU per Funk verständigt. Die Sende und Empfangspakete sollte im Log mit Seriennummer vermerkt sein ?
Das könnte als senkrechtes Balkendiagramm sogar pro Aktor farbig mit 2 Balken (von der CCU gesendet, empfangen) passieren. Vermutlich sähe das dann so ähnlich wie die RSSI Liste aus.
Aber nur "um das mal zu sehen" ist es einfach zu viel Zeitaufwand.
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig
-
- Beiträge: 7151
- Registriert: 31.12.2006, 15:18
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Rhein-Main
- Danksagung erhalten: 34 Mal
Re: Duty_Cycle CCU2 als SysVar
Hi,
meine Scripte machen sich die Mühe, meine Syslogs "allgemein" (ohne Aktor/Programm/Script-Bezug, aber nach Interface CCU/GW1/GW2) durchzugrabbeln, so das ich neben dem Dutycylce für jedes Interface zumindest die Anzahl der Empfangenen, Gesendeten und Quittungen als Werte habe, die ich im 5min Abstand auswerte/graphe.
Ich befürchte aber, das dies ohne externen Syslogserver mit Logfilter-Funktionen schwierig wird, das aus-dem-Stand auf einer einfachen CCU2 zu machen, da rotiert einem ggf. das Syslog zu schnell unter den Scripten weg...
Der Familienvater
meine Scripte machen sich die Mühe, meine Syslogs "allgemein" (ohne Aktor/Programm/Script-Bezug, aber nach Interface CCU/GW1/GW2) durchzugrabbeln, so das ich neben dem Dutycylce für jedes Interface zumindest die Anzahl der Empfangenen, Gesendeten und Quittungen als Werte habe, die ich im 5min Abstand auswerte/graphe.
Ich befürchte aber, das dies ohne externen Syslogserver mit Logfilter-Funktionen schwierig wird, das aus-dem-Stand auf einer einfachen CCU2 zu machen, da rotiert einem ggf. das Syslog zu schnell unter den Scripten weg...
Der Familienvater
Re: Duty_Cycle CCU2 als SysVar
Wie machst Du es? Hast Du die Skripte mal? Ich hab nen Cubietruck der alle syslogs bekommt, da könnt ich sowas noch mit einbauen
-
- Beiträge: 7151
- Registriert: 31.12.2006, 15:18
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Rhein-Main
- Danksagung erhalten: 34 Mal
Re: Duty_Cycle CCU2 als SysVar
Hi,
das hier ist der Teil eines Shell-Scripts, was per cron-job alle 5 min auf der CCU2 ausgeführt wird:
Wobei /mnt/ccu2/LogExchange/ ein NFS-Mount ist, und da filtert der rsyslogd in verschiedene Dateien vor:
Der Familienvater
das hier ist der Teil eines Shell-Scripts, was per cron-job alle 5 min auf der CCU2 ausgeführt wird:
Code: Alles auswählen
# Count rx und tx, Dateien leeren...
rxcount=0`grep "MEQ0006xxx" /mnt/ccu2/LogExchange/rxLog|wc -l|cut -d '/' -f1|xargs`
rxgw1=0`grep "MEQ0461xxx" /mnt/ccu2/LogExchange/rxLog|wc -l|cut -d '/' -f1|xargs`
rxgw2=0`grep "KEQ1065xxx" /mnt/ccu2/LogExchange/rxLog|wc -l|cut -d '/' -f1|xargs`
echo -n >/mnt/ccu2/LogExchange/rxLog
txcount=0`grep "MEQ0006xxx" /mnt/ccu2/LogExchange/txLog|wc -l|cut -d '/' -f1|xargs`
txgw1=0`grep "MEQ0461xxx" /mnt/ccu2/LogExchange/txLog|wc -l|cut -d '/' -f1|xargs`
txgw2=0`grep "KEQ1065xxx" /mnt/ccu2/LogExchange/txLog|wc -l|cut -d '/' -f1|xargs`
echo -n >/mnt/ccu2/LogExchange/txLog
ackcount=0`grep "MEQ0006xxx" /mnt/ccu2/LogExchange/AckLog|wc -l|cut -d '/' -f1|xargs`
ackgw1=0`grep "MEQ0461xxx" /mnt/ccu2/LogExchange/AckLog|wc -l|cut -d '/' -f1|xargs`
ackgw2=0`grep "KEQ1065xxx" /mnt/ccu2/LogExchange/AckLog|wc -l|cut -d '/' -f1|xargs`
echo -n >/mnt/ccu2/LogExchange/AckLog
Code: Alles auswählen
# Meldungen für BidCos I/O filtern, TX
if ( \
($hostname == 'homematic-ccu2' or $hostname =='ccu2') \
and ( \
( \
($rawmsg contains 'rfd: TX: @') \
) \
) \
) \
then /data/NAS-data/ccu2/LogExchange/txLog
# Meldungen für BidCos I/O filtern, ACK
if ( \
($hostname == 'homematic-ccu2' or $hostname =='ccu2') \
and ( \
( \
( \
$rawmsg contains 'Generic [MEQ0006xxx]' \
or \
$rawmsg contains 'WEATHER [MEQ0006xxx]' \
or \
$rawmsg contains 'CONDITIONAL_SWITCH [MEQ0006xxx]' \
or \
$rawmsg contains 'INFO_ACTUATOR_STATUS [MEQ0006xxx]' \
or \
$rawmsg contains 'Generic [MEQ0461xxx]' \
or \
$rawmsg contains 'WEATHER [MEQ0461xxx]' \
or \
$rawmsg contains 'CONDITIONAL_SWITCH [MEQ0461xxx]' \
or \
$rawmsg contains 'INFO_ACTUATOR_STATUS [MEQ0461xxx]' \
or \
$rawmsg contains 'Generic [KEQ1065xxx]' \
or \
$rawmsg contains 'WEATHER [KEQ1065xxx]' \
or \
$rawmsg contains 'CONDITIONAL_SWITCH [KEQ1065xxx]' \
or \
$rawmsg contains 'INFO_ACTUATOR_STATUS [KEQ1065xxx]' \
) \
and \
($rawmsg contains 'rfd: RX for ') \
and \
($rawmsg contains 'BIDI=1') \
) \
) \
) \
then /data/NAS-data/ccu2/LogExchange/AckLog
# Meldungen für BidCos I/O filtern, RX
if ( \
($hostname == 'homematic-ccu2' or $hostname =='ccu2') \
and ( \
( \
( \
$rawmsg contains 'Generic [MEQ0006xxx]' \
or \
$rawmsg contains 'WEATHER [MEQ0006xxx]' \
or \
$rawmsg contains 'CONDITIONAL_SWITCH [MEQ0006xxx]' \
or \
$rawmsg contains 'INFO_ACTUATOR_STATUS [MEQ0006xxx]' \
or \
$rawmsg contains 'Generic [MEQ0461xxx]' \
or \
$rawmsg contains 'WEATHER [MEQ0461xxx]' \
or \
$rawmsg contains 'CONDITIONAL_SWITCH [MEQ0461xxx]' \
or \
$rawmsg contains 'INFO_ACTUATOR_STATUS [MEQ0461xxx]' \
or \
$rawmsg contains 'Generic [KEQ1065xxx]' \
or \
$rawmsg contains 'WEATHER [KEQ1065xxx]' \
or \
$rawmsg contains 'CONDITIONAL_SWITCH [KEQ1065xxx]' \
or \
$rawmsg contains 'INFO_ACTUATOR_STATUS [KEQ1065xxx]' \
or \
$rawmsg contains ' ACK_STATUS [' \
) \
and \
($rawmsg contains 'rfd: RX for ') \
) \
) \
) \
then /data/NAS-data/ccu2/LogExchange/rxLog
Re: Duty_Cycle CCU2 als SysVar
Hallo,
ich habe das jetzt in HPCL eingebunden und schreibe direkt in die History.txt.
danke
Udo
ich habe das jetzt in HPCL eingebunden und schreibe direkt in die History.txt.
danke
Udo
-
- Beiträge: 1322
- Registriert: 13.08.2008, 20:57
- Wohnort: Österreich nähe Wien
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 1 Mal
Re: Duty_Cycle CCU2 als SysVar
Hallo Udo , könntest du beschreiben wie Du es in hpcl integriert hast wäre sicher für viele die hpcl verwenden interessant
Mit freundlichen Grüßen
Mikewolf
Sent from my iPhone 6 plus using Tapatalk
Mit freundlichen Grüßen
Mikewolf
Sent from my iPhone 6 plus using Tapatalk
CCU2 mit Cuxd und HP CLX ,3 x FHZ2000,2 Funkgateway (eckig),und 2 Funkgateway (rund),RS LanGate
ca 590 Komponenten gemischt HM und FS20 90/10)`CCU auf Cubie LXCCU,CCU auf RPi3 Pivccu,Iobroker auf HPgen8,
Tinker,orangepi,Odroid .....,Sonoffs,Xiaomi und ne Menge esp8266
ca 590 Komponenten gemischt HM und FS20 90/10)`CCU auf Cubie LXCCU,CCU auf RPi3 Pivccu,Iobroker auf HPgen8,
Tinker,orangepi,Odroid .....,Sonoffs,Xiaomi und ne Menge esp8266
-
- Beiträge: 1464
- Registriert: 27.06.2010, 01:01
- Wohnort: Braunschweig
- Hat sich bedankt: 4 Mal
Re: Duty_Cycle CCU2 als SysVar
Hallo,
die Abfrage und einfache Darstellung als Systemvariable ist wirklich eine geniale Idee und super geeignet, um den "Gesundheitszustand" der eigenen Programmierung zu prüfen.
Wenn die Systemvariable auf "protokolliert" gesetzt wird, kann man sich die Auslastung auch in PocketControlHM ohne jedes weitere Extra als Diagramm anzeigen lassen.
Als weitere Optimierungsidee könnten die Nullen (Nachkommastellen) noch wegformatiert werden. Ist für jemand mit tcl Kenntnis sicher kein Hexenwerk
Und noch eine Idee zur Diskussion: Die Uptime und Prozessorauslastung wären auch noch schön in einer Systemvariable zu haben
@Udo: Wie man ohne Polling den DutyCylce nach Homeputer bekommt, würde mich ebenfalls ineressieren.
Gruß, Tobias.
die Abfrage und einfache Darstellung als Systemvariable ist wirklich eine geniale Idee und super geeignet, um den "Gesundheitszustand" der eigenen Programmierung zu prüfen.
Wenn die Systemvariable auf "protokolliert" gesetzt wird, kann man sich die Auslastung auch in PocketControlHM ohne jedes weitere Extra als Diagramm anzeigen lassen.
Als weitere Optimierungsidee könnten die Nullen (Nachkommastellen) noch wegformatiert werden. Ist für jemand mit tcl Kenntnis sicher kein Hexenwerk
Und noch eine Idee zur Diskussion: Die Uptime und Prozessorauslastung wären auch noch schön in einer Systemvariable zu haben
@Udo: Wie man ohne Polling den DutyCylce nach Homeputer bekommt, würde mich ebenfalls ineressieren.
Gruß, Tobias.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------