Kanal oder Befehl blockieren

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Benutzeravatar
stan23
Beiträge: 2041
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 585 Mal
Danksagung erhalten: 337 Mal
Kontaktdaten:

Re: Kanal oder Befehl blockieren

Beitrag von stan23 » 14.10.2021, 07:58

Matsch hat geschrieben:
13.10.2021, 19:31
stan23 hat geschrieben:
13.10.2021, 19:24
Wenn du nur im ausgefahrenen Zustand (0%) sperren willst, müsste es doch so klappen:
Setzt aber voraus, dass Kanal B nur dann auf Sperre gesetzt werden darf, wenn die Markise ausgefahren ist. Und das geht dann eben wieder nicht per virtuellem Kanal, sondern benötigt ein Programm.
Aber dann kann ich die ganze Funktionalität ja gleich komplett in ein Programm packen. Und da sehe ich keine Umsetzprobleme.
Ja das ist richtig.
Vielleicht habe ich da ein falsches Bild von der gewünschten Sperre, bzw. wann sie gesetzt werden soll.
Ich habe mir das so vorgestellt dass er die Markise ausfährt, per Taster, Fernbedienung oä die Sperre setzt und dann seine Fixierung anbringt.
Und rückwärts halt genau andersherum.

Für Programme die fahren sollen ist das laut erstem Beitrag jetzt schon kein Problem, die Sperr-SV zu berücksichtigen, aber die DV arbeiten weiter.
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

Silverstar
Beiträge: 369
Registriert: 11.02.2020, 12:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 94 Mal
Danksagung erhalten: 68 Mal

Re: Kanal oder Befehl blockieren

Beitrag von Silverstar » 14.10.2021, 10:27

Das erinnert mich etwas an dieses Thema: viewtopic.php?f=27&t=68127&p=673922

Könnte man vielleicht einen Fensterkontakt an der mechanischen Stütze einsetzen, der daraufhin per DV einen virtuellen Kanal schaltet und damit die weitere Bedienung verhindert?

MichaelN
Beiträge: 9679
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: Kanal oder Befehl blockieren

Beitrag von MichaelN » 14.10.2021, 10:34

Wenn man den Sensor passend anbringen kann, sollte das funktionieren. Dann wäre es auch kein Problem mehr, das beim Schalten des virtuellen Kanal die Markise gleich ausfährt, denn sie ist dann ja schon ausgefahren. Ich weiß nur nicht, ob man die DV so einstellen kann, daß bei geschlossenem Kontakt 0 und bei geöffnetem 100% übertragen wird.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Kanal oder Befehl blockieren

Beitrag von Xel66 » 14.10.2021, 10:46

Grundsätzlich ist es doch egal. Es muss ja nur das Reinfahren blockiert werden. Das Ausfahren ist ja nicht durch die mechanische Befestigung beschränkt. Ich halte eine solche Bediensperre eines bewussten manuellen Eingriffes eher für hinderlich und nicht zielführend. Aber das ist vermutlich eine Sache der inneren Einstellung.

Der einfachste Weg ist, wie schon beschrieben einen Aktor mit virtuellen Kanälen zu nehmen und diese mit AND zu verknüpfen. Dann gewinnt automatisch der Kanal mit der höheren Priorität und niedriegerem Wert, egal ob der andere virtuelle Kanal des Aktors nun per Programm oder per DV geändert wird. (aus der Hilfe zu den virtuellen Kanälen: AND: Das Verknüpfungsergebnis ist der niedrigere Pegel der verknüpften Kanäle.)

Ist die Markise blockiert, wird dieser Kanal auf 0% gesetzt und die Markise bleibt draußen. Fertig. Diesen Kanal braucht man nur zwischen 0 und 100% wechseln, um die Sperre zu erreichen und benötigt die zusätzliche Systemvariable nicht unbedingt. Die könnte man aber nutzen, um den Sperrkanal automatisch per Programm zu schalten (Variable gesetzt + Bedienkanal = 0% --> Sperrkanal = 0%). Für den umgekehrten Weg böte sich ein Programm an: Taste einfahren + Variable falsch (nur prüfen) --> Sperrkanal 100%. Ich würde aber trotzdem versuchen, die mechanische Blockierung über irgendeine Sensorik (Kontaktschalter) automatisch zu erfassen und über diesen den virtuellen Kanal schalten.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
Ganter
Beiträge: 315
Registriert: 05.12.2013, 20:16
Wohnort: Ortsgrenze Köln, praktisch in Köln :-)
Hat sich bedankt: 9 Mal

Re: Kanal oder Befehl blockieren

Beitrag von Ganter » 14.10.2021, 11:26

Xel66 hat geschrieben:
14.10.2021, 10:46
..... Ich halte eine solche Bediensperre eines bewussten manuellen Eingriffes eher für hinderlich und nicht zielführend. Aber das ist vermutlich eine Sache der inneren Einstellung.
Wahrscheinlich ist das richtig so. Vor allem, weil es nur um die direktverknüpften Taster geht. Die programmgesteuerten Fahrten der Markise sind unproblematisch.

Ich muss dann halt die Trunkenbolde, die bei mir Effzeh gucken, disziplinieren :wink: :lol:

Xel66 hat geschrieben:
14.10.2021, 10:46
...
Der einfachste Weg ist, wie schon beschrieben einen Aktor mit virtuellen Kanälen zu nehmen und diese mit AND zu verknüpfen. Dann gewinnt automatisch der Kanal mit der höheren Priorität und niedriegerem Wert, egal ob der andere virtuelle Kanal des Aktors nun per Programm oder per DV geändert wird. (aus der Hilfe zu den virtuellen Kanälen: AND: Das Verknüpfungsergebnis ist der niedrigere Pegel der verknüpften Kanäle.)
...
Ist die Markise blockiert, wird dieser Kanal auf 0% gesetzt und die Markise bleibt draußen. Fertig. Diesen Kanal braucht man nur zwischen 0 und 100% wechseln, um die Sperre zu erreichen und benötigt die zusätzliche Systemvariable nicht unbedingt.
Wenn nicht gesperrt ist (B=100%) fährt A bei "AND" nicht aus. Ich müssrte über B ausfahren (B=0 %) und hätte dann immer die Sperre drin.

Ich glaube, ich lasse die Bediensperre, Deinem Gedanken oben entsprechend. Es gibt ja auch noch Haftpflichtversicherungen :D

Vielen Dank an alle, die sich Gedanken gemacht haben.

Grüße

Ganter
Nur der EffZeh :-)

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Kanal oder Befehl blockieren

Beitrag von Xel66 » 14.10.2021, 11:30

Ganter hat geschrieben:
14.10.2021, 11:26
Wenn nicht gesperrt ist (B=100%) fährt A bei "AND" nicht aus. Ich müssrte über B ausfahren (B=0 %) und hätte dann immer die Sperre drin.
Nein, bei AND "gewinnt" der niedrigere Wert (zumindest gemäß Hilfetext). Das heißt, Du kannst grundsätzlich über den Bedienkanal die Markise fahren wie Du willst, solange der Sperrkanal auf 100% steht. (zugegeben, ich betreibe einem Aussperrschutz nur andersrum mit OR, aber da funktioniert es). Fährst Du diesen Sperrkanal auf 0%, bleibt die Markise draußen (oder fährt raus). Du musst eben nur dafür sorgen, dass dieser Kanal 0% ist, wenn die mechanische Blockierung eingehängt ist.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Matsch
Beiträge: 5451
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 116 Mal
Danksagung erhalten: 740 Mal

Re: Kanal oder Befehl blockieren

Beitrag von Matsch » 14.10.2021, 11:51

Ganter hat geschrieben:
14.10.2021, 11:26
Ich müssrte über B ausfahren (B=0 %) und hätte dann immer die Sperre drin.
Bei nur 2 Kanälen/Operanden ist es völlig wurst, ob A oder B die Sperre bildet. Also kann A ruhig der Stellwert bleiben, es ändert nichts am Ergebnis.

Benutzeravatar
Ganter
Beiträge: 315
Registriert: 05.12.2013, 20:16
Wohnort: Ortsgrenze Köln, praktisch in Köln :-)
Hat sich bedankt: 9 Mal

Re: Kanal oder Befehl blockieren

Beitrag von Ganter » 14.10.2021, 12:25

Xel66 hat geschrieben:
14.10.2021, 11:30
Nein, bei AND "gewinnt" der niedrigere Wert (zumindest gemäß Hilfetext).
Das hatte ich auch gedacht, ist nach meinen Beobachtungen aber nicht so: Meine Feldversuche :mrgreen: haben ergeben:

OR: Bei Pegelgleichstand (z.B. beide 0) schaltet A
AND: Bei Pegelgleichstand (z.B. beide 100) schaltet B

Grüße

Ganter
Nur der EffZeh :-)

Matsch
Beiträge: 5451
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 116 Mal
Danksagung erhalten: 740 Mal

Re: Kanal oder Befehl blockieren

Beitrag von Matsch » 14.10.2021, 12:38

Ganter hat geschrieben:
14.10.2021, 12:25
Xel66 hat geschrieben:
14.10.2021, 11:30
Nein, bei AND "gewinnt" der niedrigere Wert (zumindest gemäß Hilfetext).
Das hatte ich auch gedacht, ist nach meinen Beobachtungen aber nicht so: Meine Feldversuche :mrgreen: haben ergeben:

OR: Bei Pegelgleichstand (z.B. beide 0) schaltet A
AND: Bei Pegelgleichstand (z.B. beide 100) schaltet B

Grüße

Ganter
Ok, du kennst dich also gar nicht aus mit der Boolschen Algebra.

Du beweist mit deinen Beobachtungen doch genau die Aussage on Xel66. Nur wenn keiner der Operanden bei AND kleiner als der andere ist, wird der höhere wirksam. Der kleinere greift durch, heißt, wenn einer der beiden kleiner als 100% ist, dann ist auch das Ergebnis nicht höher als dieser.

Ist aber schwierig, wenn man sich mit logischen Operationen nicht auskennt.
Zuletzt geändert von Matsch am 14.10.2021, 12:40, insgesamt 1-mal geändert.

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Kanal oder Befehl blockieren

Beitrag von Xel66 » 14.10.2021, 12:39

Ganter hat geschrieben:
14.10.2021, 12:25
OR: Bei Pegelgleichstand (z.B. beide 0) schaltet A
AND: Bei Pegelgleichstand (z.B. beide 100) schaltet B
Das enspricht aber nicht der Regeltabelle. Solange der Sperrkanal auf 100% steht muss sich mit dem Bedienkanal der Aktor problemlos verfahren lassen. Natürlich wird der Aktor auf 0% verfahren wenn der Sperrkanal auf 0% bedient wird, aber der Bedienkanal noch auf 100% steht. Es gewinnt ja auch der niedrigere Wert. Also reagiert der Aktor auch auf ein Verfahren des Sperrkanals. Darum ist der Sperrkanal auch ausschließlich für die Sperre zu verwenden. Du wolltest doch erreichen, dass die Markise nicht eingefahren werden kann, wenn der Sperrkanal auf 0% steht. Eine Sperre des Ausfahrens ist ja für das Anwendungsszenario auch nicht zweckdienlich.

Dieses Konstrukt ist keine globale Bediensperre für beide Richtungen. Sowas gibt es bei den IP-Aktoren nicht mehr. Es ist das Erzwingen eines Zustandes, welcher dem Pegel zustand der virtuellen Kanäle entsprechend der Verknüpfungslogik entspricht. Willst Du eine richtige lokale Bediensperre für beide Richtungen, musst Du auf einen klassischen Rollladenaktor setzen. Der kann das.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Antworten

Zurück zu „HomeMatic allgemein“