HMInfo configCheck automatisieren

Begonnen von Omega, 13 April 2017, 16:04:51

Vorheriges Thema - Nächstes Thema

Omega

HMInfo configCheck überrascht mich immer wieder mal (Registerinfos fehlen, Temperaturlisten unvollständig, ...).

Bisher habe ich configCheck immer nur sporadisch aufgerufen – meistens auch erst dann, wenn ich so wie so schon Fehler vermutet hatte.
Von daher möchte ich den configCheck gerne regelmäßig aufrufen (ist per at ja kein Problem), um früher auf Fehler aufmerksam gemacht werden zu können. Nur: wie komme ich an das Ergebnis, um z.B. eine Mail zu versenden, wenn nicht "configCheck done: ok" kommt?

Eine Idee wäre, das Ergebnis eines configChecks als Reading in HMInfo zu speichern. Dass ließe sich dann entsprechend leicht auswerten.

LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

DeeSPe

Einfach das Ergebnis von configCheck in eine Variable packen und diese per Mail/Push versenden.

my $t = fhem "get <name> configCheck";
fhem "msg $t";


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Omega

Klappt leider noch nicht ganz. Als Ergebnis kommt nur: "configCheck done".
Es fehlt aber das Ergebnis, ob ok oder ob Fehler vorliegen. Ich habe dazu extra Fehler provoziert, sie werden aber nicht angezeigt.

Kleiner Hinweis noch: in einem at musste ich die Syntax (Klammerung) anpassen:
{
my $t = fhem("get hm configCheck");;
fhem("set pushSM message configCheck-Ergebnis: $t")
}


LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

martinp876

Configcheck wird im Hintergrund gerechnet. Daher klappt die direkte Rückmeldung nicht.
Das im Hintergrund halte ich für wichtig, um die evtl. zeitaufwändige Berechnung nicht das operative Geschehen zu stören.
Ich kann die Werte im "Hintergrund" ablegen und ein Reading als Indikator einbauen. Also "cfgcheckresult = ok\available". Bei Trigger available kann man mit einen getcfgresults die letzten Werte erhalten und verarbeiten.
Dauert noch ne Woche.

Omega

Super  -freue mich schon darauf. Danke!
Zeit spielt keine Rolle - ist ja nur nice to have.
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

martinp876

probiere
set hm configChkResult.

Achtung:
get hm configChkResult
gibt ergebnisse generell im Batch zu rück. "set" des gleichen kommandos wird auf das "get" umgelenkt - nur die Rückgabe ist direkt

Omega

Funktioniert prima   :)

Ich habe es so verstanden, dass ich zuerst einen "normalen" configCheck auslöse und dann kurze Zeit später das Ergebnis mit "set hm configChkResult" prüfe. Beinhaltet der Rückgabestring mehr als "configCheck done:" schicke ich mir eine Nachricht.

Danke noch einmal.
LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Omega

Manchmal klappt leider das Zusammenspiel nicht...
Heute Morgen hatte ich folgende Fehler im Log:
2017.05.19 08:02:01 3: get hm configCheck : configCheck done:

templist mismatch
    OG.Naehen.Thermostat_rechts_Clima: failed Entries:
     OG.Naehen.Thermostat_rechts_Clima :R_6_tempListFri mismatch 05:00 17.0 07:00 17.0 18:30 19.0 22:30 17.0 24:00 17.0 ne incomplete ##
2017.05.19 08:02:01 3: get hm configChkResult : no results available


Obwohl Fehler vorliegen, ist das Ergebnis von configChkResult : no results available

Das lässt sich aber nicht gezielt wiederholen. Ein Test gerade eben brachte das richtige Ergebnis, die vorliegenden Fehler wurden gemeldet.
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave