hallo,
ich möchte gerne (derzeit noch theoretisch, weil ich immer noch auf den elektriker warte) ein aussenrollo vor dem fahren hindern, wenn ein magnetkontakt offenen zustand meldet.
im idealfall sperrt das doif sowohl befehle von fhem als auch von der tasterwippe selber.
dazu hab ich mal hier aus div. forendiskussionen ein paar sachen zusammengetragen und hätte jetzt von den profis hier gerne ein go/nogo oder gleich ne intelligentere/bessere lösung.
da ich das ganze zum lernen nehmen will, wäre ne erklärung zu änderungen dann natürlich das tüpfelchen auf dem i.
magnetkontakt: HM-SEC-SC-2
schaltaktor: HM-LC-Bl1PBU-FM
define NotStop_TerrassenRollo
DOIF ([MK_Fliegengitter:state] eq "closed")
(set WZ_Terrasse_Rollo regSet shActionType on self01;; set WZ_Terrasse_Rollo regSet lgActionType on self01;;
set WZ_Terrasse_Rollo regSet shActionType on self02;; set WZ_Terrasse_Rollo regSet lgActionType on self02;;
set WZ_Terrasse_Rollo inhibit off;;)
DOELSE
(set WZ_Terrasse_Rollo regSet shActionType off self01;; set WZ_Terrasse_Rollo regSet lgActionType off self01;;
set WZ_Terrasse_Rollo regSet shActionType off self02;; set WZ_Terrasse_Rollo regSet lgActionType off self02;;
set WZ_Terrasse_Rollo inhibit on;;)
jetzt die frage: funzt das konstrukt oder liegt ihr schon vor lachen am boden?
Zitatim idealfall sperrt das doif sowohl befehle von fhem als auch von der tasterwippe selber.
ich finde, am besten ist es immer, sowas direkt zu probieren.
mit get regList bekommst du einen überblick der möglichen register und deren werte. bist du sicher, dass es actiontype=on gibt? das müsste wahrscheinlich eher jmpToTarget sein.
inhibit sperrt peers. falls es auch mit eigenen peers funktioniert (self01/2), brauchst du keine actionType register verbiegen. am besten probieren.
das schalten aus fhem heraus hast du bisher aber noch nicht abgedeckt. das könntest du erreichen, indem du das schalten aus fhem über virtuelle buttons machst. zb mit einem virtuellen chn deiner vccu peeren, der dann auch über inhibit gesperrt wäre.
vielen dank für die infos.
wär ja super, wenn ich gar nur inhibit bräuchte.
könnte ich die fhem-interne sperrung nicht eventuell über nen watchdog machen?
ich bilde mir ein, irgendwas in der richtung "watchdog zum sperren" mal im forum gelesen zu haben, find aber den beitrag nicht mehr.
Zitatkönnte ich die fhem-interne sperrung nicht eventuell über nen watchdog machen?
ob nun notify, at, doif oder watchdog ist ja erstmal egal. entscheidend ist der befehl zum sperren.
es gäbe noch attr dummy oder disable. hier wird dann aber wahrscheinlich zuviel gesperrt.
zu viel kann ma wohl ned sperren. der rolladen soll ja eigentlich tatsächlich "toter mann" spielen, ist mir ganz recht. kann ich wenigstens keinen schrott mit befehlen von anderer stelle bauen.
zum attr dummy find ich jetzt allerdings leider auch ned grade abendfüllende infos.
die hilfe gibt hier nur her, dass es das attr gibt. magst mir kurz auf die sprünge helfen?
wahrscheinlich werden mit attr dummy keine msgs von fhem an das device gesendet, empfangene msgs aber dennoch verarbeitet. einfach mal probieren.
sobald ich meinen blöden nulleiter beim schalter hab wird probiert *g*
zumindest hast mir schöne richtungen ind infos geben - thx dafür nochmal.
nachtrag:
hab das jetzt mal mit nem hm dimmer probiert.
"dummy 1" und "dummy 0" verhindern tatsächlich das schalten. nur wenn man den dummy dann wieder löscht damit man überhaupt schalten kann, wird der zustand hergestellt, den man vorher nicht erreichen konnte wegen sperre.
mal schaun, ob das bei den rollos auch so sein wird - wäre blöd, wenn mir das ding dann irgendwie irgendwann los fahrt.
so, nun hab ich meinen nulleiter und die rollos funzt soweit ...
mein doif mag aber nicht so 100% und ich komm nicht dahinter.
([MK_Fliegengitter:state] eq "closed")
(deleteattr WZ_Terrasse_Rollo dummy; set WZ_Terrasse_Rollo inhibit off; )
DOELSE
(attr WZ_Terrasse_Rollo dummy 1; set WZ_Terrasse_Rollo inhibit on;)
(ohne jegliche weitere attribute bei doif und zumindest ändert ein "do alwas" nichts am verhalten.)
verhalten:
o) im geschlossenen zustand alles o.k.
o) im offenen zustand lässt sich nichts mehr über fhem steuern, ABER die hardwaretaste schaltet nur 1 mal nicht. drücke ich ein 2. mal fährt das rollo trotzdem.
das weitaus schlimmere daran: ich kriege mit dem doif nach einiger zeit (wenn ich teste) ein "missing ack" auf verschiedenen rollos, dass ich nur durch neu anlegen des schalters weg kriege (manchesmal "nur" mit neu pairen).
nachdem das vor meinen doif-tests nicht aufgetreten ist, nehm ich mal an, es hängt damit zusammen.
x) lösche ich die 2 dummy-befehle raus, funktioniert der schalter wie er soll, also: funktionslos bei offenem magnet und schaltbar bei geschlossenem magnet. nutzt nur nix, weil dann ja leider fhem noch schaltbefehle senden kann.
man sieht mich ratlos ...
(attr WZ_Terrasse_Rollo dummy 1; set WZ_Terrasse_Rollo inhibit on;)
das kann ja schon mal vom prinzip her nicht funktionieren.
wenn du attr dummy setzt, wird ja nichts mehr gesendet. ;)
naja, dummy war ja ne idee von dir *g*
Zitat von: frank am 03 März 2016, 12:48:35
wahrscheinlich werden mit attr dummy keine msgs von fhem an das device gesendet, empfangene msgs aber dennoch verarbeitet. einfach mal probieren.
lest fhem eig. zuverlässig immer von links nach rechts? weil dann müsste ich ja nur den doelse umstellen auf:
([MK_Fliegengitter:state] eq "closed")
(deleteattr WZ_Terrasse_Rollo dummy; set WZ_Terrasse_Rollo inhibit off; )
DOELSE
(set WZ_Terrasse_Rollo inhibit on; attr WZ_Terrasse_Rollo dummy 1; )
Zitatweil dann müsste ich ja nur den doelse umstellen auf:
das meinte ich ja. eventuell noch ein sleep zwischendrin, so dass notfalls auch noch wiederholungen gesendet werden können.
das umstellen nutzt auch nichts.
beim 2. mal tippen am taster fährt das ding ...
ich hab jetzt mal ignore probiert - macht leider auch nur das selbe wie inhibit, also nur den taster lahm legen. ich kann dann immer noch per fhem befehle absetzen.
o.k. ich verzichte aufs lernen ... was muß ich machen, damit auch aus fhem keine befehle mehr abgesetzt werden können?
Eine cul kann immer aendern und befehle absetzen. Du kannst ein iodevices nutzen, das nicht sendet oder das es nicht gibt. Ändere das iodev oder iogrp auf nicht reale werde. Du wirst alles empfangen und nichts senden.
Wenn du wieder aktiv werden willst mache zuvor ein clear msgevents
es gibt also echt keinen einfachen/simplen befehl/attr/... um das device einfach ein/aus-zuschalten und dafür gleich mind. 2 attribute, um den hardware-schalter abzustellen?
würde sagen: da könnte echt mal ein progger ran ...
Wir sind nicht in der Sicherheitstechnik. Damit kein Notaus. Schon mal weil es elektronische Schalter sind die, wenn es um Sicherheit geht, über die Sicherung.
Vielleicht willst du einen reset machen, sicherheitshalber. Danach geht es erst wieder nach pairen.
Du kannst doch so ein Kommando selbst bauen, wo ist dein Problem?
So wirklich verstehe ich das nicht. Beim tapezieren Sicherung raus.
was hat das mit sicherheit zu tun?
ich habe ein fliegengitter, das zu sein muß, wenn eine rollo fährt. das is alles.
um das zu gewährleisten hab ich mir einen magnetsensor extra für dieses fliegengitter gekauft. nun ich kann den hardwaretaster des rollos über den sensor abstellen aber den schalter in fhem nicht?
das ist bitte noch millionen kilometer von jeglicher sicherheitstechnik entfernt. das würde - nett betrachtet - eventuell grad mal unter idiotensicherung fallen.
ganz im speziellen, wenn du leute im haus hast, die automatisation irgendwie gar nicht interessiert und du trotz denen nicht immer nen code in deine steuerungstablets/fernbedienungen/... eingeben willst oder jegliche automatische rollofahrten bei deiner abwesenheit unterbinden mußt, weil du sonst angst haben musst, das oben erwähnte personen wieder mal knöpfe drücken, die sie nicht drücken sollen, weil jetzt halt gerade die zeit dazu nicht passt.
btw - was schreibst du leuten, die ihre alarmanlage über fhem steuern und z.b. durch solche spielchen die flucht des einbrechers erschweren wollen?
ich hoffe, mich jetzt verständlicher ausgedrückt zu haben!
so, ich scheins zu haben. zumindest hat jetzt 5 mal magnetkontakt öffnen das schalten per taster UND fhem unterbunden.
warum auf einmal auch ignore funzt, weiß ich nicht. ich htte auch schon ignore probiert und alles mehrfach gelöscht und neu angelegt (mit schalter reset).
aber gut, es geht und an andere stelle hier im forum wurde mir ja schon gesagt, dass man sich eh nicht sicher sein kann und auf nix bei fhem verlassen darf (<-- zynismus, wer ihn nicht erkennt) ...([MK_Fliegengitter:state] eq "closed")
( attr WZ_Terrasse_Rollo ignore 0;
set WZ_Terrasse_Rollo inhibit off;)
DOELSE
( set WZ_Terrasse_Rollo inhibit on;
attr WZ_Terrasse_Rollo ignore 1;)
man könnte noch bemängeln, dass das rollo weiter fährt, wenn der magnetkontakt erst nachträglich geöffnet wird, ist bei meinem problem aber egal, da das fliegengitter in etwa die gleiche größe wie das rollo hat, also maximal recht unschöne töne macht, wenn die dinger aneinander schleifen.