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

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

Vorheriges Thema - Nächstes Thema

FunkOdyssey

Dann könnte ich ja auch die normalen Anführungszeichen nehmen.
Mir geht es nur um die optische Trennung. Und ich bin es eigentlich gewohnt, Strings zum umrahmen.

AHA1805

Hallo,

ich verwende das Modul jetzt auch schon eine Weile :-).

In letzter Zeit habe ich aber immer wieder Abstürze von FHEM,
und glaube mittlerweile, dass dies an dem yowsup Modul liegen könnte

Hab bei den Abstürzen immer solche Log Einträge gefunden:
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 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 323, in <module>
    if not parser.process():
  File "/opt/yowsup-master/yowsup-cli", line 227, in process
    self.startCmdline()
  File "/opt/yowsup-master/yowsup-cli", line 255, 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 187, 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 86, in handle_read
    self.receive(data)
  File "/opt/yowsup-master/yowsup/layers/network/layer.py", line 94, in receive
    self.toUpper(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 59, 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 59, 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 59, 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 59, 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 59, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer.py", line 126, in receive
    self.toUpper(protocolTreeNode)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 59, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 169, in receive
    s.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 101, in receive
    if not self.processIqRegistry(node):
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 136, 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 59, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/interface/interface.py", line 98, in receive
    self.callbacks[entityType](entity)
  File "/opt/yowsup-master/yowsup/demos/cli/layer.py", line 436, in onIq
    print(entity)
IOError: [Errno 32] Broken pipe


Außerdem ist mir aufgefallen das mehrere YOWSUP Prozesse offen sind und der Speicher nach ein paar Tagen um über 150MB sinkt.
fhem      1326  0.0  1.2  24560 11124 ?        S    Oct02   0:01 python /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/yowsupFN.cfg --yowsup
fhem      1328  0.0  1.3  33756 11592 ?        Sl   Oct02   0:01 python /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/yowsupFN.cfg --yowsup


Wenn ich dann ein disconnect mache und den zweiten Prozess "kille" kommt nach dem reconnect nur noch ein Prozess.

An was könnte das liegen,
stürzt hier yowsup selber ab und reißt FHEM in den Abgrund?

Gruß Hannes



AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

uland2012

Hello all,

ich kann mich der Aussage von AHA1805 leider nur anschliessen.
yowsup lief bis vor ein paar Tagen auch hier einwandfrei.
Leider habe auch ich hier jetzt immer wieder "disconnects" und FHEM Abstürze.

Kann das evtl. noch jemand von Euch bestätigen?

Schönen Sonntag Abend noch.

Gruß
Uwe

DJ_SAMMY190

Zitat von: Skusi am 25 September 2015, 14:39:39
Ja, das habe ich auch so begriffen.

Aber die Daten mit dem expire Date kommen nur bei der Anmeldung.
Frage war ob man das sich nochmal ansehen kann.

Ich hätte den Text damals mal abstpeichern sollen, hab ich aber nicht  >:(

Ähnlich gehts mir auch. HAbe auch noch keine möglichkeit gefunden.
Auf dem handy kann man das ja auch abfragen.
Wäre cool wenn das als reading angelegt wird. So als verbesserung
FHEM auf Raspberry Pi 2 b mit Homematic Komponenten

chr2k

Zitat von: uland2012 am 04 Oktober 2015, 20:09:08
Kann das evtl. noch jemand von Euch bestätigen?

Ich meine, dass mein Whatsapp in FHEM abstürzt sobald ich per an diese FHEM-Wahtsapp Nummer eine Nachricht schicke. Manchmal fängt sich das Teil dann wieder, amcnhaml habe ich das Gefühl dass daran dann auch FHEM bzw der ganze RPi abstürzt.

Marie

Guten Morgen,

Auch ich hatte gerade heute Nacht wieder den Absturz von FHEM, die Fehlermeldungen im log sehen so aus wie bei AHA1805.

Das ist etwas unbefriedigend und war in der Vergangenheit schon häufiger der Fall...aber auch eine ganze Zeit Ruhe.

Das Gute ist aber, ich merke den Absturz körperlich, wenn morgens die Heizung kalt ist...
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

AHA1805

Zitat von: Marie am 05 Oktober 2015, 10:20:18
Guten Morgen,

Auch ich hatte gerade heute Nacht wieder den Absturz von FHEM, die Fehlermeldungen im log sehen so aus wie bei AHA1805.

Das ist etwas unbefriedigend und war in der Vergangenheit schon häufiger der Fall...aber auch eine ganze Zeit Ruhe.

Das Gute ist aber, ich merke den Absturz körperlich, wenn morgens die Heizung kalt ist...
Hallo Marie,

hatte eine so ähnliche Problematik, dass es in der früh kalt war.
Wenn du solch wichtige System in FHEM integriert hast, würde ich Dir einen 2. Rasp empfehlen, welcher nur kritische Funktionen macht und diese gegenseitig via WD überwachen.

Sollten wir aber in einem eigenen Threat diskutieren.


So wie es aussieht ist irgendwo in FHEM ein Speicherloch.
Perl hat sich nach 2 Tagen 160MB gekrallt,
nach dem Neustart hat es wieder 64MB.

Jetzt ist die Frage wie wir das eingrenzen können,
da ich noch nicht 100%ig sagen kann dass es an Yowsup liegt.

Könnt Ihr ähnliches feststellen?

Gruß Hannes

Gesendet von Tapatalk

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

marvin78

Zitat von: AHA1805 am 06 Oktober 2015, 07:30:51

Wenn du solch wichtige System in FHEM integriert hast, würde ich Dir einen 2. Rasp empfehlen, welcher nur kritische Funktionen macht und diese gegenseitig via WD überwachen.

Falsch. Solche wichtige Dinge sollten auch immer ganz ohne FHEM funktionieren.

Toto1973

Für den Fall eines Absturzes, habe ich mein FHEM über einen Watchdog abgesichert!
Ich schlimmsten Fall läuft der Server dann mal maximal eine halbe Stunde nicht!

Aber Yowsup läuft auf meinen Raspberry Pi2 sehr stabil zusammen mit FHEM.
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

ronny332

#714
Die folgenden Prozesse haben mich soeben angelacht.

Funktioniert da ggf der Shutdown für den bestehenden Prozess bei einem FHEM reboot nicht wirklich?
Selbst nach einem kompletten Reboot habe ich direkt zwei Runtimes laufen, obwohl eine reichen müsste.

Ein killall auf alle Python Runtimes mit anschliessendem reconnect in FHEM startet genau einen Prozess und meine ab und an im Nirvana versackten Nachrichten sind weg.
Bis auf den veränderten Basis Pfad läuft alles nach Wiki und ist nicht gepachted oder weicht vom Standard ab.


fhem       441  0.0  0.1 146736 21512 ?        S    Oct05   0:14 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem       490  0.0  0.1 146736 21532 ?        S    Oct05   0:15 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      1441  0.0  0.1 146736 21652 ?        S    Oct01   0:52 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      5232  0.0  0.1 146736 21700 ?        S    Oct01   0:48 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      5331  0.0  0.1 146736 21548 ?        S    Oct01   0:47 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      5424  0.0  0.1 146736 21524 ?        S    Oct01   0:48 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      5466  0.0  0.1 146736 21696 ?        S    Oct01   0:47 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      6020  0.0  0.1 146736 21700 ?        S    Oct05   0:14 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      6624  0.0  0.1 146736 21548 ?        S    Oct05   0:13 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      6720  0.0  0.1 146736 21648 ?        S    Oct05   0:13 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      6764  0.0  0.1 146736 21584 ?        S    Oct05   0:13 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      6810  0.0  0.1 146736 21532 ?        S    Oct05   0:13 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      6851  0.0  0.1 146736 21600 ?        S    Oct05   0:13 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem      9348  0.0  0.1 146736 21672 ?        S    Oct05   0:10 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem     10541  0.0  0.1 146736 21676 ?        S    Oct05   0:09 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem     10913  0.0  0.1 146736 21540 ?        S    Oct05   0:08 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem     17557  0.0  0.1 146736 21672 ?        S    19:28   0:00 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem     17606  0.0  0.1 146736 21628 ?        S    19:31   0:00 python /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
fhem     17771  0.0  0.0  12724  2276 pts/0    R+   19:47   0:00 grep yowsup


Aus mir noch nicht klaren Gründen baut das Modul zwei Verbindungen auf, ohne vorher die erste Verbindung zu schliessen.

Ich habe in yowsup_Connect() ein simples "yowsup_Disconnect($hash);" hinzugefügt und der Fehler ist weg.

Irgendwas ist da quer bei der Initialisierung im Code, mal sehen ob ich nach und nach die Stelle finde ;).

Update:

2015.10.06 20:54:46 2: WhatsApp: starting yoswup-cli: /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup
2015.10.06 20:54:47 2: WhatsApp: setting $HOME to /opt/fhem
2015.10.06 20:54:47 2: WhatsApp: starting yoswup-cli: /opt/fhem/yowsup/master/yowsup-cli demos -c /opt/fhem/yowsup/config/yowsup.config --yowsup


Kleines Update:
das Problem entsteht direkt beim FHEM Start. Es werden sofort zwei Python Instanzen gestartet. Bei einem FHEM Shutdown/Restart wird eine davon gelöscht, die andere bleibt. Das summiert sich dann an einem freudigen Testtag.

Auch im Log tritt der Vorgang doppelt auf, aber "setting $HOME to" erscheint nur einmal. Das Device heisst laut Log identisch, einen Konfigurationsfehler schliesse ich einfach erstmal aus.

Hat noch jemand die Probleme?
... Homematic Flüchtling und Freund der neu gewonnen Fhem-Freiheiten.

Fhemeinsteiger

#715
Hallo ronny332,

ich habe mal ein Neustart von fhem gemacht und der sieht so bei mir aus:
2015.10.07 13:50:00 0: Server shutdown
2015.10.07 13:50:00 3: WhatsApp: sending /disconnect
2015.10.07 13:50:00 3: WhatsApp: Disconnected
2015.10.07 13:50:03 1: Including fhem.cfg
2015.10.07 13:50:03 3: telnetPort: port 7072 opened
2015.10.07 13:50:03 3: WEB: port 8083 opened
2015.10.07 13:50:03 3: WEBphone: port 8084 opened
2015.10.07 13:50:03 3: WEBtablet: port 8085 opened
2015.10.07 13:50:03 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/config.yowsup --yowsup
2015.10.07 13:50:03 3: Opening SCC1 device /dev/ttyAMA0
2015.10.07 13:50:03 3: Setting SCC1 serial parameters to 38400,8,N,1
2015.10.07 13:50:03 3: SCC1 device opened
2015.10.07 13:50:03 3: SCC1: Possible commands: mBbCFiAZGMYRTVWXef*ltux
2015.10.07 13:50:07 1: Including ./log/fhem.save
2015.10.07 13:50:07 3: No I/O device found for Garagentor
2015.10.07 13:50:07 3: NTFY return:  WhatsApp:HASH(0x1e02df8)
2015.10.07 13:50:07 2: WhatsApp: setting $HOME to /opt/fhem
2015.10.07 13:50:07 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/config.yowsup --yowsup
2015.10.07 13:50:07 0: Featurelevel: 5.6
2015.10.07 13:50:07 0: Server started with 38 defined entities (version $Id: fhem.pl 9286 2015-09-22 07:24:46Z rudolfkoenig $, os linux, user fhem, pid 28921)
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()
IOError: [Errno 104] Connection reset by peer

2015.10.07 13:50:08 3: WhatsApp: sending /L
2015.10.07 13:50:08 3: WhatsApp: sending /presence available


und die Prozesse von yowsup:

fhem     17793  0.0  1.4  24496 13560 ?        S    Okt05   0:58 python /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/config.yowsup --yowsup
fhem     28922  0.2  1.4  24496 13728 ?        S    13:50   0:01 python /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/config.yowsup --yowsup
fhem     28928  0.2  1.5  33068 14444 ?        Sl   13:50   0:01 python /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/config.yowsup --yowsup


ich hatte bisher keine Absturzprobleme, allerdings funktioniert es bei mir erst ca 1 Woche.

update:
starte ich den Rechner neu so ist nur ein Prozess am laufen!
fhem      2213  1.0  1.5  33068 14532 ?        Sl   14:09   0:01 python /opt/yowsup-master/yowsup-cli demos -c /opt/fhem/config.yowsup --yowsup

oli82

Zitat von: ronny332 am 06 Oktober 2015, 19:50:17
Hat noch jemand die Probleme?

Schließe mich hier mal an. Hatte gerade 11 Prozesse laufen...

AHA1805

Hallo Zusammen,

nun habe ich testweise mal yowsup komplett gelöscht um zu kontrollieren,
ob der stetig sinkende Arbeitsspeicher hiervon kommt.
Aber eigentlich dürfte dies noch nicht den Absturz auslösen,
da ja immer noch 500MB freier Arbeitsspeicher zur Verfügung gestanden sind.

Als FHEM Abgestürzt war, stieg der Speicher sofort wieder an.

Schöne Grüße
Hannes
AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

ronny332

Meine letztem Erkenntnisse zu dem Thema sind weiterhin: es werden immer zwei Instanzen gestartet bei einem FHEM Reboot. Die eine "soll" direkt wieder geschlossen werden (der Start dürfte aber schon keine Absicht sein, da die komplette Config zu dem Zeitpunkt noch gar nicht geladen ist), aber die eigentliche Instanz erhält keine Information über die schon laufende. Daher wird die erste laufene Instanz nicht geschlossen, auch nicht bei einem Shutdown. Mein eigenes Patch funktioniert bisher fehlerfrei, auch funktioniert der Versand auf einmal fehlerfrei. Hoffentlich wird der Fehler bis zum nächsten Update behoben, sonst patche ich wie bei DBLOG wieder bei jedem Update vor mich hin ;-).
... Homematic Flüchtling und Freund der neu gewonnen Fhem-Freiheiten.

ZeitlerW

#719
Hallo ronny332,

ich habe hier das gleiche Problem, siehe http://forum.fhem.de/index.php/topic,27543.msg332649.html#msg332649.
Ich habe nun ein yowsup_Disconnect($hash); eingefügt und nun gibts nur eine yowsup Instanz. 
Ich werde deine Lösung mal testen.

vG
Wolfgang