Mit dem Pi über WhatsApp Nachrichten, etc. senden!

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Mit dem Pi über WhatsApp Nachrichten, etc. senden!? Schau mal ob du hier fündig wirst!

  • Bei mir disconnectet er immer wenn ich eine Nachricht zurück schicken will wie in dem beispiel von Exayte.

    Normale os.system Befehle für skripte klappen aber sobald er ne Nachricht zurücksendet klappt das mit der -a Option nicht und es stribt :(

    Edit:
    Aktuell disconnectet er immer, wenn ich einen Befehl ausführe :(

    Einmal editiert, zuletzt von StillResonance1614 (30. Oktober 2013 um 11:39)


  • Könnt ihr das Problem noch kurz zusammenfassen? dann fahre ich meine Python skillz mal hoch :), und teste es mal.

    Also wenn in der ListenerClient z.B. folgendes steht:


    Code
    if "!test" in messageContent:
                os.system('python yowsup-cli -c config.example -s 4916096753820 "Befehl "!test" erfolgreich ausgelesen."')


    kommt nach dem Senden der Antwort:


    Code
    Sent message
    Disconnected because closed

    Dies passiert aber nur, wenn man den "Senden" Befehl ausführt.
    Ich denke, dass in der EchoClient( Das scheint der Code zum Senden zu sein) irgendwo steht, dass die Verbindung nach dem Senden getrennt werden soll.

    Auch wenn ich den "Senden Befehl" mit dem Keepalive Attribut ausführe ändert sich nichts :(


  • Könnt ihr das Problem noch kurz zusammenfassen? dann fahre ich meine Python skillz mal hoch :), und teste es mal.

    Beim Listen hab ich ein If-Befehl eingebaut, der einen Befehl (Os.System() ) ausführen soll. In dem Fall etwas zurückschreiben.
    Sobald jedoch yowsup erneut durch den Befehl Os.System aufgerufen wird, schließt er die erste Verbindung (also den Listen), was ein weiteres Reagieren auf andere Befehle unmöglich macht. :(

    Man sollte nie schneller klicken, als man denken kann... :thumbs1:

    Einmal editiert, zuletzt von Zoidberry (30. Oktober 2013 um 12:19)

  • also

    Code
    if messageContent = "Test":
                try:
                    thread.start_new_thread(os.system("blablabla"))
                except:
                    pass

    statt

    Code
    if "Test" =messageContent
            os.system(blabla)


    edit: ganz vergessen DANKE :)

    hilft aber leider nichts gleicher fehler:

    pi@raspberrypi /opt/yowsup/src $ python yowsup-cli -l -c config.example -a -k
    Detected cc: 49
    Authed 4968219315241
    asdasdasdasdad@s.whatsapp.net [30-10-2013 14:04]:Sup?
    Detected cc: 49
    Authed 4968219315241
    Sent message
    Disconnected because closed

    if "Sup?" in messageContent:
    try:
    os.system('sudo /opt/yowsup/src/ok.sh')
    except:
    pass

    if "!Wohnzimmer Licht an" in messageContent:
    try:
    os.system('sudo /opt/rcswitch-pi/send 01011 1 1')
    os.system('sudo /opt/rcswitch-pi/send 01011 3 1')
    except:
    pass

    Einmal editiert, zuletzt von StillResonance1614 (30. Oktober 2013 um 14:05)

  • Hey, Danke erstmal.
    Aber es scheint ein Übergabewert zu fehlen um new_thread zu starten:

    TypeError: start_new_thread expected at least 2 arguments, got 1

    Die Doku sagt:
    thread.start_new_thread ( function, args[, kwargs] )

    Aber leider weiss ich nicht was fehlt ;)

    Jooaaa, also das o.g. Problem hab ich behoben.

    Es ging, als ich aus dem ganzen os.open eine Funktion gemacht habe und diese dann mit new_thread geöffnet.
    Allerdings muss ich dir leider sagen, dass sich das urprüngliche Problem nicht verändert hat ;)
    Nach dem Senden ist immer noch Feierabend.

  • Moin,


    installiert und den SMS-Code per Festnetz habe ich mir schicken lassen.
    Nach dem Registieren kommt folgendes zurück:


    Preis?
    Kostet das die 0.89€/Jahr wie bei Android? Wenn ja, wie werden die denn abgerechnet? :huh:


    Mfg

  • Hey,

    auf die Möglichkeit mit dem Raspberry Pi Nachrichten über Whatsapp zu versenden habe ich schon lange gewartet. Genial, dass es jetzt so einfach möglich ist!

    Das I-Tüpfelchen für mein Vorhaben wäre, wenn ich aus einer Liste von Handynummern prüfen könnte, welche davon Whatsapp haben und welche nicht.

    Ich habe schon geschaut, welche Ausgabe ich erhalte, wenn ich eine Nachricht an eine fiktive Nummer schicke. Aber die unterscheidet sich leider nicht von der Ausgabe beim Senden an eine existierende Nummer.

    Danke schon mal!

    Gruss
    matt

  • Danke! Funktioniert problemlos, so kann ich auch endlich mit zwei verschiedenen Nummern den Raspi ansprechen und bin nicht auf eine Adresse festgelegt. Habe jedoch weiterhin das Problem, dass der Listener nicht aktiv bleibt und die Connection nach einer Weile dicht macht?!


  • Du musst den Listener dann auch mit dem Attribut -k oder --keepalive starten, dann bleibt er ewig verbunden.

    Hatte ihn heut so 2h am Stück online.

    Und genau das macht der Listener bei mir leider nicht. Mit -k oder --keepalive bleibt er so ca. 30 sek. online, dann disconnected er wieder.

  • SUPER Christopf

    es klappt

    damits alle mal sehen wie es geht ich habs folgend:

    für Befehle abgeben hab ichs so:

    Code
    import thread
                    if "!Wazzup" == messageContent:
                            try:
                                    os.system('sudo /opt/webcam/foto.sh')
                            except:
                                    pass

    für Nachrichten antworten so:

    Code
    if "Sup?" in messageContent:
                            message = "Alles Klar, Meister"
                            self.methodsInterface.call("message_send",(jid, message))

    Wenn jemand jetzt noch weiß wie ich ne Nachricht und einen os.system befehl mache Bescheid sagen oder klappt es da den os.system befehl einfach vor der zeile self.methods ... einfügen?!!


    und meine Frage, wie gehts mit Bildern?
    weil so gehts nicht

    Code
    if "Sup?" in messageContent:
                            message = "Alles Klar, Meister"
                            self.methodsInterface.call("message_send",(jid, message))
                            url = "/opt/webcam/31-10-13_08-43-41.jpg to raspi/Foto/31-10-13_08-43-41.jpg"
                            name = "foto"
                            size = "800"
                            preview = "/opt/webcam/31-10-13_08-43-41.jpg to raspi/Foto/31-10-13_08-43-41.jpg"
                            self.methodsInterface.call("message_imageSend",(jid, url, name, size, preview))

    Einmal editiert, zuletzt von StillResonance1614 (31. Oktober 2013 um 08:54)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!