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

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

Vorheriges Thema - Nächstes Thema

bombardi

Hallo JoWiemann,
aus deiner env_android sehe ich, das es wieder mal ein update von MD5 und Version gibt.
_MD5_CLASSES = "aB7TRBP7/nT6KypPakIupw=="
_VERSION = "2.22.24"
Leider reicht diese Änderung nicht um wieder Online zu kommen.
Ich war das letzte mal am 12.12.2022 online.
Daher habe ich versucht auch deine layer.py zu übernehmen, mit folgendem Ergebnis
I 2023-01-05 07:26:47,606 yowsup.layers.network.layer - Connecting to 31.13.79.54:443
E 2023-01-05 07:26:48,171 yowsup.layers.network.dispatcher.dispatcher_asyncore - Traceback (most recent call last):
  File "/usr/lib/python3.5/asyncore.py", line 91, in write
    obj.handle_write_event()
  File "/usr/lib/python3.5/asyncore.py", line 441, in handle_write_event
    self.handle_connect_event()
  File "/usr/lib/python3.5/asyncore.py", line 429, in handle_connect_event
    self.handle_connect()
  File "/opt/yowsup-master/yowsup/layers/network/dispatcher/dispatcher_asyncore.py", line 34, in handle_connect
    self.connectionCallbacks.onConnected()
  File "/opt/yowsup-master/yowsup/layers/network/layer.py", line 54, in onConnected
    self.emitEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECTED))
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 94, in emitEvent
    self.__upper.emitEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 94, in emitEvent
    self.__upper.emitEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 94, in emitEvent
    self.__upper.emitEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 94, in emitEvent
    self.__upper.emitEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 94, in emitEvent
    self.__upper.emitEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 94, in emitEvent
    self.__upper.emitEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 88, in emitEvent
    if self.__upper and not self.__upper.onEvent(yowLayerEvent):
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 212, in onEvent
    stopEvent = stopEvent or s.onEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 109, in onEvent
    return self.event_callbacks[eventName](yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/auth/layer_authentication.py", line 36, in on_connected
    passive=self.getProp(self.PROP_PASSIVE, False)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 202, in subBroadcastEvent
    self.broadcastEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 103, in broadcastEvent
    self.__lower.broadcastEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 103, in broadcastEvent
    self.__lower.broadcastEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 103, in broadcastEvent
    self.__lower.broadcastEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 103, in broadcastEvent
    self.__lower.broadcastEvent(yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 98, in broadcastEvent
    if self.__lower and not self.__lower.onEvent(yowLayerEvent):
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 109, in onEvent
    return self.event_callbacks[eventName](yowLayerEvent)
  File "/opt/yowsup-master/yowsup/layers/noise/layer.py", line 95, in on_auth
    yowsupenv = YowsupEnv.getAndroidEnv()
AttributeError: type object 'YowsupEnv' has no attribute 'getAndroidEnv'

Nehme ich wieder meine alte layer.py sind die Meldungen verschwunden.
I 2023-01-05 07:31:55,106 yowsup.layers.network.layer - Connecting to 31.13.66.51:443

Ich habe auch mal nur die Änderung von 4 nach 5 übernommen
HEADER = b'WA\x05\x00'
def __init__(self):
        super(YowNoiseLayer, self).__init__()
        self._wa_noiseprotocol = WANoiseProtocol(
            5, 0, protocol_state_callbacks=self._on_protocol_state_changed
        )  # type: WANoiseProtocol

Aber ich bleibe in allen Fällen Connected, aber offline.
Der weitere Unterschied der vermutlich zum Fehler führt liegt hier:
Alt:
            self._rs = remote_static
            yowsupenv = YowsupEnv.getCurrent()
            client_config = ClientConfig(
                username=username,
                passive=passive,
                useragent=UserAgentConfig(
                    platform=0,
                    app_version=yowsupenv.getVersion(),
                    mcc=config.mcc or "000",
                    mnc=config.mnc or "000",
                    os_version=yowsupenv.getOSVersion(),
                    manufacturer=yowsupenv.getManufacturer(),
                    device=yowsupenv.getDeviceName(),
                    os_build_number=yowsupenv.getOSVersion(),
                    phone_id=config.fdid or "",
                    locale_lang="en",
                    locale_country="US"
                ),
                pushname=config.pushname or self.DEFAULT_PUSHNAME,
                short_connect=True
            )

neu:
            self._rs = remote_static
            # yowsupenv = YowsupEnv.getCurrent()
            yowsupenv = YowsupEnv.getAndroidEnv()

            ##prepare os version
            version_str = yowsupenv.getVersion()
            version_list = version_str.split('.')
            if len(version_list) > 3:
                version_str = "%s.%s.%s" % (version_list[0], version_list[1], version_list[2])         

            client_config = ClientConfig(
                username=username,
                passive=passive,
                useragent=UserAgentConfig(
                    platform=0,
                    # app_version=yowsupenv.getVersion(),
                    app_version=version_str,
                    mcc=config.mcc or "000",
                    mnc=config.mnc or "000",
                    os_version=yowsupenv.getOSVersion(),
                    manufacturer=yowsupenv.getManufacturer(),
                    device=yowsupenv.getDeviceName(),
                    os_build_number=yowsupenv.getOSVersion(),
                    phone_id=config.fdid or "",
                    locale_lang="en",
                    locale_country="US"
                ),
                pushname=config.pushname or self.DEFAULT_PUSHNAME,
                short_connect=True
            )

Weitere Unterschiede konnte ich nicht entdecken.
Hat dazu jemand eine Idee ?

piet_pit

Hallo,

bei mir klappt WhatsApp aktuell auch nicht.

Auf dem github unter

https://github.com/tgalal/yowsup/issues/3188

sind insgesamt 5 Dateien (yowsup.zip) veröffentlicht, die das/ ein Problem fixen sollen, hat die schon jemand probiert?
Stammen die Änderungen von JoWiemann daher..?

Vielen Dank für eure Infos...
Viele Grüße
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

JoWiemann

Hallo bombardi,

ich habe bei mir yowsup auf die Änderungen hochgezogen um ggf. auf iOS Environment umswitchen zu können.

In der layer.py ist nur folgende Änderung bei mir wichtig gewesen:

HEADER = b'WA\x05\x00'
def __init__(self):
        super(YowNoiseLayer, self).__init__()
        self._wa_noiseprotocol = WANoiseProtocol(
            5, 0, protocol_state_callbacks=self._on_protocol_state_changed

Also die bei Dir stehende Zahl durch die 5 austauschen und dann einmal probieren.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

bombardi

Bei mir funktioniert es weder mit den 2 5en, noch mit Änderung der 5 Dateien aus Github.

Spartacus

Hallo zusammen,

ich möchte gerne eine whatsapp Nachricht an eine Gruppe senden. Ich mache das Ganze nicht direkt aus fhem, sondern will das aus einem script heraus auf der Konsole machen. Ich scheitere gerade daran da ich das Format der Gruppenadressierung bei Whatsapp nicht verstehe.

senden an einen Teilnehmer geht über : <Ländercode><Telefonnummer>@s.whatsapp.net
senden an eine Gruppe geht über: <Ländercode><Telefonnummer>-<Epoch-Zeitstempel der Gruppenerstellung>@g.us

wobei die Telefonnummer auch die Telefonnummer des Erstellers der Gruppe ist. Aber wie um alles in der Welt kriege ich diesen TimeCode ausgelesen? Die GruppenID, die ich in WhatsApp selber auslesen kann hat ein föllig andres Format und darüber kann ich die Gruppe nicht adressieren.

Hat jemand Erfahrungen damit, Kann hier jemand Licht ins Dunkel bringen?

Danke und Gruß,
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

JoWiemann

Zitat von: Spartacus am 16 Januar 2023, 15:53:44
Hallo zusammen,

ich möchte gerne eine whatsapp Nachricht an eine Gruppe senden. Ich mache das Ganze nicht direkt aus fhem, s
Hat jemand Erfahrungen damit, Kann hier jemand Licht ins Dunkel bringen?

Danke und Gruß,
Spartacus

Wenn Du yowsup nutzt, warum schaust dort nicht nach? Hier ein Eintrag von auf die Schnelle gefunden: https://github.com/tgalal/yowsup/issues/903

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Spartacus

Hallo,

danke für den Hinweis. Ich habe yowsup aktuell nicht im Einsatz. Ich hatte gedacht man kriegt das irgendwie mit whatsapp Bordmitteln raus. Ich werde mir mal eine vm mit yowsup  aufsetzten. Scheint aktuell offenbar die einzige Möglichkeit zu sein, die id zu ermitteln.
Spartacus

Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Spartacus

#1972
Hallo,

ich habe versucht das yowsup  nach Wiki Angaben zu installieren, aber das klappt leider auf einem Buster und einem Bulleye nicht.

ICh bekomme diese Fehlermeldung:
yowsup.common.http.warequest - Passing Config to WARequest                                  is deprecated, pass a YowProfile instead
I 2023-01-16 20:18:34,937 yowsup.common.http.warequest - b'{"login":"491111111111","                                 reason":"old_version","status":"fail"}\n'
status: b'fail'
reason: b'old_version'
login: b'491111111111'


Gruß,
Spartacus

NACHTRAG:
ok, ich habe jetzt auch verstanden, dass sich etwas geändert hat und es Probleme bei der Verbindung gibt. Hatte schon an mir gezweifelt!
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Spartacus

Moin zusammen,
ich habe jetzt die yowsup-cli installiert und versucht eine Registrierung vorzunehmen. Das klappt aktuell nicht und ich bekomme eine FM:

status: b'fail'
reason: b'bad_token'


Ich habe aktuell in der env_android folgende Daten:
_MD5_CLASSES = "aB7TRBP7/nT6KypPakIupw=="
_VERSION = "2.22.24"


ich habe verstanden, dass es aktuell Probleme mit den Tool gibt, oder gibt es einen Workaround es ans Fliegen zu bekommen? Es ist aller sehr neu für mich und wenn man direkt in Fehler läuft, weiß man nicht so richtig, wo man ansetzten soll. Im Prinzip brauche ich das Tool nur um meine WhatsApp GruppenID vauszulesen. Offenbar gibt es dafür keine andere Möglichkeit.

Für Anregungen und Vorschläge die ID anders zu bestimmen, wäre ich sehr dankbar!
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

piet_pit

Hallo Zusammen,
nutzt eigentlich noch jemand Whatsapp bzw. Yowsup???

Ich bin jetzt aktuell aus dem Urlaub zurück und bei mir klappt Whatsapp leider nicht mehr. Sicher muss ich die Version wieder anpassen, welche Version nutzt ihr zur Zeit?

Viele Grüße
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

JoWiemann

Hallo,

ich musste heute morgen meine env_android.py seit langem mal wieder anpassen. Anbei die Version, die seid 1 Stunde funktioniert.

Grüße Jörg

    _MD5_CLASSES = "NnPWSH2GJpMQVlQL9VO0zw=="
    _VERSION = "2.24.2"
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

zivi

Und von heute:
Version: 2.24.4.73
ClassesDex: uaoO3PhVcKgdhCiW6dsGOw==