Hallo,
ich brauche Hilfe für ein notify - für die Meldung "CUL_HM CUL_HM_HM_ES_PMSw1 MISSING ACK" und "CUL_HM CUL_HM_HM_ES_PMSw1 CMDs_pending".
Dann wüsste ich sofort, wann ein Grät ausfällt.
versucht habe ich unter anderem:
define LED06r notify CUL_HM_HM_ES_PMSw1:MISSNG.* set CUL_HM_HM_OU_LED16_Led_06 led red
Danke,
mar
Sowas hier müsste gehen:
define LED06r notify CUL_HM_HM_ES_PMSw1:(MISSING.ACK.*|.*NACK.*) set CUL_HM_HM_OU_LED16_Led_06 led red
Danke geht ;D
Hallo,
hat jemand ne Idee wie ich das nofity für alle HM Geräte erweitere und in der Benachrichtigung noch das/die entsprechende(n) Gerät nenne, welches missing ist/sind.
Danke
Zitat von: riker1 am 27 November 2017, 12:21:56
Hallo,
hat jemand ne Idee wie ich das nofity für alle HM Geräte erweitere und in der Benachrichtigung noch das entsprechne Gerät nenne, welches missing ist.
Danke
Wenn deine Geräte irgendwie im Namen etwas erkennbares haben, dann so (Beispiel):
define LED06r notify CUL_HM_.*:(MISSING.ACK.*|.*NACK.*) set CUL_HM_HM_OU_LED16_Led_06 led red
Bzw. die RegEx halt soweit wie nötig "aufmachen":
define LED06r notify .*(MISSING.ACK.*|.*NACK.*) set CUL_HM_HM_OU_LED16_Led_06 led red
Heißt aber, dass jedes "MISSING ACK" bzw. "NACK" (egal woher/welches Gerät) das Notify triggert.
Das Gerät welches ausgelöst hat sollte mit $NAME "abfragbar" sein...
Siehe: https://fhem.de/commandref_DE.html#notify
Gruß, Joachim
Oder
define LED06r notify TYPE=CUL_HM:.*(MISSING.ACK|NACK).* msg push $NAME: $EVENT
Der Name des triggernden Geräts wäre dann in $NAME, wie MadMax-FHEM schon schrieb.
Gruß
Dan
Hallo Euch,
danke, werde das mal probieren.
Eine Anmerkung noch:
was tust du / willst du tun, wenn mal ein Kommando mit MISSING ACK bzw. NACK quittiert wird?
Besser schauen wo die her kommen, muss ja einen Grund haben...
...bei den meisten Geräten wird ja eh bereits ein paar mal wiederholt und wenn dann trotzdem MISSING ACK bzw. NACK kommt/kommen ist doch was faul.
Evtl. mal mit set hminfo protoEvents
(Name von hminfo anpassen) schauen was los ist, also ob generell was schief ist oder "nur" bei bestimmten Geräten...
Falls dir hminfo nichts sagt: https://wiki.fhem.de/wiki/HomeMatic_HMInfo
Gruß, Joachim
Hallo,
danke für die Hilfe.
set hminfo protoEvents
werde das mal einbauen .
ich möchte zuerst mal eine Benachrichtigung von den Geräten gerade zur Fehlersuche. Nur so merke ich wo was nicht geschaltet wird. Umwälzpumpe Heizung.
Klar ist eine Meldung der Ursache besser und die Behebung besser. Daran arbeite ich .
die Geräte sind teilweise weit auseinander und nicht jedes Kommando kommt an.
Manmal - nach reboot - des Raspberry wird der Cul - mit Ser2Net - nicht richtig initialisiert , muss dann an und abgesteckt werden, da forsche ich aber auch noch. - defür habe ich auch ein Notify für den CUL.
Noch kleine Fragen in dem Kontext.
- glaube die Geräte stellen sich nicht selbst auf Missing, sondern nur wenn man ein Kommando sendet, und es nicht klappt. Das dauert teilweise sehr lange
- schickt man ein Kommando kommt immer zuerst der State set-on bzw set-off, etc. fände es aber sinnvoll wenn nicht die geplante Aktion schon als State kommt. Nach nicht funktionierendem set-on kommt dann wieder Missing -das warder State beispielsweise vorher ja auch schon - und das Missing-Notify springt wieder an.
- Verwandtes Thema: Versuche den Status nach einem Stromausfall wieder herzustellen.
Fragen dazu:
- . kann man irgendwo einstellen das der STATE schneller / automatisch gesetzt wird? Analog funktioniert es besser wenn der Actor wieder da ist.
- . Kann man diese "Zwischen Status" Werte filtern bzw den Status Sprung ?
- . Wie kann ich den Status speichern und nach einem Neustart wieder herstellen? weiß leider nicht wie?
Danke Thomas
Zitat von: riker1 am 28 November 2017, 09:00:31
Fragen dazu:
- . kann man irgendwo einstellen das der STATE schneller / automatisch gesetzt wird? Analog funktioniert es besser wenn der Actor wieder da ist.
- . Kann man diese "Zwischen Status" Werte filtern bzw den Status Sprung ?
- . Wie kann ich den Status speichern und nach einem Neustart wieder herstellen? weiß leider nicht wie?
Danke Thomas
Hallo Thomas,
ich versuch mich mal... ;)
Zu 1.: wahrscheinlich nicht, außer du löst zyklisch ein "nichts tuendes Kommando aus", also einfach den aktuellen Status erneut setzen... ABER: unnötige Funklast!!!!!!
Zu 2.:
Was meinst du mit Filtern? Wenn du willst, dass die nicht kommen, dann muss das im Modul geändert werden: wird wohl nicht passieren...
Zu 3.: Verstehe ich auch nicht. Normalerweise werden die Zustände im "fhem.save" gespeichert. Wenn das nicht so ist oder du andere Zustände meinst (wahrscheinlich Spannung an etc.) dann evtl. ein userReadings (oder die notwendigen Zustände als Reading in einem Dummy) anlegen und beim Hochlauf von fhem "global:INITIALIZED" ein Notify mit entsprechender Funktion, dass dann die gespeicherten Zustände abfragt und wieder einstellt. Bei manchen Aktoren (je nach FW-Stand, also Homematic aber gibt es bestimmt auch von anderen) kann man auch über ein Register einstellen, was nach Spannungswiederkehr (gut ist vielleicht was anderes als du willst) passieren soll...
Gruß, Joachim
ZitatWie kann ich den Status speichern und nach einem Neustart wieder herstellen?
der schaltzustand des aktors, sollte sich
nicht nach restart ändern!
der inhalt vom reading state eventuell schon, da es bei homematic eben auch die "kommunikationszustände" wiedergibt und bei neustart, je nach einstellung autoreadreg, mit dem device bereits wieder kommuniziert wird.
ich nutze den actiondetektor, um mich über "tote" devices zu informieren.
deine ausgangslage mit schlechtem funk, cul als io und zusätzlich gestörter kommunikation mit dem cul ist natürlich schon ziehmlich krass. den grund für die "häufigen" restarts des pi hast du noch gar nicht erwähnt.
ich würde mal mit einem hmuart als io anfangen.
Hallo Frank,
ich meinte nach einem Stromausfall ist der Aktor aus.
er sollte aber auf jeden Fall an sein. Ist quasi ein Notschalter.
Wie bekomme ich die Schalter nach dem Stromausfall wieder an?
Hatte mal einen WD versucht, der prüft ob der Aktor an ist , wenn nein, dann sollte er ihn einschalten.
Muss nochmal den code suchen.
Danke
Hallo Joachim,
danke
zu 1 und 2 ist alles klar . Das geht wohl nicht so einfach.
zu 3. Da muss ich dann mal etwas basteln.
Danke
Zitat von: riker1 am 28 November 2017, 19:30:30
Hallo Joachim,
danke
Bitte gerne!
Zitat von: riker1 am 28 November 2017, 19:30:30
zu 3. Da muss ich dann mal etwas basteln.
Naja so schlimm ist es nicht. ;)
Und wenn du gezielt frägst und ein wenig mehr Infos zu deinen Geräten lieferst, wird dir sicher weiter geholfen...
Apropos Geräte. Wie erwähnt kann man bei manchen Homematic Geräten das Verhalten bei Spannungswiederkehr über ein Register am Gerät einstellen...
...welche Geräte hast du?
Gruß, Joachim
Zitatch meinte nach einem Stromausfall ist der Aktor aus.
er sollte aber auf jeden Fall an sein. Ist quasi ein Notschalter.
dann in chn01 das register powerUpAction auf on setzen. die fw muss aktuell sein.
Hi Frank Joachim,
coole Hilfe,
Habe diverse
HM-LC-SW1-PL2
Firmware 2.4, müsste die aktuelle sein.
Mit dem Register werde ich probieren. Das wäre das einfachste.
Habe noch 2 Probleme:
4 wie bekomme ich denn das alias Attribute als Variable in eine Ausgabe - arbeite mit Telegram bot ?
5 Wie bekomme ich denEvent gescheit abgefragt wenn ein Actor nach missing wieder da ist? Brauche wohl eine dummy Hilfsvariable, oder?
@Frank,
was ist der actiondetektor?
bezüglich des RPI restarts, meist verliert er die Wlan verbindung und muss neu gestartet werden, dann erkennt er aber den CUL nicht mehr ein ser2net restart reicht nicht, er erkennt den CUL nur nach an und abstöpseln.
PS. habe mal nach HMUART geschaut, das ist doch HM-MOD-RPI-PCB, richtig? Das ist doch auch eine art CUL ( Arduino mit Funk) , oder?
Danke Thomas
Update: Also das mit dem Register powerUpAction klappt super. Sehr wichtig. Danke
Zitat von: riker1 am 29 November 2017, 11:17:41
Habe diverse
HM-LC-SW1-PL2
Firmware 2.4, müsste die aktuelle sein.
Vielleicht ist das interessant: http://heinz-otto.blogspot.de/2016/11/homematic-firmwareupdate.html
So kann man den Überblick behalten ;)
Zitat von: riker1 am 29 November 2017, 11:17:41
Habe noch 2 Probleme:
4 wie bekomme ich denn das alias Attribute als Variable in eine Ausgabe - arbeite mit Telegram bot ?
5 Wie bekomme ich denEvent gescheit abgefragt wenn ein Actor nach missing wieder da ist? Brauche wohl eine dummy Hilfsvariable, oder?
4.: AttrVal("Devicename", "AttrName","ErsatzWert")
Aus der Commandref:
AttrVal(<devicename>,<attribute>,<defaultvalue>)
Gibt das entsprechende Attribut des Gerätes zurück
5.: verstehe nicht ganz genau was du meinst. Dinge zwischenspeichern kannst du auch direkt "im" Gerät selbst: setreading GeräteName ReadingsName Wert
Commandref: https://fhem.de/commandref_DE.html#setreading
Zitat von: riker1 am 29 November 2017, 11:17:41
@Frank,
was ist der actiondetektor?
Bin zwar nicht Frank aber ich antworte trotzdem mal ;)
https://wiki.fhem.de/wiki/HomeMatic#Action_Detector
https://forum.fhem.de/index.php?topic=15277.0
Zitat von: riker1 am 29 November 2017, 11:17:41
@Frank,
bezüglich des RPI restarts, meist verliert er die Wlan verbindung und muss neu gestartet werden, dann erkennt er aber den CUL nicht mehr ein ser2net restart reicht nicht, er erkennt den CUL nur nach an und abstöpseln.
Immer noch nicht Frank aber trotzdem weiter ;)
Dazu habe ich gefühlt schon öfter was im Forum gelesen, also sowohl WLAN und PI3 (wobei ich selbst keine Probleme auf meinen Testsystemen habe und das Hauptsystem mit Kabel angeschlossen ist!) als auch bzgl. CUL an-/absteck-Probleme...
Vielleicht mal suchen...
Zitat von: riker1 am 29 November 2017, 11:17:41
PS. habe mal nach HMUART geschaut, das ist doch HM-MOD-RPI-PCB, richtig? Das ist doch auch eine art CUL ( Arduino mit Funk) , oder?
Im Prinzip ja: Microcontroller und Funkmodul
ABER: es ist mit einer HM-Firmware versorgt, die viel von der Kommunikation direkt übernimmt und fhem etc. erst gar nicht braucht (also ACKs etc.), daher sind bei "Original-HM-Funkmodulen" eher keine MISSING ACK/NACK zu erwarten, wenn es aus "Timinggründen" passiert. Bei einer schlechten Funkverbindung wird das nat. nicht helfen.
Aber ich kann nur sagen: Homematic und CUL kann gut gehen.... Muss aber nicht... Und 20EUR für das Aufsteckmodul ist wirklich günstig...
Gut man muss etwas löten (Stiftleiste auflöten) aber beim Selbstbau CUL sicher deutlich mehr...
Und das Modul kann auch per USB, WLAN, ... "angeschlossen" werden.
Gerade die WLAN-Variante hat was, damit lässt sich die Funkausleuchtung deutlich einfach versbessern: einfach "irgendwo" in die Steckdose stecken...
Gruß, Joachim
Hallo Otto,
super danke toole Tips und Anregungen.
Bzw Cul, hatte damit angefangen da ich vorher nur FS20,MAX und IT hatte und kein Homematic. habe immer noch einige gmeischte Devices....bin am umrüsten.
Action_Detector werde ich probieren , danke für die Links. Hatte falsch gesucht.
zu5. zwischenspeichern um nur einige Status-Übergange zu überwachen, denke da kann ich auch mit userreadings arbeiten. Werde hier das verfolgen.
Problem ist hier, dass state (vorher Missing) (klarstellung): um den Übergang von Missing nach funktionierend zu erkennen, muss ich ja den nächsten gültigen state mit dem vorherigen vergleichen . also on zu off und off zu on muss ich irgendwie ignorieren. bzw muss stateänderung on -> off ja als gültig erkennen und nur Missing zu on|off als- Gerät funktioniert wieder - erkennen.
analog sauberes missing kann ich nur erkennen wenn state : set-on quasi ignoriert wird....
.darf dann nur als gültige vergleiche die Status : on, of, Missing für die Vergleiche mit neuem state speichern.
Hoffe habe mich verständlich ausgedrückt.( und denke richtig)
zu 4. AttrVal, werde ich probieren, klingt vielversprechend. Komme manchmal durcheinander mit den Ebenen und Variablen, fhem, Perl, ....
Danke für die Hilfen
LG Thomas