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

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

Vorheriges Thema - Nächstes Thema

justme1968

funktioniert das mit den gruppen wie es soll?

dann würde ich es einchecken.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Muschelpuster

Zitat von: AitschPi am 26 Juli 2015, 20:41:08
Im Wiki steht, dass "voice" bei der Registrierung im Falle des Fehlers von "sms" auch eher nicht funktioniert. Ich habe es dennoch getestet, da SMS nicht wollte: Prompt erhielt ich einen Anruf von whatsapp mit dem Code.
mhh, wo steht denn das?
Zitat von: fhem-WikiBei einem Handy bietet sich SMS an, bei Festnetzanschlüssen sollte voice gewählt werden, wenn man sich nicht sicher ist, dass der Anschluss die Funktion 'SMS im Festnetz' unterstützt. Dann wird der Bestätigungscode zwar auf Englisch vorgelesen, dafür ist die Zuverlässigkeit des Registrierungsvorganges zuverlässiger.

Zitierte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Carsten

Zitat von: justme1968 am 28 Juli 2015, 19:22:11
funktioniert das mit den gruppen wie es soll?

dann würde ich es einchecken.

Habs mal angetestet. Scheint soweit zu funktionieren. Gruppe wird angelegt. Senden/Empfangen geht. Absender steht auch als "received from XXX" im chatstate. Das war ja eigentlich auch schon alles, was gehen soll. Vielen Dank für den Fix!

Ich werd aber für den Moment bei "meiner" jetzigen Version bleiben, weil ich sonst erstmal überall auf chatstate prüfen und das "received from" wegschneiden müsste und ich quäle mich gerade an einer anderen Baustelle.
Oder gibt's einen eleganten Regex um die Nummer ins Userreading "LastSender" zu schreiben, wenn chatstate mit "received from" beginnt?


AitschPi

In den Attributen habe ich es nicht gefunden, daher hier die Frage:
Kann man irgendwo den "Standardraum" festlegen, in welchem neue Kontakte angelegt werden? Oder lässt sich das ins Modul einbauen (Zaunpfahl winkend) - dann vielleicht sogar zusammen mit einem Standard für den Gruppennamen (Gruppe für Darstellung, nicht whatsapp-Sendegruppen)?
Echte Männer essen keinen Honig, sie kauen Bienen.

AitschPi

Zitat von: Muschelpuster am 30 Juli 2015, 06:57:06
mhh, wo steht denn das?
auch im Wiki - nur 2 Absätze tiefer:
Zitat von: fhemwikiWas man dann noch probieren kann, ist die registration via voice - meistens ist das aber vergebene Liebesmüh'.
Gefunden? ;o)
Echte Männer essen keinen Honig, sie kauen Bienen.

Muschelpuster

Zitat von: AitschPi am 03 August 2015, 00:24:57
auch im Wiki - nur 2 Absätze tiefer:Gefunden? ;o)
Aber das ist ja in einem ganz anderen Kontext! Hier geht es ja darum, dass die Rufnummer nicht korrekt hinterlegt ist, worauf die Rückmeldung hinweist. Nun sollte man eben lieber zuerst die Rufnummer prüfen, als andere Registrierungsmethoden auszuprobieren. Aber unglücklich ist die Formulierung trotzdem.

nachgelesene Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

AitschPi

Echte Männer essen keinen Honig, sie kauen Bienen.

tdoe

Hallo justme1968,

ich hab festgestellt dass je nachdem ob man von IOS oder Android Kommandos an fhem über WhatsApp schickt unterschiedlich mit Leerzeichen am Ende umgegangen wird.
Wenn man z.B. von der Autovervollständigung auf "on" clickt hat man ein Leerzeichen am Ende ("set Lampe on ") was je nach Device (Android/IOS) dazu führt dass es eine Fehlermeldung gibt, dass es "on " nicht gibt.
Bei Android musste ich an ein cmdalias grundsätzlich ein Leerzeichen anhängen damits funktioniert hat. Bei IOS durfte kein Leerzeichen am Ende sein.

Ich hab mal in deinem Code geblättert und testweise folgende Änderung eingefügt, dadurch sind meine Probleme mit Leerzeichen verschwunden.


396         if( $prefix eq '0' ) {
397         } elsif( $prefix eq '1' ) {
398           $cmd = $message;
399           $cmd =~ s/^\s+//;
400           chomp($cmd);
401         } elsif( $message =~ m/^$prefix(.*)/ ) {
402           $cmd = $1;
403           $cmd =~ s/^\s+//;
404           chomp($cmd);
405         }


Zeile 399 und 403 hab ich eingefügt, hier wird führender und schliessender Whitespace entfernt bevor $cmd weiterverarbeitet wird.

//edit//

Hatte trotz änderung folgendes im Log:

2015.08.07 00:37:27 5: Cmd: >Lampenstatus
<
2015.08.07 00:37:27 4: 49*************: command result: Unknown command Lampenstatus
, try help.


Da ist ein Return wo es nicht hinsoll...

Unter Umständen dann noch nen chomp mit rein..

Zeile 400 und 404.

Gruß Tobias

moonsorrox

ich habe nach wie vor immer noch diese Fehlermeldung... weiß aber nichts damit anzufangen..
Hat das noch jemand so...?

IOError: [Errno 104] Connection reset by peer
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 150, in startInputThread
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.run()
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
Traceback (most recent call last):
Exception in thread Thread-1:
2015.08.07 12:23:55 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/yowsup.cfg --yowsup
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

birnenmann

Hi!

Erstmal ganz toll, dass ihr euch solche Mühe macht mit dem Yowsup, aber es war kein Kampf, das zu installieren.

Ich habe immer was anderes gelesen, was jetzt hat es geklappt, aber ich Trottel habe die erste Zeile aus dem Github eingegeben und das war leider der Daemon, der im Hintergrund läuft und natürlich mit root Rechten ausgeführt wurde ^^

WARNING:yowsup.stacks.yowstack:Implicit declaration of parallel layers in a tuple is deprecated, pass a YowParallelLayer instead /usr/lib/python2.6/site-packages/yowsup2-2.3.185-py2.6.egg/yowsup/demos/sendclient/stack.py:56: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6

Weiss jemand von Euch, wie ich den stoppen kann?
Ich bin echt verzweifelt :-(

Ich danke Euch!


Fuchks

#550
Zitat von: ChrisK am 20 Juli 2015, 20:27:55
Jetzt habe ich mich heute doch mal dran gewagt (nachdem ich verstanden habe, dass man keine Fritzbox brauch ;) ) und das Thema WhatsApp bei mir angegangen.
Zunächst mal: Klasse Arbeit!

Das meiste hat auch geklappt, nur der Empfang von Nachrichten klappt noch nicht.
Ich kann Nachricht verschicken und auch der Status wird als "online" angezeigt.

Im Log habe ich folgende Einträge, die vermutlich genau damit zusammenhängen:
2015.07.20 20:22:54 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-master/yowsup.config --yowsup
2015.07.20 20:22:55 2: WhatsApp: setting $HOME to /opt/fhem
2015.07.20 20:22:55 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-master/yowsup.config --yowsup
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 151, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
IOError: [Errno 104] Connection reset by peer


Wenn ich verbose=4 setze, dann kommt in diesem Bereich des Logs nichts dazu, dafür steht dann weiter unten:
2015.07.20 20:25:45 4: WhatsApp: parse: Yowsup Cli client
==================
Type /help for available commands

[offline]:
2015.07.20 20:25:45 3: WhatsApp: sending /L
2015.07.20 20:25:45 3: WhatsApp: sending /presence available
2015.07.20 20:25:45 1: 192.168.2.18:55000 reappeared (wz_TV)
2015.07.20 20:25:47 3: CUL_HM set ba_rollo1 statusRequest
2015.07.20 20:25:47 4: WhatsApp: parse: Auth: Logged in!
[connected]:[connected]:


Hat jemand ne Idee, was bei mir schief läuft?


//edit:
Ich habe auch mit dem Attribut acceptFrom rum gespielt und es mal rein genommen mit meiner Nummer und mal wieder raus genommen, Empfang klappt aber nicht. Interessant ist (vielleicht), dass die Nachrichten, die ich vom Handy an FHEM schicke als ungelesen markiert sind, Nachrichten von FHEM->Handy aber drum herum (also vorher/nachher) problemlos ankommen.

Habe genau das selbe Problem, es liegt an yowsup, habs direkt mit yowsup-cli getestet.
Senden klappt ohne Probleme, beim Empfang gibt's folgenden Fehler:
Traceback (most recent call last):
  File "/opt/yowsup-master/yowsup-cli", line 327, in <module>
    if not parser.process():
  File "/opt/yowsup-master/yowsup-cli", line 231, in process
    self.startCmdline()
  File "/opt/yowsup-master/yowsup-cli", line 259, in startCmdline
    stack.start()
  File "/opt/yowsup-master/yowsup/demos/cli/stack.py", line 25, in start
    self.stack.loop(timeout = 0.5, discrete = 0.5)
  File "/opt/yowsup-master/yowsup/stacks/yowstack.py", line 167, in loop
    asyncore.loop(*args, **kwargs)
  File "/usr/lib/python2.7/asyncore.py", line 216, in loop
    poll_fun(timeout, map)
  File "/usr/lib/python2.7/asyncore.py", line 156, in poll
    read(obj)
  File "/usr/lib/python2.7/asyncore.py", line 87, in read
    obj.handle_error()
  File "/usr/lib/python2.7/asyncore.py", line 83, in read
    obj.handle_read_event()
  File "/usr/lib/python2.7/asyncore.py", line 449, in handle_read_event
    self.handle_read()
  File "/opt/yowsup-master/yowsup/layers/network/layer.py", line 73, in handle_read
    self.receive(data)
  File "/opt/yowsup-master/yowsup/layers/network/layer.py", line 80, in receive
    self.toUpper(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 55, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/stanzaregulator/layer.py", line 28, in receive
    self.processReceived()
  File "/opt/yowsup-master/yowsup/layers/stanzaregulator/layer.py", line 48, in processReceived
    self.toUpper(oneMessageData)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 55, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/auth/layer_crypt.py", line 63, in receive
    self.toUpper(payload)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 55, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/coder/layer.py", line 35, in receive
    self.toUpper(node)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 55, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/logger/layer.py", line 14, in receive
    self.toUpper(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 55, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 160, in receive
    s.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 101, in receive
    recv(node)
  File "/opt/yowsup-master/yowsup/layers/protocol_messages/layer.py", line 20, in recvMessageStanza
    entity = TextMessageProtocolEntity.fromProtocolTreeNode(node)
  File "/opt/yowsup-master/yowsup/layers/protocol_messages/protocolentities/message_text.py", line 38, in fromProtocolTreeNode
    entity.setBody(node.getChild("body").getData())
AttributeError: 'NoneType' object has no attribute 'getData'


Jemand eine Ahnung, wo das Problem liegt?
Läuft bei mir auf nem PI2
UPDATE 12.8. 23:40: Verwendete Version ist 2.3.185 vom 1.8. - also die derzeit aktuellste Version

Carsten

Hallo,

Zitat von: Fuchks am 12 August 2015, 12:08:36
Jemand eine Ahnung, wo das Problem liegt?
Läuft bei mir auf nem PI2

ich habe seit ein paar Tagen auch Probleme, bin aber noch nicht dazu gekommen, mich genauer damit zu befassen.
Ich vermute, das liegt daran, dass Whatsapp wieder ein bißchen anders sendet als zuvor. Wenn ich die Github-Comments richtig verstanden habe, gibts wohl ne geänderte Encryption-Methode ( V2 ), die im yowsup noch nicht 100 %tig läuft/lief.

Wie gesagt, bin selbst noch nicht dazu gekommen, mir das anzuschauen, aber 1. Versuch wäre, auf die aktuelle Version vom Master-Branch upzudaten ( ist wohl vom 1. August ).
Wenns damit immer noch Probleme gibt, klappts vielleicht mit dem Develop-Branch.

ZeitlerW

Hallo zusammen ,
schaut euch mal an ob nicht mehrere Instanzen  von yowsup laufen.
Das ist zumindest immer das Problem bei mir.

vG
Wolfgang

Martin-72

Hallo Zusammen,

mal wieder melde ich mich mit einem Problem, dass mir nicht zu lösen gelingt.  :-\  :'(

Ich habe das Modul yowsup mit Hilfe des Wikis versucht einzurichten. An der Stelle, an der ich den Registrierungscode anfordere erhalte ich folgende Rückmeldung von meinem Raspberry Pi2;

Invalid config path: /opt/yowsup-config/yowsup.config

Was mache ich denn wohl falsch?

Vielen Dank

Martin


PS: Restart von RPI2 und FHEM haben nicht geholfen. EIn zweites Abarbeiten des wiki auch nicht
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

JoWiemann

Ich glaube nicht, dass der Pfad: /opt/yowsup-config existiert.


Grüße Jörg

Gesendet von iPhone mit Tapatalk
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