Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin: Pushbullet

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

  • greentux
    antwortet
    Ich habe das notify my android Problem durch "kaufen" gelöst
    Weiss einer, wie sich pushbullet finanziert?

    Die Taskterintergration klingt spannend.

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Kurzes Update:

    Wer möchte kann die API-V2 Anbindung ausprobieren.
    Die aktualisierte "__init__.py" liegt aktuell noch in meinem Github, ist aber soweit durchgetestet.

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


    https://github.com/lbernau/smarthome...et/__init__.py


    Neu in der API sind unter anderem die "body" Parameter für "file" und "link", damit bestehende Logiken kompatibel bleiben, habe ich diese als optionalen Parameter hinten hinzugefügt, das bedeutet wer keinen API-Key oder Device-Id im Aufruf sendet muss die Nachricht folgendermaßen (explizit) hinzufügen

    Code:
    sh.pushbullet.link("Pushbullet", "http://www.pushbullet.com", body="Hier gehts zu Pushbullet.com")

    Viel Spaß damit.

    Bei Problemen einfach melden.

    Grüße,

    Lars

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Moin,

    "Samsung GT-I9300" - ist vermutlich nur ein Platzhalter für die Device-ID, oder?
    Diese ist ja eigentlich ne "wilde" Kette aus Buchstaben. Bsp: "ujjuzwaysiOdjzHASWDzOK"

    Merkwürdig ist das es wohl Fälle gibt wo es weiterhin geht und andere wo der Fehler auftritt.

    Könntet Ihr testweise mal von der Konsole aus folgendes ausführen?

    Wichtig ist der ":" hinter dem access token.

    Code:
    curl -u <access token>: [url]https://api.pushbullet.com/api/pushes[/url] -d type=note -d title="Testnotiz" -d body="Inhalt der Nachricht" -d device_iden=<deviceId>
    Damit solltet Ihr ebenfalls n Push an das Gerät schicken können.

    Falls dort die selbe Fehlermeldung zurück kommt, so wäre könnte es helfen mal die Ausgabe zu sehen.


    Grüße,

    Lars

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hallo Lars,

    bei mir leider auch das gleiche Problem mit der gleichen Fehlermeldung:
    Code:
    Pushbullet returns: Bad Request - Often missing a required parameter.
    Letzte erfolgreiche Pushnachricht war von 3 Tagen...

    Ich teste mal weiter!

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Monti
    antwortet
    Also hier funktioniert noch alles ...

    Einen Kommentar schreiben:


  • grisu911
    antwortet
    Hatte es auch schon versucht indem ich smarthome.py mit der Option -i gestartet habe und dann alles wie nach Anleitung eingegeben habe.

    sh.pushbullet.note("Text", "Nachricht", "Samsung GT-I9300", "Access Token")

    im Log war die gleiche Fehlermeldung zu sehen.

    Mit "Reset Access Token" müsste doch ein neuer apikey erstellt werden oder? Vielleicht hilft ja das?

    Grisu911

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Hey,

    ich habe gerade mal fix über n einfachen Rest Client versucht nen Push zu schicken, da geht es noch und auch mein "Klingel" Trigger lief (vor 5 Minuten) problemlos durch.

    - DeviceId und AccessToken haben sich nicht zufällig geändert?


    Mehr Ideen warum es bei Dir auf einmal nicht funktioniert habe ich aktuell nicht.


    PS: Ich bin bereits in der Entwicklung um das Plugin auf die API 2.0 umzustellen, Code ist primär fertig bin aber noch nicht wirklich zum Testen gekommen. Hier hoffe ich im Laufe der Woche die neue Version fertig zu haben (noch ohne neue Features, nur mit neuem Endpoint). Gerade der File-Transfer hat sich doch gravierend verändert.


    Grüße,

    Lars

    Einen Kommentar schreiben:


  • grisu911
    antwortet
    Hallo,

    wurdere mich seit einigen Tagen warum ich keine Benachrichtigung mehr bekomme.
    Habe im Log nun folgendes festgestellt:
    Code:
    2014-06-22 20:17:38,558 INFO     Main         Starting new HTTPS connection (1): api.pushbullet.com -- connectionpool.py:_new_conn:657
    2014-06-22 20:17:39,368 DEBUG    Main         "POST /api/pushes HTTP/1.1" 400 None -- connectionpool.py:_make_request:350
    2014-06-22 20:17:39,381 WARNING  Main         Pushbullet returns: Bad Request - Often missing a required parameter. -- __init__.py:_push:73
    plugin.conf
    Code:
    [pushbullet]
        class_name = Pushbullet
        class_path = plugins.pushbullet
        deviceid = Samsung GT-I9300
        apikey = Accsess Token (api)
    und im logic-file rufe ich wie folgt auf
    Code:
    sh.pushbullet.note("Anwesenheit.", "Das Haus wurde ausgeschalten.")
    Hat hier pushbullet was geändert woran kann es liegen???

    Gruß Grisu

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Sehr sehr coole Sache. Vielen Dank schon mal für die bisherige Arbeit!

    Bin schon gespannt auf die weiteren Möglichkeiten..

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Gestern hat Pushbullet übrigens ne neue API rausgebracht die schon ein paar interessante Dinge kann, u.a. auch sich auf nen Stream zu verbinden, der bei neuen Pushes benachrichtigt.
    Könnte man dann in nen Item schreiben und in der Visu darstellen, oder sogar über einen Push ne Logik antriggern...

    Da das Wetter aber nu erst mal zur Sonne neigt ruft vorerst der Garten ;-)

    Einen Kommentar schreiben:


  • Shai
    antwortet
    Danke für den Hinweis, ich hab in der "readme.md" den Link zu Requests angepasst. Hier wird jetzt direkt auf die "Install Instructions" verwiesen.

    Bei mir hat "pip install requests" gereicht.

    Einen Kommentar schreiben:


  • Monti
    antwortet
    Sehr schöne Lösung. Zumal Pushbullet sowohl unter iOS als auch Android funktioniert. Hatte zunächst Boxcar probiert. Für die aktuelle Version scheint es derzeit aber keine API-Keys zu geben. Prowl als weitere Alternative ist schon ein wenig angegraut und nur unter iOS lauffähig.

    Als Python-Neuling musste ich erst einmal herausfinden, wie man requests installiert. Funktioniert hat es mit:

    Code:
    git clone git://github.com/kennethreitz/requests.git
    cd requests
    sudo python3 setup.py install

    Einen Kommentar schreiben:


  • Shai
    hat ein Thema erstellt Neues Plugin: Pushbullet.

    Neues Plugin: Pushbullet

    Hallo zusammen,

    ich habe gerade einen Pull-Request für den Development Stand gestellt, welcher ein neues Plugin integrieren soll. https://github.com/mknx/smarthome/pull/112

    Da mir das Notify my Android Plugin mit dem Limit von 5 Meldungen pro Tag "zu wenig" war bin ich im Play-Store auf "Pushbullet" (https://www.pushbullet.com/) gestoßen.

    Das Prinzip von Pushbullet ist im Grunde das gleiche wie NMA, erlaubt aber auch den Versand von anderen Notifications (wie z.B. Dateien, Links, Adressen).
    Wie auch bei NMA wird ein API-Key benötigt, den es kostenlos nach der Registrierung gibt.

    Die Push-Funktionen sind soweit durchgetestet, was ich nicht implementiert habe ist die Abfrage der registrierten Devices. Das könnte man evtl. noch mal zusätzlich aufnehmen, hier hatte ich aber bisher keine Notwendigkeit, da ich aktuell nur an 1 Device versende und keine Auswahl brauche.


    Wer es ausprobieren will kann sich auch meinen Smarthome-Dev Stand auschecken und im Plugin-Ordner den "pushbullet" Ordner in seine Installation übernehmen. (https://github.com/lbernau/smarthome/tree/develop)


    Feedback wird gern entgegen genommen.

    Grüße,

    Lars


    Hier schon mal der Inhalt der "Readme.md" als Anleitung:

    https://github.com/lbernau/smarthome...llet/README.md
    Code:
    Pushbullet
    Requirements
    
    Python libraries
    
    requests - http://docs.python-requests.org/en/latest/user/install/#install
    Other
    
    Pushbullet API-KEY - get it from here for free
    Configuration
    
    plugin.conf
    
    [pushbullet]
        class_name = Pushbullet
        class_path = plugins.pushbullet
    #   deviceid = 
    #   apikey = 
    Description of the attributes:
    
    apikey: set api-key globally so you do not have to set it in the function calls
    deviceid: set deviceid globally so it will be used as defaul target, you can override this on each call
    Functions
    
    Pass a 'deviceid' if no set globally or if you want to send to another device.
    Add 'apikey' if not set globally.
    
    sh.pushbullet.note(title, body [, deviceid] [, apikey])
    
    Send a note to your device.
    
    Parameters
    
    title: The title of the note
    body: The note's body
    Example
    
    #send simple note to default device
    sh.pushbullet.note("Note to myself.", "Call my mother.")
    sh.pushbullet.link(title, url [, deviceid] [, apikey])
    
    Send a link to your device.
    
    Parameters:
    
    title: The title of the page linked to
    url: The link url
    Example
    
    # send link to device with id: x28d7AJFx13
    sh.pushbullet.link("Pushbullet", "http://www.pushbullet.com", "x28d7AJFx13")
    sh.pushbullet.address(name, address [, deviceid] [, apikey])
    
    Send a address to your device.
    
    Parameters:
    
    name: The name of the place at the address
    address: The full address or Google Maps query
    Example
    
    # send address of "Eifel Tower" to default device
    sh.pushbullet.address("Eifel Tower", "https://www.google.com/maps/place/Eiffelturm/@48.85837,2.294481,17z/data=!3m1!4b1!4m2!3m1!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0")
    sh.pushbullet.list(title, title [, deviceid] [, apikey])
    
    Send a list of items to your device.
    
    Parameters:
    
    title: The title of the list
    items: The list items
    Example
    
    #send a shopping list to default device
    sh.pushbullet.list("Shopping list", ["Milk", "Eggs", "Salt"])
    sh.pushbullet.file(filepath [, deviceid] [, apikey])
    
    Send a file to your device.
    
    Parameters:
    
    filepath: absolute path to the file to push
    Example
    
    #send smarthome log file to default device
    sh.pushbullet.note("/usr/local/smarthome/var/log/smarthome.log")
Lädt...
X