Steuerung Garagentor mit Sensoren

Nette Lösung. Das heißt, der Sensor verbindet sich bei Näherkommen und wenn er betätigt wird, macht er dir das Tor auf?
Ich wäre ja schon glücklich, wenn in der App von IPS Widgets gehen würden…

Ja genau. Manche machen automatisieren das noch mit Geofency oder so.
Ich kann aber noch ganz gut ohne Handy leben von da her reicht mir der Taster. Hauptsache man muß nicht nach der Fernbedienung suchen.

Hallo Uwe schon lange nichts mehr gelesen von Dir!

Das wär nichts für meine Frau und dem Sohn, die oft Mal das Auto unterm Tor stehen lassen. Wir haben keinen Karosseriespengler in der Familie :rofl:

lg
hagi

Das Skript wäre schon mal was - ich sehe das dann schon (und muss das bei mir ohnehin umstricken auf LCN Aktoren/Sensoren).

Die Idee mit dem Zigarettenanzünder ist geil - mein Basteltrieb ist auch geweckt :grinning:

und @hagi01 : dafür (und auch zum leichteren rückwärts einparken) habe ich im Torbereich noch eine Lichtschranke. Wenn da was drin steht geht nix mehr (ich habe auch keinen günstigen Spengler verfügbar :grin: ). Die sperrt aber direkt das Relais im LCN, da tut IPS nichts für (safety first).

Grüße, Uwe

Hi.

Nochmal zu den Zustandssensoren. Ich habe es bei einem Bekannten mit Reedkontakten gemacht. einer ganz auf und einer für geschlossen. Beiden am Wemos (Tasmota) ins IPS eingebunden.

Es gibt ja nur 3 Zustände. Geschlossen, geöffnet, oder ganz offen

LG Lutz

@UweR
Ich bereite dir das auf, wie es bei mir aussieht und auch so, dass du dich auskennst. Wird eine Mischung aus Screenshots und Code. Ich möcht das nicht alles noch mal in den Editor tippen.

So, jetzt zum wesentlichen. Mich hat der Ehrgeiz gepackt und hab das ganze relativ rasch installieren können. Zum einen auch, weil mein Antrieb einen 24v Ausgang hat, an dem ich das Relais anschließen konnte. Somit erspare ich mir eine zusätzliche Stromversorgung. Alles in allem eine optisch sehr schöne Lösung, da die Platine in der Abdeckung vom Antrieb verschwindet. Man sieht von aussen lediglich die Sensoren für die Endstellungen.
Und jetzt zur Funktionsweise. Es tut genau so wie ich mir das gedacht hab. Auch wenn ich das Tor blockiere oder die Fahrtrichtung beim ersten mal entgegen der gewünschten Richtung ist. Das Tor färht bis zur Endstelle, dann warte ich in IPS zwei Sekunden, damit der Antrieb auch wirklich auf Standby ist ( es dauert immer etwas an den Endstellungen da er dann noch die Spannung aus dem Antriebsriemen raus nimmt). Also zwei Sekunden Wartezeit bis zum nächsten Signal „Fahr los“ sind ein für mich optimaler Wert. Durch empirische Versuche ermittelt. Nach Ablauf fährt der Antrieb wieder an und wieder bis zum Endpunkt der dann hoffentlich der von mir gewünschte ist. Die Fenstersensoren sind jetzt wahrlich nicht mit optimalen Abstand montiert, aber es funktioniert tadellos. Auch ein Batteriewechsel ist an der Poistion auf der Laufschiene kein Problem. Ist alles sehr einfach zugänglich.
Einen Punkt muss ich noch zu meiner Aussage zum Torantrieb korrigieren. Ich fand die Anleitung zum Antrieb und da auch die Belegung der Anschlüsse. Eben auch den 24v Ausgang der für Hörmann Sensoren (Lichtschranke und ich denke Ultraschallschranke) gedacht ist. Ebenso wäre es doch möglich über die entsprechenden Eingänge die gewünschte Fahrtrichtung sofort festzulegen. Also rauf oder runter. Ich hab mir das dann kurz überlegt, aber das bringt mir keinen entscheidenden Vorteil. Zum einen bräuchte ich entweder zwei Relais oder eine Platine mit zwei Relais. Ich hätte zwar zwei baugleiche verfügbar, aber was bringt mir das? Eine etwas feinere Steuerung für Zustände die tatsächlich nur sehr selten eintreten. Eben wenn das Tor nur teilweise geöffnet ist. Aber wie oft kommt das wirklich vor. Ich mache es auf, oder zu. An den Endsensoren würde sich nichts ändern. Somit hab ich beschlossen, es so zu lassen.

@UweR
Hier meine Konfiguration
Beginnen wir mit den Variablen und Instanzen. Hier sind alle enthalten. Die Sensoren und das Relais sowei auch die Dummy Instanz für die Anzeige im Webfront.


Die dazubehörigen Skripte

Und jetzt der Code
Das Aktionskript bei „Garagentor/Steuerung“

<?php
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
/*
0 ist öffnen
4 ist schliessen
Sensor geschlossen=false, offen=true 
*/
$signalschicken=true;

if ($_IPS['VALUE']==0 and getvalue(23046/*Status Garage Oben*/)==false) $signalschicken=false;
if ($_IPS['VALUE']==4 and getvalue(10094/*Status Garage unten*/)==false) $signalschicken=false;
//bei stopp nichts machen
if ($_IPS['VALUE']==2) $signalschicken=false;
if ($_IPS['VALUE']==0)
{
    $status="geöffnet";
}
else
{
    $status="geschlossen";
}
if ($signalschicken)
{
    setvalue(56309/*Vorgang aktiv*/,true);
    IPS_SetDisabled(20862/*Steuerung*/,true);
    /* signal an relais schicken*/
    RequestAction(54558/*Status*/, true);
    ips_sleep(getvalue(36270/*Wartezeit zwischen Signalen*/));
    RequestAction(54558/*Status*/, false);
    Global_Log_Eintrag_erstellen("Notiz","Garage","Garagentor wird ".$status."!");
}

Garagentorstatus prüfen.
Das Skript wird bei der Änderung von einem der beiden Sensoren für die Endstellung gestartet

<?php
/*
0 ist öffnen
4 ist schliessen
Sensor geschlossen=false, offen=true 
*/
if (getvalue(56309/*Vorgang aktiv*/))
{
    //Garagentor soll geöffnet werden
    if (GetValue(20862/*Steuerung*/) == 0)
    {
        if (GetValue(23046/*Status Garage Oben*/) == false)
        {
            // Tor ist komplett offen
            setvalue(56309/*Vorgang aktiv*/,false);
            IPS_SetDisabled(20862/*Steuerung*/,false);
            setvalue(23578/*Fehler*/,0);
        }
        elseif (getvalue(10094/*Status Garage unten*/)==false and getvalue(23578/*Fehler*/)<=1)
        {
            //Fehlerprotokollieren
            setvalue(23578/*Fehler*/,getvalue(23578/*Fehler*/)+1);

            //Signal schicken
            ips_sleep(getvalue(13037/*Wartezeit vor dem Signal*/));
            RequestAction(54558/*Status*/, true);
            ips_sleep(getvalue(36270/*Wartezeit zwischen Signalen*/));
            RequestAction(54558/*Status*/, false);

            Global_Log_Eintrag_erstellen("Notiz","Garage","Garagentor ist geschlossen! Signal wird erneut gesendet!");
        }
        //Fehler Vorgang abbrechen
        elseif (getvalue(10094/*Status Garage unten*/)==false and getvalue(23578/*Fehler*/)>1)
        {
            setvalue(56309/*Vorgang aktiv*/,false);
            IPS_SetDisabled(20862/*Steuerung*/,false);
            setvalue(23578/*Fehler*/,0);
            Global_Log_Eintrag_erstellen("Fehler","Garage","Fehler beim Garagentor!");
            ECHO_Ankuendigung("Garagentor meldet einen Fehler!",false);
            Global_IPS_Nachricht("Garage","Garagentor meldet einen Fehler");
        }        
    }

    //Garagentor soll geschlossen werden
    if (GetValue(20862/*Steuerung*/) == 4)
    {
        if (GetValue(10094/*Status Garage unten*/) == false) 
        {
            // Tor ist komplett zu
            setvalue(56309/*Vorgang aktiv*/,false);
            IPS_SetDisabled(20862/*Steuerung*/,false);
            setvalue(23578/*Fehler*/,0);
        }
        elseif (getvalue(23046/*Status Garage Oben*/)==false and getvalue(23578/*Fehler*/)<=1)
        {
            //Fehlerprotokollieren
            setvalue(23578/*Fehler*/,getvalue(23578/*Fehler*/)+1);

            //Signal schicken
            ips_sleep(getvalue(13037/*Wartezeit vor dem Signal*/));
            RequestAction(54558/*Status*/, true);
            ips_sleep(getvalue(36270/*Wartezeit zwischen Signalen*/));
            RequestAction(54558/*Status*/, false);
            Global_Log_Eintrag_erstellen("Notiz","Garage","Garagentor ist geöffnet! Signal wird erneut gesendet!");
        }
        //Fehler Vorgang abbrechen
        elseif (getvalue(23046/*Status Garage Oben*/)==false and getvalue(23578/*Fehler*/)>1)
        {
            setvalue(56309/*Vorgang aktiv*/,false);
            IPS_SetDisabled(20862/*Steuerung*/,false);
            setvalue(23578/*Fehler*/,0);
            Global_Log_Eintrag_erstellen("Fehler","Garage","Fehler beim Garagentor!");
            ECHO_Ankuendigung("Garagentor meldet einen Fehler!",false);
            Global_IPS_Nachricht("Garage","Garagentor meldet einen Fehler");
        }          
    }
}
//Tor ist geschlossen
if (getvalue(10094/*Status Garage unten*/)==false) 
{
    setvalue(39556/*Status Garagentor*/,1);
    Global_Log_Eintrag_erstellen("Notiz","Garage","Garagentor ist geschlossen!");
    ECHO_Ankuendigung("Garagentor geschlossen",false);
    Global_IPS_Nachricht("Garage","Garagentor geschlossen");
    IPS_SetHidden(47410/*Geöffnet in Sekunden*/,true);
    setvalue(47410/*Geöffnet in Sekunden*/,0);
}
//Tor ist geöffnet
if (getvalue(23046/*Status Garage Oben*/)==false)
{
    setvalue(39556/*Status Garagentor*/,3);
    Global_Log_Eintrag_erstellen("Notiz","Garage","Garagentor ist geöffnet!");
    ECHO_Ankuendigung("Garagentor geöffnet",false);
    Global_IPS_Nachricht("Garage","Garagentor geöffnet");
}
//Tor ist teilweise offen
if (getvalue(23046/*Status Garage Oben*/)==true and getvalue(10094/*Status Garage unten*/)==true)
{
    setvalue(39556/*Status Garagentor*/,2);
    IPS_SetHidden(47410/*Geöffnet in Sekunden*/,false);
}

Ein Log und Hinweis, wenn das Tor zu lange offen ist.

<?php

if (getvalue(47410/*Geöffnet in Sekunden*/)==300){
    Global_Log_Eintrag_erstellen("Warnung","Garage","Garagentor 5 Minuten offen");
    ECHO_Ankuendigung("Das Garagentor ist schon 5 Minuten geöffnet");
    Global_IPS_Nachricht("Garagentor","Das Garagentor ist schon 5 Minuten geöffnet!");
}
if (getvalue(47410/*Geöffnet in Sekunden*/)==900){
    Global_Log_Eintrag_erstellen("Warnung","Garage","Garagentor 15 Minuten offen");
    ECHO_Ankuendigung("Das Garagentor ist schon 15 Minuten geöffnet");
    Global_IPS_Nachricht("Garagentor","Das Garagentor ist schon 15 Minuten geöffnet!");
}
if (getvalue(47410/*Geöffnet in Sekunden*/)>901){
    Global_Log_Eintrag_erstellen("Warnung","Garage","Garagentor sehr lange offen");
    ECHO_Ankuendigung("Das Garagentor ist schon sehr lange geöffnet");
    Global_IPS_Nachricht("Garagentor","Das Garagentor ist schon sehr lange geöffnet!");
}

Garagentor Vorgang abbrechen
Wird aufgerufen, wenn die Öffnungszeit über 90 Sekunden ist

<?php
setvalue(56309/*Vorgang aktiv*/,false);
IPS_SetDisabled(20862/*Steuerung*/,false);
setvalue(23578/*Fehler*/,0);
Global_IPS_Nachricht("Garage","Vorgang für Garagentor abgebrochen");
Global_Log_Eintrag_erstellen("Fehler","Garage","Vorgang abgebrochen!");
ECHO_Ankuendigung("Vorgang für Garagentor abgebrochen!",false);

Die Variable „Geöffnet in Sekunden“ wird alle 10 Sekunden um 10 erhöht, wenn der untere Sensor offen ist. Das zeigt mir an, wie lange das Tor offen ist.
Das wars eigentlich.

1 „Gefällt mir“

Supi, herzlichen Dank.
Die Feiertage sind gerettet :grinning:

Das ist doch noch etwas „kompakter“ als meine jetzige Steuerung - von daher wird das Mehrwert erzeugen.

Grüße, Uwe

1 „Gefällt mir“

Ich erweitere hier mal. Mir schwebt für außen eine Möglichkeit zur Öffnung des Tores vor. Also jetzt nicht über das Mobilgeerät. Ähnlich wie ich es beim Nuki hab, mit dem Keypad. Wo wir schon beim Keypad wären.
Welche Lösung wäre hier zu empfehlen die natürich mit IPS funktioniert? Strom ist kein Problem, ZigBee und WLAN ebenso. Zur Not auch LAN.

Hab seit ungefähr 1000 Jahren das hier installiert und bin sehr zufrieden:

Kostet so um die 100€
Da komplett Edelstahl absolut robust und gut zu reinigen.

Es kann 2 Relais ansteuern (typ. Klingel und Türöffner). Die Codes werden intern verwaltet und nicht in IPS. Verbindung zu IPS wäre über einen beliebigen Binäreingang.

Allerdings nicht manipulationssicher: Aufschrauben und die richtigen Kabel kurzschließen würde funktionieren.

  • so wie bei James Bond: Welches ist nun das richtige ? Das blaue oder das grüne, Vorsicht, nicht das rote, sonst geht die Bombe hoch.

gruß
bb

Bei 1000 Jahre sind das €0,10 pro Jahr. Das wäre ok :smiley:
Wo kann ich das käuflich erwerben?

Befrag Google, der spukt einige Lieferanten aus.
„Codeschloß“ wäre übrigens das Zauberwort um noch weitere Alternativen zu bekommen, auch günstiger.

bb

1 „Gefällt mir“

Danke für die Anregungen.
Ich hab mir im Herbst ein Sektionaltor mit ProMatic 4 eingebaut.
Jetzt hab ich Ideen, was man noch zum Spielen einbauen könnte.

Und wenn spielen dann umfunktionieren als Paket Ablage. Also Code vergeben oder so.
Ich selbst hab es mit der Klingel kombiniert an Tagen wo ein Paket kommt. Dann geht die Garage auf und ne Ansage zur Ablage wird an der Türstation abgespielt.

Das ist ne coole Idee.

[Unfug on] Vielleicht zusätzlich noch Klappschilder je nach Situation. Garage aufräumen, Auto waschen, Rasen mähen…[Unfug off]

Da würd ich eher ein Außendisplay nehmen, weil da könnte man auch Bildchen darstellen für jene die (noch) nicht lesen können :wink:

Muss gestehen…hab die Funktion eingebaut und noch nie benutzt :slight_smile:
Ich wäre mir nicht sicher ob die das raffen bzw. überhaupt annehmen. Vielleicht muss ich die Ansage zu Sicherheit mehrsprachig machen.

Hi hfichtinger,
die Relais gibt es anscheinend mit und ohne RF-Empfänger wie ich aus der Anleitung erfahren habe. Kann man an Hand der Platine sehen ob ein RF-Empfänger drauf ist? Vielleicht könnte ich da den Code vom Parkhaus beim Büro benutzen und hätte eine Fernbedienung weniger im Auto.

Ralf

Hallo, ich weiß nicht ob ich das erkennen würde. Ich könnte dir höchstens ein Foto von meiner Platine schicken und du schaust drüber. Soweit ich das erkennen kann, ist da nur eine Antenne drauf.

Hi,
danke aber ich schätze ich habe deutlich weniger Ahnung von dem was ich mache als Du:-)

Das mit RF-Empfang ist mir nur aufgefallen als ich die „Doku“ gelesen habe und es wäre ein nettes Extra. Ich schau mal ob bei meiner Bestellung was steht.

Im Shop stand auch nicht wirklich viel. Allerdings wird im selben Angebot auch eine der kleinen, lernfähigen 433MHz-Fernbedienung angeboten. Ich werde es am Wochenende wohl einfach mal probieren.

Ralf