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

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

Vorheriges Thema - Nächstes Thema

buec65

Versuch mal in der env_s40.py

@raspberrypi:/opt/yowsup-master/yowsup/env $ cat env_s40.py
from .env import YowsupEnv
import hashlib
class S40YowsupEnv(YowsupEnv):
    _VERSION = "2.16.11"
    _OS_NAME= "S40"
    _OS_VERSION = "14.26"
    _DEVICE_NAME = "302"
    _MANUFACTURER = "Nokia"
    _TOKEN_STRING  = "PdA2DJyKoUrwLw1Bg6EIhzh502dF9noR9uFCllGk1471306425030{phone}"
    _AXOLOTL = True

    def getVersion(self):
        return self.__class__._VERSION

    def getOSName(self):
        return self.__class__._OS_NAME

    def getOSVersion(self):
        return self.__class__._OS_VERSION

    def getDeviceName(self):
        return self.__class__._DEVICE_NAME

    def getManufacturer(self):
        return self.__class__._MANUFACTURER

    def isAxolotlEnabled(self):
        return self.__class__._AXOLOTL

    def getToken(self, phoneNumber):
        return hashlib.md5(self.__class__._TOKEN_STRING.format(phone = phoneNumber).encode()).hexdigest()

    def getUserAgent(self):
        return self.__class__._USERAGENT_STRING.format(
            WHATSAPP_VERSION = self.getVersion(),
            OS_NAME = self.getOSName() + "Version",
            OS_VERSION = self.getOSVersion(),
            DEVICE_NAME = self.getDeviceName(),
            MANUFACTURER = self.getManufacturer()
        )
@raspberrypi:/opt/yowsup-master/yowsup/env $ 

Damit funktioniert es bei mir noch

Markus.

Na ich denke eher die haben bei WhatsApp die registrierte Nummer gesperrt ;-)

Gruß

Markus

buec65

Hast du das System neu gestartet?

Gesendet von meinem PULP mit Tapatalk


EnderPhilipp

Zitat von: Markus. am 23 Februar 2017, 21:39:10
Also ich habe es nun nach Wiki installiert. Was ich jedoch anders gemacht habe, ist folgendes geändert in der Datei env_s40.py unter
/opt/yowsup-master/yowsup/env


_VERSION = "2.16.11"
_TOKEN_STRING  = "PdA2DJyKoUrwLw1Bg6EIhzh502dF9noR9uFCllGk1478194306452{phone}"


Das ganze habe ich dann VOR der eigentlichen Registrierung durchgeführt und hat auch auf Anhieb funktioniert.
Die Alternativ "Wget's" habe ich nicht genommen, da die anscheinend wiederum älter sind wie die zuerst erwähnten.

Also senden und empfangen funktioniert einwandfrei soweit über FHEM nur mit den zusätzlichen Attributen muss ich mich noch auseinandersetzten.
Mal sehen wie lange das funktioniert :-)



Gruß

markus

Dank dir,

damit geht es jetzt auch bei mir .  8)

Mfg
Philipp ;D
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

EnderPhilipp

Hat es eigentlich wer geschafft Sonderzeichen zu versenden ?
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

EnderPhilipp

¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

EnderPhilipp

Bastle gerade ein einem kleinen "Bot", stelle den Code hier mal rein.
Vielleicht interessiert das ja jemanden oder vlt hat wer Verbesserungsvorschläge:
sub Whatsappempfang($) {
  my ($read, $cmd, $args) = split(" ", shift, 3);

  if($cmd eq "Arbeiten"){
    fhem("set Computer on");
fhem("set Monitor on");
fhem("set LEDStreifen on");
fhem("set Fernseher off");
fhem("set Radio off");
        fhem("set Stehlampe on");
  }
  elsif($cmd eq "Licht" and $args){
  if($args eq "an"){
fhem("set Stehlampe on");
fhem("set HUEGroup2 on");
fhem("set LEDStreifen on");
fhem("set iPhone send Das Licht wurde _eingeschaltet_");
}
  elsif($args eq "aus"){
fhem("set Stehlampe off");
fhem("set HUEGroup2 off");
fhem("set LEDStreifen off");
fhem("set iPhone send Das Licht wurde _ausgeschaltet_");
}
else {
    fhem("set iPhone send _Licht an_ oder _Licht aus_");
}
  }
  elsif($cmd eq "Aussentemperatur"){
    my $temperature = ReadingsVal("Aussensensor", "temperature", "");;
fhem("set iPhone send Aussentemperatur:
*$temperature °C*");;
 
  }
  elsif (($cmd eq "Sat1") || ($cmd eq "SAT1")){
  my $primetime = ReadingsVal("Sat1", "state", "");;
    fhem("set iPhone send In der Primetime heute:
*$primetime*");;
  }
  elsif (($cmd eq 'ProSieben') || ($cmd eq "Pro7")) {
        my $primetime = ReadingsVal("ProSieben", "state", "");;
        fhem("set iPhone send In der Primetime heute:
*$primetime*");;
    }
  elsif ($cmd eq 'Koeln') {
  my $gleis1= ReadingsVal("Bahn", "travel_departure_1", "");;
  my $zug1= ReadingsVal("Bahn", "travel_vehicle_nr_1", "");;
  my $abfahrt1= ReadingsVal("Bahn", "plan_departure_1", "");;
  my $ankunft1= ReadingsVal("Bahn", "plan_arrival_1", "");;
  my $dauer1= ReadingsVal("Bahn", "plan_travel_duration_1", "");;
  my $verspaetung1= ReadingsVal("Bahn", "plan_departure_delay_1", "");;
  fhem("set iPhone send Nächster Zug nach Koeln vom BonnerHbf:
Zug: *$zug1*
Gleis: *$gleis1*
Abfahrt: *$abfahrt1* Uhr
Ankunft: *$ankunft1* Uhr
Verspätung: *$verspaetung1* min
Dauer: *$dauer1* h
");;
    }
elsif($cmd eq "Heizung" and $args){
fhem("set Heizung_Clima desired-temp $args");;
fhem("set iPhone send Heizung auf _$args °C_ gestellt");;
}
elsif($cmd eq "Wetter"){
my $weathersituation = ReadingsVal ("WetterBonn","fc1_condition","");;
my $weather;

if($weathersituation eq "showers")
{
$weather = "";
}
elsif($weathersituation eq "scattered thunderstorms")
{
$weather = "";
}
elsif($weathersituation eq "cloudy")
{
$weather = "";
}
elsif($weathersituation eq "mostlycloudy")
{
$weather = "";
}
elsif($weathersituation eq "partly cloudy")
{
$weather = "";
}
elsif($weathersituation eq "fair")
{
$weather = "";
}
elsif($weathersituation eq "blustery")
{
$weather = "";
}
elsif($weathersituation eq "sunny")
{
$weather = "";
}
fhem("set iPhone send $weather");;
}
elsif($cmd eq "Witz")
{
my $witz = ReadingsVal("Witze","n00_description","");
$witz =~ s/\
//g;
$witz =~ s/\<br><br>/
/g;
fhem("set Witze update");
fhem("set iPhone send $witz");
fhem("set Witze update");
}
elsif (($cmd eq "reconnect")||($cmd eq "Reconnect"))
{
fhem("set WhatsApp reconnect");
}
  else{
    fhem("set iPhone send _Befehl nicht bekannt_");
  }
}


Code muss in die 99_myUtils.pm.

Kurze Erklärung zu ein paar Befehlen:

Wetter: Es wird die Wettervorhersage des heutigen Tages ausgegeben. Dazu wird das Yahoo-Wettermodul verwendet.

Witz: Witze aus RSS-Feed, hier die Definition: define Witze rssFeed http://witze.net/rss/000010413/witze.xml 1800
attr Witze rfEncode utf8
attr Witze rfReadings title,description,pubDate


Koeln : Nächste Verbindung zwischen BonnHbf und KoelnHbf mit Hilfe des DBPlan-Moduls.

Sat1/Pro7: Sagt was heute in der Primetime läuft (Passender Thread)

Mfg
Philipp ;D
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

luetty

#1448
Zitat von: EnderPhilipp am 28 Februar 2017, 11:48:57
Bastle gerade ein einem kleinen "Bot", stelle den Code hier mal rein....

Mfg
Philipp ;D

Hi Philipp,

ich denke Dein letzter Beitrag passt nicht ganz in diesen Thread, da es hier ehr um technische Probleme mit yowsup geht. Am besten Du machst nen eigenen auf, dann kann man auch Erfahrungen und Anregungen anderer User zentraler "einfangen". :-)
Ich würde mich drann beteiligen :-) Daher nur kurz: ich mache soetwas aktuell per notify und ich antworte nicht fest an "iPhone", sondern an dass Gerät was die Message geschickt hat  ;) Als "Verbesserungsvorschlag für Dich vorab, konvertiere mindestens"$cmd"
in Deinen Bedingungen in lc oder uc und vergleiche dann mit "arbeiten" oder "ARBEITEN", dann mußt Du nicht auf Groß/Kleinschreibung in deinen WhatsApps achten.

ciao
luetty

Black_Death_HH

Moin,

ich habe eine Frage bezüglich der Lauffähigkeit unter Windows. Im Wiki steht ja "Die Funktionalität ist vermutlich auf Linux/Unix Systeme beschränkt". Hat es denn jemand unter Windows versucht/geschafft oder wird das nichts?

Gruß, Thomas

medikopter

#1450
Hallo

ich habe mich dazu entschlossen ebenfalls Whatsapp zu benutzen.

Dummerweise klappt bei mir die installation auch nicht, also schon aber ich kann weder über die Komandozeile noch über fhem was senden.

Bin mehrmals die Anleitung durchgegangen leider komme ich nicht weiter, solange ich nicht sende wird er mir in Fhem online gezeigt. Sobald ich was schreibe bzw. senden will geht er offline.

Die Nummer wurde registriert und taucht auch bei mir in den Kontakten auf, allerdings werden die nachrichten nicht gelesen.

In den Logs steht nur das er es sendet

2017.03.09 11:36:21 3: WhatsApp: sending /L
2017.03.09 11:36:21 3: WhatsApp: sending /presence available
2017.03.09 11:36:35 3: WhatsApp: sending /message send 01xxxxxxx 'hklfb'
2017.03.09 11:37:04 3: WhatsApp: sending /disconnect
2017.03.09 11:37:04 3: WhatsApp: Disconnected
2017.03.09 11:37:04 2: WhatsApp: setting $HOME to pwd
2017.03.09 11:37:04 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2017.03.09 11:37:05 3: WhatsApp: sending /L
2017.03.09 11:37:05 3: WhatsApp: sending /presence available
2017.03.09 11:37:18 3: WhatsApp: sending /message send 01xxxxxxxx 'hklfb'

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

medikopter

#1452
Sorry für den Doppel Post, obwohl das in meinen Augen nicht so war. Ist ja auch egal, wird nicht mehr vorkommen.

Habe das Problem inzwischen behoben. https://github.com/tgalal/yowsup/issues/1885#issuecomment-269139157

Ein anderes Problem ist das ich inzwischen über die Konsole verschicken kann, aber eben auch nur da.
Sobald ich versuche über fhem was zu verschicken geht der status auf offline. -.-

Wisst Ihr was ich falsch gemacht haben könnte?


2017.03.09 14:35:26 3: WhatsApp: sending /L
2017.03.09 14:35:26 3: WhatsApp: sending /presence available
INFO:yowsup.layers.axolotl.layer_control:Axolotl layer is generating keys
ERROR:yowsup.layers.interface.interface:Stream Error type: xml-not-well-formed
{'xml-not-well-formed': None}



EDIT: auch das habe ich behoben mit python setup.py install

chr2k

Hallo Leute,

seit langem traue ich mich mal wieder an das Yowsup-Modul heran.

Vor langer Ziet lief das recht gut bei mir. Aber dann kam es wöchentlich zu modifikationen und ich für meinen Teil musste stundenlang hin und her probieren bis es wieder lief. Irgendwann war mir das zu nervig.

Nun wollte ich das ganze mal wieder probieren. Dafür habe ich einen RPi2 neu aufgesetzt. FHEM natürlich auch. Die Installation laut Wiki von yowsup lief auch gut. Auch das erneute registrieren meiner bereits benutzen Nummer (ich brauchte ja den Verification Code und das Passwort).

Nun bin ich im Wiki angelangt um per Kommandozeile mir eine Nachricht zu schicken. Der Befehl wird ausgeführt. Ohne irgendwelche Rückmeldungen. Es kommt aber keine Nachricht an.
Ich habe dann trotzdem in FHEM das Modul angelegt und alle Einstellungen vorgenommen.

Jetzt bekomme ich das im Log:

2017.03.10 00:56:07 3: WhatsApp: sending /L
2017.03.10 00:56:07 3: WhatsApp: sending /presence available
2017.03.10 00:56:09 3: WhatsApp: sending /disconnect
2017.03.10 00:56:09 3: WhatsApp: Disconnected
2017.03.10 00:56:09 3: WhatsApp: read: error during sysread: Keine Kind-Prozesse
2017.03.10 00:56:09 3: WhatsApp: read: end of file reached while sysread
2017.03.10 00:56:19 2: WhatsApp: setting $HOME to /opt/fhem
2017.03.10 00:56:19 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup


Kann mir bitte jemand helfen?

Danke.

Gruß
Christian


Xaser

ZitatUnd dann in
Code: [Auswählen]
/opt/yowsup-master/yowsup/env/env_s40.py

Die Versionsnr ändern in 2.16.11

hat bei mir geholfen.