Ankündigung

Einklappen
Keine Ankündigung bisher.

SQLite Fehler: sqlite3.OperationalError: / Whatsapp Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    SQLite Fehler: sqlite3.OperationalError: / Whatsapp Plugin

    Ich bin gerade dabei zu versuchen, dass Whatsapp Plugin wieder ans Laufen zu bringen. Der Reconnect funktioniert nun (ohne men Zutun) dafür hat wohl Whatsapp inzwischen eine Verschlüsselung hinzugefügt, so dass ich noch einen weiteren Layer aus Yowsup in das Plugin eingefügt habe, nun kann ich senden und empfangen.
    Allerdings kommt von Zeit zu Zeit beim senden eine solche Fehlermeldung, ich verstehe aber nicht, wofür das Plugin überhaupt auf SQLITE zugreift.

    Hier der gesamte Ausschnitt mit Fehlermeldung "cannot start a transaction within a transaction":

    PHP-Code:
     if sh.Flur.TuerSchloss() == and sh.Buero.TuerSchloss() == 1sh.whatsapp("Buerotuer ist nicht verschlossen","XXXXXXXXXXX")
      
    File "/usr/local/smarthome/plugins/whatsapp/__init__.py"line 124in __call__
        self
    ._SmarthomeLayer.sendMsg(messagephoneNumber)
      
    File "/usr/local/smarthome/plugins/whatsapp/SmarthomeLayer.py"line 92in sendMsg
        self
    .toLower(outgoingMessageProtocolEntity)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 63in toLower
        self
    .__lower.send(data)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 173in send
        s
    .send(data)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 111in send
        send
    (entity)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/protocol_messages/layer.py"line 15in sendMessageEntity
        self
    .entityToLower(entity)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 115in entityToLower
        self
    .toLower(entity.toProtocolTreeNode())
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 63in toLower
        self
    .__lower.send(data)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/axolotl/layer.py"line 107in send
        self
    .handlePlaintextNode(node)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/axolotl/layer.py"line 190in handlePlaintextNode
        ciphertext 
    sessionCipher.encrypt(plaintext)
      
    File "/usr/local/lib/python3.4/dist-packages/python_axolotl-0.1.7-py3.4.egg/axolotl/sessioncipher.py"line 65in encrypt
        self
    .sessionStore.storeSession(self.recipientIdself.deviceIdsessionRecord)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/axolotl/store/sqlite/liteaxolotlstore.py"line 53in storeSession
        self
    .sessionStore.storeSession(recepientIddeviceIdsessionRecord)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/axolotl/store/sqlite/litesessionstore.py"line 38in storeSession
        c
    .execute(q, (recipientIddeviceIdsessionRecord.serialize()))
    sqlite3.OperationalErrorcannot start a transaction within a transaction 
    Es kommt aber auch teilweise eine andere Fehlermeldung "Error binding parameter 0:

    PHP-Code:
    Traceback (most recent call last):
      
    File "/usr/local/smarthome/lib/scheduler.py"line 341in _task
        exec
    (obj.bytecode)
      
    File "/usr/local/smarthome/logics/fenster_melanie.py"line 19in <module>
        if 
    sh.zentral.schlafmodus() == and sh.BadUg.Fenster() == and sh.Aussen.Temperatur() <18 and sh.BadUg.Fenster.age() >300 :sh.whatsapp("Das Badezimmerfenster im Untergeschoss ist seit " str(round((sh.BadUg.Fenster.age()/60)))+ " Minuten auf.","491785500312")
      
    File "/usr/local/smarthome/plugins/whatsapp/__init__.py"line 124in __call__
        self
    ._SmarthomeLayer.sendMsg(messagephoneNumber)
      
    File "/usr/local/smarthome/plugins/whatsapp/SmarthomeLayer.py"line 92in sendMsg
        self
    .toLower(outgoingMessageProtocolEntity)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 63in toLower
        self
    .__lower.send(data)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 173in send
        s
    .send(data)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 111in send
        send
    (entity)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/protocol_messages/layer.py"line 15in sendMessageEntity
        self
    .entityToLower(entity)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 115in entityToLower
        self
    .toLower(entity.toProtocolTreeNode())
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/__init__.py"line 63in toLower
        self
    .__lower.send(data)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/axolotl/layer.py"line 107in send
        self
    .handlePlaintextNode(node)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/axolotl/layer.py"line 190in handlePlaintextNode
        ciphertext 
    sessionCipher.encrypt(plaintext)
      
    File "/usr/local/lib/python3.4/dist-packages/python_axolotl-0.1.7-py3.4.egg/axolotl/sessioncipher.py"line 38in encrypt
        sessionRecord   
    self.sessionStore.loadSession(self.recipientIdself.deviceId)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/axolotl/store/sqlite/liteaxolotlstore.py"line 47in loadSession
        
    return self.sessionStore.loadSession(recepientIddeviceId)
      
    File "/usr/local/lib/python3.4/dist-packages/yowsup2-2.4.48-py3.4.egg/yowsup/layers/axolotl/store/sqlite/litesessionstore.py"line 16in loadSession
        c
    .execute(q, (recipientIddeviceId))
    sqlite3.InterfaceErrorError binding parameter 0 probably unsupported type
    Hier meine plugin.conf Zeile:

    PHP-Code:
    [whatsapp]
        
    class_name Whatsapp
        class_path 
    plugins.whatsapp
        account 
    'XXXXXX'
        
    password 'XXXXXXX'
        
    trusted XXXXX XXXXXX
    #    cli_mode = True
        
    logic 'Logi_Whatsapp' 
    im Anhang auch das komplette Plugin, whatsapp.zip
    Angehängte Dateien
    Zuletzt geändert von Marcov; 06.01.2016, 21:01.

    #2
    Hallo,

    das ist ja nicht direkt das Plugin, sondern yowsup. Vllt. kommt das nicht mit multithreading klar? Kann ein Problem sein, wenn mehrere Threads quasi gleichzeitig auf die DB zugreifen wollen.

    Bis bald

    Marcus

    Kommentar


      #3
      danke für Deine Rückmeldung - ich hatte auch analysiert, dass es auftritt, wenn in gleichzeitig Nachrichten verschickt werden sollen. Ich habe jetzt meine logiken so angepasst, dass nicht mehr gleichzeitig gesendet wird, wäre natürlich eleganter das Problem zu beheben, als es zu umschiffen.

      Kommentar

      Lädt...
      X