FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: JoWiemann am 24 Juni 2026, 22:05:49

Titel: [32_whalibmob.pm] WhatsApp mit dem whalibmob Client
Beitrag von: JoWiemann am 24 Juni 2026, 22:05:49
Hallo,

ich habe mich noch einmal nach einer yowsup Alternative umgesehen und bin dabei auf whalibmob gestoßen.
whalibmob Client (https://github.com/Kunboruto20/whalibmob)

Das ganze sieht ganz gut aus und wird regelmäßig gepflegt.

Basierend auf 32_yowsup.pm habe ich eine 32_whalibmob.pm erstellt, die seid ein paar Tagen ganz gut läuft.

Module to interface to the whalibmob library developed by:
<---------------------------------------------------------------------------->
whalibmob: https://www.npmjs.com/package/whalibmob
WhatsApp library for interaction with WhatsApp Mobile API no web
boruto7777
<---------------------------------------------------------------------------->
to send and receive WhatsApp messages.

Fhem vorbereiten
Vor den weiteren Schritten sollte geprüft werden, ob dem User fhem eine Loginshell zugewiesen ist:

getent passwd fhemWird hier am Ende /bin/false ausgegeben, so muss dies angepasst werden:

sudo chsh -s /bin/bash fhemMittels getent passwd fhem kann auch bereits das Home-Verzeichnis ausgelesen werden, dies steht in der ausgegebenen Doppelpunkt-separierten Liste an vorletzter Stelle.

Jetzt ein whalibmob Device erstellen:
define <name> whalibmob
Mit
set <name> NPM_installwhalibmob installieren.

Nun loggt man sich unter dem User ein, unter dem fhem läuft (in den folgenden Beispielen werden die vom fhem-Setup-Script generierten Defaults verwendet: User=fhem , home=/opt/fhem Gruppe=dialout) und liest dort die $HOME-Variable aus und prüft das Home-Verzeichnis:
sudo su - fhem
npm approve-scripts protobufjs

Mit der Registrierung der Telefonnumer kommt nun der wichtigste Schritt.
# via SMS (default)
./whalibmobApi/node_modules/.bin/wa registration --request-code phone-number

# via voice call
./whalibmobApi/node_modules/.bin/wa registration --request-code phone-number --method voice
Der wa-Client sendet eine Registrierungsanfrage, zeigt die Rückmeldung von WhatsApp und bleibt aktiv.
requesting sms code for phone... status sent now run: ./whalibmobApi/node_modules/.bin/wa registration --register phone-number --code whatsapp-code staying in shell — use /reg confirm phone-number whatsapp-code to complete wa>

Den erhaltenen Registrierungs-Code direkt in der wa-Client shell mit folgendem Befehl an WhatsApp zur Bestätigung senden:
wa> /reg confirm number whatsapp-code
Zum Abschluss den wa-Client beenden und Testen:
./whalibmobApi/node_modules/.bin/wa connect phone-number
Der wa-Client kann nun wieder beendet werden. Mit setzten des Attributs cmd im whalibmob Device auf:
./whalibmobApi/node_modules/.bin/wa connect phone-number
ggf. Pfad anpassen und auf jeden Fall die korrekte Telefonnummer eintragen.

Hinweis:
Läuft nur auf linux/unix Systemen.

Über Tests und Rückmeldungen würde ich mich freuen. Vielen Dank.

Jörg
Titel: Aw: [32_whalibmob.pm] WhatsApp mit dem whalibmob Client
Beitrag von: Sidey am 24 Juni 2026, 22:59:09
Hi Jörg,

ich bin interessiert.
Wie hast Du die Kommunikation zwischen FHEM und der Bibliothek realisiert?


Ich würde whalibmob gerne in einem nodejs Container betreiben.


Grüße Sidey
Titel: Aw: [32_whalibmob.pm] WhatsApp mit dem whalibmob Client
Beitrag von: JoWiemann am 25 Juni 2026, 07:42:19
Hallo Sidey,

wie bei yowsup wird bei whalibmob der Client über den Perl Befehl exec als Prozess gestartet, der dann permanent läuft. Über syswrite und sysread wird mit dem Prozess kommuniziert. Ob das mit einem eigenen Container funktioniert, glaube ich nicht.

Grüße Jörg