FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: mmattern am 09 Juli 2014, 23:57:29

Titel: HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: mmattern am 09 Juli 2014, 23:57:29
Hallo zusammen,

z.B. unter http://www.meintechblog.de/2013/07/bessere-raumluftqualitaet-durch-fhem-und-homematic-adapter/ wird empfohlen, zum Schließen des Fensters mit anschließender Verriegelung ein "set <HM-SEC-WIN Kanal 1> level ignore 0 20" zu setzen; die Parameter hinter "level" bedeuten dabei Ziel-Öffnungslevel (zwischen 0 und 100 Prozent), Delay bis zum Wiederverschließen und die Geschwindigkeit (Prozent der Maximalgeschwindigkeit).

Das ist wohl ein Workaround:
"
set WZ.Fenster_links ignore 0 20
Hier schließt der Winmatic das Fenster sofort (0 Sekunden) mit 20%iger Motorgeschwindigkeit. (Im Grunde bekommt der Winmatic einen Öffnungsbefehl ohne weitere Info (ignore) und schließt das Fenster direkt nach 0 Sekunden. Dieser Workaround ist notwendig, da der Winmatic mit dem normalen "close"-Befehl das Fenster nicht zusperrt.)
"

Meistens funktioniert das auch, jedoch tauchen im FHEM-Log Einträge der Art
Argument "ignore" isn't numeric in numeric gt (>) at ./FHEM/10_CUL_HM.pm line 3318. auf.

Ein Blick in den Code von 10_CUL_HM.pm (gemäß aktueller GitHub-Version) zeigt ab Zeile 3315:
elsif($cmd eq "level") { ####################################################
    #level        =>"<level> <relockDly> <speed>..."
    my (undef,undef,$lvl,$rLocDly,$speed) = @a;
    return "please enter level 0 to 100" if (!defined($lvl)    || $lvl>100);
    return "reloclDelay range 0..65535 or ignore"
                                         if (defined($rLocDly) &&
                                             ($rLocDly > 65535 ||
                                              ($rLocDly < 0.1 && $rLocDly ne 'ignore' && $rLocDly ne '0' )));
    return "select speed range 0 to 100" if (defined($speed)   && $speed>100);
    $rLocDly = 111600 if (!defined($rLocDly)||$rLocDly eq "ignore");# defaults
    $speed = 30 if (!defined($rLocDly));
    $rLocDly = CUL_HM_encodeTime8($rLocDly);# calculate hex value
    CUL_HM_PushCmdStack($hash,'++'.$flag.'11'.$id.$dst.'81'.$chn.
                        sprintf("%02X%02s%02X",$lvl*2,$rLocDly,$speed*2));


Wenn ich das richtig lese, wird für $lvl immer ein numerischer Wert erwartet und der Eintrag "ignore" nicht gesondert behandelt. Beim abschließenden CUL_HM_PushCmdStack wird dann ein "$lvl*2 rausgeschickt an das Device... und "ignore * 2" ist m.E. 0.

Meine Frage also: Ist "ignore" als möglicher Wert für den Level überhaupt sinnvoll oder funktioniert das aktuell eher zufällig?

Vielen Dank & beste Grüße
Michael
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: martinp876 am 10 Juli 2014, 08:49:24
Hi,

ich kann nicht sehen, dass 'ignore' zugelassen ist - und was es bedeuten soll.
Commandref besagt
level:  range is 0 to 100%

An dieser Stelle soll m.E. der Öffnungswinkel stehen. "Fahre nach delay mit speed in in den Zustand 'ignore'" soll was bedeuten?
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: mmattern am 10 Juli 2014, 12:03:57
Zitat von: martinp876 am 10 Juli 2014, 08:49:24
Hi,

ich kann nicht sehen, dass 'ignore' zugelassen ist - und was es bedeuten soll.
Commandref besagt
level:  range is 0 to 100%

An dieser Stelle soll m.E. der Öffnungswinkel stehen. "Fahre nach delay mit speed in in den Zustand 'ignore'" soll was bedeuten?

Hallo Martin,

das ist eben genau die Frage - unter http://www.meintechblog.de/2013/07/bessere-raumluftqualitaet-durch-fhem-und-homematic-adapter/ ist Jörg der Meinung, man müsste das so machen...
Ich denke aber, dass am Ende FHEM ein "set <device> level ignore 0 20" äquivalent zu "set <device> level 0 0 20" behandelt und das Verriegeln trotzdem funktioniert...

Da der Artikel schon älter ist, hatte ich vermutet, dass es vielleicht damals in FHEM anders umgesetzt war...

Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: martinp876 am 10 Juli 2014, 15:23:14
ich habe jetzt eingebaut, dass "ignore" zu einem ordentlichen reject führt.
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: mmattern am 15 Juli 2014, 12:46:07
Zitat von: martinp876 am 10 Juli 2014, 15:23:14
ich habe jetzt eingebaut, dass "ignore" zu einem ordentlichen reject führt.

Vielen Dank für die Klärung!
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 16 Juli 2014, 22:48:59
Hallo Zusammen,

dies ist heute mein erster Beitrag im Forum. Ich habe seit 2 Jahren mit fhem begonnen und würde mich als Nutzer mit ausbaufähigen Kenntnissen bezeichnen.

Meine Installation hat bis heute einen gewissen Reifegrad erreicht und war bisher extrem zuverlässig. Tja, bis heute, bis ich das Update gemacht habe.

Ich habe sehr lange gebraucht, bis ich diesen Thread gefunden habe als Erklärung für die nicht mehr funktionierende Winmatic.

Das Fenster wurde geöffnet über den Befehl "set WZ_Fenster_Win level 100 ignore 100".
Geschlossen wurde das Fenster über "set WZ_Fenster_Win level ignore 0 100".

Ursprünglich hatte ich versucht, statt ignore den Wert 0 zu verwenden. Dabei traten jedoch Fehler auf. Erst das Lesen des Blogs meintechblog.de brachte die Lösung, eben die Verwendung von ignore anstelle der Null. Dies hat mmattern ja bereits beschrieben.

Klar, dass wenn ignore nicht mehr zugelassen ist, die von mir  verwendeten Befehle nicht mehr funktionieren können. Es wird sicherlich noch einige mehr gegeben, die jetzt anfangen zu verzweifeln, weil die Winmatic plötzlich, ohne dass etwas an der Konfiguration geändert wurde, nicht mehr funktioniert.

Der Grund, warum ich diesen Beitrag schreibe, ist dass mir nicht einleuchtet, warum "ignore" keine sinnvolle Option ist.

Ich habe den Befehl für das Schliessen nun geändert und das Ignore durch Null ersetzt.

"set WZ_Fenster_Win level 0 0 100"

führt zu der Fehlermeldung, dass ein Wert zwischen 0 und 100 nur erlaubt ist. Allerdings führen auch die Werte 1 bis 9 zu derselben Fehlermeldung. Erst ab dem Wert 10 bis 100 schliesst das Fenster, wobei eigentlich zu erwarten wäre, dass die Werte dazu führen, dass ein in Prozent angegebener Kippwinkel zwischen 0 und maximalen Öffnungswinkel angefahren wird. Aber dies ist nicht der Fall. Jeder Wert führt zum vollständigen Schliessen des Fenster. Die integer Werte, die zum Schliessen führen sind also beliebig oder ungültig. Der eingesetzte Wert kann ignoriert werden, also warum sollte die Option "ignore" anstelle eines integer keinen Sinn machen?

Ein weiteres sehr merkwürdiges Verhalten zeigt sich beim Öffnen des Fensters:

"set WZ_Fenster_Win level 100 0 100"

führt dazu, dass das Fenster sofort mit grösster Geschwindigkeit voll öffnet und, nachdem der maximale Kippwinkel erreicht ist, direkt wieder vollständig schliesst. Der Wert 0 gibt die Öffnungsdauer an. Deshalb wird hier "ignore" als Option verwendet, damit das Fenster geöffnet bleibt.

Zusammenfassung: "Ignore" sollte als Option erlaubt sein, weil die beschriebenen Fehler vermieden werden und für viele die  Verwendung auch einen Sinn ergibt, weil der Wert 0 zu unlogischem Verhalten der Winmatic führt.

Ansonsten bedanke ich mich für die tolle Arbeit, die hier geleistet wird.

Viele Grüsse
Norbert
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 17 Juli 2014, 12:29:20
So, ich habe jetzt das Verhalten der WinMatic noch einmal genauer untersucht.

"Set WZ_Fenster_Win level 100 0 100"

bewirkt, dass das Fenster voll öffnet, für die Dauer von 0 Sekunden geöffnet bleibt und dann sofort voll schliesst. Der Vorgang läuft mit maximaler Geschwindigkeit ab.

"Set WZ_Fenster_Win level 100 ignore 100"

bewirkt, dass das Fenster voll öffnet, und geöffnet bleibt (es wurde keine Öffnungsdauer angegeben). Das Öffnen läuft mit maximaler Geschwindigkeit ab.

"Set WZ_Fenster_Win level 10 0 100"

Im Prinzip passiert das Gleiche, wie beim 1. Befehl (level 100 0 100).
Allerdings sind hier 2 Fälle zu unterscheiden.
Das Fenster ist geschlossen: Das Fenster öffnet zu 10% und schliesst dann sofort wieder.
Das Fenster ist geöffnet (100%): Das Fenster fährt zu auf 10% und schliesst dann sofort (nach einer Gedenksekunde).

Mit dem Verhalten bei geöffneten Fenster kann man leben. Das Verhalten bei geschlossenem Fenster ist ein Ärgernis. Der gewünschte Schliessbefehl bewirkt, dass das Fenster auffährt, damit es anschliessend schliesst.

Dieses Verhalten muss über eine zusätzliche Routine abgefangen werden:
Wenn Fenster zu, dann mache gar nichts.
Wenn Fenster auf, dann schliesse.

Umständlich. Wie gesagt, dieses Problem gab es mit der Option "ignore" nicht.

Der Befehl
"Set WZ_Fenster_Win level 100 ignore 100" öffnete das Fenster.
"Set WZ_Fenster_Win level ignore 0 100" schloss das Fenster.
In Abhängigkeit vom Kippstand (geschlossen/geöffnet) bewirkte der Schliessbefehl nichts/das Schliessen.
Analog arbeitete der Öffnungsbefehl.

Also das jetzige Verhalten ist irgendwie fehlerhaft. Eine Rückentwicklung auf den alten Stand ist wünschenswert. Alternativ sollte die Null als Optionswert für den Kippwinkel eingeführt werden, damit ein echter Schliessbefehl realisiert werden kann. Siehe Fehlermeldung:

fhem> set WZ_Fenster_Win level 0 0 100
please enter level 0 to 100
fhem>

fhem> set WZ_Fenster_Win level ignore 0 100
please enter level 0 to 100
fhem>

So, ich hoffe, ich konnte klar machen, was das Reject von Ignore bewirkt.

Als ich die WinMatic installierte, wollte ich eigentlich über das Triggern der Funktionstasten an der Winmatic die entsprechenden Aktionen auslösen, um so eine Fehlfunktion (Fenster ist offen und gedreht und bekommt von fhem den Befehl zu kippen) zu verhindern. Dabei gehe ich davon aus, dass die WinMatic die jeweiligen Zustände erkennt und entsprechend keine Aktion ausführt bei Betätigen einer falschen Taste.

Dies ist mir jedoch nicht gelungen. In den Readings zeigt R-intKeyVisibl auf invisib. Ein entsprechender

"set WZ_Fenster setReg intKeyVisibl visib"

erzeugt keinen Fehler, bewirkt aber auch nichts inKeyVisibl bleibt invib.
Damit bleiben die Buttons der WinMatic verborgen und das Triggern der Tasten ist nicht möglich. Und umgekehrt ist es nicht möglich, einen direkten Tastendruck an der WinMatic in FHEM als event zu signalisieren.

"set ... level" ist eine Krücke. Vielleicht verstehe ich aber einfach nicht die Methode, wie die winMatic auf dieser Ebene angesprochen wird.

Viele Grüße
Norbert
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: mmattern am 17 Juli 2014, 14:10:03
@martinp876:

Ich glaube, es ist einfach in Zeile 3346 in 10_CUL_HM.pm ein Bug...

Im Moment heißt es dort:
return "please enter level 0 to 100" if (!defined($lvl)    || $lvl !~ m/^\d+\.?\d+$/ || $lvl>100);

Ich würde dies vorschlagen:
return "please enter level 0 to 100" if (!defined($lvl)    || $lvl !~ m/^(1)?\d{1,2}(\.\d+)?$/ || $lvl>100);

Dann lässt er auch 0..9 zu...

Viele Grüße
Michael
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: martinp876 am 19 Juli 2014, 09:46:19
das sollte jetzt alle Nummern mit einem Punkt erlauben.
danke Martin
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 20 Juli 2014, 08:03:19
Hallo,

ich habe den bug fix getestet. Bei Eingabe von 0 für den Schliesswinkel kommt keine Fehlermeldung. Danke für den Fix.

Allerdings ändert sich nicht das beschriebene Verhalten der Winmatic. Ist das Fenster geschlossen und verriegelt, entriegelt es und verriegelt sofort wieder bei Eingabe von "level 0 0 100".

Dies ist dasselbe Verhalten, dass sich auch bei jedem anderen Wert zwischen 1 und 100 zeigt. Der Schliessbefehl öffnet zuerst das Fenster, um es danach sofort zu schliessen. Es ist also egal, ob ich 0, 50 oder 100 eingebe. Bei 50 kippt das Fenster 50%, bei 0 kippt es 0%. Entriegelt wird aber in beiden Fällen.

Ich denke, das Problem liesse sich lösen, wenn ich die buttons auf der homematic triggern könnte, aber das gelingt einfach nicht. Vielleicht kann mich hier jemand in die richtige Richtung schubsen. Was übersehe ich, wenn ich intKeyVisible auf visibl setzen möchte, um die buttons in den Readings sehen zu können.

Danke erstmal

Norbert
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: martinp876 am 20 Juli 2014, 11:01:54
hast du den "press" Befehl schon probiert?
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 20 Juli 2014, 12:46:39
Martin,

danke für die Nachfrage.

Ich habe den Befehl press probiert. Im Log steht dann:

2014.07.20 12:26:17 3: CUL_HM set WZ_Fenster_Win press self01
2014.07.20 12:27:15 3: CUL_HM set WZ_Fenster_Win press self02
2014.07.20 12:33:41 3: CUL_HM set WZ_Fenster_Win press self01
2014.07.20 12:36:50 3: CUL_HM set WZ_Fenster_Win press self03

aber es passiert gar nichts.

Und das liegt, so vermute ich aufgrund Deiner Diskussion vom März mit pusche,l daran, dass intKeyVisibl sich nicht auf visilb setzen lässt.

Viele Grüsse

Norbert
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: mmattern am 20 Juli 2014, 12:48:24
Zitat von: speedy_gonzales am 20 Juli 2014, 08:03:19
Ich denke, das Problem liesse sich lösen, wenn ich die buttons auf der homematic triggern könnte, aber das gelingt einfach nicht. Vielleicht kann mich hier jemand in die richtige Richtung schubsen. Was übersehe ich, wenn ich intKeyVisible auf visibl setzen möchte, um die buttons in den Readings sehen zu können.

Hallo zusammen,

ggf. könnte man vor Weitergabe des Kommandos prüfen, ob ein Schließen die Konsequenz wäre und es nur dann weitergeben, wenn das Fenster nicht geschlossen ist...

Viele Grüße
Michael
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 20 Juli 2014, 14:07:24
Hallo Michael,

genau das meinte ich, als ich schrieb:

Zitat von: speedy_gonzales am 17 Juli 2014, 12:29:20
Dieses Verhalten muss über eine zusätzliche Routine abgefangen werden:
Wenn Fenster zu, dann mache gar nichts.
Wenn Fenster auf, dann schliesse.

Diese Routine habe ich bereits eingebaut. Es mindert ein wenig das unnötige Öffnen bevor die winmatic schliesst. Aber das Verhalten ist auch bei gekippten Fenster nicht richtig.
Der Befehl z.B. level 10 0 100 wird interpretiert als "Kippe auf 10%, Fahre dann unverzüglich auf 0%, Verriegel". Entsprechend wird bei Null auf 0% gekippt, was faktisch ein Schliessen ist.

Der Befehl ist m.E. von der Logik her nicht richtig, deshalb meine Wunsch das "ignore" wieder einzuführen.

Bei einem "Öffnen" Befehl erwarte ich, dass das Fenster in positive Richtung kippt, beim Schliessen in negative Richtung. Der Schliessbefehl kippt jedoch in jede Richtung in Abhängigkeit vom angegebenen %-Wert und ausgehend von der Ist-Stellung und schliesst erst im Anschluss. Der Grund ist, dass es sich eigentlich um den "Öffnen" Befehl handelt, der aufgrund des Timers 0 Sekunden geöffnet bleibt.

Ist alles nicht dramatisch. Funktioniert ja, nur eben gefühlt nicht richtig.

Viele Grüße

Norbert
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: martinp876 am 20 Juli 2014, 17:47:51
das Kommando will einen wert haben.
111600 ist der "ignore" wert. das sollte das relock abschalten - ist aber schwer zu merken. '0' ist in jedem Fall falsch.

kannst du dennoch probieren, dass es klappt? mache 2 Versuche und logge die rohmessages
level 10 1000 100
statusRequest

level 10 111600 100
statusRequest

der statusRequest nachdem das Fenster in der position ist hätte ich gerne gesehen (die messages)
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: mmattern am 20 Juli 2014, 21:46:57
Zitat von: speedy_gonzales am 20 Juli 2014, 14:07:24
Der Befehl z.B. level 10 0 100 wird interpretiert als "Kippe auf 10%, Fahre dann unverzüglich auf 0%, Verriegel". Entsprechend wird bei Null auf 0% gekippt, was faktisch ein Schliessen ist.

Hallo Norbert,

also hier mal mein Verständnis des "level"-Befehls:
Er hat drei Parameter:
1) Position in %, die anzufahren ist
2) Zeit in Sekunden, bis nach Anfahren der Position aus 1) das Fenster verschlossen und verriegelt wird
3) Geschwindigkeit des Motors in Prozent (0-100) für die Aktionen "Anfahren Position aus 1" und "Schließen des Fensters"

Insofern bedeutet "level 10 0 100": Fahre das Fenster mit voller Geschwindigkeit auf 10%, warte dort 0 Sekunden und schließe/verriegle dann.

Wenn du das Fenster dauerhaft öffnen willst, müsstest du den zweiten Parameter auf "ignore" setzen.

Und wenn für dich "Fenster offen" bedeutet, dass es zu 100% geöffnet ist und du einen Befehl "öffnen" implementieren willst, müsstest du eigentlich nur schreiben: "level 100 ignore 100".

Und ein "schließen"-Befehl ist "level 0 0 100" - und davor sollte man nur abfangen, dass er nicht bei verriegeltem Fenster ausgeführt wird. Sonst würde er nämlich entriegeln, Fenster auf 0% fahren (also bleiben, wo er ist) und dann nach 0 Sekunden schließen und verriegeln... das ganze mit 100% Motorgeschwindigkeit...

Was genau ist gerade für dich das Problem?
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 23 Juli 2014, 07:35:50
Hallo Michael,

ich hatte die letzten zwei Tage andere Baustellen ....

Zurück zum Thema ...

Deine Interpretation der Syntax entspricht zu 100% meiner, trotzdem Danke für die angebotene Erklärungs-Hilfe an dieser Stelle.

Zitat von: mmattern am 20 Juli 2014, 21:46:57
Was genau ist gerade für dich das Problem?

Es gibt kein echtes Problem. Alles funktioniert.

Dich hat die Verwendung von "ignore" gestört, weil dies im Log zu einer Fehlermeldung führte.
MIch stört die Verwendung von "0" in der Syntax beim Schliessbefehl von der Logik her. Warum?

Vor der Änderung von Martin lautete der Öffnenbefehl

level 100 ignore 100

und der Schliessbefehl

level ignore 0 100

Das ist von der Logik richtig, weil es keinen echten Öffnenbefehl sondern nur einen Schliessbefehl gibt. Die Winmatic fährt aufgrund des ersten Parameter einen Kippwinkel an und schliesst aufgrund des zweiten Parameter nach der angegebenen Zeit.

Der zweite Parameter bedeutet also"Schliesse nach der angegebenen Zeit". Das "ignore" im zweiten Parameter bedeutet "Ignoriere die Zeitangabe und tue  nichts".

Dieselbe Logik hätte ich gerne beim Schliessen. Der erste Parameter bedeutet "Fahre einen bestimmten Kippwinkel an". Wäre "ignore" für den ersten Parameter erlaubt, dann würde das analog zum "ignore" im zweiten Parameter bedeuten "Ignoriere den Kippwinkel und tue nichts, Mach weiter mit dem zweiten Parameter und schliesse nach der angegebenen Zeit".

Eine "0" im ersten Parameter ist nicht das Gleiche wie ein"ignore", sondern bedeutet "Fahre einen Kippwinkel von 0 Prozent an.

Welche Auswirkung hat die Verwendung von "0" im ersten Parameter, wenn das Fenster geschlossen ist. Die Winmatic entriegelt, fährt auf Position 0Prozent (kippt das Fenster also nicht) und verriegelt wieder.

Als noch "ignor" als Eingabe möglich war, passierte dieses Verhalten nicht und es war keine zusätzliche Routine zum Abfangen notwendig. Für jemanden, der zum ersten Mal die Winmatic ansteuert, ist das Entriegeln des Fensters, wenn es geschlossen ist, schwierig zu verstehen und auf die Lösung dieses "Fehlverhalten" abzufangen mit einer Routine muss man erst einmal kommen. Wahrscheinlicher ist, dass man länger an den Parameter rumprobiert, weil man vermutet, hier läge der Fehler.

Zusammenfassung: es gibt kein "Problem", lediglich das Verhalten der "Winmatic" ist unerwartet.

Ich denke, Martin hat mein Anliegen verstanden.

Viele Grüße
Norbert
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: martinp876 am 23 Juli 2014, 08:30:51
Zitatlevel ignore 0 100
halte ich jetzt einmal für sinnlos. da sollte man schon level 0 0 100 setzen.
Du meinst man sollte den alten level noch einmal senden? Weglassen geht nicht.

Was du willst ist hier ein "lock" statt "ignore". Das werde ich einbauen, gibt es jetzt noch nicht.

Aktuell geht
level 10             #fahre nach 10% mit speed 30% und bleibe dort immer
level 10 111600 #fahre nach 10% mit speed 30% und bleibe dort immer
level 10 ignore   #fahre nach 10% mit speed 30% und bleibe dort immer

level 10 20       #fahre nach 10% mit speed 30% und bleibe dort 20 sec
level 10 65535 #fahre nach 10% mit speed 30% und bleibe dort 65535 sec

level 10 65535 100 #fahre nach 10% mit speed 100% und bleibe dort 65535 sec

neu wird sein
level lock             #fahre nach 0%-Locked mit speed 30%, und bleibe dort immer
level lock  20       #fahre nach 0%-Locked mit speed 30%, und bleibe dort 20sec dann lock (wohl sinnlos)

gerade eingecheckt







Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 23 Juli 2014, 09:54:47
Hallo Martin,

perfekt, das ist genau das, was ich will: einen eigenständigen Lock Befehl.

Brauchst Du noch

Zitat von: martinp876 am 20 Juli 2014, 17:47:51
kannst du dennoch probieren, dass es klappt? mache 2 Versuche und logge die rohmessages
level 10 1000 100
statusRequest

level 10 111600 100
statusRequest

der statusRequest nachdem das Fenster in der position ist hätte ich gerne gesehen (die messages)


Ich schaffe es nicht die rohmessages zu erzeugen bzw. zu liefern. Frag nicht warum, ich weiss es noch nicht. Ich arbeite nach Anleitung, kann aber keine Rohmessages finden.

Die einzige Meldung, die ich auf Kommandozeilenebene erhalte ist:

fhem> set WZ_Fenster_Win level 100 100 100
fhem> set WZ_Fenster_Win statusRequest
fhem> set WZ_Fenster_Win level 100 111600 100
reloclDelay range 0..65535 or ignore
fhem> set WZ_Fenster_Win statusRequest

aber keine Rohmessages in der Log Datei.

Die Lösung meines Rohmessage Problem verschiebe ich gerne und teste gleich mal den neuen lock Befehl.

Danke und Grüsse

Norbert

Norbert
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 23 Juli 2014, 10:26:26
Hier der Test:

set WZ_Fenster_Win level 100 ignore 100

Fenster kippt auf 100% ohne Verzögerung mit max. Geschwindigkeit.

set WZ_Fenster_Win level lock

Fenster schliesst und verriegelt ohne Verzögerung mit sehr niedriger Geschwindigkeit (lautlos).

set WZ_Fenster_Win level lock

Fenster bleibt verschlossen. Die Winmatic entriegelt und verriegelt nicht.

Der Test ist erfolgreich. Die Winmatic verhält sich, wie ich es erwarten würde. Ein Abfangen des Enriegelns bei geschlossenem Fenster ist nicht mehr notwendig.

Jetzt bin ich mehr als zufrieden und begeistert, dass Martin so schnell Lösungen, auch für kleine "Wünsche", hat.

Martin, vielen Dank

Norbert

P.S.: Ich kenne mich nicht aus mit den Forumsfunktionen und weiss nicht, wie man dieses Thema auf "gelöst" setzt, oder ob das Thema überhaupt als "gelöst" gekennzeichnet werden muss. Schliesslich ist ja eine neue Funktion hinzugekommen.
Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: martinp876 am 23 Juli 2014, 16:41:46
ZitatFenster schliesst und verriegelt ohne Verzögerung mit sehr niedriger Geschwindigkeit (lautlos).
das default in HM wäre 50%. Jemand hat in FHEM speed-default auf 30% gesetzt. Kann ich ändern - aber wenn dann auf 50%. Max-speed ist m.E. meist keine gute default-wahl.

Zitatset WZ_Fenster_Win level lock
Fenster bleibt verschlossen. Die Winmatic entriegelt und verriegelt nicht.
hm - schlecht. oder heisst das  !(entriegelt && verriegelt) oder ( entriegelt && ! verriegelt). Fehlen die Klammern ;)
Muss wohl ersteres sein, sonst könntest du nicht zufrieden sein.

Die Rohmessages stehen übrigens im Systemlogfile - nicht in den Event-logs!

Titel: Antw:HM-SEC-WIN - zulässige Werte im "level"-Kommando?
Beitrag von: speedy_gonzales am 23 Juli 2014, 22:18:34
Hallo Martin,

der lautlose Betrieb ist der Normalbetrieb im Automatikmodus. Nur zum Testen oder auf Tastendruck soll die Winmatic mit maximaler Geschwindigkeit arbeiten. Also von mir aus kann das so bleiben, wie es jetzt ist, aber jeder Jeck ist anders, also mach, was Du denkst.

Ich verwende bisher 20% Geschwindigkeit, das ist fast nicht hörbar, nur das Verriegeln/Entriegeln ist als leises Surren hörbar.

Zu Punkt 2 fällt mir nur ein, dass die deutsche Grammatik nicht eins zu eins in mathematische Logik bzw. Deine Klammersyntax übersetzt werden kann.

Damit es verständlicher wird, müsste es heißen "entriegelt nicht und verriegelt nicht", also in Deiner Klammerlogik die erste Version.

Oder noch klarer: Das Ding macht was es soll: nämlich nichts, wenn das Fenster zu ist. :-).

Wegen der Rohmessages muss ich nochmal ran, bin Anfänger, was das Forum bzw. Unterstützung angeht, aber das krieg ich noch hin. Dein Tipp geht jedenfalls in die richtige Richtung. Ich glaube, ich habe die Systemlog abgeschaltet, jedenfalls wird bei mir nur in die Datei fhem-Datum.log geschrieben.

Also bis auf weiteres erstmal Danke.

Viele Grüsse

Norbert