Hat jemand einen Tip wie ich den Terrassentürantrieb Abus Wintecto in Homeassistant einbinden kann?
Es gibt die Abus One Bridge, die anscheinend aber nur einen Alexa Skill hat. Homekit Kompatibilität war wohl geplant, aber ist nie gekommen. Die harte Lösung wäre die Bluetooth Fernbedienung mit einem ESP und Relais zu verdrahten und dann die Einbindung so zu realisieren. Dabei muss man sich aber fragen, ob es sich lohnt dafür die Fernbedienung im wahrsten Sinne des Wortes aufzubohren.
Danke für eurer Ideen.
Viele Grüße
Markus
Ich bin auch schon ewig auf der Suche nach einer Möglichkeit den Türantrieb in HA einzubinden. Leider ohne Erfolg. Beim Vorgänger gab es ein Leck, wodurch es gehackt werden konnte. Vermute mal, desshalb wollen sie keinen Zugriff von Drittanbietern zulassen.
Willkommen im Forum
Das würde mich auch interessieren. Ich habe Abus mal angeschrieben und gefragt ob eine Anbindung an HA möglich oder geplant ist.
Mal schauen ob und wie sie antworten.
@LuckyCT Diese Antwort kam eben von ABUS.
Zitat: 'Über die Bridge One können Sie nur eine Anbindung an Alexa bzw. Google Home erhalten. Eine Steuerung über Home Assistant ist nicht möglich.
Via Alexa / Google Home ist folgendes möglich:
Über die Sprachsteuerung ist ein Öffnen, hier mit zusätzlichem Pin-Code, und Verschließen möglich.
Steuerung via Routinen:
Triggerpunkte sind: offen, verriegelt, blockiert
Ausführung: verriegeln’
Hi zusammen,
ich habe ein Wintecto genau so in Betrieb, wie von Macello genannt, sprich per Bridge in Alexa.
In HomeAssistant kann es aus meiner Sicht z.B. integriert werden indem man:
In HA einen input_boolean (Helfer) “wintecto_locked” anlegt und diesen in Alexa veröffentlicht
In Alexa zwei Routinen anlegt um diesen input_boolean zu setzen (Getriggert durch offen - input_boolean auf false / Getriggert durch verriegelt - input boolean auf true)
Danach kann in HA ein Template-Lock angelegt werden (Value Template wird der input_boolean, lock und unlock starten jeweils ein script, dass über den Alexa-Media-Player “custom command” das ver- und entriegeln [PIN nicht vergessen] auslöst)
Damit ist es ganz normal möglich über ein HA-Lock das Wintecto zu öffnen, zu schließen und auch den Status zu sehen (sogar auch wenn es manuell entriegelt wird). Ich habe on top noch ein paar Sicherheiten eingebaut, sodass er nur schließt wenn ein (separater) Türkontakt auch wirklich geschlossen ist und solche Themen…
Es gibt sicher besser/schöner integrierte Lösungen. Aber über Umwege immerhin alltagstauglich.
es ist jetzt schon ne Weile ruhig ums Thema, wollte es mir aber trotzdem nicht nehmen lassen kurz Erfolg zu vermelden Habe mein Wintecto seit gestern in HA, ganz ohne Alexa und Cloud. Ist aber eher ne Bastellösung als Out of the Box.
Mein Ansatz: Habe mir ne gebrauchte ABUS One Fernbedienung (CFF3100) besorgt, mit dem Schloss gepairt, die Platine der Fernbedienung aus dem Case raus, an Buttons und LEDs Dupont-Kabel gelötet, das Ganze mit nem ESP verbunden und per ESPHome integriert. Strom kommt ebenfalls vom ESP, sodass keine Batterie mehr nötig ist.
Leider gibt das Schloss keinen richtigen Status an die Fernbedienung zurück, sodass man besser nur schließt, wenn man auch da ist (was ja der Normalfall sein sollte).
Hier mal ein schnelles Bild. ESP ist auf der Rückseite.
An der Lösung wäre ich interessiert. Ich hatte überlegt den Fernbedienungs Knopfdruck über eine ESP Relais zu simulieren.
Ist bei mir dann aber an der Notwendigkeit gescheitert da ich die Tür mit der Apple Watch öffnen kann und ich bei sicherheitsrelevanten Themen die Hersteller App bevorzuge. Trotzdem finde ich das Thema spannend.
Hinweis: Legt man die CFF3100 mit Batteriefach und Pinleiste nach oben, sind die beiden rechten Pins 3V und GND (s. Schaltplan).
Kurzanleitung
Stiftleisten an CFF3100 und ESP löten.
Dupont Kabel an die Buttons und LEDs löten. Insbesondere bei den LEDs ist Fingerspitzengefühl gefragt. Auf die Leiterbahnen und die richtige Positionierung achten (s. Bild).
Bauelemente wie im Schaltplan auf der Lochrasterplatine anordnen und verlöten. Ich habe eine 4x6cm genommen, weil ich die da hatte. Hier lässt sich sicher noch das ein oder andere optimieren.
Je nach Anordnung der Bauelemente dürfen CFF3100 und ESP erst relativ am Schluss auf die Lochrasterplatine gelötet werden.
Ganz zum Schluss kommen dann die Dupont Kabel an die vorbereiteten Widerstände.
Mit dem YAML lässt sich die CFF3100 als “normale” lock entity per HA schließen. Da die Fernbedienung nur ein sehr rudimentäres Feedback ausgibt, wird der Status des Schlosses in der Regel aber als unbekannt angezeigt.
esphome:
name: lock-wintecto
friendly_name: "Terrassentür"
esp8266:
board: esp01_1m
# Enable logging
logger:
globals:
- id: awaiting_action
type: int
initial_value: '0' # 0 = idle, 1 = awaiting lock result, 2 = awaiting unlock result
- id: initial_flash_seen
type: bool
initial_value: 'false'
- id: last_led
type: int
initial_value: '0' # 1 = lock LED was last seen, 2 = unlock LED was last seen
- id: alternating_edges
type: int
initial_value: '0'
- id: monitor_deadline
type: unsigned long
initial_value: '0'
- id: last_known_lock_state
type: int
initial_value: '0' # 1 = locked, 2 = unlocked
- id: lock_error_state
type: bool
initial_value: 'false'
# GPIO outputs (button presses)
switch:
- platform: gpio
id: button_lock
pin: GPIO14
on_turn_on:
- delay: 300ms
- switch.turn_off: button_lock
interlock: [button_unlock]
- platform: gpio
id: button_unlock
pin: GPIO4
on_turn_on:
- delay: 300ms
- switch.turn_off: button_unlock
interlock: [button_lock]
# GPIO inputs (LED cathodes)
binary_sensor:
- platform: gpio
id: led_lock
pin:
number: GPIO13
mode:
input: true
pullup: true
inverted: true
# Called when the lock LED turns ON (rising edge)
on_press:
then:
- lambda: |-
unsigned long now = millis();
// If we're not monitoring (no recent button press), ignore
if (id(awaiting_action) == 0) return;
// If we are awaiting a lock result and haven't seen the initial flash yet,
// this could be the initial flash for a lock attempt.
if (!id(initial_flash_seen)) {
if (id(awaiting_action) == 1) {
id(initial_flash_seen) = true;
id(last_led) = 1;
}
return;
}
// We already saw the initial flash: count alternating on-events
if (id(last_led) != 1) {
id(alternating_edges) += 1;
id(last_led) = 1;
}
- platform: gpio
id: led_unlock
pin:
number: GPIO12
mode:
input: true
pullup: true
inverted: true
on_press:
then:
- lambda: |-
unsigned long now = millis();
if (id(awaiting_action) == 0) return;
if (!id(initial_flash_seen)) {
if (id(awaiting_action) == 2) {
id(initial_flash_seen) = true;
id(last_led) = 2;
}
return;
}
if (id(last_led) != 2) {
id(alternating_edges) += 1;
id(last_led) = 2;
}
# Template binary sensor reading the global error flag
- platform: template
id: lock_error
name: "Status"
device_class: problem
lambda: |-
return id(lock_error_state);
# Monitor interval: evaluate the window after a press
interval:
- interval: 200ms
then:
- lambda: |-
unsigned long now = millis();
// Only act if we are currently monitoring
if (id(awaiting_action) == 0) return;
// If alternating_edges reached the threshold already, set error early
if (id(alternating_edges) >= 10) {
id(lock_error_state) = true;
// stop monitoring
id(awaiting_action) = 0;
id(initial_flash_seen) = false;
id(last_led) = 0;
id(alternating_edges) = 0;
return;
}
// If monitoring window expired, decide success or error
if (now > id(monitor_deadline)) {
if (id(alternating_edges) >= 10) {
id(lock_error_state) = true;
// don't change last_known_lock_state
} else {
// no alternating error pattern; assume the requested action succeeded
id(lock_error_state) = false;
if (id(awaiting_action) == 1) {
id(last_known_lock_state) = 1; // locked
} else if (id(awaiting_action) == 2) {
id(last_known_lock_state) = 2; // unlocked
}
}
// Reset monitoring flags
id(awaiting_action) = 0;
id(initial_flash_seen) = false;
id(last_led) = 0;
id(alternating_edges) = 0;
}
# Lock entity
lock:
- platform: template
id: backdoor
name: "Terrassentür"
assumed_state: true
lock_action:
- lambda: |-
id(awaiting_action) = 1; // waiting for lock result
id(initial_flash_seen) = false;
id(last_led) = 0;
id(alternating_edges) = 0;
id(lock_error_state) = false;
id(monitor_deadline) = millis() + 12000;
- switch.turn_on: button_lock
unlock_action:
- lambda: |-
id(awaiting_action) = 2; // waiting for unlock result
id(initial_flash_seen) = false;
id(last_led) = 0;
id(alternating_edges) = 0;
id(lock_error_state) = false;
id(monitor_deadline) = millis() + 12000;
- switch.turn_on: button_unlock
lambda: |-
if (id(lock_error_state)) {
// On error, just keep showing the last known state instead of NONE
if (id(last_known_lock_state) == 1) {
return LOCK_STATE_LOCKED;
} else if (id(last_known_lock_state) == 2) {
return LOCK_STATE_UNLOCKED;
} else {
return LOCK_STATE_NONE;
}
}
// Normal case → return last known
if (id(last_known_lock_state) == 1) {
return LOCK_STATE_LOCKED;
} else if (id(last_known_lock_state) == 2) {
return LOCK_STATE_UNLOCKED;
} else {
return LOCK_STATE_NONE;
}
funktioniert die Lösung bei dir noch? Also Steuerung über den Alexa-Media-Player usw.
Ich suche schön länger nach einer Möglichkeit um Fenster per Homeassistant öffnen und schließen zu können. Werde einen Kettenantrieb verbauen, möchte aber zusätzliche Einbruchssicherheit indem der Griff gedreht wird, wenn das Fenster zu ist.
Das kann ich dir nicht sagen, ich habe den Fenstergriff nie gekauft. Da man den nicht in HA einbinden kann, war er raus. Die Antwort kam damals auf Nachfrage bei ABUS.
@captaindork Hab das Lock gekauft und installiert. Sehe ich das richtig, dass man nicht den Status gekippt angezeigt bekommt? Bei mir zeigt er dann immer verriegelt. Also so als wäre der Griff nach unten.
Vielen Dank für die Bilder und den Schaltplan. Ich versuche dies gerade mit meinen beschränken Lötfahigkeiten nachzubauen.
Kannst du nochmal genauer die lötpunkte für die led’s zeigen, also die beiden gelben Kabel? Bin mir ein wenig unsicher wo / an welche Leiterbahn die dran müssen :/..
freut mich zu hören, dass meine Anleitung auf Interesse stößt. Leider habe ich keine besseren Bilder mehr und da das Ganze seit mehr als einem halben Jahr ohne Probleme läuft, habe ich die Platine mittlerweile relativ schlecht zugänglich verstaut.
Meine Lötkenntnisse sind auch nicht besonders .. war mein drittes Lötprojekt (was man glaube ich auch teilweise an den Bildern sieht ). Musst dich wahrscheinlich gar nicht so sehr an den Leiterbahnen orientieren. Am besten setzt du die zwei Lötpunkte oberhalb und unterhalb der jeweiligen LED direkt an deren Lötpunkten. Hier solltest du zügig und genau arbeiten, dass du die LED nicht ablötest.
Hast du ein Multimeter? Damit kannst du recht einfach testen, wo du den besten Kontakt hast.