Whatsapp und HA - Senden und Empfangen von Nachrichten

Hallo zusammen,
da ich etwas länger gebraucht habe, bis es bei mir endgültig lief, habe ich für mich mal ne kurze Anleitung geschrieben, damit ich es in einem halben Jahr nicht wieder vergessen habe. Da ich die Funktionalität ganz nett finde, habe ich gedacht, dass es hier dem ein oder anderen auch helfen könnte.
Es geht darum Whatsapp-Nachrichten aus HA unter eigenem Namen (kein Bot) zu schreiben und eingegangene Nachrichten auszuwerten/anzuzeigen.
Hier kommt wahrscheinlich gleich die Anmerkung der Sicherheit des Containers: Hier vertraue ich aber mal den Sternen von Github und der Tatsache, dass es lokal läuft.

Hier mal meine Anleitung mit 2-3 Screenshots. Vielleicht hilft es ja jemandem:

WAHA als Container installieren – freie Variante

docker run -it -p 3000:3000/tcp devlikeapro/whatsapp-http-api
Standard ist Port 3000, bei mir aber 3001

Über Browser auf http://192.168.xxx.xxx:3001
IP entspricht Docker-Host

Webhook-Automatisierung in HA erstellen
Bild1

Und erzeugte webhook-id kopieren
Bild10

Start- Session unter http://192.168.xxx.xxx:3001
Bild2

{
  "name": "default",
  "config": {
    "webhooks": [
      {
        "url": "http://192.168.xxx.xxx:8123/api/webhook/**kopierte Webhook-ID**",
        "events": [
          "message"
        ]
      }
    ]
  }
}

xxx.xxx = HA-IP

Mit Whatsapp-Account verknüpfen:
Bild3

Den erzeugten und angezeigten QR-Code in Whatsapp einscannen

Android:
Drei Punkte oben rechts  verknüpfte Geräte  Gerät hinzufügen

  1. Alles Weitere in HA
    5.1 Nachrichten lesen
    In der Webhook-Automatisierung den Payload auswerten und in input_text schreiben:

Bild5

5.2 Nachricht schreiben
Configuration.yaml erweitern:

rest_command:
  whatsappsend:
    url: http://192.168.xxx.xxx:3001/api/sendText
    method: POST
    headers:
      accept: "application/json"
    payload: "{ \"chatId\": \"{{ nummer }}\", \"text\": \"{{ nachricht }}\", \"session\": \"{{ sitzung }}\" }"
    content_type: 'application/json'

Neustart von HA
Skript erstellen und nutzen:

Bild6

Bild7

5.3 Messagebuttler
Usecase: Kalender mit „Whatsapp“

5.4 ChatGPT antwortet automatisch
Usecase: OpenAI mit „Whatsapp“

Bild9

4 „Gefällt mir“

ok, versuche es mal nachzubauen.

wie installiere ich denn WAHA?
gibt es nicht als Gerät, Integration add-on oder im HACAS?

Hi,
nee, das leider (noch) nicht.
Wie und auf welcher Hardware läuft bei dir HA?
Ich habe HA auf einem Mini-PC unter Proxmox laufen. Dann wäre es gar kein Problem zu erklären.
Hier
Ein paar “IT”/Docker-Kenntnisse braucht man schon, die sich aber über Youtube und googlen recht schnell erlernen lassen.

Hier können viele Wege nach Rom führen.
Wenn man Raspberry übrig hat z.B. so:

Oder wenn man etwas mutiger ist, direkt auf seiner hassio installation:

Oder halt als separate virtuelle Maschine über proxmox:

Einfach mutig sein und es versuchen… innerhalb eines abends kann das hinhauen…

Viel Erfolg

aktuell auf einem lenovo thin client als generic Installation.
Tendenz geht aber in Richtung VM in unraid und dort lauft auch schon eine HomeAssistan Testumgebung in einer VM. Insofern würde ich mit einer Docker-Installation auf unraid mal anfangen.
Habe schon mal geschaut, ob es da einen ready-to-use Docker gibt, aber nichts gefunden. Eine Installation sollte aber vermutlich ähnlich ablaufen wie unter proxmox
Allerdings habe ich bisher immer nur das verwendet, was man im custumer store fertig findet…

Auch wenn ich mich mit unraid noch nicht so beschäftigt habe, aber ich denke, dass es da sicher Wege gibt:

Viel Erfolg und Spaß…

Hallo
ich habe das jetzt versucht nachzubauen, der waha server läuft im docker auf unraid, Whatsapp ist per qrcode verbunden, aber die Automatisierung bekomme ich nicht genau so erstellt. Wenn ich alles eingegeben habe und dann speicher ändert es sich von selbst wie folgt:

data_template:
  entity_id: input_text.whatsapp_text
  value: "{{ trigger.json.payload.body }}"
action: input_text.set_value

Warum?
Mfg

:crayon:by HarryP: Codezeilen formatiert

Hi @Baum

Ich habe alles installiert unter unraid bekommen und kann eine Nachricht aus der Swagger UI von WAHA senden. Bis hier schon einmal Danke!

Nun scheitere ich aber aktuell an der Integration in HA.

Das rest_command in der configuration.yaml ist schon vorhanden:

rest_command:
  whatsappsend:
    url: http://192.168.178.200:3000/api/sendText
    method: POST
    headers:
      accept: "application/json"
    payload: "{ \"chatId\": \"{{ nummer }}\", \"text\": \"{{ nachricht }}\", \"session\": \"{{ sitzung }}\" }"
    content_type: 'application/json'

Kannst du mir hier nochmals eine detailierte Info geben, wie es nun weitergeht?

Wie erstelle ich das von dir erwähnte Skript? In der UI? Wenn ja wo? Oder per Dateiedit?

Wie rufe ich das Skript dann in HA in einer Automatisierung auf?
Per UI oder per YAML?

Danke!