Zum Inhalt

Raspberry Pico W in Home Assistant verwenden

Ein Raspberry Pico kann mithilfe von ESPHome Builder in Home Assistant integriert werden.

Bei einer Aufräumaktion habe ich ein paar Raspberry Pi Pico W 2022 gefunden. Die waren mal für irgendwelche Projekte vorgesehen, die dann nicht realisiert wurden.

Was macht man damit? In Home Assistant einbinden und dort endlich für Projekte verwenden.

Hier ist die Anleitung 😉


Raspberry Pico W

Raspberry Pico in ESPHome Builder einbinden

Das Pico-Modell ist auszuwählen. Das hier verwendete Modell ist ein Raspberry Pico W.

Das Gerät kann beliebig benannt werden. Zu einem späteren Zeitpunkt lässt es sich über die Oberfläche auch ändern.

Der Pico wird in ESPHome Builder als neues Gerät eingefügt.

Mit einem Klick auf die ... ist eine Datei auf den eigenen Client herunterzuladen.

Es ist Firmware-Binärdatei herunterladen auszuwählen.

Die Firmware wird auf dem Home Assistant Server kompiliert. Dieser Vorgang kann einige Minuten dauern.

Die Firmware wird kompiliert.

Die fertige Datei kann auf den eigenen Client heruntergeladen werden. Es ist UF2-Paket auszuwählen. Die Datei pico-02-firmware.u2f wird heruntergeladen.

Der erste Schritt ist erledigt. Die Firmware ist fertig, liegt auf dem eigen Client bereit und kann nun auf den Pico übertragen werden.

Firmware auf Pico übertragen

Der Pico ist nun an den Client anzuschießen, auf dem die U2F-Datei bereitliegt.

Es ist ist die BOOTSEL-Taste während dem Anschließen zu drücken. Nur dann erscheint der Pico als neues Laufwerk auf dem eigenen Client. Die Datei pico-02-firmware.u2f ist einfach per Drag-and-Drop auf den Pico zu laden.
Ist das Kopieren beendet, wird der Pico automatisch ausgeworfen und startet mit der neuen Firmware.

In ESPHome Builder erscheint der Pico als Online. Die Logs können dort angeschaut werden.

Hat alles funktioniert, kann in Zukunft jede Änderung an der Firmware über das WLAN aufgespielt werden.

Firmware bearbeiten

Die Firmware kann im Editor bearbeitet werden.

Es werden zwei neue Schalter für zwei LEDs hinzugefügt.

switch:
  - platform: gpio
    name: "LED Red"
    pin: 
      number: 1
  - platform: gpio
    name: "LED Green"
    pin: 
      number: 10 

Der Code wir am Ende ergänzt.

Über den Schalter lässt sich die Änderung an der Firmware auf den Pico OTA hochladen.

Der Upload wird gestartet und kann über OTA einige Zeit in Anspruch nehmen.

Ist die neue Firmware mit den Schaltern auf dem Pico, kann dieser zu Home Assistant hinzugefügt werden.


Home Assistant

Der Pico wird automatisch erkannt und wird mit einem Klick auf Hinzufügen hinzugefügt.

Ja, wollen wir.

In Home Assistant taucht der Pico als neues Gerät mit den zwei Schalten auf. Diese können auch sofort verwendet werden.

Schaltplan

Der Schaltplan ist einfach gehalten.

LED PINs

Der lange PIN ist in der Spalte J einzustecken.

Der kurze PIN ist in der +-Spalte einzustecken.

Pico und Automationen

In diesem Beispiel verwende ich einen Bewegungsmelder von IKEA. Bei einer erkannten Bewegung und einer bestimmten Beleuchtungsstärke wird die rote LED an- und nach 5 Sekunden wieder ausgeschaltet.


Mit einer blinkenden LED

Das Ganze kann man ziemlich einfach erweitern. In diesem Beispiel lässt man eine LED beim Betätigen des Schalters blinken.

Code
# Board: Raspberry Pi Pico W
# Definition: definitions/boards/rpipicow/manifest.yaml

esphome:
  name: pico-02
  friendly_name: pico-02

rp2:
  board: rpipicow

logger:

api:
  encryption:
    key: "xxxxxxxxxxxxxxxxxxxxxxxx"

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: pico-02 Fallback Hotspot
    password: "xxxxxxxxxxxxxxxxxx"

captive_portal:

switch:
  - platform: gpio
    name: "LED Red"
    pin: 
      number: 1
  - platform: gpio
    name: "LED Yellow"
    pin: 
      number: 5
  - platform: gpio
    name: "LED Green"
    pin: 
      number: 10 

# Mithilfe des Templates wird ein Switch in Home Assistant erstellt.
# GIPO wird über Output angesprochen.
# Das Blinken der LED wird im Abschnitt Interval definiert.
  - platform: template
    name: "LED Blink"
    id: led_blink
    optimistic: true
    turn_on_action:
      - lambda: |-
    turn_off_action:
      - lambda: |-

output:
  - platform: gpio
    pin: 14
    id: led_white

interval:
  - interval: 500ms
    then:
      - if:
          condition:
            switch.is_on: led_blink
          then:
            - output.turn_on: led_white
            - delay: 250ms
            - output.turn_off: led_white

In Home Assistant sind 4 Schalter verfügbar.

Im Video ist das Blinken der LED zu sehen.


Gib mir gerne einen Kaffee ☕ aus 😀

Gib mir gerne einen Kaffee ☕ aus !

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address:

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Weitere Möglichkeiten mich zu unterstützen findest du 👉 hier