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

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Mit dem Pi über WhatsApp Nachrichten, etc. senden!? Schau mal ob du hier fündig wirst!

  • bischen peinliche frage wie für ich dies code felder ein mit der code minimir bar ist im forum


    …und es wäre auch äußerst hilfreich, wenn du dir beim Schreiben etwas mehr Mühe geben würdest. Was heißt z. B. das da oben???
    Satzzeichen machen einen Text verständlicher und wenn es mir schwer fällt, einen Text überhaupt lesen zu können, mache ich mir nicht die Arbeit, mich hineinzudenken und eine Hilfe zu geben.

  • Hallo ich schon wieder:lol:
    hab mittlerweile den Fehler gefunden.

    Edit:
    Habe jetzt auch die jid für eine gruppe heraus gefunden. Die hat das Format:
    NummerdesOwner-UnixTimeStamp@g.us // Timestamp des Erstellungszeitpunktes
    Endweder man errechnet sich den Timestamp(sekunden genau!)oder füg in die ListenerClient.py

    einmal das ein :

    self.signalsInterface.registerListener("group_messageReceived", self.waOnGroupMessageReceived)
    und stückchen weiter runter bei den Funktionen das ein:
    def waOnGroupMessageReceived(self, messageId, groupJid, author, messageContent, timestamp, wantsReceipt, pushName):
    print(groupJid)
    print(messageContent)

    und dann wird einem die gjid ausgegeben der gruppe muss man natürlich angehören ich hab noch keine möglichkeit gefunden die gjid einer von yowsup erstellten gruppe herrauszufinden(ausser sie zu errechnen)

    Einmal editiert, zuletzt von CrashOverRide (8. Dezember 2013 um 22:18)

  • Naja das war das erste mal das ich mich richtig mit python beschäftigt habe und hab so ziemlich alles falsch gemacht was man falsch machen kann:blush:
    dieses Stückchen hätte eigentlich so aussehen müssen:

    "send": (lambda: self.methodsInterface.call("message_send",(self.jid, "test")),"",8),

    Also hatte ich ein komma vergessen und self vor dem jid und die Funktion war unnötig, weil ich die komplette Methode darin schon aufrufe
    auf die lösung bin ich dann durch probieren und lesen von tutorials gekommen(Python ist doch nicht so kompliziert wie gedacht, sah am anfang ziemlich verwirrend für mich aus)

    mfg Dome:D


  • ...Python ist doch nicht so kompliziert wie gedacht, sah am anfang ziemlich verwirrend für mich aus...


    Ist immer so wenn man eine neue Sprache lernt. Dann aber einfach nicht verzagen und weiter programmieren, fluchen über die Syntaxfehler, lesen, googeln, lernen, und dann wird es bei jedem neuen Programm immer klarer und leichter :)

    Der Code von youwsup benutzt Klassen und das ist zu Anfang sehr ungewohnt wenn man vorher nix mit objektorientierten Programmiersprachen zu tun hatte.

  • wollte nun mal das der letzten Wochen testen und hatte mir von Steackshen die Files geholt.
    pi@raspberrypi ~/whatsapp/src $ /home/pi/whatsapp/src/yowsup-cli -c /home/pi/whatsapp/src/config.example
    Traceback (most recent call last):
    File "/home/pi/whatsapp/src/yowsup-cli", line 33, in <module>
    from Examples.CmdClient import WhatsappCmdClient
    ImportError: No module named Examples.CmdClient

    ist mein yowsup-cli zu alt?
    wo bekomm ich das neue?

    mit der yowcli von https://github.com/tgalal/yowsup scheint was zu gehen
    aber die befehle gehen alle niht
    was ist zu tun?

    Einmal editiert, zuletzt von masterpete (10. Dezember 2013 um 13:00)

  • masterpete

    Wir nutzen alle die Grundversion von tgalal

    und habe sie unterschiedlichst modifiziert.

    Am besten nimmst du die Grundversion und überlegst was du brauchst und nimmst dir die zeit und ließt was wir alles gemacht haben und fügst die Funktionen hinzu die du brauchst.

    Aktuell hat sich noch keiner die Arbeit gemacht einzelne Funktionen hier sauber zu posten, das wäre aber eine idee, das man einen Großen Post macht in dem man dann die Code schnipsel für Bilder, Sprachnachrichten, und und und genau getrennt hinzufügen kann

  • die ist noch "veraltet"

    wie schon gesagt wir basteln noch alle viel :)

    Aber normalerweise posten wir hier im Thread fertige Code schnipsel, mit ein bisschen einlesen und Programmiererfahrung sind die Stellen schnell zu finden wo was hin muss.

    War für uns alle ein Lernprozess :)

    einfach unter

    def onMessageRecived eingerückt

    Code
    if "rpidata" in messageContent:
                                    temp = subprocess.check_output('vcgencmd measure_temp', shell=True)
                                    volt = subprocess.check_output('vcgencmd measure_volts', shell=True)
                                    clock = subprocess.check_output("vcgencmd measure_clock arm | awk -F'=' '{print $2}'", shell=True)
                                    core = int(clock) / 1000000
                                    message = "RPi Werte: \n CPU Temp: %s \n CPU Spannung: %s \n CPU Takt: %s" %(temp,volt,core)
                                    self.methodsInterface.call("message_send", (jid,message))
  • Kurze Frage in die Runde.

    Besteht Interesse daran die Pi über WhatsApp wie über eine Konsole bzw ssh steuern zu können? Also ein WhatsApp Konsolenzugriff auf die Pi. Habe das mal einfach so prototyped und es läuft schon bei mir. Dass die ganze Sache absolut nicht secure ist ist mir klar. Mein Atomkraftwerk würde ich damit nicht steuern wollen ...

  • Nette Idee framp ;)
    Aber ich glaub ich werd's nicht nutzen da die Nummer viele kennen ;) viele Informatik Studenten xD
    Also lass ich's lieber hihi

  • Interessant ist das sicherlich aber für die Konsole würde ich nach wie vor ssh nutzen ;)

    Es gibt zwei Dinge die sind unendlich, das Universum und die Dummheit der Menschen. Beim Universum bin ich mir jedoch nicht sicher. [A. Einstein]

  • Hi!

    Ich versuche gerade Whatsapp einzurichten. Jedoch funktioniert irgendwie die SMS Benachrichtigung nicht so richtig. Unter Status steht Sent aber es kommt keine SMS an. Die Handynummer habe ich richtig eingegeben und auch den richtigen Dateinamen benutzt. SMS kann ich auf der Nummer jedoch empfangen. Ich habe bis auf die Datei config.example nichts verändert.

    Grüße
    dressler5

    Einmal editiert, zuletzt von dressler5 (11. Dezember 2013 um 16:00)

  • Hallo Framp, (und alle anderen !)

    hört sich cool an..

    hab eine kleine Frage, (die ich mir leider nicht selbst beantworten kann, da ich von Python absolut keine Ahnung habe !!)

    Folgendes: ich hab daheim eine KNX Hausautomation, diese wird über ein kleine Rechner gesteuert, der TCP Befehle versenden
    u. Empfangen kann. Die Idee, per Whatsapp mit ihm kommunizieren.

    Grundsätzlich funktioniert das eigentlich schon. Ich hab nur ein, zwei kleinere Probleme.

    ich hab ein kleines Programm (bekommen) am Pi, das die Nachricht von KNX über IP (TCP) empfängt (ausgewertet über message="$(netcat -lp 1234)")
    und dann die Nachricht per : python /home/pi/yowsup-master/src/yowsup-cli -c /home/pi/yowsup-master/src/config.example -s 4917112345678 "$message"
    sendet... das funktioniert auch sehr gut..

    jetzt würd ich aber gern auch Nachrichten, die über Whatsapp kommen zurück an KNX schicken (dann dort auswerten und die Antwort wieder zurück).
    Eigentlich geht das auch, ich hab nur ein Problem.
    Wenn ich in den -l oder -i Mode gehe, bricht dieser immer mit "Connection closed" ab, wenn das kleine Pythonprogramm den Send Befehlt ausführt.

    was ich jetzt bräuchte wäre eine Implementation, wenn ich eine Nachricht über Netcat empfange .. soll diese an das yowsup-cli übergeben werden (ohne
    die Verbindung zu trennen)

    gegoogelt hab ich .. da kam dann print "$message" raus.. hat aber leider nicht funktioniert ..

    P.S. Keepalive hab ich drin.. funktioniert nicht.. ich denk das scheint ein Problem damit zu geben, wenn yowsup schon läuft und man dann nochmal
    den befehl ausführt ! (Nur eine Instanz ?!?!)

    Gern kann ich.. dir (oder einem anderen Profi) das kleine Programm mal per PN zukommen lassen. Ich denke wenn man sich damit auskennt ist
    da nicht sonderlich schwer.. nur wie gesagt... ich hab leider keine Ahnung :)

    Gruß Brick

  • Mega framp
    Ich werd's mir anschauen :)

    Glaub ich muss aber perhand patchen mit meld

    Aber WOW amazing :)


  • ... Glaub ich muss aber perhand patchen mit meld...


    Klar, dass muss jeder der die neue Konsolenfunktion bei seinem existierenden Code einpflegen will. Sollte aber mit meld und dem 3-Wege merge relativ einfach gehen. Die Änderungen sind auch ziemlich lokal und ueberschaubar.


    ...Gern kann ich.. dir (oder einem anderen Profi) das kleine Programm mal per PN zukommen lassen. Ich denke wenn man sich damit auskennt ist
    da nicht sonderlich schwer.. nur wie gesagt... ich hab leider keine Ahnung :)...


    Ich kann mir das ja mal ansehen. Du hast meine eMail per PN bekommen.

Jetzt mitmachen!

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