Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin: Pushbullet

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

  • Sandman60
    antwortet
    Versenden an devices außerhalb des eigenen Accounts mgl.?

    Hallo Lars,

    kaum habe ich das Plugin ein paar Stunden im Einsatz kommt schon der erste Featurerequest bzw. bin ich auf die erste Einschränkung gekommen...

    Wenn ich den Code und Pushbullet richtig verstanden habe ist es aktuell nur möglich an Devices eines dem API-Keys zugehörigen Devices zu versenden.
    Wenn man an ein Device versendet eines anderen Accounts wird dies abgelehnt (Bad Request). Laut API-Beschreibung ist dann anstatt
    Code:
     device_iden=<deviceID>
    ein
    Code:
    email=<emailadress>
    zu versenden.

    Könnte man das erweitern?

    Sehe dabei die folgenden Möglichkeiten:
    1. Einbau eines weiteren Parameters (im Moment noch keine Ahnung wie)
    2. Übergabe des Mediums (device_iden=xxx bzw. email=yyy) in der Variable anstatt nur (xxx)

    Bevor ich nun anfange an Deinem Code rumzubasteln (bin noch ein Anfänger in PY) wollte ich erst einmal fragen was Du davon halten würdest, ich würde dann in die eine oder andere Richtung das mal bei mir abändern und testen.

    Cheers,
    Oliver

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    Danke!

    Hi Lars,

    erst mal vielen Danke für das Plugin. Passt, wackelt und hat Luft! Klasse!

    Vielleicht noch ein paar Anmerkungen für die Doku:
    1. Auf dem PY-Image gibt es kein PIP, hier wäre es IMHO gut die Anweisung von Monti aus Post2 mitaufzunehmen (getestet auch bei mir):
    Code:
    git clone git://github.com/kennethreitz/requests.git
    cd requests
    sudo python3 setup.py install
    2. Bei den Beispielen wäre es noch interessant die Variante note auf ein Device, a la "sh.pushbullet.note("<Headline>", "<Message>", "<DeviceKey>") mitaufzunehmen. Hier macht es dann evtl. auch Sinn den Trick, wie man die DeviceID herausfindet, mitanzugeben.

    Was aktuell etwas nervt, habe aber auch noch keine Abhilfe gefunden, ist das Logging "Starting new HTTPS connection (1): api.pushbullet.com". Soweit ich das sehen konnte ist das aus der connectionpool.py, aber eine Auskommentierung der Message hat leider bislang nix gebracht.

    Cheers,
    Oliver

    Einen Kommentar schreiben:


  • mhoeftx
    antwortet
    Na da wäre ich ja nie drauf gekommen.
    Sollte man definitiv in der Doku ergänzen.

    Vielen Dank für Deine Hilfe, funktioniert jetzt einwandfrei.

    Grüße,

    Mark

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Hey Mark,

    die DeviceID ist nicht der Name des Geräts.
    Am einfachsten kannst Du die ID rausfinden wenn Du im Browser unter pushbullet.com das Gerät auswählst und den hinteren Teil der Browser-URL herauskopierst.

    Siehe Screenshot im Anhang. Ich habe hier mal eine Random-ID eingesetzt und den Teil markiert den Du brauchst.



    Grüße,

    Lars
    Angehängte Dateien

    Einen Kommentar schreiben:


  • mhoeftx
    antwortet
    Super, bin schon mal einen ganzen Schritt weiter!
    Vielen Dank, das war die Richtige Vermutung!!

    Ich musste pip3 erst mal nachinstallieren
    Code:
     apt-get install python3-pip
    und mit

    Code:
     pip3.2 install requests
     pip3.2 install python-magic
    funktioniert dann auch die Installation korrekt.

    Ich habe als Test eine ganz einfache Logik benutzt, mit Beispiel aus der Readme. Leider funktioniert es noch nicht 100%ig wie es soll.

    Die Logik wird getriggert, es folgt aber darauf sofort ein Error, der scheinbar auf ein Problem mit der DeviceID schließen lässt?

    Code:
     2014-08-24 15:03:07,524 INFO     push_test    Starting new HTTPS connection (1): api.pushbullet.com -- connectionpool.py:_new_conn:695
    2014-08-24 15:03:08,794 ERROR    push_test    Could not send Pushbullet notification. Error: {"cat": "(^\uff65o\uff65^)\uff89\u201d", "error": {"message": "Param `device_iden` is missing or has an invalid value.", "type": "invalid_r  equest", "param": "device_iden"}} -- __init__.py:_push:102
    In meiner Logik steht lediglich folgende Zeile:

    Code:
     sh.pushbullet.note("Note to myself.", "Call my mother.")
    In der plugin.conf folgendes:

    Code:
     [pushbullet]
        class_name = Pushbullet
        class_path = plugins.pushbullet
        deviceid = Iphone
        apikey = (API Key von der Website)
    Die DeviceID enstspricht hier der genauen Schreibweise aus der Pushbullet Website. Muss da etwas anderes eingetragen werden?

    Viele Grüße und schon mal besten Dank für Eure Unterstützung!

    Mark

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Spontane Idee:


    pip3.2 install ....


    Auf meinem Ubuntu gibt es "pip", "pip3" sowie "pip3.2", daher wäre mein Vorschlag es mal mit 3.2 zu versuchen.

    Bei mir kommen die allerdings alle aus dem selben Paket, daher hat "pip" ausgereicht.

    Code:
    lars@SmartHome:~$ pip -V
    pip 1.5 from /usr/local/lib/python3.2/dist-packages/pip-1.5-py3.2.egg (python 3.2)
    lars@SmartHome:~$ pip3.2 -V
    pip 1.5 from /usr/local/lib/python3.2/dist-packages/pip-1.5-py3.2.egg (python 3.2)
    lars@SmartHome:~$ pip3 -V
    pip 1.5 from /usr/local/lib/python3.2/dist-packages/pip-1.5-py3.2.egg (python 3.2)
    lars@SmartHome:~$
    Gruß,

    Lars

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    ohne Dir eine Lösung verraten zu können, wie Du das richtig installierst:
    Das aktuelle smarthome verwendet python 3.2, Du hast magic unter python 2.7 installiert. Ich vermute, deswegen wird es nicht gefunden.

    Leider kann ich Dir aber nicht sagen, wie Du das Problem behebst...
    Aber mit Google sollte das schon klappen

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mhoeftx
    antwortet
    Ne, hab ja geschrieben, dass ich magic installiert habe.

    requests
    Code:
     admin@smarthome:/usr/smarthome$ sudo pip install requests --upgrade
    Requirement already up-to-date: requests in /usr/local/lib/python2.7/dist-packages
    Cleaning up...
    admin@smarthome:/usr/smarthome$
    und Magic
    Code:
     admin@smarthome:/usr/smarthome$ sudo pip install python-magic --upgrade
    Requirement already up-to-date: python-magic in /usr/local/lib/python2.7/dist-packages
    Cleaning up...
    admin@smarthome:/usr/smarthome$

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Hey Mark,

    vermutlich hast Du das hier überlesen?

    Zitat von Shai Beitrag anzeigen
    Es wird nun zusätzlich "python-magic" benötigt, das lässt sich einfach mit "pip install python-magic" installieren.

    Grüße,

    Lars

    Einen Kommentar schreiben:


  • mhoeftx
    antwortet
    ich habe da noch so ein paar kleine Probleme .....

    Die requests und python-magic habe ich installiert.
    Ohne Fehler -> succesfull

    Die aktuelle __init__.py habe ich mir aus develop geholt.

    Beim Start erhalte ich jedoch die folgende Fehlermeldung:

    Code:
    2014-08-24 02:22:08,942 DEBUG    Main         Plugin: pushbullet -- plugin.py:__init__:43
    2014-08-24 02:22:10,129 ERROR    Main         Plugin pushbullet exception: No module named magic -- plugin.py:__init__:57
    Traceback (most recent call last):
      File "/usr/smarthome/lib/plugin.py", line 53, in __init__
        plugin_thread = Plugin(smarthome, plugin, classname, classpath, args)
      File "/usr/smarthome/lib/plugin.py", line 79, in __init__
        exec("import {0}".format(classpath))
      File "<string>", line 1, in <module>
      File "/usr/smarthome/plugins/pushbullet/__init__.py", line 26, in <module>
        import magic
    ImportError: No module named magic
    Kann mir hier jemand weiterhelfen?

    Grüße,

    Mark

    Einen Kommentar schreiben:


  • Ferengi
    antwortet
    ok, danke

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Hallo Christian,

    du musst die Strings selbst zusammenbauen und in die Liste packen.
    Pro Eintrag wird dann eine Zeile im Push stehen.


    Grüße,

    Lars

    Einen Kommentar schreiben:


  • Ferengi
    antwortet
    hallo,

    erst mal danke für das tolle Plugin, funktioniert soweit sehr gut!

    bin leider noch rechter Anfänger, deshalb eine eher allgemeine Frage die wohl eher Python betrifft:

    Ich möchte eine liste Verschicken, z.B. "Aktueller Stromverbrauch"

    sh.pushbullet.list("Aktueller Stromverbrauch",[sh.OG.System.Strom.Leistung_Server(), sh.OG.Arbeit.Strom.Leistung()])

    Funktioniert, nur bekomme ich halt eine Liste mit Zahlen was mir nicht so recht weiter Hilft. Gibt es einen einfachen Weg die Items der Liste zu beschriften oder muss ich mir zuerst selbst Strings zusammenbauen die ich dann dem Plugin übergebe?

    Christian

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Schön zu hören das es wieder läuft, vermutlich haben sie doch was an der alten API gedreht.
    Ich habe die Änderungen für die v2 Api jetzt zum Pull-Request gestellt, vermute mal das diese in absehbarer Zeit dann auch im Smarthome-Development Stand landen.

    @greentux
    Wie das Projekt finanziert wird weiß ich nicht.

    Was ich an Pushbullet (neben dem nicht vorhandenen Preis) praktischer fand als bei NMA waren die verschiedenen Note-Types und das Mirroring zwischen Chromebrowser und Telefon ist wirklich gut. Selbst bei lautlosem Telefon sieht man direkt nen Anruf oder ne WhatsApp als Nachricht im Browser - top!

    Als Idee schwirrt mir noch im Kopf rum beim drücken der Klingel nen Foto vom Besucher zu pushen, dann weiß man direkt ob sich das Aufmachen lohnt - falls mal die Schwiegereltern vorbeischauen ;-)

    Grüße

    Lars

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    hab jetzt mal das Plugin V2 ausprobiert - damit klappen es wieder.
    Danke für Deine Mühen,

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X