NEWS
YowSup (python Whatsapp library) aus IoBroker heraus nutzen
-
Hi liebe Community,
ich habe ein Problem mit dem Rollen- und Usermanagement in Linux.
Erstmal zu meinem Setup:
Raspbian GNU/Linux 10 (buster) auf einem Raspi3B, dazu IoBroker 5.3.8 mit Node.js: v14.18.3 und NPM: 6.14.15Jetzt habe ich, mit dem Standarduser pi yowsup installiert, aktiviert und eingerichtet. Dabei liegt wohl der größte Teil des scripts im Pfad: /home/pi/.local/lib/python3.7, die Anwendung die aufgerufen wird, liegt in /home/pi/.local/bin/yowsup-cli
Dann habe ich im IoBroker ein script geschrieben, dass mit einem
exec
Whatsapps schicken kann und erst dabei entdeckt, dass der IoBroker mit einem eigenen user iobroker läuft und ich daher immer die Meldungen der Art: "[Errno 13] Permission denied running under user: xyz" bekomme.
Und jetzt scheitere ich leider, dem iobroker user die Berechtigungen für die /home/pi/.local/bin/yowsup-cli zu geben.Ich habe versucht eine neue Gruppe mit den usern pi und iobroker anzulegen und denen die Rechte zu geben => Keine Änderung
Ich habe versucht per su/sudo den iobroker zu ermächtigen das script als pi auszuführen ... dabei bekomme ich dann nur ganz böse Fehlermeldungen, dass mich mein local-Admin wohl nicht aufgeklärt habe.Kann mir vielleicht jemand verraten, wie ich das script für beide User ausführbar mache oder meinetwegen in Python den "userswitch" vollziehe?
Ich kenne zwar die CallMeBot Lösung aber ich würde gerne das sonst recht gut funktionierende und bereits lokal installierte Yowsup vorziehen, da man damit einfach flexibler ist.Vielen lieben Dank !
-
Und warum machst du das skript nicht einfach auch für den iobroker ausführbar?
Und ich vermute, das ganze ist auch nicht mit apt installiert sondern mit pip oder sonst irgendwie in /home/pi gekippt worden. Sonst läge das nicht dort sondern im $PATH für jeden user.
apt policy python3-yowsup
-
@thomas-braun Vielen Dank für die Tipps.
Ja, Yowsup wurde via pip3 installiert und ich bin bisher mit den mir bekannten Möglichkeiten, das Script auch für den IoBroker ausführbar zu machen gescheitert.pi@iob-pi:~ $ apt policy python3-yowsup python3-yowsup: Installiert: (keine) Installationskandidat: 2.5.7-4 Versionstabelle: 2.5.7-4 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
-
Ich würd's ja 'ordentlich' per apt installieren.
-
@thomas-braun Hallo Thomas,
vielen Dank erneut ! Das war relativ schwierig weil die APT Installation scheinbar eine uralte Version irgendwo aus der Versenkung holt und man damit Jahre hinter der aktuellen Entwicklung liegt. Ich hab aber die PIP installation rückgängig gemacht, das Ganze von Hand neu installiert (python setup.py nstall) und wider zum Laufen bekommen. Allerdings legt yowsup dummerweise selbst die Konfigurationsdaten (also bspw. die 'aktivierten' Handynummern) in einem Ordner im Ordner /home/pi/.config/yowsup/491234567890 ab. Ich kann zwar jetzt die yousup-cli selbst aus dem IoBroker heraus ausführen, habe aber dann die Meldung bekommen, dass er im Home-directory des Iobrokers keine config findet, also habe ich die vom user pi kopiert, aber jetzt crasht das Ding mit irgendeiner python Fehlermeldung - Aber : Ich kann mich jetzt selbst auf die Suche machen, was das Problem genau ist. -
die APT Installation scheinbar eine uralte Version irgendwo aus der Versenkung holt und man damit Jahre hinter der aktuellen Entwicklung liegt.
Debian-Philosophie. Läuft geprüft stabil in einer alten Version.
Ich habe hier ein 'fremdes' node-modul laufen, das benötigt auch configs im /home des iobroker
Ich kann später mal schauen wie das genau funktioniert. Dürfte bei python ja nicht grundsätzlich anders laufen.Mit
sudo -H -u iobroker PYTHONSKRIPTAUFRUF
kannst du ja in der Kommandozeile herumexperimentieren.
also habe ich die vom user pi kopiert, aber jetzt crasht das Ding mit irgendeiner python Fehlermeldung
Rechte angepasst?
-
@thomas-braun
... die Debian-Philosophie ist bei Whatsapp aber ein Problem, da sich da ständig das Protokoll und die Versionen ändern, die man den Servern vorgaukeln muss aber ansonsten korrekt. Leider wird das yowsup Projekt wohl nicht mehr so richtig gepflegt.Über den Tipp wie ich in python den "Homepath" für eine Session ändern kann, wäre ich natürlich dennoch dankbar.
Viele Grüße,
Stefan