Dla oczyszczenia umysłu proponuję powrót do pierwszego posta.
Normalnie to się robi tak:
Kontaktron wpinasz między GPIO a masę.
Jeśli przewody są dłuższe od kilku centymetrów możesz między GPIO a 3,3V wpiąć dodatkowy rezystor podciągający powiedzmy 4k7.
ALE
Na tej twojej płytce jest po drodze między dostępnym polem lutowniczym, a MCU, układ ULN2003A - to jest drabinka układów Darlingtona (taki gotowy układ np. pośredniczący między np. MCU, a przekaźnikami, czy silnikami), ale do twoich rozważań wystarczy jego logiczny układ zastępczy
drabinka diod jest do tłumienia przepięć pochodzących od obciążeń indukcyjnych (takich jak przekaźnik czy silnik) więc możesz zignorować jej istnienie (przez konstruktora została zapewne podpięta pod Vcc) - zostanie drabinka inwerterów.
Skutek tego jest taki, że skoro wejście zwierasz do masy wykrywając stan w którym kontaktron jest obok magnesu, to na jego wyjściu pojawi się wtedy stan wysoki i taki dotrze do MCU.
Jakie ma to skutki dla wyboru typu wejścia niech lepiej odpowie ktoś kto używa Tasmoty na co dzień (nie mam weny do kopania po dokumentacji).
Ale tak poza konkurencją (bo nie szukałem schematu tej płytki, którą masz, a to by się przydało, by go sensownie przeanalizować) obstawiam, że jakiś rezystor pullup (na wejściu czyli między tym polem lutowniczym, a napięciem zasilania) będzie potrzebny.
A co do kontaktronu to może być każdy, ale sugeruję jakąś gotową konstrukcję w obudowie hermetycznej umożliwiającej łatwe mocowanie z regulacją np. na 2 wkręty (i optymalnie z fabrycznym kablem wystarczającej długości), zapewne będzie w komplecie z magnesem również z jakimś sensownym mocowaniem.
PS Ponieważ to (jakoby) Sonoff, to zakładałem, że iTead się do niego przyznaje, ale na ich stronie z dokumentacją nie ma śladu po podobnych konstrukcjach (no może jestem ślepy?) https://wiki.iteadstudio.com/Product
PPS Generalnie to jednak warto wiedzieć jak jest zbudowany dany układ by lepiej zrozumieć jego działanie, a akurat tutaj TI nie pożałowało na schemacie
Dziękuję @szopen za lekturę, tak jak mówisz, przydałaby się osoba, która już to testowała.
Swoją drogą zacząłem kminić coś takiego mając zasięg zigbee przy bramie.
Posiłkuję się tutaj postem kolegi @Tomasz jakiś czas temu robiłem licznik gazu.
Użyłbym do tego Baterii CR123 z koszykiem, aby wydłużyć żywotność działania i nie wymieniać za często baterii.
Ale wada tego rozwiązania jest taka, że to jest BATERIA.
Dlatego mając już Przetwornicę / zasilacz 24V / 5V-5A z wolnym USB typu A (micro USB zasila mi już SONOFFa 2CH), wpiąłbym zasilacz jak poniżej i ustawił 3V taką wartość, jaka potrzeba jest do zasilenia tego układu.
Tak czytam i nie rozumiem czemu zwyczajnie nie dodasz kontaktron pod GPIO14, ustawisz w konfiguracji Tasmota GPIO14 jako Przełącznik -i. Dopisek i oznacza odwrócenie logiki działania.
Przetestuj na stole i będziesz wiedział czy działa. Wystarczy zajrzeć podczas testów do konsoli Tasmota.
P.S.
Nie ma potrzeby wlutowywania kontaktronu, dodać można drugi równolegle:
Tak poza konkurencją to ten Sonoff (obojętnie prawdziwy czy nie) ma na płytce stabilizator napięcia - to ten zbiór elementów na zdjęciach na prawo od pinów niewlutowanego modułu RF433 (więc gdybyś tam chciał dorzucić jakiś inny układ to można z niego “podkraść” zasilanie, ale jak widzisz nie będzie takiej potrzeby).
Zakupiłem również kontaktron, jak na poniższym zdjęciu i zmieniając na różnego rodzaju przełączniki, przekaźniki, przyciski nic w konsoli się nie pojawia. Sprawdzałem z tymi ustawieniami:
GPIO14 i GND ?
GPIO14 i 3v3 ?
Chyba że ten kontaktron jest wadliwy xD albo nie taki kupiłem jak powinienem… ehhh
Kontaktron to sprawdź multimetrem ustawionym na sprawdzanie przejścia albo w trybie omomierza.
A co do pozostałych kwestii, to
to Ty masz to w ręce więc możesz prześledzić przebieg ścieżek
nie widzę rezystora
nawet miernikiem możesz zweryfikować poziomy napięć na interesującym wejściu (kontaktron do tego w ogóle nie jest potrzebny) zwierając do masy nietresujący pin (ale patrz 2 - gdzie jest pullup?) jedziesz przecież poza sspecyfikacją wykorzystanego modułu, to musisz go sobie zmodyfikować.
należałoby jeszcze zweryfikować konfigurację programową, ale tu odsyłam do dokumentacji Tasmota.
Dlaczego zamiana płytki? Ponieważ dokładam barierę IR “fotokomórki” i drugi przekaźnik odzwierciedli jej stan dla napędu bramy. Pozostaje nadal kontaktron dla sygnalizacji otwarcia bramy. Na pośredniczeniu sygnału z bariery przez ESP, zyskuję dodatkowo informację dla sterowania zaplanowaną sygnalizacją świetlną w garażu. Tak aby wiedzieć/widzieć czy odpowiednio głęboko się autem wjechało, a nie trzeba było wysiadać i patrzeć czy już wystarczy… Czyli następnym etapem będzie jakiś semafor
Oprogramowanie na ESPHome i tu zaskoczenie, pomógł mi zweryfikować składnię i podpowiedział fragmenty kodu ChatGTP (wystarczy odpowiednio formułować pytania i podawać kontekst)
Proste sygnalizatory w postaci dwóch kontrolerów od Magi Home z kawałkami taśmy założone. Sterowniki taśm działają lokalnie (Wi-Fi) z HA poprzez dedykowaną integrację. Do tego prosta automatyzacja w HA:
W uzupełnieniu możliwości projektu asystenta parkowania dorobiłem sobie sensory MQTT dla informacji w asystencie domowym.
Bazując na przykładowym kodzie z dokumentacji projektu:
# Create these entries under your existing MQTT integration header,
# whether that is in your primary configuration.yaml, a split yaml file
# or in the MQTT section of a package.
# You can change the name to anything desired and add any other standard
# sensor attributes like icon, etc.
mqtt:
sensor:
- name: "Car Detected"
state_topic: "stat/parkasst/cardetected"
- name: "Parking Distance"
state_topic: "stat/parkasst/parkdistance"
unit_of_measurement: "in"