Esphome + mcp23017

Witam co jest nie tak przykład pobrany z strony esphome:

# Example configuration entry
mcp23017:
  - id: 'mcp23017_hub'
    address: 0x20

# Individual outputs
switch:
  - platform: gpio
    name: "MCP23017 Pin A0"
    pin:
      mcp23xxx: mcp23017_hub
      # Use pin A0
      number: 0
      mode:
        output: true
      inverted: false

wyskakuje błąd ja na zdjęciu:

No to nie jest błąd w ścisłym tego słowa znaczeniu, tylko kontroler składni (linter) wbudowany w edytorze wykrył braki w kodzie, przepuść kod przez pełny linter (Validate), to będziesz miał jakieś mniej lub bardziej konkretne błędy, bo z wężyków to można równie dobrze czytać jak i ze szklanej kuli.

PS
Po tym urywku ze screenshota podejrzewam, że nie zdefiniowałeś magistrali I2C (ale tego nie wiem, to tylko szklana kula podpowiada, to dość typowa sytuacja - dokumentacja ESPHome jest napisana rekurencyjnie, więc np. I2C które wykorzystuje większość peryferiów ma odrębny kawałek dokumentacji - jest on podlinkowany z pewnością pod artykułem o MCP230xx w wersji I2C).

PPS
Przepuść jednak przez linter - zrób to dla siebie, zobaczysz jakie błędy wygeneruje i czy byś się z nich połapał o co chodzi.

Nie wiem czy o to ci chodziło:

Tak to jest właśnie pełny linter, jak widać tym razem komunikat błędu prowadzi “za rękę” i informuje o zależności komponentu mcp23017 od komponentu i2s.
PS mogłeś to skopiować jako tekst.

PPS Od jakiegoś czasu (nie wiem od kiedy - zauważyłem je dosłownie parę dni temu, a edytor był zmieniony dobre pół roku temu) w edytorze wbudowanym w IDE ESPHome są dostępne “dymki”, w nich też jest zawarty jakiś użyteczny help.

Miałeś rację w przykładzie na stronie esphome nie podali że trzeba dodać:

# Example configuration entry for ESP32
i2c:
  sda: 21
  scl: 22
  scan: true
  id: bus_a

dzięki za radę.

Jeśli zamieszczasz YAML, stosuj linijki przed i po kodzie zawierające po 3 odwrotne apostrofy - to zachowa właściwe formatowanie (zobacz jak edytowałem twoje posty, ten znak odwrotnego apostrofu jest pod “klawiszem tyldy”).

1 polubienie

Albo tego nie zauważyłeś albo źle zinterpretowałeś, wszystko jest opisane w dokumentacji:

MCP23017 Component
The MCP23017 component allows you to use MCP23017 I/O expanders (datasheet, Adafruit) in ESPHome. It uses the I²C Bus for communication.

ESPHome to dobrze udokumentowany projekt .

1 polubienie

Trochę nie na temat, ale o MCP23017 - układ ma buga nieujętego w powszechnie dostępnej dokumentacji