FHEM-Plugin für checkMK

Begonnen von erdo_king, 30 Dezember 2016, 17:35:26

Vorheriges Thema - Nächstes Thema

MarkusN

Zitat von: erdo_king am 20 Juli 2018, 08:26:19
Okay Denkfehler meinerseits.
Blöde Frage: Welche Temperatur hat "desiredTemperature on" ?
Bin von 100°C ausgegangen, das ist wohl quatsch ...

Was genau bedeutet "on" eigentlich?

On oder Off bedeutet dass die HTs ihren Regelbetrieb einstellen. Dann ist auch die desired-Temp bzw desiredTemperature die im Reading angezeigt wird entsprechend on oder off. Der einzige Unterschied zwischen on oder off ist dass das Ventil bei on auf 100% geht, bei off auf 0%.

erdo_king

Super,

wie erstelle ich EINEN! Graphen, der Temperatur und prozentuale Werte (on/Off) in einer Grafik zusammenfügt?
0/100 zerreist die Grafik ... und ich sträube mich aktuell davor on=0 zu deklarieren ;)

Ich könnte 0/50 setzen, das gilt dann aber leider für alle readings die on/off liefern und normalerweise perfomance-Daten liefern ...

MarkusN

1) Was passiert wenn dein Plugin bei on oder off garkeinen Wert liefert?
2) Idee: Wenn desiredTemp=on oder off, dann desiredTemp=measuredTemp

erdo_king

1) Was passiert wenn dein Plugin bei on oder off garkeinen Wert liefert?
  -> die Perfomance-Daten funktinieren nicht -> es wird kein Graph erstellt (gilt leider für alle Werte!!)

2) Idee: Wenn desiredTemp=on oder off, dann desiredTemp=measuredTemp
  -> ist vielleicht die Beste Lösung.
  -> vielleicht off => 0, on => measuredTemp ?

erdo_king

Ich habe das nun so umgesetzt

## transform on/off (HomeMatic/MAX desiredTemp)
if value == "off" or value == "on":
    value = 0


Wenn jemand anderer Meinung ist bitte schreiben.

MarkusN

Sieht gut aus. Kann ich das selbst in das Plugin einbauen, oder setzt das weitere Änderungen voraus?

erdo_king

Das ist bereits eingebaut (aber noch nicht commitet ...)
Ich lege aktuell Sommerpause ein - einfach zu warm zum denken! Sitze hier bei aktuell 32°C ...

Falls du den Abschnitt vorab selbst einbauen möchtest

                             ## define perfdata (just add numeric values)
                             if perfd and not fetch_plain:
                                 ## transform on/off (HomeMatic/MAX desiredTemp)
+                                if value == "off" or value == "on":
+                                         value = 0
                                 perfdata.append( ( title, value, upper_warn, upper_crit, "", "" ) )



KalleBlomquist

Hallo,

ich habe die aktuelle check_mk version 1.5.0p4 installiert (auf einem Debian 9) und auch eine aktuelle FHEM Instanz (auf einem Ubuntu) laufen.
Nun möchte ich gern FHEM überwachen und habe hier beschrieben die Installation durchgeführt:

- Dateien auf den checkMK-Server kopieren (~/local/share/check_mk)
- local/share/check_mk/agents/mk_fhem auf dem FHEM-Server nach /usr/lib/check_mk_agent/plugins/ kopieren
- chmod +x /usr/lib/check_mk_agent/plugins/mk_fhem

Zudem habe ich mit via SSH unter meiner check_mk Instanz angemeldet und mit "mkp install fhem-0.9.2.mkp" das aktuelle
*.mkp File installiert. Es wird mit mit "mkp list" auch angezeigt.

Allerdings weiß ich jetzt nicht weiter ?!?!
Ich finde keine FHEM Einträge o.ä.

Hat jemand einen Tipp für mich (bin check_mk Neuling).

Danke und Gruß
Kalle

erdo_king

#53
Hi Kalle,

erstmal freut es mich das Interesse an meinem Plugin ;)

Zu deinem Problem:
- der FHEM-Server ist als Host im CheckMK  eingebunden?
   # wäre natürlich die Grundvoraussetzung ...
- Kommt ein (Sinnvoller) Output wenn du das Plugin manuell ausführst?
   # /usr/lib/check_mk_agent/plugins/mk_fhem
- ist der Plugin-Output im Agent-Output enthalten?
   # auf dem FHEM-Server: telnet 127.0.0.1 6556
   # Sektion <<<fhem>>> enthalten?


edit:
der erste Step " - Dateien auf den checkMK-Server kopieren (~/local/share/check_mk)" entfällt mit der Installation des mkp - ich sollte mal die Doku anpassen ...
Sollte dich eigentlich nicht betreffen, da es dieselben Dateien sind (Github + mkp)

edit2:
Installationsanleitung überarbeitet (GitHub)

KalleBlomquist

Hi,

- FHEM-Server ist als Host im check_mk eingebunden
- Plugin manuell ausgeführt:

      "Smartmatch is experimental at /usr/lib/check_mk_agent/plugins/mk_fhem line 23.
        sh: 1: /opt/fhem/fhem.pl: Permission denied
        malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of       
        string)") at /usr/lib/check_mk_agent/plugins/mk_fhem line 17"

- Plugin-Output ist ohne <<fhem>> Sektion

Liegt es evtl am Permission denied ? Port ist aber korrekt


erdo_king

Yep das sieht mir nach einem Berechtigungs-Problem aus.
Standard-Mäßig läuft der CheckMK-agent als root, damit treten keine Berechtigungs-Probleme auf.

Ich vermute das ist bei dir anders ...

Existiert die Datei /opt/fhem/fhem.pl bei dir an dieser Stelle und ist diese für den CheckMK-User ausführbar?
Da scheint das Problem zu sein.


KalleBlomquist

Jap, nachdem ich die Rechte angepasst habe funktioniert es  ;D
DANKE !!!

hauwech

Hallo zusammen,
ich habe nun auch das fhem Plugin endeckt und eingesetzt, danke dafür.
Ich habe zwei Differenz Temperatursensoren Homematic HM-WDS30-OT2-SM. Die haben zwei Temperatursensoren und fünf channels.   IODev      HMLAN1
   LASTInputDev HmUART2
   MSGCNT     17571
   NAME       TempSens2
   NOTIFYDEV  global
   NR         559
   NTFY_ORDER 50-TempSens2
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 TempSens2_T1    -> Temperatur Fühler 1
   channel_02 TempSens2_T2    -> Temperatur Fühler 2
   channel_03 TempSens2_T1_T2  -> Differenz Temp1 - Temp2
   channel_04 TempSens2_T2_T1  -> Differenz Temp2 - Temp1
   channel_05 TempSens2_Event

Bei denen ist mir aufgefallen, daß in check_mk nur die (letzte?) Differenz ankommt und damit auf "crit" steht.
Kann man das irgendwo konfigurieren, was man haben möchte? Ich habe nix gefunden.
Allerdings: Ich bin bei check_mk noch nicht über Standards hinausgekommen (host anlegen, SNMP einschalten oder Agent installieren -> freuen).

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

erdo_king

Hallo hauwech,

ich denke das Problem liegt darin, dass die entsprechenden Channels vom CheckMK Plugin nicht unterstützt sind...
Schick doch bitte mal den CheckMk Agent Output des Devices, dann schaue ich mir das mal genauer an ..

(Aus dem Kopf) auf FHEM-Server:
/usr/lib/check_mk_agent/plugins/mk_fhem ausführen

hauwech

Hallo erdo_king,
danke für Info. Ich habe mal den kompletten output [~2500 Zeilen) als PN geschickt. Die beiden TempSens1 und -2 stehen ganz unten.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS