Herforder hat geschrieben: ↑1. Dez 2020 17:41
Vor meinem letzten Beitrag habe ich mich schon gefragt, ob meine Frage längst beantwortet wäre, wenn ich einfach gesagt hätte, dass alle Aderfarben schwarz sind.
Sie wäre dann nicht auf die Schutzleiterdiskussion abgedriftet.
Herforder hat geschrieben: ↑1. Dez 2020 17:41
Wenn dein Elektriker sich die Anlage bei der vorgeschriebenen Erstprüfung nach DIN VDE 0100-600 lediglich "angeschaut" hat, fehlen in deiner elektrischen Anlage sicherheitsrelevante Messungen, die - wenn wir schon beim Thema sind - mal wirklich Brände auslösen können. Ich denke da zum Beispiel an nicht auslösende Überstromschutzeinrichtungen durch zu großer Impedanz des Netzes.
Vielleicht ist das Wort "angeschaut" etwas ungünstig gewählt

aber es ging ja auch nicht um meine Installation, die selbstverständlich auch gemessen ist. Und da ich überall Klemmtechnik verbaut habe, gibt es (bis auf die unvermeidbaren Stellen...) auch keine Kontakte, die im Laufe der Zeit schlechter werden.
Herforder hat geschrieben: ↑1. Dez 2020 17:41
Ich werde den Shelly nicht an anderer Stelle montieren. Und davon mal ab. Wenn ich den grün/gelben Draht als "Signal-Kontakt" von einem konventionellen Taster zum Shelly führe, wäre das für dein Verständnis in Ordnung? Für mich ist er dann immer noch spannungsführend und überschreitet beim Tastendruck die maximal zulässige Berührungsspannung nach VDE 0100-410 von 50 VAC.
Nein, das ist auch jetzt nicht in Ordnung

ganz unabhängig, was da verbaut ist.
Herforder hat geschrieben: ↑1. Dez 2020 17:41
udo1toni hat geschrieben: ↑30. Nov 2020 23:25
Du kannst mit keinem Steuersystem der Welt Deine Anforderung umsetzen, das hat absolut nichts mit openHAB zu tun, das ist ein Problem der fehlenden Leitung.
Das ist einfach sachlich falsch. Erstens fehlt keine Leitung und zweitens, ohne mich jetzt zu weit aus dem Fenster lehnen zu wollen, muss es einer Steuerung doch möglich sein, zwei verschiedene Kontakte für zwei verschiedene Funktionen anzusteuern. Ganz im Ernst. Das hat man sogar mit einer Siemens LOGO! in 10 Minuten und (!) Software-Schaltverriegelung über das Display programmiert. Und du willst mir hier ernsthaft erzählen, mit openHAB ist das technisch nicht möglich? Aber Kalender auslesen, Datenbanken zur Verfügung stellen und Pizza bestellen ist mit openHAB kein Problem?
Doch, Dir fehlt eine Leitung.
Das Problem ist in diesem Fall nicht, dass Du PE mit einer Spannung beaufschlagst, sondern, dass Du nicht gleichzeitig zwei Leiter abgehend für 230 Volt
plus einen Leiter ankommend für 230 Volt
und einen Leiter ankommend für 0 Volt hast. Zeig mit bitte mal, wie Du die Logo! an 3 Drähten betreibst und zwei davon dafür verwendest, einen Motor zu steuern.
DAS ist das Problem, welches von keiner Software gelöst werden kann.
Zu Deiner Frage der elektrischen Verriegelung: Ich hatte das doch eigentlich beschrieben? Das funktioniert halt nur, wenn eines der beiden Relais ein Umschalter ist. An diesem Relais werden "ausgangsseitig" beide Motoranschlüsse angeklemmt. Der Common-Anschluss dieses Relais geht dann an das andere Relais, welches auch ein einfacher Einschalter sein kann. Das eine Relais entscheidet nun über die Fahrtrichtung, das andere Relais entscheidet über Ein/Aus. Früher, als elektrische Rollläden noch Exoten waren, hat man das mit Serienschaltern so gemacht, wenn das Schalterprogramm (gefühlt gab es da eh nur eines...) keinen Schalter mit mechanischer Verriegelung hatte...
Du wirst mit zwei Shelly L1 an dieser Stelle höchstens mit externer "Verriegelung" über Software etwas erreichen können, aber mich würde erst mal interessieren, ob die L1 überhaupt korrekt funktionieren, da sie ihre 0 ja über die Motorwicklung bekommen. Da kommt es vielleicht auch etwas auf den Motor an, ob der das mit macht.
Du kannst selbstverständlich mittels Rules in openHAB dafür sorgen, dass immer maximal eines von zwei Items einen ON Befehl erhält, oder anders, dass das jeweils 2. Item nur dann den ON-Befehl erhält, wenn das 1. Item gerade den Zustand OFF hat.
Aber da Du Dich ja sehr gut auskennst, werfe ich nur das Wort Eigensicherheit in den Raum. Das bekommst Du auch mit einer Logo! nicht hin, und ich möchte dringend davon abraten, das mit openHAB zu lösen.
Wie gesagt, solange alle Systeme in Ordnung sind, ist das kein Problem, aber niemand wird Dir garantieren, dass openHAB unter keinen Umständen an beide Items ein ON sendet. Das mag also 20 Jahre funktionieren, es kann Dir aber auch morgen um die Ohren fliegen, und das wäre mir persönlich zu riskant.
Ob es möglich ist, den Shelly L1 auf einen Umschatlkontakt umzubauen, weiß ich nicht, das Problem ist hier wie gesagt die virtuelle 0, und ob zwei Shelly L1 in Reihe geschaltet funktionieren, wäre dann auch noch unsicher (bzw. bin ich mir ziemlich sicher, das das nicht funktionieren wird).
Falls Du es dennoch in Software umsetzen willst, wäre mein Ansatz, drei Items zu verwenden.
Code: Alles auswählen
Switch ShellyL1_1 "Auf" { channel=...}
Switch ShellyL1_2 "Ab" { channel=...}
Rollershutter Shutter1 "Rollladen 1" // keine Verlinkung auf ein Addon
Rule:
Code: Alles auswählen
// globale Variablen und Konstanten zu Beginn der Datei definieren!
var Timer tShutter = null
val nShutterUp = 250 // Fahrzeit hoch in Zehntelsekunden
val nShutterDown = 240 // Fahrzeit runter in Zehntelsekunden
rule "Rollladen"
when
Item Shutter1 received command
then
switch(receivedCommand) { // welches Kommando wurde empfangen
case UP: {
if(ShellyL1_2.state == OFF) { // falls runter nicht aktiv
ShellyL1_1.sendCommand(ON) // starte Motor hoch
tShutter?.cancel // beende evtl. laufenden Timer
tShutter = createTimer(now.plusMillis(nShutterUp*100),[| // Timer anlegen, Code wird bei Ablauf ausgeführt
ShellyL1_1.sendCommand(OFF) // stoppe Motor
])
}
}
case DOWN: {
if(ShellyL1_1.state == OFF) { // falls hoch nicht aktiv
ShellyL1_2.sendCommand(ON) // starte Motor runter
tShutter?.cancel // beende evtl. laufenden Timer
tShutter = createTimer(now.plusMillis(nShutterUp*100),[| // Timer anlegen, Code wird bei Ablauf ausgeführt
ShellyL1_2.sendCommand(OFF) // stoppe Motor
])
}
}
case STOP: {
tShutter?.cancel // beende evtl. laufenden Timer
if(ShellyL1_1.state != OFF) // falls hoch nicht aus
ShellyL1_1.sendCommand(OFF) // stoppe Motor
if(ShellyL1_2.state != OFF) // falls runter nicht aus
ShellyL1_2.sendCommand(OFF) // stoppe Motor
}
}
end
Auf der Sitemap ist dann nur das Rollershutter Item zu sehen, mit dem gesteuert wird. Soll die Behanghöhe in % gesteuert werden, wird es aufwändiger

weil dann die Laufzeit des Motors gemessen und ausgewertet werden muss.