CCU3 und CPU Temperatur per SNMP
Moderator: Co-Administratoren
CCU3 und CPU Temperatur per SNMP
Hallo, hat jemand eine Idee wie das gehen könnte:
die CCU3 CPU Temperatur per SNMP auslesen.
Die CCU3 hat einen SNMP Dienst laufen, mit community public kann man den abfragen.
Die CCU3 hat auch einen CPU Temperatur Sensor verbaut (ist ja ein Raspberry)
Wenn man einen standard Raspberry mit Raspian hat dann könnte man so per SNMP die Temperatur auslesen,
folgendes Skript liest die Temperatur:
/usr/local/etc/config/snmp-cpu-temp
#!/bin/bash
if [ "$1" = "-g" ]
then
echo .1.3.6.1.2.1.25.1.8
echo gauge
cat /sys/class/thermal/thermal_zone0/temp
fi
exit 0
und hier würde man die snmpd.config erweitern
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
# ACCESS CONTROL
rocommunity public default
rocommunity6 public default
rouser authOnlyUser
# SYSTEM INFORMATION
sysLocation RaspberryMatic
sysContact HomeMatic User
sysServices 72
# ACTIVE MONITORING
trapsink localhost public
# AgentX Sub-agents
master agentx
# EXTEND
pass .1.3.6.1.2.1.25.1.8 /bin/sh /usr/local/etc/config/snmp-cpu-temp
dann könnte mit der SNMP OID .1.3.6.1.2.1.25.1.8 einfach die Temperatur abgefragt werden.
Leider geht das mit der CCU3 so nicht, hätte da jemand eine Idee?
die CCU3 CPU Temperatur per SNMP auslesen.
Die CCU3 hat einen SNMP Dienst laufen, mit community public kann man den abfragen.
Die CCU3 hat auch einen CPU Temperatur Sensor verbaut (ist ja ein Raspberry)
Wenn man einen standard Raspberry mit Raspian hat dann könnte man so per SNMP die Temperatur auslesen,
folgendes Skript liest die Temperatur:
/usr/local/etc/config/snmp-cpu-temp
#!/bin/bash
if [ "$1" = "-g" ]
then
echo .1.3.6.1.2.1.25.1.8
echo gauge
cat /sys/class/thermal/thermal_zone0/temp
fi
exit 0
und hier würde man die snmpd.config erweitern
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
# ACCESS CONTROL
rocommunity public default
rocommunity6 public default
rouser authOnlyUser
# SYSTEM INFORMATION
sysLocation RaspberryMatic
sysContact HomeMatic User
sysServices 72
# ACTIVE MONITORING
trapsink localhost public
# AgentX Sub-agents
master agentx
# EXTEND
pass .1.3.6.1.2.1.25.1.8 /bin/sh /usr/local/etc/config/snmp-cpu-temp
dann könnte mit der SNMP OID .1.3.6.1.2.1.25.1.8 einfach die Temperatur abgefragt werden.
Leider geht das mit der CCU3 so nicht, hätte da jemand eine Idee?
Was es nicht gibt, wird halt erfunden...
- jmaus
- Beiträge: 9893
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 465 Mal
- Danksagung erhalten: 1891 Mal
- Kontaktdaten:
Re: CCU3 und CPU Temperatur per SNMP
Erst einmal sei gesagt das die SNMP Funktion so wie Sie in der CCU3 ist von RaspberryMatic geerbt wurde. D.h. das man überhaupt den SNMP Dienst in der CCU3 Firmware hat verdankt die CCU3 den langjährigen Entwicklungen in RaspberryMatic und damit der Community.
Was das auslesen der Temperatur angeht, so habe ich das selbst via SNMP noch nicht gemacht/erledigt. Ich wäre daran aber auch interessiert sobald jemand eine Lösung dafür hat. Dann würde ich diese entsprechend in RaspberryMatic aufnehmen und dann würde das später ggf. in die CCU3 Firmware wiederum von eQ-3 übernommen werden. Kurzum sei nur gesagt das es sich bei dem SNMP Daemon in RaspberryMatic und CCU3 um den "netsnmp" handelt (siehe http://www.net-snmp.org) und zwar in Version 5.7.3. Und daher sollten im Grunde alle Features dieses SNMP Daemons wie dieser auch in Raspbian&Co existiert auch auf einer RaspberryMatic/CCU3 funktionieren.
Und wenn ich mir deinen Skript so anschaue dann wird das vmtl. einfach daran liegen da du oben im "snmp-cpu-temp" Skript die Anweisung "#!/bin/bash" stehen hast. Auf einer RaspberryMatic/CCU3 existiert aber keine bash shell und du solltest die Anweisung daher gegen ein "#!/bin/sh" ändern und dem Skript auch executable rechte verpassen. Dann sollte das ganze eigentlich gehen.
Was das auslesen der Temperatur angeht, so habe ich das selbst via SNMP noch nicht gemacht/erledigt. Ich wäre daran aber auch interessiert sobald jemand eine Lösung dafür hat. Dann würde ich diese entsprechend in RaspberryMatic aufnehmen und dann würde das später ggf. in die CCU3 Firmware wiederum von eQ-3 übernommen werden. Kurzum sei nur gesagt das es sich bei dem SNMP Daemon in RaspberryMatic und CCU3 um den "netsnmp" handelt (siehe http://www.net-snmp.org) und zwar in Version 5.7.3. Und daher sollten im Grunde alle Features dieses SNMP Daemons wie dieser auch in Raspbian&Co existiert auch auf einer RaspberryMatic/CCU3 funktionieren.
Und wenn ich mir deinen Skript so anschaue dann wird das vmtl. einfach daran liegen da du oben im "snmp-cpu-temp" Skript die Anweisung "#!/bin/bash" stehen hast. Auf einer RaspberryMatic/CCU3 existiert aber keine bash shell und du solltest die Anweisung daher gegen ein "#!/bin/sh" ändern und dem Skript auch executable rechte verpassen. Dann sollte das ganze eigentlich gehen.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
Re: CCU3 und CPU Temperatur per SNMP
Hallo Jens
ja erstmal danke für die Ausführung und dass SNMP es nun in die CCU geschafft hat!
Ich mache sehr viel mit SNMP so kommt mir das gelegen.
Ich habe mit Standard Raspian das schon länger mit dem Temperatur auslesen im Einsatz geht gut.
Ich habe deine Vorschläge eben ausprobiert leider geht es noch nicht:
Also Skript und Rechte angepasst (chmod +x snmp-cpu-temp) Führe ich das Kommando aus dann kommt auch die Temperatur zurück muss halt noch durch 1000 dividiert werden
# cat /sys/class/thermal/thermal_zone0/temp
53692
#
und in der snmpd.config der Zusatz und neu gestartet
# EXTEND
pass .1.3.6.1.2.1.25.1.8 /bin/sh /usr/local/etc/config/snmp-cpu-temp
fragt man dann mit SNMP Client ab kommt die Uptime (als Gegenprobe) nicht die Temp Wie das ganze gehen soll habe ich mal hier gefunden für Standard Raspberry PI
http://www.satsignal.eu/raspberry-pi/monitoring.html
Kapitel: Adding SNMP support for CPU temperature monitoring
ja erstmal danke für die Ausführung und dass SNMP es nun in die CCU geschafft hat!
Ich mache sehr viel mit SNMP so kommt mir das gelegen.
Ich habe mit Standard Raspian das schon länger mit dem Temperatur auslesen im Einsatz geht gut.
Ich habe deine Vorschläge eben ausprobiert leider geht es noch nicht:
Also Skript und Rechte angepasst (chmod +x snmp-cpu-temp) Führe ich das Kommando aus dann kommt auch die Temperatur zurück muss halt noch durch 1000 dividiert werden
# cat /sys/class/thermal/thermal_zone0/temp
53692
#
und in der snmpd.config der Zusatz und neu gestartet
# EXTEND
pass .1.3.6.1.2.1.25.1.8 /bin/sh /usr/local/etc/config/snmp-cpu-temp
fragt man dann mit SNMP Client ab kommt die Uptime (als Gegenprobe) nicht die Temp Wie das ganze gehen soll habe ich mal hier gefunden für Standard Raspberry PI
http://www.satsignal.eu/raspberry-pi/monitoring.html
Kapitel: Adding SNMP support for CPU temperature monitoring
Was es nicht gibt, wird halt erfunden...
- jmaus
- Beiträge: 9893
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 465 Mal
- Danksagung erhalten: 1891 Mal
- Kontaktdaten:
Re: CCU3 und CPU Temperatur per SNMP
Bitte mal in das Logfile "/var/log/messages" schauen. Ich hab das gerade mal probiert mit der "pass" option und gemerkt das hier der Fehler
ausgegeben wird. D.h. der snmpd daemon unterstützt die "pass" option nicht die dort versucht wird zu benutzen. Das muss ich mir erst noch einmal tiefer anschauen und ggf. snmpd einmal diesbzgl. neu kompilieren wie es aussieht.
Code: Alles auswählen
/etc/config/snmp/snmpd.conf: line 20: Warning: Unknown token: pass.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
-
- Beiträge: 10672
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 327 Mal
- Danksagung erhalten: 503 Mal
Re: CCU3 und CPU Temperatur per SNMP
Der ioBroker hat übrigens auch einen snmp-Adapter, mit dem man das sehr einfach realisieren könnte.
Hab's mal auf die Schnelle getestet. Doch leider scheint es auf die snmp-Adresse .1.3.6.1.2.1.25.1.8 keine Reaktion zu geben. Mit .1.3.6.1.2.1.1.1.0 erhalte ich aber immerhin die Systeminfo meiner CCU3, wie hier beschrieben.
Bis dann,
Thorsten
Hab's mal auf die Schnelle getestet. Doch leider scheint es auf die snmp-Adresse .1.3.6.1.2.1.25.1.8 keine Reaktion zu geben. Mit .1.3.6.1.2.1.1.1.0 erhalte ich aber immerhin die Systeminfo meiner CCU3, wie hier beschrieben.
Bis dann,
Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
Re: CCU3 und CPU Temperatur per SNMP
sorry, ne dumme Frage, ich bin ja nicht der Linux Mensch,
kann ich den snmpd Dienst auch mit Kommando neu starten?
service snmpd restart geht nicht mit dem linux.
Denn wenn ich einen das Kommando reboot mache dann startet die CCU nicht wirklich neu.
Sie kommt wieder hoch aber ab dann funktionieren keine Programme mehr die mit Wired Komponenten zu tun haben
und wenn man ein Script testen will schmiert der webserver ganz ab.
Ich habe dazu mich schon an den eq3 support gewendet.
Ich habe nur xmlapi und email addon installiert.
und meine Skripte sind ganz einfach:
Nur die CCU3 dann stromlos machen hilft wieder.
.
kann ich den snmpd Dienst auch mit Kommando neu starten?
service snmpd restart geht nicht mit dem linux.
Denn wenn ich einen das Kommando reboot mache dann startet die CCU nicht wirklich neu.
Sie kommt wieder hoch aber ab dann funktionieren keine Programme mehr die mit Wired Komponenten zu tun haben
und wenn man ein Script testen will schmiert der webserver ganz ab.
Ich habe dazu mich schon an den eq3 support gewendet.
Ich habe nur xmlapi und email addon installiert.
und meine Skripte sind ganz einfach:
Code: Alles auswählen
var TempSensor = "BidCos-RF.MEQ0868672";
var SwitchActor = "BidCos-Wired.OEQ0129169:7";
var TempSensorCurrent = dom.GetObject(TempSensor+":2.ACTUAL_TEMPERATURE").Value();
var TempSensorNew = dom.GetObject(TempSensor+":2.SET_TEMPERATURE").Value();
if (TempSensorCurrent<(TempSensorNew-0.5))
{
dom.GetObject(SwitchActor+".STATE").State(1);
}
else
{
if (TempSensorCurrent>(TempSensorNew+0.5))
{
dom.GetObject(SwitchActor+".STATE").State(0);
}
}
Nur die CCU3 dann stromlos machen hilft wieder.
.
Zuletzt geändert von alchy am 04.09.2018, 07:57, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
Grund: Code in Codetags posten
Was es nicht gibt, wird halt erfunden...
Re: CCU3 und CPU Temperatur per SNMP
die OID .1.3.6.1.2.1.25.1.8 habe ich einfach mal festgelegt für die CPU Temperatur, solange man das als extension wie oben beschrieben nicht einbaut kommt nix.dtp hat geschrieben: ↑03.09.2018, 12:55Der ioBroker hat übrigens auch einen snmp-Adapter, mit dem man das sehr einfach realisieren könnte.
Hab's mal auf die Schnelle getestet. Doch leider scheint es auf die snmp-Adresse .1.3.6.1.2.1.25.1.8 keine Reaktion zu geben. Mit .1.3.6.1.2.1.1.1.0 erhalte ich aber immerhin die Systeminfo meiner CCU3, wie hier beschrieben.
Bis dann,
Thorsten
Per standard komme alle diese Werte mal zurück. Interessant die CPU wie sie vor sich hin dümpelt. so muss sein.
Was es nicht gibt, wird halt erfunden...
Re: CCU3 und CPU Temperatur per SNMP
ja ich mache viel mit PRTG und PRTG Maps, wenn du lust hast kanns mal meine Homepage schauen:
http://www.the-ginthers.net/projects/glab/index.html
http://www.the-ginthers.net/projects/glab/index.html
Was es nicht gibt, wird halt erfunden...
-
- Beiträge: 6775
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 496 Mal
Re: CCU3 und CPU Temperatur per SNMP
Na da hast Du ja allerhand zusammen laufen. Kern ist Loxone oder ist das alles über Python verbunden?