Hallo zusammen,
ich habe mehrere HM-LC-BL1-FM im Einsatz. Ich möchte gerne die direkte Bedienung per lokalem Taster und(!) per Modul in der FHEM-Oberfläche sperren für den Fall das z.B. eine Tür geöffnet ist.
Am Wochenende hat leider ein Freund die Rollade versehentlich lokal fahren lassen, während die Fliegentür geöffnet war. Die Rolladen hat sich dann schön im Kasten aufgewickelt. :'(
Die Sperre aller automatischen Steuerungen habe ich bereits durch die Einbindung des Status von Tür- und Fensterkontakten erreicht.
Für den lokalen Taster habe ich mir die Möglichkeit mittels "inhibit" angeschaut und getestet. Das gefällt mir schon ganz gut.
Ich suche nun nach einer Möglichkeit, auch die Bedienung des Aktors direkt über die FHEM-Oberfläche zu sperren, da dort natürlich versehentlich auch eine manuelle Fehlbedienung passieren kann, wenn man die Rollade nicht direkt einsehen kann.
Gibt es hier Möglichkeiten? Ich könnte natürlich zur Bedienung über die Oberfläche komplett einen Dummy zwischenschalten und "aufwändig" den Status synchronisieren. Geht das nicht einfacher?
Ich freue mich auf Euren Gedankenaustausch.
Vielen Dank und Gruß
Christian
probiere mal attr <> dummy 1
Zitat von: fhem-hm-knecht am 31 Mai 2017, 16:33:25
probiere mal attr <> dummy 1
Wäre klasse, wenn das klappt!
Ansonsten: neulich habe ich eine myUtils Funktion gebastelt, die "set"-Befehle an HM-Rolladenaktoren abfängt und ggf. auf einen neuen Wert "umbiegt", wenn das zugehörige Fenster offen ist. Da dauert es zwar uU. einen kleinen Moment, bis das "stop" bzw. "auf" wieder am Aktor ankommt, aber immerhin sollte sich mit so etwas auch das "schlimmste" verhindern lassen.
Code ist hier (https://github.com/rejoe2/FHEM/tree/master/myShutter), Diskussion dazu hier (https://forum.fhem.de/index.php/topic,69704.0.html) zu finden.
Das zugehörige notify steht als Kommentar im code.
Bitte bei Fragen einfach melden.
Gruß, Beta-User
Hallo,
danke für die schnelle Rückmeldung.
Zitatprobiere mal attr <> dummy 1
Bevor ich mich später ransetze: Was passiert mit diesem Attribut genau? Veränderungen von Attributen zur Laufzeit ist ja immer ein bisschen komisch.
Gibt Du mir noch mehr Infos. :)
Vielen Dank
;D jaja fragen erspart manchmal 1 std Arbeit ;D ;D ;D
kannst auch attr <> ignore 1
mal asprobieren, da warne ich dich, weil da verschwindet dein device aus Fhemweb, bekommst du dann nur noch zu Gesicht mit
attr <> ignore 0 bzw das attr <> ignore über commandfeld löschen
wenn dir das auch noch zu unsicher ist könntest auch das Device von Fhem lösen mit unpair,
und später mit hmPairSerial xxxxx wieder pairen
;D
Hallo Christian!
Schau dir mal "cmdalias" an. Damit kannst du einen Befehl auf etwas anderes umbiegen.
LG
Rainer
ein consolControl inhibit scheint mir eine sinnvolle Erweiterung. das problem haben mehrere. wenn gesetzt wuerden alle kommandos die etwas steuern verhindert. abfragen sind weiter möglich.
man muss beachten, dass nicht nur on und Off betroffen sind. auch pct, press, up, down,... ebenso aktionen wie regset und peerings.
mal sehen am Wochenende
Hallo,
gibt es schon Neuigkeiten in diesem Thema?
Gruß
Christian
gerade fertig: Attr readOnly
Hallo Martin,
prima, vielen Dank.
Eine Umsetzung über set wäre nicht möglich gewesen. Er möchte ja bedarfsabhängig die Fernsteuerung deaktivieren, wenn z.B. eine Tür geöffnet ist.
Mit einem Attribut ändere ich dann ja zur Laufzeit die Konfig. Oder verstehe ich das falsch?
Ich dachte an so was wie "inhibit"
Aber ich will nicht nur nörgeln.
Gruß und schönes Wochenende
Christian
Beides nicht schlecht. Es muss gespeichert werden um reset zu überleben. Attr oder readings sind möglich. Beides hat nachteile. Attr hat vorteile, da man beim sperren des device alle Kanäle sperrt.
Hallo Martin,
zunächst noch alles Gute im neuen Jahr 2020.
Hast Du in dieser Thematik noch einmal darüber nachgedacht, ein set-Komando zu implementieren?
Die Lösung über attr verursacht ja m.E., dass ich bei jedem Öffnen oder Schließen der Terassentür die Konfig des Rollanden-Device ändern würde.
Vielen Dank und Gruß vom Niederrhein.
Christian
push
ACK.
Das Attribut "readOnly" ist ein guter Schritt. Ich würde es ganz anders angehen.
Ein set-Kommando zur Verhinderung von Aktionen durch peers haben wir ja bereits und es wird genutzt: inhibit.
Es bräuchte einen Mechanismus, der die Ausführungen von set-Kommandos durch die Zentrale (also via CUL_HM) dazu bringt, bedarfsweise (und das könnte durch ein Attribut wie "inhibitBlocksGlobal" (Vorschlag) festgelegt sein) vom Wert des "inhibit" abhängig zu machen (was aufgrund von fehlenden Rückmeldungen nur "set_on" oder "set_off" ist derzeit, aber das ist ja auch abzufangen).
So könnte man für jeden Aktor per Attribut festlegen, ob ein inhibit nur auf peers oder auch auf Zentralensteuerung wirkt.
funktioniert das nicht schon mit attr dummy?
Jein. Es funktioniert auch mit "readOnly".
Es geht aber darum es zu ermöglichen, im laufenden Betrieb die Bedienung zu sperren und wieder freizugeben, ohne dass das Änderungen an der Konfig ergibt (zu deren Speicherung fhem dann immer so nett auffordert). Das ist aber das Hauptproblem bei jeder Attribut-Manipulation im laufenden Betrieb...
Hallo,
ich brauche in diesem Kontext einmal kurz Eure Expertenhilfe.
Ich habe nun ein notify realisiert, das mir inhibit und das Attribut readOnly setzt.
defmod Terrassentuer.Links.notify.closed notify Wz.Tuer.Contact.Links:closed$|du_Wz.Insektentuer.Kontact.Links:closed$ {\
if((("$NAME" eq "Wz.Tuer.Contact.Links") && (Value("du_Wz.Insektentuer.Kontact.Links") eq "closed")) | \
(("$NAME" eq "du_Wz.Insektentuer.Kontact.Links") && (Value("Wz.Tuer.Contact.Links") eq "closed"))){\
fhem("set Wz.Rolladen.Links inhibit off ;; attr Wz.Rolladen.Links readOnly 0 ;; save") }\
}
Funktioniert so weit gut. Sorgt natürlich -wie diskutiert- für eine Anpassung der Konfiguration. FHEM fordert zum Speichern auf. Das Speichern wollte ich automatisieren. Immer dann, wenn wieder alle Türen zu sind und die Rollade "entsperrt" wird.
Leider führt die Zeile
fhem("set Wz.Rolladen.Links inhibit off ;; attr Wz.Rolladen.Links readOnly 0 ;; save")
nun zu der Ausgabe:
2020.04.16 12:45:54 3: set Wz.Rolladen.Links inhibit off ; attr Wz.Rolladen.Links readOnly 0 ; save : Wrote configuration to fhem.cfg
2020.04.16 12:45:54 3: Terrassentuer.Links.notify.closed return value: Wrote configuration to fhem.cfg
im Log.
Leider bekomme ich es nicht fehlerfrei hin, ein "return" in dem notify code zu platzieren, um dieses zu "unterdrücken".
Könnt Ihr mir kurz helfen?
Vielen Dank und Gruß
Christian
PS: Bleibt gesund.
Hallo Christian,
fhem("set Wz.Rolladen.Links inhibit off ;; attr Wz.Rolladen.Links readOnly 0 ;; save",1)
Das unterdrückt die Protokollierung des fhem Befehls an sich. Ob das wirklich alles unterdrückt bin ich nicht sicher.
Gruß Otto