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

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

Vorheriges Thema - Nächstes Thema

chr2k

Was mich wundert: Warum haben nicht alle Leute die das yowsub Programm benutzen, nach dem Update deselbigen die gleichen Probleme? Bei mir läuft youwsub 1a

chr2k

Zitat von: justme1968 am 05 Juli 2015, 09:47:37
in einem anderen thread ist die frage aufgekommen ob und  wie man ein bild vom handy an fhem senden kann.

gibt es hierfür noch mehr anwender? wenn ja würde ich eine hilfsroutine per nonblocking httputils im yowsup modul einbauen.



Och warum nicht. Kann man sicher gebrauchen. Evtl auch ne Routine im Modul, das direkt das Bild Lokal speichert?  8)

RitterSport

Jetzt hat es mich auch erwischt.

Gestern Abend yowsup geupdatet. Lief 24h ohne Probleme, mehrfach getestet.
Jetzt ständig disconnect/offline beim Empfang einer Nachricht, welche dann aber auch nicht ausgewertet wird. Steuerung darüber geht nicht mehr.
Was mir auffällt: In den readings hat er plötzlich wieder ein altes Reading von vor 2 Wochen, welches nach dem Update ersetzt wurde mit aktuellen

Frage: wohin soll der Parameter --moxie ?
Hier ? /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/FHEM/yowsup.cfg --yowsup


marvin78

Attribut cmd:

attr yowsup cmd /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/FHEM/yowsup.cfg --yowsup --moxie

Es ist manchmal eben schon hilfreich, wenn man sich mit den Grundlagen beschäftigt.

RitterSport

#604
Danke Marvin,

wie du siehst hatte ich mich damit beschäftigt und gefragt ob er in folgende Zeile kommt:
/opt/yowsup-master/yowsup-cli demos -c /opt/fhem/FHEM/yowsup.cfg --yowsup

Allerdings empfinde ich die Erweiterung --moxie und ob sie so einfach an das Zeilenende bei cmd gesetzt werden kann/soll nicht als Grundlagen.

Weiterhin habe ich einmal yowsup nochmas drüber gebügelt, und seitdem geht es wieder. Aber:
Daran kann es nicht liegen, ich habe 2 Raspi am laufen, welche BEIDE plötzlich nicht mehr gingen.
Den anderen habe ich NICHT geändert und auch NICHT neugestartet. Dennoch läuft es dort auch wieder.

Kann es demnach ein tempoäres Problem auf der Gegenseite sein, welches nicht jeder User mitbekommt?

Grüße




marvin78

Mit Grundlage meine ich yowsup selbst. Das ist die Grundlage für das yowsup Modul. Und da ist moxie in der Doku erwähnt und wenn man ein wenig nach dem Problem googlet, finden man die Lösung oft innerhalb der ersten Suchergebnisse. Das hier ist eben kein yowsup Forum, deshalb ist Hilfe dafür oft woanders schneller zu finden. Ich möchte lediglich darauf hinweise, dass es schnellere Lösungswege gibt.

RitterSport

#606
Ok, danke Marvin.
Läuft es damit bei dir stabil nun?

Heute morgen hatte ich noch keine Änderungen gemacht, meistens läuft es.
Sobald ich aber recht viele Nachrichten innerhalb kurzer Zeit versenden lasse, zum Bsp. bei einem Statuscheck welcher in 30 Sek zwischen 2 und 10 Nachrichten sendet, steigt er aus und geht offline.

Edit:

Jetzt wieder.....
Ich habe 2 Raspi am Laufen, mit 2 verschiedenen WhatsApp-Nummern. Sie liefen beide tadelos heute. Und zur gleichen Zeit konnte ich es nachvollziehen das wenn der eine Offline geht beim Empfang einer Nachricht, dann kann ich das ganze bei dem anderen auch provozieren.
Also ein temporärer Effekt?

DJ_SAMMY190

Hatte den Fehler auch. Vorhin der Frau gezeigt wie sie Status abfragen absenden kann. Dann nach 4 min Serverabsturz. Nach einem Neustart ging wieder alles. Ein absturz hatte das bisher nicht Verursacht. Ist der erste bei mir. Natürlich nicht gut wenn mann da nicht zu Hause ist.

Log:

2015.09.10 15:49:29 3: Whatsapp: sending /disconnect
2015.09.10 15:49:29 3: Whatsapp: Disconnected
2015.09.10 15:49:29 3: Whatsapp: read: end of file reached while sysread
2015.09.10 15:49:39 2: Whatsapp: setting $HOME to $HOME
2015.09.10 15:49:39 2: Whatsapp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.09.10 15:49:39 3: Whatsapp: sending /L
2015.09.10 15:49:39 3: Whatsapp: sending /presence available
2015.09.10 15:49:39 3: Whatsapp: sending /presence name 'Fhem - Server'
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_notifications/layer.py", line 41, in recvNotification
    self.raiseErrorForNode(node)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 117, in raiseErrorForNode
    raise ValueError("Unimplemented notification type %s " % node)
ValueError: Unimplemented notification type <notification type="encrypt" offline="3" from="s.whatsapp.net" id="000" t="000">
<count value="0">
</count>
</notification>
2015.09.10 15:49:40 3: Whatsapp: sending /disconnect
2015.09.10 15:49:40 3: Whatsapp: Disconnected
2015.09.10 15:49:40 3: Whatsapp: read: end of file reached while sysread
2015.09.10 15:49:50 2: Whatsapp: setting $HOME to $HOME
2015.09.10 15:49:50 2: Whatsapp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.09.10 15:49:51 3: Whatsapp: sending /L
2015.09.10 15:49:51 3: Whatsapp: sending /presence available
2015.09.10 15:49:51 3: Whatsapp: sending /presence name 'Fhem - Server'
Unmatched [ in regex; marked by <-- HERE in m/,000000000000000@s.whatsapp.net(10-09-2015 15:47)]:[Mgc/3KRWb4Hk0] Info
Message Mgc/3KRWb4Hk0: Sent delivered receipt
[connected]:

[ <-- HERE 000000000000,/ at ./FHEM/32_yowsup.pm line 394.
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 153, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
EOFError: EOF when reading a line

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 97, in receive
    if not self.processIqRegistry(node):
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 132, in processIqRegistry
    successClbk(protocolTreeNode, originalIq)
  File "/opt/yowsup-master/yowsup/layers/protocol_iq/layer.py", line 30, in onPong
    self.toUpper(ResultIqProtocolEntity.fromProtocolTreeNode(protocolTreeNode))
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 55, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/interface/interface.py", line 71, in receive
    self.callbacks[entityType](entity)
  File "/opt/yowsup-master/yowsup/demos/cli/layer.py", line 435, in onIq
    print(entity)
IOError: [Errno 32] Broken pipe
FHEM auf Raspberry Pi 2 b mit Homematic Komponenten

stromer-12

Bei mir hat sich die Handynummer geändert und da ist mir aufgefallen,
das bei acceptFrom noch meine alte Numer drin Stand, die Nachricht trotzdem angenommen wurde.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

Toto1973

Hallo!
Bei mir gibt es auch "Ausfälle":
2015.09.12 01:32:31 3: WhatsApp: sending /image send 4917685026123 http://banner.fhemwiki.de/fhemwiki_logo_200x80.png
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 154, in startInputThread
    wait = self.execCmd(cmd)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 138, in execCmd
    return self.doExecCmd(lambda :targetFn(*args))
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 141, in doExecCmd
    return fn()
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 138, in <lambda>
    return self.doExecCmd(lambda :targetFn(*args))
  File "/opt/yowsup-master/yowsup/demos/cli/layer.py", line 377, in image_send
    entity = RequestUploadIqProtocolEntity(RequestUploadIqProtocolEntity.MEDIA_TYPE_IMAGE, filePath=path)
  File "/opt/yowsup-master/yowsup/layers/protocol_media/protocolentities/iq_requestupload.py", line 27, in __init__
    assert os.path.exists(filePath), "Either specified path does not exist, or yowsup doesn't have permission to read: %s" % filePath
AssertionError: Either specified path does not exist, or yowsup doesn't have permission to read: http://banner.fhemwiki.de/fhemwiki_logo_200x80.png

2015.09.12 01:35:15 3: WhatsApp: sending /image send 4917685026123 /opt/fhem.jpg
2015.09.12 01:36:09 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/32_yowsup.pm line 286.

Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Ma_Bo

Also ich hatte auch Ausfälle, habe dann diesen Rat befolgt :

ZitatEntscheidend sind diese beiden Schritte:

sudo wget https://github.com/tgalal/yowsup/archive/master.zip
sudo unzip master.zip


Anschließend die Rechte der entpackten Dateien überprüfen, die müssen ggf. angepasst werden.
Die cfg-Datei würde ich in einer separaten Datei oder besser noch in einem anderen Pfad speichern. Kann man ja beim Aufruf entsprechend anpassen. Dann hat man bei Updates keinen Ärger damit. Ich habe die cfg-Datei bei mir nach /opt/fhem kopiert und der Aufruf (Attribut cmd) lautet dann

/opt/yowsup-master/yowsup-cli demos -c  /opt/fhem/yowsup.cfg --yowsup


So kann ich jederzeit ein Update "drüberbügeln" ohne noch was machen zu müssen.

Allerdings habe ich es mit --moxie erweitert, also so :

/opt/yowsup-master/yowsup-cli demos -c /opt/fhem/yowsup.cfg --yowsup --moxie


Seitdem ist Ruhe und es läuft stabil...

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Brockmann

Zitat von: Ma_Bo am 12 September 2015, 02:11:21
Allerdings habe ich es mit --moxie erweitert, also so :
Seitdem ist Ruhe und es läuft stabil...
Kann ich bestätigen. Seit ich das vor einigen Tagen eingefügt habe, läuft es wieder stabil.

Toto1973

Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

chr2k

Kann man eigentlich Whatsapp in FHEM mit derselben Nummer und gleichzeitig verwenden, wenn man auch auf dem PI (worauf FHEM läuft) auch Whatsapp Nachrichten versenden möchte? Hat das schon jemand probiert?

Badflex

Hallo, irgendwo hab ich bei meiner Gartenüberwachung einen Fehler drin und ich fing ihn nicht.
Vielleicht seht ihr das ja.

Bewegungsmelder:motion { if (Value("Terrassentuer") ne "open") { System ("python yowsup-cli demos -c /opt/yowsup-config/yowsup.config -s 4917xxxxxxxxx \"ACHTUNG! Da schleicht einer im Garten herum.\"")}

Der Fehler in der log sieht so aus:TuerAufRolloHoch return value: Missing right curly or square bracket at (eval 93) line 2, at end of line
syntax error at (eval 93) line 2, at EOF

2015.09.12 17:25:32 3: Gartenueberwachung return value: Missing right curly or square bracket at (eval 95) line 2, at end of line
syntax error at (eval 95) line 2, at EOF

2015.09.12 17:25:48 3: TuerAufRolloHoch return value: Missing right curly or square bracket at (eval 98) line 2, at end of line
syntax error at (eval 98) line 2, at EOF

Mit Pushalot hat das wunderbar funktioniert.

Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo