Tasmota PCF8574

Witam wszystkich. Czy macie moze gotowy plik na tasmote z obsługą moduluów i2c tak jak w temacie.

Cześć, witamy na forum.
Czy potrzebujesz pliku z AIS Tasmota? Czy może chcesz z oryginalnym Tasmota?

Oryginalny plik Tasmota możesz skompilować w mega prosty sposób dzięki Tasmocompiler

Z Ais Tasmota… zaraz coś spróbuję skompilować:

EDIT:

@pasta - proszę plik, przetestuj i daj znać czy działa:
ESP32_PCF8574_AIS.bin (1,4 MB)

To skompilujemy z oryginału Tasmota przez Tasmocompiler na Gitpod. Nie potrzebne nic więcej prócz dostępu do internetu i przeglądarki.



Dołożyłem BLE:

firmware(6).bin (1,2 MB)

Moze byc oryginalny tasmota lub ten wasz modyfikowany. Muszę się przyjrzeć waszej wersji.
Pod wemos d1 mini pro.

Widziałem dokumentację. Powalczę
Wieczorem.
Czym różni się wasza modyfikacja od oryginalnej tasmoty. Znajde jakis fajny artykuł??

Jak oryginalny, to spróbuj sam stworzyć. Pliki powyżej zbudowane pod ESP32.
Z Tasmocompiler to nic trudnego.
Robisz wpis zgodnie z dokumentacją Tasmota w pkt.4
https://tasmota.github.io/docs/PCF8574/#pcf8574-pcf8574a-gpio-expander

EDIT:
Poprawiam KOD poniżej:

#define USE_I2C                                // Add support for I2C
#define USE_PCF8574                            // [I2cDriver2] Enable PCF8574 I/O Expander (I2C addresses 0x20 - 0x26 and 0x39 - 0x3F) (+1k9 code)
// #define USE_PCF8574_SENSOR                   // enable PCF8574 inputs and outputs in SENSOR message
// #define USE_PCF8574_DISPLAYINPUT             // enable PCF8574 inputs display in Web page
// #define USE_PCF8574_MQTTINPUT                // enable MQTT message & rule process on input change detection : stat/%topic%/PCF8574_INP = {"Time":"2021-03-07T16:19:23+01:00","PCF8574-1_INP":{"D1":1}}

Czy można wgrać na działająca tasmote wasza modyfikacje ?? Pozdrawiam.

A dlaczego tak Ci zależy na “naszej” wersji?
Jest prawie identyczna. Oprócz kolorów, ma wstępnie skonfigurowane tematy MQTT i obsługuje auto proxy. Reszta chyba bez zmian.

Dzięki za link.
Mam jeszcze jedno pytanie. Planuję użyć tasmoty lub waszej modyfikacji.
Jeden expander potrzebny do odczytywania stanów włączników czy roleta 1 ma być otwierana czy zamykana. 2 expander do załaczania przekaźników rolet oraz załącznia przekaźników 8 lamp ledowych.
Jakich przycisków byście użyli normalne przełączniki togle czy jakieś inne. (Najlepiej przełącznik 3 stanowy góra stop dół)
Pozdrawiam.

Czy można kompilować ten plik na komputerze nie przez internet. 2 razy skompilowałem i się udało a teraz za każdym razem błąd 127 :confused:

Ok wgrałem plik na nowo do wemos.
Po wpisaniu w konsoli
i2cscan
wyswietliło dwa adresy układów
0x20 0x24
I2cDriver2 1
Najgorsze jest to ,że w menu pokazuje się tylko jeden układ i nie ma reakcji na wejścia :confused: pewnie trzeba jeszcze coś poustawiać eh.
Czekam na jekieś podpowiedzi.
Pozdrawiam.

Doczytaj opis z dokumentacji.
Teraz widzę, że odkomentowanie powinno być dokładnie jak na stronie dokumentacji:

https://tasmota.github.io/docs/PCF8574/

Skompiluj na nowo i powinno byc OK, zobacz opisy przy wierszach.

#define USE_I2C                                // Add support for I2C
#define USE_PCF8574                            // [I2cDriver2] Enable PCF8574 I/O Expander (I2C addresses 0x20 - 0x26 and 0x39 - 0x3F) (+1k9 code)
// #define USE_PCF8574_SENSOR                   // enable PCF8574 inputs and outputs in SENSOR message
// #define USE_PCF8574_DISPLAYINPUT             // enable PCF8574 inputs display in Web page
// #define USE_PCF8574_MQTTINPUT                // enable MQTT message & rule process on input change detection : stat/%topic%/PCF8574_INP = {"Time":"2021-03-07T16:19:23+01:00","PCF8574-1_INP":{"D1":1}}

TAK - oczywiście.
https://tasmota.github.io/docs/Compile-your-build/

Odkomentowalem 3 ostatnie. I pokazuje mi tylko jeden.
Spróbuję wieczorem.
Pozdrawiam.

1 polubienie

Do wejść sterownika Kincony 8 Channel Relay Board (KC868-A8) Configuration for Tasmota (technicznie do wejść PCF8574) został podłączony przycisk dzwonkowy. Jak skonfigurować Tasmota aby wejścia z PCF8574 byly traktowane jako Buttons and Switches - Tasmota tak aby można było wykorzystać funkcjonalność multi press (Buttons and Switches - Tasmota)?
Tak wygląda naciśnięcie i zwolnienie przycisku dzwonkowego w konsoli Tasmota:

17:47:31.432 MQT: home/stat/tasmota_DC2E18/RESULT = {"Time":"2022-03-22T17:47:31","PCF8574-1_INP":{"D0":0}}
17:47:31.885 MQT: home/stat/tasmota_DC2E18/RESULT = {"Time":"2022-03-22T17:47:31","PCF8574-1_INP":{"D0":1}}

Bez problemu działa sterowanie wyjściem (toggle) za pomocą wejścia przy pomocy reguł Tasmota:

Rule1
   ON PCF8574-1_INP#D0=0 DO Power1 toggle ENDON
Rule1 1

ale dla mnie to za mało, oczekuję obsługi dwukliku i przytrzymania przycisku dzwonkowego aby za pomocą tych akcji sterować scenami w HA, np. dłuższe przytrzymanie przycisku gasi wszystkie światła w pokoju.
Kombinowałem na wiele sposobów ale poległem :frowning: .

@macek - Może to pomoże jeśli jeszcze nie czytałeś…
Przykłady z książki kucharskiej użycia reguł:
#long-press-on-a-switch
#send-mqtt-message-on-button-press
#button-single-press-double-press-and-hold
#disable-switch-single-press-and-use-long-press
#toggle-relay-when-holding-button-for-2-seconds
#perform-any-action-on-singledouble-press-for-switches-and-buttons

Myślę, że jest potrzebna dana reguła pod dane założone zachowanie.

Czy dobrze rozumię?
D0 - to wejście (Input) 0 przyjmujące stan 0 dla zwartego styku i stan 1 dla styku otwartego?

Jeśli poczytasz przykłady myślę, że szybko załapiesz jak tworzyć reguły. Chętnie pomogę jeśli będzie potrzeba i podasz oczekiwane zachowanie we/wy.

Dokladnie tak.

Wszystko juz czytałem ale w przykladach jest ON button2#state=3 a tego nie jestem wstanie uzyskać na wejściach PCF8574.

Więc trzeba będzie stworzyć własne reguły pod PCF8574.
Nie wiem tylko jak stworzyć logikę, która pozwoli na zmierzenie czasu trwania stanu 0.

Trochę to bezsensowne, chyba zgłoszę issue i zobaczymy :wink:.

Przeglądam dokumentację Tasmota i rzeczywiście nie widzę informacji o funkcjonalności Buttons and Switches pod PCF`a. Lakoniczne wzmianki o obsłudze przez reguły.
Kombinując, może w tej konfiguracji pod Kincony z PCF dodać wirtualnie stany dla button. Ustawić wolne GPIO jako przyciski (wirtualne) i regułami ustalać ich stan tożsamo z Input D0-D7 pod PCF’em. Tak aby uzyskać obsługę multi i long press.

Kurcze niby tasmota taka przyjazna dla ludzi, a ja jednak wolę esphome. Tam zdaje się że masz od początku support dla click i double_click. Hold chyba trzeba określić ile ma trwać.
Nie mam PCF8574 więc się nie pobawię, ale mogę pomóc w napisaniu yamla dla niego.

Nie chcę wypowiadać się za @macek ale w tym projekcie chodzi o działanie sprzętu fizycznie bez udziału HA. Dlatego reguly Tasmota są do tego lepsze.