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

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

Vorheriges Thema - Nächstes Thema

luetty

#1680
Zitat von: JoWiemann am 24 April 2019, 20:27:50
...
Grüße Jörg

PS: Im Fhem Device darf dann auch nur yowsub-cli ... stehen
PSS: Und, es muss einen Unteerschied in den Berechtigungen des Benutzers fhem geben. Frag bitte nur nicht welche. Ich habe es noch nicht herausgefunden.

Auch wenn ich heinz jetzt nicht weiterhelfen kann, so helfen vielleicht jegliche Erfahrungen - denn auch ich bin rumgestolpert.

Daher bzgl: Jörg's PS/PSS:
Also ich habe alles (auch den yowsup-master) unter /opt/fhem/yowsup installiert. (keine Ahnung ob das nun clever ist)  ;)
Komplette Verzeichnisstruktur als owner fhem:dialout.
Im fhem-Device habe ich das Attribut cmd auf: /opt/fhem/yowsup/yowsup-master/yowsup-cli demos --config-phone 49XXX--yowsup
Allerdings darf ich kein Attr home setzen, dann bekomme ich direkt ein "disconnect".

So läuft es nun bei mir, außer das der Prozess absemmelt, wenn ich Umlaute/Zeilenumbrüche o.ä. via WhatsApp an fhem sende.  :-\

Aber ich denke in diesem frühen Stadium der V3 ist das "noch" zu vernachlässigen.

@Heinz: die letzten beiden Registrationsversuche hast Du als user pi gemacht und nicht als fhem.





heinzfo

Jetzt kann man es bald nicht mehr erklären, also ich habe die yowsup-cli aus dem Verzeichniss /usr/local/bin/ entfernt.
Dann konnte ich mich registrieren und das Verzeichniss mit der Telefonnummer wurde unter /opt/fhem/.config/49xxx angelegt.

Das senden auf SSH Ebene
python yowsup-cli demos --config-phone 4989xxx -s 4917xxx "Das ist ein Test"
ergibt folgenden Fehler.


Traceback (most recent call last):
  File "yowsup-cli", line 518, in <module>
    if not parser.process():
  File "yowsup-cli", line 432, in process
    self.startSendClient()
  File "yowsup-cli", line 465, in startSendClient
    from yowsup.demos import sendclient
  File "/opt/yowsup-master/yowsup/demos/sendclient/__init__.py", line 1, in <module>
    from .stack import YowsupSendStack
  File "/opt/yowsup-master/yowsup/demos/sendclient/stack.py", line 1, in <module>
    from yowsup.stacks import  YowStackBuilder
  File "/opt/yowsup-master/yowsup/stacks/__init__.py", line 1, in <module>
    from .yowstack import YowStack, YowStackBuilder
  File "/opt/yowsup-master/yowsup/stacks/yowstack.py", line 4, in <module>
    from yowsup.layers.noise.layer import YowNoiseLayer
  File "/opt/yowsup-master/yowsup/layers/noise/layer.py", line 1, in <module>
    from yowsup.layers.noise.workers.handshake import WANoiseProtocolHandshakeWorker
  File "/opt/yowsup-master/yowsup/layers/noise/workers/handshake.py", line 1, in <module>
    from consonance.protocol import WANoiseProtocol
  File "/usr/local/lib/python2.7/dist-packages/consonance/protocol.py", line 2, in <module>
    from .handshake import WAHandshake
  File "/usr/local/lib/python2.7/dist-packages/consonance/handshake.py", line 20, in <module>
    from .proto import wa20_pb2
  File "/usr/local/lib/python2.7/dist-packages/consonance/proto/wa20_pb2.py", line 22, in <module>
    XT_1\x10\x01\x12\t\n\x05\x45XT_2\x10\x02\"\xea\x02\n\x10HandshakeMessage\x12\x33\n\x0c\x63lient_hello\x18\x02 \x01(\x0b\x32\x1d.HandshakeMessage.ClientHello\x12\x33\n\x0cserver_hello\x18\x03 \x01(\x0b\x32\x1d.HandshakeMessage.ServerHello\x12\x35\n\rclient_finish\x18\x04 \x01(\x0b\x32\x1e.HandshakeMessage.ClientFinish\x1a\x41\n\x0b\x43lientHello\x12\x11\n\tephemeral\x18\x01 \x01(\x0c\x12\x0e\n\x06static\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x1a\x41\n\x0bServerHello\x12\x11\n\tephemeral\x18\x01 \x01(\x0c\x12\x0e\n\x06static\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x1a/\n\x0c\x43lientFinish\x12\x0e\n\x06static\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"\x90\x01\n\x10NoiseCertificate\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x1aX\n\x07\x44\x65tails\x12\x0e\n\x06serial\x18\x01 \x01(\r\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\x0b\n\x03key\x18\x05 \x01(\x0c')
TypeError: __init__() got an unexpected keyword argument 'serialized_options'

luetty

...hab ich was verpasst?
Wieso lag yowsup-cli bei Dir unter  /usr/local/bin/ ???

heinzfo


heinzfo

Ich bin ein Stück weiter gekommen.


sudo pip uninstall protobuf
sudo pip install -U protobuf


Nun kommt noch ein error E


pi@raspberrypi3fhem:/opt/yowsup-master $ python yowsup-cli demos --config-phone 49xxx -s 4917xxx "Das ist ein Test"
yowsup-cli  v3.0.0
yowsup      v3.0.0

Copyright (c) 2012-2019 Tarek Galal
http://www.openwhatsapp.org

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://openwhatsapp.org/yowsup/donate


I 2019-04-24 22:09:26,642 yowsup.layers.network.layer - Connecting to e8.whatsapp.net:443
I 2019-04-24 22:09:26,816 yowsup.axolotl.manager - Generating 812 prekeys
I 2019-04-24 22:09:28,590 yowsup.axolotl.manager - Storing 812 prekeys
I 2019-04-24 22:09:34,955 yowsup.axolotl.manager - Loaded 812 unsent prekeys
E 2019-04-24 22:09:36,624 yowsup.layers.network.dispatcher.dispatcher_socket - [Errno 9] Bad file descriptor

heinzfo

So jetzt geht es auch wieder mit FHEM in beide Richtungen  :) 8)

In /opt/fhem/.config einen Ordner yowsup erstellt und das Verzeichniss 49xx nach yowsup kopiert, weil er beim senden es dort gesucht, aber nicht gefunden hat. Dann chmod -R 777 auf yowsup, weil der Zugriff angemeckert wurde.

Dann das hier. der error E ist immer noch vorhanden, aber es geht alles wie gehabt.


pi@raspberrypi3fhem:/opt/yowsup-master $ sudo su - fhem
fhem@raspberrypi3fhem:~$ cd /opt/yowsup-master
fhem@raspberrypi3fhem:/opt/yowsup-master$ python yowsup-cli demos --config-phone 49xxx -s 4917xxx "Das ist ein Test"
yowsup-cli  v3.0.0
yowsup      v3.0.0

Copyright (c) 2012-2019 Tarek Galal
http://www.openwhatsapp.org

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://openwhatsapp.org/yowsup/donate

I 2019-04-24 22:36:04,780 yowsup.layers.network.layer - Connecting to e4.whatsapp.net:443
I 2019-04-24 22:36:04,898 yowsup.axolotl.manager - Generating 812 prekeys
I 2019-04-24 22:36:06,687 yowsup.axolotl.manager - Storing 812 prekeys
I 2019-04-24 22:36:14,548 yowsup.axolotl.manager - Loaded 812 unsent prekeys
W 2019-04-24 22:36:15,832 yowsup.layers.protocol_ib.layer - ignoring edge_routing ib node for now
W 2019-04-24 22:36:15,837 yowsup.layers.protocol_ib.layer - ignoring attestation ib node for now
E 2019-04-24 22:36:16,621 yowsup.layers.network.dispatcher.dispatcher_socket - [Errno 9] Bad file descriptor
I 2019-04-24 22:36:16,624 yowsup.layers.network.layer - Connecting to e4.whatsapp.net:443
I 2019-04-24 22:36:16,918 yowsup.axolotl.manager - Loaded 0 unsent prekeys
W 2019-04-24 22:36:17,259 yowsup.layers.protocol_ib.layer - ignoring edge_routing ib node for now
W 2019-04-24 22:36:17,286 yowsup.layers.axolotl.layer_receive - No session for 49175xxx, going to send a retry
W 2019-04-24 22:36:17,299 yowsup.layers.axolotl.layer_receive - InvalidMessage or KeyId for 49170xxx, going to send a retry
WARNING:root:Ignoring psa notification for now
INFO:transitions.core:Exited state transport
INFO:transitions.core:Entered state transport
INFO:transitions.core:Exited state transport
INFO:transitions.core:Entered state transport
INFO:transitions.core:Exited state transport
INFO:transitions.core:Entered state transport
INFO:transitions.core:Exited state transport
INFO:transitions.core:Entered state transport
INFO:transitions.core:Exited state transport
INFO:transitions.core:Entered state transport
INFO:transitions.core:Exited state transport
INFO:transitions.core:Entered state transport


Was für ein rumgeeiere  :-[

Grüße
Heinz

87insane

Hey und guten Morgen zusammen,

ich habe das hier gerade entdeckt und die 113 Seiten mal grob überflogen und daraufhin gegooglet.
Gibt es hier einen Trick oder eine Erklärung dazu, was man am besten als Nummer nimmt?
Ich habe einen T-COM Anschluss aber mit eigener Hardware und kein Festnetz-Tel. angeschlossen (brauche ich NIE).

Meine Handynummer kann ich anscheinend nicht nehmen, las ich, da sonst diese nicht mehr am Handy geht. Also
bräuchte ich wiederum eine extra Nummer für den PI/FHEM. Kann man hier nicht quasi eine Nummer "erfinden" oder sowas? Man müsste diese ja quasi nur einmal registriert bekommen.

Danke für Euer Feedback :)

heinzfo

Habe mich gestern auf zwei verschiedenen RPi Fhem Installationen erfolgreich registriert.

Mit einer Festnetznummer und per voice, man bekommt also einen Rückruf auf dieser Nummer und eine Sprachausgabe sagt den Verificationcode an.

Nach dem Wiki vorgehen, dann sollte es klappen.

87insane

Das ist es ja... Eigene HW. Dort habe ich keinen Anschluss für ein Telefon. Das war mir auch immer egal, da ich den ja nicht brauche.
Also müsste ich mir einen Router besorgen der mir temporär den Anschluss eines Tels erlaubt. Genau da dachte ich, gibt es ggf. einen besseren Weg...

JoWiemann

Hallo,

Tarek hat eine neue Version 3.1.0 mit vielen Fehlerbereinigungen veröffentlicht. Es wurden Fehler in:
yowsup, consonance und dissononce gefixed. Also bitte alle drei neu installieren.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

luetty

#1690
Zitat von: 87insane am 25 April 2019, 08:15:30
Das ist es ja... Eigene HW. Dort habe ich keinen Anschluss für ein Telefon. Das war mir auch immer egal, da ich den ja nicht brauche.
Also müsste ich mir einen Router besorgen der mir temporär den Anschluss eines Tels erlaubt. Genau da dachte ich, gibt es ggf. einen besseren Weg...

Wie wäre es, wenn Du Dir ein 0-8-15 Luschi Prepaid-Starterpaket besorgst?
Du hast dann ne Mobilnummer, keine monatlichen Kosten und kannst die Registrierung mit nem Handy machen.
...danach die SIM in die Schublade.

Dürfte heut ja fast nix mehr kosten  ;)

87insane

Denke, das ist neben dem Router, wohl die billigere Idee. Ich frage mal rum, wer seinen Router mal ein paar Min abgeben kann. Wenn das nichts wird, dann eben die Karte.

Mich wundert nur das die Registrierung nicht direkt gegen ein z.B. Gerät auf dem Raspberry/FHEM laufen kann. Kann man hier nicht eine Art virtuelle Nummer anlegen o.ä.? Die Rufnummer selber ist ja in meinem Netzwerk registriert. Da diese ja via VoIP eh an meinem Anschluss anliegt....

luetty

#1692
Zitat von: 87insane am 25 April 2019, 09:30:43
Denke, das ist neben dem Router, wohl die billigere Idee. Ich frage mal rum, wer seinen Router mal ein paar Min abgeben kann. Wenn das nichts wird, dann eben die Karte.

Mich wundert nur das die Registrierung nicht direkt gegen ein z.B. Gerät auf dem Raspberry/FHEM laufen kann. Kann man hier nicht eine Art virtuelle Nummer anlegen o.ä.? Die Rufnummer selber ist ja in meinem Netzwerk registriert. Da diese ja via VoIP eh an meinem Anschluss anliegt....
Dann richte doch einfach einen VoIP-Client auf Handy/ PC ein. Das kostet mal NULL  :)
...oder Du leitest Deinen VoIP-Anschluß mal temporär auf Dein Handy um, sofern es unterstützt wird.

87insane

Teste ich nachher. Gute idee! Das VLAN kann ich abgreifen, das ist kein Problem. Muss nur gucken ob die Telekom da mit macht. Ich weis nicht ob die Anmeldung gegen den tcom Server in der Form klappt. Bin aber zuversichtlich.

Danke!

Gesendet von meinem LG-H850 mit Tapatalk


heinzfo

#1694
Hallo

Ein set WhatsApp disconnect erzeugt keinen Event ein reconnect schon.
Somit bleibt der state immer auf connected und ich kann ihn nicht weiterverwenden.

Ein userReading auf den InternalVal STATE hilft leider auch nicht weiter.

Habe ich hier etwas übersehen oder ist das so?


Internals:
   CONNECTS   37
   FUUID      5c42dab5-f33f-b83d-ee2f-ab92e494f238af38
   LAST_DISCONNECT 2019-04-26 21:29:26
   NAME       WhatsApp
   NOTIFYDEV  global
   NR         755
   NTFY_ORDER 50-WhatsApp
   PARTIAL   
   STATE      Disconnected
   TIME       2019-04-26 21:29:20
   TYPE       yowsup
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x53bd128)
   READINGS:
     2019-04-25 11:10:26   sent            49xxx test
     2019-04-26 21:29:20   state           connected
     2019-04-26 21:29:20   user_state      logged in
Attributes:
   acceptFrom 49xxx
   cmd        /opt/yowsup-master/yowsup-cli demos --config-phone 49xxx9 --yowsup
   disable    0
   home       PWD
   icon       system_fhem
   nickname   Die schlaue Huette
   room       WhatsApp
   sortby     01
   userReadings user_state {InternalVal("WhatsApp","STATE","")},
   userattr   acceptFrom
   verbose    4
   widgetOverride cmd:textField-long


Beste Grüße
Heinz