[32_yowsup.pm] Whatsapp versenden (Mit Handy- oder Festnetznummer)

Begonnen von AHA1805, 01 Oktober 2014, 21:58:55

Vorheriges Thema - Nächstes Thema

Martin-72

Zitat von: JoWiemann am 13 August 2015, 21:39:53
Ich glaube nicht, dass der Pfad: /opt/yowsup-config existiert.

Hallo JoWiemann,

doch. Zumindest kann ich dorthin wechseln.... (siehe Bildanhang)

Martin
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

marvin78

Existiert denn in dem Pfad auch eine yowsup.config? Wie sieht es mit den Rechten aus?

Martin-72

Zitat von: marvin78 am 13 August 2015, 21:49:23
Existiert denn in dem Pfad auch eine yowsup.config? Wie sieht es mit den Rechten aus?

Hi Marvin,
irgendwie scheint das das Problem sein. Jedes Mal, wenn dich die Datei per "sudo nano yowsup.config" nach einem Neustart öffnen möchte, ist sie weg... Als hätte ich keine Schreibrechte.

Jetzt habe ich es noch mal versucht. Jetzt hat sich die Fehlermeldung verändert:

Zitat
pi@raspberrypi /opt/yowsup-master $ python yowsup-cli registration -c /opt/yowsup-config/yowsup.config -r sms
Traceback (most recent call last):
  File "yowsup-cli", line 327, in <module>
    if not parser.process():
  File "yowsup-cli", line 158, in process
    self.handleRequestCode(self.args["requestcode"], config)
  File "yowsup-cli", line 167, in handleRequestCode
    from yowsup.registration import WACodeRequest
  File "/opt/yowsup-master/yowsup/registration/__init__.py", line 1, in <module>
    from .coderequest import WACodeRequest
  File "/opt/yowsup-master/yowsup/registration/coderequest.py", line 4, in <module>
    from yowsup.common.tools import StorageTools, WATools
  File "/opt/yowsup-master/yowsup/common/tools.py", line 2, in <module>
    from dateutil import tz
ImportError: No module named dateutil
pi@raspberrypi /opt/yowsup-master $


Martin


FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

Martin-72

Hallo Zusammen,

ich habe noch mal von vorne angefangen, dieses Mal mit dieser Anleitung... in Kombination mit der Anleitung im Wiki. Jetzt hat es (fast) geklappt.

Die Datei yowsup.config konnte ich anlegen und speichern. Das Passwort auch ergänzen.

Als ich allerdings eine Testnachricht senden wollte mit dem Befehl
python yowsup-cli demos -c /opt/yowsup-config/yowsup.config -s 49... "Das ist ein Test"


erhielt ich folgende Rückmeldung:
WARNING:yowsup.stacks.yowstack:Implicit declaration of parallel layers in a tuple is deprecated, pass a YowParallelLayer instead
Authentication Error: not-authorized


Kann mir jemand sagen, was mir das System damit sagen möchte...?

Vielen Dank

Martin
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

Martin-72

Hallo Zusammen,

kann es sein, dass die Aufforderung im yowsup-wiki
ZitatDen Text hinter dem Zeilenanfang pw: benötigt man nun für die Konfigurationsdatei, wo dieser eingefügt werden muss:
nano /opt/yowsup-config/yowsup.config
Sodass die Datei beispielhaft dann so aussieht:

nicht ganz richtig ist? Mit dem Befehl
sudo nano /opt/yowsup-config/yowsup.config

hat es bei mir geklappt...

Gruß

Martin
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

Carsten

Kann es evtl. sein, dass du dich nicht 100 % an die Anleitung gehalten hast?
Soweit ich mich erinnere, hab ich das stumpf nach Liste gemacht und es hat auf Anhieb funktioniert.

Ich bin absolut kein Linux-Experte, aber sudo sorgt ja nur dafür, dass du nano mit superuser-Rechten startest.
Das sollte aber vermutlich gar nicht nötig sein, wenn du gemäß Anleitung vorher mit su - fhem auf den Benutzer fhem geswitcht hast, dem du noch weiter vorher mit chown -R Rechte auf die beiden yowsup-Verzeichnisse ( und deren Inhalt ) gegeben hast.

Kann aber auch sein, dass ich das auch mit sudo gemacht habe, ohne drüber nachzudenken.



Martin-72

Zitat von: Carsten am 16 August 2015, 11:32:30
Kann es evtl. sein, dass du dich nicht 100 % an die Anleitung gehalten hast?

Hallo Carsten,

wie schon der zweitgrößte Automobilhersteller der Welt in seiner Werbung sagt... Nichts ist unmöglich.

In der Regel war ich aber faul und habe per copy & paste die Befehle übertragen...

Gruß


Martin
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

Carsten

Hallo,

ich habe vorhin ein Update gemacht und mir damit auch wieder die aktuelle 32_yowsup geladen.
Ich hab versucht, mit dem chatstate klarzukommen, aber ich hab mir jetzt meinen LastSender wieder eingebaut.
Wenn jemand schreibt, steht im chatstate composing, wenn er dann aufhört, steht dort paused.
Ist prinzipiell auch in Ordnung, aber für den Absender finde ich ein dediziertes Feld sinnvoller.
Wenn man sich das im FHEM anschaut, und zwei Leute gleichzeitig im Gruppenchat schreiben, sieht man, wenn der erste fertig ist, zwar, was er geschrieben hat, aber nicht, wer das war, weil durch den zweiten noch tippenden sofort wieder "composing" im chatstate steht.

Außerdem steht bei mir im Log jetzt jedesmal, wenn jemand im Gruppenchat schreibt "Commands not allowed".

Eine Frage hätte ich zum Image. yowsup-cli unterstützt mittlerweile beim image einen zweiten optionalen Parameter "Caption" für die Bildbeschriftung. Könnte man das irgendwie umsetzen? Ich habs schon mit set 49xxx image /pfad/bild.jpg\x20Caption und ähnlichen Variationen versucht, aber so einfach geht es scheinbar nicht.


*edit*
Gerade nochmal getestet:
set WhatsApp raw /image send 4917XXXXXXXX /opt/fhem/Bild.jpg Test funktioniert.

set WhatsApp raw /image send 4917XXXXXXXX /opt/fhem/Bild.jpg Dies ist ein Test funktioniert nicht.


VB90

HI mal wieder.

Zwei Dinge:
1. möchte ich vorschlagen, den Threadtitel mittels eines Präfix zu präzisieren. Erleichtert die Suche (und vor allem das finden) ungemein
Vorstellbar wäre z.b.
Zitat[32_yowsup.pm]Whatsapp Nachrichten versenden ...

2. Für vorhandene WA-Kontakte erstellt das Modul ja entsprechende Readings
Derzeit lese ich z.B. "message" aus, um zu einer bestimmten Uhrzeit zu erkennen, ob eine bestimmte Meldung empfangen wurde.
Dies funktiniert mit einem DOIF wunderbar, auch die entsprechende Reaktion erfolgt.
Leider kann ich aktuell jedoch nicht unterscheiden, ob die Nachricht heute frisch reingekommen ist, oder ob es noch die alte Meldung vom Vortag ist.
Kann ich, wenn ja wäre ich für einen Denkanstoß dankbar, den vorhandenen Timestamp der readings weiter verarbeiten?

Mein Code um die Message abzufragen, sieht bisher so aus:
([20:00-21:00] and ([WA_Simon:message] eq "ok"))(set WhatsApp send 491512345678 Prima) DOELSE (set WhatsApp send 491512345678 Licht aus - Spot an, (set HM_36ACA8 playTone 000,019))

Danke,

vb

PS.
Was war bezüglich der Gruppen eigentlich die aktuelle Aufgabenstellung zum testen? Auf was sollte ich achten um Funktion/Disfunktion zu verifizieren?
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

Brockmann

Zitat von: VB90 am 19 August 2015, 19:12:03
Leider kann ich aktuell jedoch nicht unterscheiden, ob die Nachricht heute frisch reingekommen ist, oder ob es noch die alte Meldung vom Vortag ist.
Kann ich, wenn ja wäre ich für einen Denkanstoß dankbar, den vorhandenen Timestamp der readings weiter verarbeiten?

Mein Code um die Message abzufragen, sieht bisher so aus:
([20:00-21:00] and ([WA_Simon:message] eq "ok"))(set WhatsApp send 491512345678 Prima) DOELSE (set WhatsApp send 491512345678 Licht aus - Spot an, (set HM_36ACA8 playTone 000,019))

Mit [WA_Simon:message:sec] hast Du das "Alter" des Readings in Sekunden. Das könntest Du als zusätzliche Bedingung einbauen:
([20:00-21:00] and ([WA_Simon:message] eq "ok" and [?WA_Simon:message:sec] < 36000))(set WhatsApp send 491512345678 Prima) DOELSE (set WhatsApp send 491512345678 Licht aus - Spot an, (set HM_36ACA8 playTone 000,019))

Die 36000 müsstest Du halt an Deine Gegebenheiten anpassen. Ich weiß ja nicht, wann die Meldung für Dich "vom Vortag" ist. Auf das Datum direkt kannst Du zumindest mit DOIF nicht referenzieren.

VB90

Danke für deine Idee.
Ich habe es jetzt mal so eingebaut, mal schauen obs funktioniert. Ich werde berichten.
"Vortag" ist hier wirklich der Tag zuvor, gleiche Zeit.
Ein Bezug aufs Datum wäre schön gewesen, aber zumindest in dem Fall reicht es mir auch, zu prüfen ob die Message ein gewisses Alter hat, oder nicht.

Was mir aufgefallen ist, vielleicht hilft es jemand anderem auch...
Meine Prüfung nach der Message ist case sensitive, soll heissen, Groß- bzw. Kleinschreibung ist wichtig.
Aus meinem Beispiel "Ok" wird erkannt, "ok" entspricht nicht dem gesuchten und wird verworfen.

vb
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

Carsten

Da ist noch ein Bug in den Gruppen.
Wenn man Text sendet, ist alles okay, aber wenn man ein Bild an die Gruppe schickt, wird der Punkt zwischen Ersteller und Timestamp nicht durch ein "-" ersetzt.

Hab das analog dem /send-Befehl angepasst und jetzt funktionierts:
   if( $cmd eq 'image' ) {
      return "MASTER not connected" if( !$phash->{PID} );

      my $number = $hash->{NUMBER};
      $number =~ s/\./-/;
  return yowsup_Write( $phash, "/image send $number $args[0]" );
      #return yowsup_Write( $phash, "/image send $hash->{NUMBER} $args[0]" );

      return undef;

Carsten

Mir kam gerade die Idee, noch mehr beim Send-Befehl zu klauen.
Jetzt klappen auch Bildunterschriften.


    if( $cmd eq 'image' ) {
      return "MASTER not connected" if( !$phash->{PID} );

      my $number = $hash->{NUMBER};
  my $ImgPath = $args[0];
  $args[0] = "";
 
      $number =~ s/\./-/;
      return yowsup_Write( $phash, "/image send $number $ImgPath '". join( ' ', @args ) ."'" );

      return undef;
    } elsif( $cmd eq 'send' ) {


Mit set <Empänger> image /opt/fhem/bild.jpg Dies ist ein Testbild
Kommt jetzt das Bild mit der entsprechenden Unterschrift an. ( Man braucht dafür aber wohl die neueste yowsup-Version vom 1. August. )

arokh12

Hallo,

ich habe FHEM bei mir zuhause auf dem Raspberry Pi laufen. Ist es möglih, dass ich auf einem Raspberry Pi 2 Whatsapp Nummern anlege und dann als je nach Nachricht zwischen den beiden gewechselt wird?

Vielen Dank im voraus

arokh12

forum-merlin

Zitat von: arokh12 am 22 August 2015, 00:31:21
Hallo,

ich habe FHEM bei mir zuhause auf dem Raspberry Pi laufen. Ist es möglih, dass ich auf einem Raspberry Pi 2 Whatsapp Nummern anlege und dann als je nach Nachricht zwischen den beiden gewechselt wird?

Vielen Dank im voraus

arokh12
Du meinst als Empfänger oder als Sender? Yowsup darf soweit ich weiß nur einmal laufen und in der config steht die registrierte Nummer. In meinem Fall eine festnetz Nummer. Und je nach notify sende ich über WhatsApp bzw yowsup Nachrichten an mich meine Frau oder an eine Gruppe


sent from my Samsung Galaxy S6 via Tapatalk App

FHEM 5.8 auf RasPi3; CULv3-868; RFXtrx433; HM-Sec-SC-2; HM-CFG-LAN; HM-LC-Bl1-FM; HM-CC-RT-DN; HM-ES-PMSw1-Pl; HM-LC-Sw4-DR; Hunter Ventile; 8ch Relais; ENIGMA2; ONKYO_AVR; SONOS; Harmony; telegram; HM-PB-6-WM55; GPIO; HM-Sen-MDIR-O; HM-SEC-SD; HM-LC-Dim1L-Pl-3;