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

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

Vorheriges Thema - Nächstes Thema

Steffen

Hallo!

Wäre es möglich noch ein "clear Readings" als befehl einzufügen, aber für die empfangene nummer?

Mfg Steffen

marvin78


Steffen

Danke...da war er wieder der Wald mit den vielen Bäumen  ::)

hundlos

Ich komm nicht weiter.

ich versuche dem Fhem via Yowsup bzw Whatsapp sachen zu schicken - es klappt net.

Versenden vom Fhem via z.b. Doif usw klappt.

Ich habs in allen Varianten probiert ich bekomme weder das Sample noch was anderes zu laufen. Fhem antwortet einfach net. In keiner Log steht irgendwas dazu :(

define notifySchlafzimmerlicht notify (4917624924xxx:message.*) {if (ReadingsVal("4917624924xxx","message",0) eq "Licht an") { set WhatsApp send 4917624924xxx test } else { fhem " set Schlafzimmerlicht on "}

VB90

@hundlos

für mich zum Verständnis bitte:

Du möchtest von deinem Smartphone an dein FHEM Befehle senden, um so z.B. das Licht einzuschalten oder so?

Dazu braucht es doch - meiner Meinung nach - in FHEM doch kein DOIF, notify oder sonst etwas.

Schicke einfach den Befehl deiner Wahl:
set Device on

Irgendwas halt.
Wenn yowsup respektive FHEM damit nichts anfangen kann, bekommst du eine entsprechende Meldung retour.
Dafür ist es natürlich hilfreich, wenn man seine Devices konsequent und einprägsam benannt hat.
Die originalen Bezeichnungen von Homematic-Teilen sind da beispielsweise ein wenige kontraproduktiv.
Ich denke, spätestens ab zehn Stück verliert man den Überblick ;)

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

hundlos

Hallo,

naja der Plan ist eher z.b. via Whatsapp die Abfrage zu machen z.B. Temp Küche - Antwort ist klar.

Gleichzeitig werd ich mir z.B. Täglich einmal komplett status senden.

Fhem kann mir über Doif usw was senden aber die nachrichten die ich via handy sende bringen keinen Befehl - stehn auch in keiner Log.


Gleichzeitig blockt yowsup fhem nach ca 2 std total.

Mein Startbefehl is :

sudo /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup


dougie

...ich hab her leider ein Problem bei der Inbetriebnahme von yowsup.

Ich hab das Ganze auf meinem Debain Laptop nach Wiki installiert und hat auch alles geklappt... aber an dem Punkt an dem ich mir die Test-Message senden will, geht das irgendwie schief und es kommt keine Nachricht an meinem Telefon an....

Hat da einer einen Tipp für mich?

VG
Ralf

fhem@MiniHome-Server:/opt/yowsup-master$ python yowsup-cli demos -c /opt/yowsup-config/yowsup.config -s 49172xxxxxxx "Das ist ein Test"
WARNING:yowsup.stacks.yowstack:Implicit declaration of parallel layers in a tuple is deprecated, pass a YowParallelLayer instead
Traceback (most recent call last):
  File "yowsup-cli", line 323, in <module>
    if not parser.process():
  File "yowsup-cli", line 231, in process
    self.startSendClient()
  File "yowsup-cli", line 280, in startSendClient
    stack.start()
  File "/opt/yowsup-master/yowsup/demos/sendclient/stack.py", line 54, in start
    self.stack.loop()
  File "/opt/yowsup-master/yowsup/stacks/yowstack.py", line 195, in loop
    asyncore.loop(*args, **kwargs)
  File "/usr/lib/python2.6/asyncore.py", line 210, in loop
    poll_fun(timeout, map)
  File "/usr/lib/python2.6/asyncore.py", line 151, in poll
    read(obj)
  File "/usr/lib/python2.6/asyncore.py", line 82, in read
    obj.handle_error()
  File "/usr/lib/python2.6/asyncore.py", line 78, in read
    obj.handle_read_event()
  File "/usr/lib/python2.6/asyncore.py", line 428, 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 51, in processReceived
    self.processReceived()
  File "/opt/yowsup-master/yowsup/layers/stanzaregulator/layer.py", line 51, in processReceived
    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 105, in receive
    recv(node)
  File "/opt/yowsup-master/yowsup/layers/auth/layer_authentication.py", line 71, in handleSuccess
    self.toUpper(nodeEntity)
  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/sendclient/layer.py", line 35, in onSuccess
    self.toLower(messageEntity)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 63, in toLower
    self.__lower.send(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 173, in send
    s.send(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 111, in send
    send(entity)
  File "/opt/yowsup-master/yowsup/layers/protocol_messages/layer.py", line 15, in sendMessageEntity
    self.entityToLower(entity)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 115, in entityToLower
    self.toLower(entity.toProtocolTreeNode())
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 63, in toLower
    self.__lower.send(data)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer.py", line 107, in send
    self.handlePlaintextNode(node)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer.py", line 190, in handlePlaintextNode
    ciphertext = sessionCipher.encrypt(plaintext)
  File "/usr/local/lib/python2.6/dist-packages/axolotl/sessioncipher.py", line 38, in encrypt
    sessionRecord   = self.sessionStore.loadSession(self.recipientId, self.deviceId)
  File "/opt/yowsup-master/yowsup/layers/axolotl/store/sqlite/liteaxolotlstore.py", line 47, in loadSession
    return self.sessionStore.loadSession(recepientId, deviceId)
  File "/opt/yowsup-master/yowsup/layers/axolotl/store/sqlite/litesessionstore.py", line 20, in loadSession
    return SessionRecord(serialized=result[0])
  File "/usr/local/lib/python2.6/dist-packages/axolotl/state/sessionrecord.py", line 16, in __init__
    record.ParseFromString(serialized)
  File "/usr/local/lib/python2.6/dist-packages/google/protobuf/message.py", line 186, in ParseFromString
    self.MergeFromString(serialized)
  File "/usr/local/lib/python2.6/dist-packages/google/protobuf/internal/python_message.py", line 841, in MergeFromString
    if self._InternalParse(serialized, 0, length) != length:
  File "/usr/local/lib/python2.6/dist-packages/google/protobuf/internal/python_message.py", line 874, in InternalParse
    pos = field_decoder(buffer, new_pos, end, self, field_dict)
  File "/usr/local/lib/python2.6/dist-packages/google/protobuf/internal/decoder.py", line 652, in DecodeField
    raise _DecodeError('Truncated message.')
google.protobuf.message.DecodeError: Truncated message.
fhem@MiniHome-Server:/opt/yowsup-master$

Carsten

Wirklich helfen kann ich dir nicht, aber google mal nach yowsup und protobuf. Da findest du einige mit ähnlichen Problemen, die meist durch Reinstall von yowsup und/oder python-protobuf verschwunden zu sein scheinen.

dougie

#833
...danke soweit... es gibt wohl mehrere Versionen von Protobuf....

Die eine installiert man über

sudo apt-get install python-protobuf

die andere über

sudo pip install protobuf 

Hab beide erst mal deinstalliert und dann einzeln versucht.
Leider bekomme ich keine von beiden zum Laufen. Jemand noch ne Idee? Leider kommt protobuf im Wiki überhaupt nicht vor...

ps: auch die aktuelle Version protobuf 3.0.0a3 (via egg installiert) funktioniert nicht

fhem@MiniHome-Server:~$ apt-cache policy python3 python
python:
  Installiert: 2.6.6-3+squeeze7
  Kandidat:    2.6.6-3+squeeze7
  Versionstabelle:
*** 2.6.6-3+squeeze7 0
        500 http://ftp.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ squeeze/main amd64 Packages
        100 /var/lib/dpkg/status
python3:
  Installiert: (keine)
  Kandidat:    3.1.3-12+squeeze1
  Versionstabelle:
     3.1.3-12+squeeze1 0
        500 http://ftp.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ squeeze/main amd64 Packages



VG
Ralf

dougie



...ich hab jetzt auch mal python 3.5.0 installiert (hoffe ich hab das richtig gemacht) aber dann fehlt yowsup sofort ein anderes Modul.

Auch wenn Linux wirklich die eierlegende Wollmilchsau ist... ab und zu kann ich die Apple User verstehen das sie happy sind, sich mit solchen Sachen nicht rum schlagen zu müssen...

C1500

#835
Servus,
leider läuft es bei mir überhaupt nicht mehr.
Update hab ich schon versucht, ohne Erfolg.

Ein "reconnect" führt zwar zum "connected" was aber nicht stimmt. Es bleibt offline.

Im LOG steht folgendes:
2015.11.19 22:01:10 3: WhatsApp: sending /disconnect
2015.11.19 22:01:10 3: WhatsApp: Disconnected
2015.11.19 22:01:10 2: WhatsApp: setting $HOME to /opt/fhem
2015.11.19 22:01:10 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.11.19 22:01:10 1: in FILEWRITE
2015.11.19 22:01:10 1: in FILEWRITE
2015.11.19 22:01:10 1: in FILEWRITE
2015.11.19 22:01:10 1: Perfmon: possible freeze starting at 22:01:03, delay is 7.621
2015.11.19 22:01:11 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.11.19 22:01:11 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.11.19 22:01:13 1: HMLAN_Parse: hmusb new condition ok
2015.11.19 22:01:13 4: WhatsApp: parse: Yowsup Cli client
==================
Type /help for available commands

[offline]:
2015.11.19 22:01:13 3: WhatsApp: sending /L
2015.11.19 22:01:13 3: WhatsApp: sending /presence available
2015.11.19 22:01:13 1: Perfmon: possible freeze starting at 22:01:11, delay is 2.119
2015.11.19 22:01:13 4: WhatsApp: parse: general: Login Failed, reason: not-authorized
2015.11.19 22:01:13 4: WhatsApp: parse:

2015.11.19 22:01:13 4: WhatsApp: parse: Auth Error, reason not-authorized
2015.11.19 22:01:13 4: WhatsApp: parse:

2015.11.19 22:01:13 3: WhatsApp: sending /disconnect
2015.11.19 22:01:13 3: WhatsApp: Disconnected
2015.11.19 22:01:13 3: WhatsApp: read: error during sysread: No child processes
2015.11.19 22:01:13 1: PERL WARNING: Use of uninitialized value $ret in numeric le (<=) at ./FHEM/32_yowsup.pm line 480.
2015.11.19 22:01:13 3: WhatsApp: read: end of file reached while sysread
2015.11.19 22:01:15 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.11.19 22:01:15 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.11.19 22:01:15 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.11.19 22:01:15 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.11.19 22:01:16 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.11.19 22:01:16 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.11.19 22:01:18 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.11.19 22:01:18 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.11.19 22:01:18 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.11.19 22:01:18 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.11.19 22:01:18 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.11.19 22:01:18 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.11.19 22:01:18 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.11.19 22:01:18 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.11.19 22:01:23 2: WhatsApp: setting $HOME to /opt/fhem
2015.11.19 22:01:23 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.11.19 22:01:24 4: WhatsApp: parse: Yowsup Cli client
==================
Type /help for available commands

2015.11.19 22:01:24 4: WhatsApp: parse:

2015.11.19 22:01:24 4: WhatsApp: parse: [offline]:
2015.11.19 22:01:24 3: WhatsApp: sending /L
2015.11.19 22:01:24 3: WhatsApp: sending /presence available
2015.11.19 22:01:25 4: WhatsApp: parse: general: Login Failed, reason: not-authorized
Auth Error, reason not-authorized

2015.11.19 22:01:25 3: WhatsApp: sending /disconnect
2015.11.19 22:01:25 3: WhatsApp: Disconnected
2015.11.19 22:01:25 3: WhatsApp: read: error during sysread: No child processes
2015.11.19 22:01:25 3: WhatsApp: read: end of file reached while sysread
2015.11.19 22:01:35 2: WhatsApp: setting $HOME to /opt/fhem
2015.11.19 22:01:35 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.11.19 22:01:35 4: WhatsApp: parse: Yowsup Cli client
==================
Type /help for available commands

2015.11.19 22:01:35 4: WhatsApp: parse:

2015.11.19 22:01:35 4: WhatsApp: parse: [offline]:
2015.11.19 22:01:35 3: WhatsApp: sending /L
2015.11.19 22:01:35 3: WhatsApp: sending /presence available
2015.11.19 22:01:38 4: WhatsApp: parse: general: Login Failed, reason: not-authorized
Auth Error, reason not-authorized

2015.11.19 22:01:38 3: WhatsApp: sending /disconnect
2015.11.19 22:01:38 3: WhatsApp: Disconnected
2015.11.19 22:01:38 3: WhatsApp: read: error during sysread: No child processes
2015.11.19 22:01:38 3: WhatsApp: read: end of file reached while sysread
2015.11.19 22:01:41 2: WhatsApp: setting $HOME to /opt/fhem
2015.11.19 22:01:41 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.11.19 22:01:42 4: WhatsApp: parse: Yowsup Cli client
==================


Klar seh ich das "not-authorized" aber ich hab doch nix an der config geändert.
Muss noch mal schauen ob das PW weg ist.
Sollte es weg sein, kann man sich das PW nochmal zusenden lassen?
Hab damals vergessen ein BackUp davon zu machen.

vielleicht hat ja einer ne Idee was ich noch versuchen kann.

Danke im voraus für eure Hilfe
Gruß Peer

marvin78

Zitat von: C1500 am 19 November 2015, 22:13:54

vielleicht hat ja einer ne Idee was ich noch versuchen kann.


Ein Update von yowsup (nicht das FHEM-Modul) auf die aktuelle Version.

Martin-72

Zitat von: marvin78 am 20 November 2015, 11:45:09
Ein Update von yowsup (nicht das FHEM-Modul) auf die aktuelle Version.

Hallo C1500,

da meine Kenntnisse in Linux nicht weit her sind, habe ich mir mal einen "Ablaufplan" zusammengesucht, mit dessen Hilfe ich mein yousup aktualisiert und wieder ans Laufen bekommen habe. Für zukünftige Fälle habe ich es mir aufgeschrieben. Vielleicht hilft es Dir uns anderen auch. Kommentare und Verbesserungen nehmen ich gerne an:

Zitat
Raspberry Pi aktualisieren
Um den Raspberry Pi zu aktualisieren mus man sich per Putty auf dem RasPi direkt anmelden. User ist in der Regel  'Pi', Passwort sollte selbst gewählt sein.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update



Yowsup aktualisieren
Bevor man yowsup aktualisiert sollte der RasPi aktualisiert werden!

Nun ist zu prüfen, ob die Datei 'master.zip' vorhanden ist. Dazu
ls -l
eintippen. Wenn im Listing die Datei 'master.zip' vorhanden ist, diese mit
rm master.zip
löschen. Die Frage, ob man es wirklich möchte mit 'y' (yes) bestätigen.
sudo wget https://github.com/tgalal/yowsup/archive/master.zip
sudo unzip master.zip

Hier müssen ggf. Dateien überschrieben werden. Die dazugehörigen Fragen musste ich alle mit 'y' (yes) bestätigen, da die anderen Antwortmöglichkeiten nicht geholfen haben.
Anschließend die Datei master.zip löschen. Sie wird nicht mehr benötigt:
rm master.zip
Die Frage, ob man es wirklich möchte mit 'y' (yes) bestätigen.
Nun den RasPi neu starten
sudo shutdown -r 0
und in die Befehlszeile von FHEM folgenden Befehl eingeben:
attr WhatsApp cmd /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
Jetzt sollte es wieder klappen.

Viel Erfolg

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

RitterSport

#838
Nach einem Update habe ich heute folgendes Problem:

2015.11.22 12:56:33 1: PERL WARNING: Can't exec "/opt/yowsup-master/yowsup-cli": No such file or directory at ./FHEM/32_yowsup.pm line 177.
2015.11.22 12:56:33 1: exec failed
2015.11.22 12:56:33 1: set the cmd attribut to: <path1>/yowsup-cli demos -c <path2>/config.yowsup --yowsup
2015.11.22 12:56:33 3: WhatsApp: sending /disconnect
2015.11.22 12:56:33 3: WhatsApp: Disconnected
2015.11.22 12:56:33 3: WhatsApp: read: end of file reached while sysread


    Die neueste yowsup Version habe ich aus der Masterzip.
    Jetzt habe ich sooft und unterscheidlich die Berechtigungen gesetzt, das ich auch nicht mehr weiss wem sie gehören sollten.

    - Wer sollte Besitzer von 32_yowsup sein? Fhem?
    - Ordner und Dateien von yowsup gehören wem?

    Zudem wird der ordner .yowsup nicht neu eingerichtet.
    attr Home habe ich auf /opt/fhem gesetzt

    Danke schonmal für Hilfe




C1500

Danke Marvin und Martin (für die Mühe mit der Anleitung),

Ein Update hatte ich schon gemacht aber ohne Erfolg.
Gerade eben hab ich aber das Problem gefunden.

Das Update wurde immer unter /opt/fhem/yowsup-master installiert und nicht unter /opt/yowsup-master
Warum auch immer. Aufgefallen ist es mir, da ich das Datum der Files verglichen habe.

War ich beim Update im falschen Unterverzeichnis?
Kann ich /opt/fhem/yowsup-master einfach löschen?
Ich werde es mal umbenennen und testen...

Gruß Peer