[gelöst] Nodes überwachen: outstandingAck und alive Prüfung

Begonnen von alru, 27 März 2018, 20:13:15

Vorheriges Thema - Nächstes Thema

Beta-User

Danke für die Rückmeldung!

Da der Thread-Titel m.E. jetzt etwas zu eng für das Thema ist: Könntest du ihn evtl. ändern in z.B. "Nodes überwachen: outstandingAck bzw. alive"? Gerne mit "patch:"

Sonst bin ich mir nicht so recht sicher, ob das z.B. auch Hauswart und eventuelle weitere Interessierte/potentielle Tester hier mitbekommen, und einen extra Thread braucht es eigentlich dazu nicht, oder?

Anbei auch noch die .diff (mein erster Patch 8) ).

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mathea

Sehr cool, dass jemand so schnell diese Funktionalität im Modul nachzieht  :) Vielen Dank für die Arbeit.

Ist es möglich, den Patch mit fhem Update ausrollen zu lassen?

Gruß,
Mathea

Beta-User

Zitat von: Mathea am 12 April 2018, 16:27:56
Ist es möglich, den Patch mit fhem Update ausrollen zu lassen?

Möglich von mir aus schon und gerne, aber wie ich @Hauswart als Modulmaintainer kenne, will er vermutlich
- einige Vorabtester, die bestätigen, dass es ohne Probleme funktioniert
- Rückmeldung, ob das insgesamt eine wünschenswerte Erweiterung der "Funktionalität" ist.

Zum ersten Punkt:
- läuft bei mir auf i386-Debian-stretch, Perl 5.24.
- wir sind grade mal 3 (von ca. 180 gemeldeten Installationen lt. Statistics), und das ist zwar nichts weltbewegendes, aber doch etwas mehr als nur eine kleine Änderung, und besondere Perl-Kenntnisse will ich nicht für mich reklamieren...

Zum zweiten:
bislang liegen "nur" 3 oder 4 positive Stimmen vor.

Gruß, Beta-User

PS: Apropos Perl-Kenntnisse - vielleicht mag sich ja jemand versierteres auch kurz das hier ansehen, dann könnte man das auch gleich mit in Angriff nehmen, wenn es denn wirklich ein Problem sein sollte...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Hauswart

Danke für das Erwähnen im Beitrag. Ich schaue es mir morgen Vormittag gerne Mal an. Gruß
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Hauswart

So sollte ab morgen per Update verfügbar sein. :) Danke an Beta-User!
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Beta-User

Zitat von: Hauswart am 13 April 2018, 10:47:19
So sollte ab morgen per Update verfügbar sein. :)
Ups, so schnell :o .

Danke ebenso! :)

Der Ordnung halber an den TE: [gelöst]?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Hauswart

Nur als Anregung:
defmod rg_battery readingsGroup TYPE=MYSENSORS_DEVICE:state .*:battery
attr rg_battery alias Batteriestatus
attr rg_battery room Z_Batterie
attr rg_battery valueIcon {'state.alive' => 'batterie', 'state.dead' => 'batterie@red', 'battery.ok' => 'batterie', 'battery.low' => 'batterie@red'}


defmod n_state_chk notify .*:dead|.*:[Bb]attery:.* { \
   if($EVENT !~ m/ok/ ) {                                                                                                                                         \
        { fhem ("msg FHEM Batteriewarnung, $NAME: $EVENT:\nBatterien sollten demnächst gewechselt werden!");;;;                                                                             \
         Log 3, "$NAME: Batteriewarnung $EVENT";;;;                                                                                                                                                               \
         } \
   } \
}
attr n_state_chk room Z_Batterie
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Beta-User

Zitat von: Hauswart am 16 April 2018, 10:47:52
Nur als Anregung:
Danke! Hab's zusammen mit einer kurzen Beschreibung der Attribute und einem allg. Update im Starter-Guide ins Wiki übernommen.

Bei Gelegenheit versuche ich mich noch an einer ReadingsGroup, die nur tot bzw. NACK-Nodes anzeigt...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Hauswart

Sollte so möglich sein:

defmod rg_battery readingsGroup TYPE=MYSENSORS_DEVICE:state .*:battery
attr rg_battery alias Batteriestatus
attr rg_battery room Z_Batterie
attr rg_battery valueFormat {$VALUE !~ m/(alive|ok)/?$VALUE:undef;;}
attr rg_battery valueIcon {'state.alive' => 'batterie', 'state.dead' => 'batterie@red', 'state.NACK' => 'batterie@red', 'battery.ok' => 'batterie', 'battery.low' => 'batterie@red'}



defmod n_state_chk notify .*:dead|.*:NACK|.*:[Bb]attery:.* { \
if($EVENT !~ m/ok/ ) {                                                                                                                                         \
  { fhem ("msg FHEM Batteriewarnung, $NAME: $EVENT:\nBatterien sollten demnächst gewechselt werden!");;;;                                                                             \
    Log 3, "$NAME: Batteriewarnung $EVENT";;;;                                                                                                                                                               \
    } \
} \
}
attr n_state_chk room Z_Batterie,Z_System
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Beta-User

#24
Danke für den Stupser, sonst hätte es vermutlich noch länger gedauert :) .

Werde heute abend mal folgendes testen:
define Status_RS485 readingsGroup <Gerät>,<Status> TYPE=MYSENSORS_DEVICE:FILTER=IODev=MySensorsRS485GW:state
attr Status_RS485 group Technik
attr Status_RS485 mapping %ALIAS
attr Status_RS485 noheading 1
attr Status_RS485 room Info,Startseite
attr Status_RS485 valueFormat {$VALUE !~ m/alive/?$VALUE:undef;;}
attr Status_RS485 valueIcon {'state.dead' => 'lan_rs485@orange','state.NACK' => 'lan_rs485@red' }


EDIT: Getestet und für gut befunden :) .
Ich habe noch mehr solcher bedingter readingsGroups, die ich mir direkt auf der Startseite anzeigen lasse, aber eben nur dann, wenn auch Probleme vorliegen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

Das Ganze findet man jetzt auch im Starter-Guide. Korrektur/Verbesserungsvorschläge ausdrücklich erwünscht :) .

[OT1]
Den Artikel habe ich insgesamt auf meinen aktuellen Kenntnisstand gebracht, wer da noch was beitragen mag: gerne Rückmeldung im entsprechenden Wiki-Thread.
[/OT1]

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Ranseyer

OK, ich mache also ein "update all"...

Dann müsste ich so ca. das umsetzen:
https://wiki.fhem.de/wiki/MySensors_Starter_Guide#alive.2C_NACK_und_dead

Frage: Wenn ich "neue HW" teste und jeden "Fehler an einem RS485 Bus" in ein separates Log haben möchte, wie gehe ich dazu am besten vor, dass dann nichts unter den Tisch fällt.
(Also weniger wie der Batteriestatus aktuell ist)
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Beta-User

Das/die Attribut/e nur für die betreffenden Nodes setzen, dann z.B. ein FileLog-Device definieren.
Das sollte dann (der Spur nach) auf MYSENSORS.*:.(dead|alive|NACK) reagieren (braucht ggf. addStateEvent). Wenn dein naming anders ist (ich nutze Alias), muß dann eben die DEF etwas anders aussehen.

Ich selbst nutze im Moment nur die readingsGroup unten.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Ranseyer

Danke !

Hmm, so ?

defmod Status_RS485 readingsGroup MYSENSOR.*:.,(dead|alive|NACK) TYPE=MYSENSORS_DEVICE:FILTER=IODev=mySensGwRS485
attr Status_RS485 DbLogExclude .*
attr Status_RS485 mapping %ALIAS1
attr Status_RS485 room Unsorted
attr Status_RS485 valueFormat {$VALUE !~ m/alive/?$VALUE:undef;;}
attr Status_RS485 valueIcon {'state.dead' => 'lan_rs485@orange','state.NACK' => 'lan_rs485@red' }


Den Status am Ende habe ich nicht Eingetragen, aber dafür vorne. Soll das von vorn nach hinten verschoben werden ?


FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Beta-User

Hmm, in dem Fall steht "<Gerät>,<Status>" genau so in der DEF (die <> sind die Erkennungszeichen für die Überschrift, das ist also ausnahmsweise kein Platzhalter).

Warum kein FileLog?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files