Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Plugin: Pushbullet
Einklappen
X
-
Hattest natürlich recht. Blöder Anfänger-Fehler. Jetzt klappt es. Vielen Dank.
- Likes 1
-
Sieht so aus, als sei da kein Git Checkout gemacht worden sondern einfach Copy and Paste aus dem Browser ohne in das RAW Format zu gehen.. Da ist HTML im File...
PS: die delete Methode sehe ich im aktuellen GIT Code (1.2er Branch) enthalten
Zuletzt geändert von psilo; 13.07.2016, 06:18.
Einen Kommentar schreiben:
-
Bin einen Schritt weiter, aber auch ncht wirklich schlauer, liegt wahrscheinlich hieran:
Code:2016-07-11 22:56:53,732 DEBUG Main Plugin: pushbullet -- plugin.py:__init__:43 2016-07-11 22:56:53,737 ERROR Main Plugin pushbullet exception: invalid syntax (__init__.py, line 5) -- plugin.py:__init__:57 Traceback (most recent call last): File "/usr/local/smarthome/lib/plugin.py", line 53, in __init__ plugin_thread = Plugin(smarthome, plugin, classname, classpath, args) File "/usr/local/smarthome/lib/plugin.py", line 79, in __init__ exec("import {0}".format(classpath)) File "<string>", line 1, in <module> File "/usr/local/smarthome/plugins/pushbullet/__init__.py", line 5 <!DOCTYPE html> ^ SyntaxError: invalid syntax
Einen Kommentar schreiben:
-
Hallo, habe auch versucht das Plugin zu implementieren. Beim Test in Smarthome kommt folgende Fehlermeldung:
Hat jemand eine Idee?Code:Python 3.2.3 (default, Mar 1 2013, 11:53:50) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> Unhandled exception in thread started by <bound method Thread._bootstrap of <Thread(zeit, stopped -1269828496)>> sh.pushbullet.note("Note to myself.", "Call my mother.") Traceback (most recent call last): File "<console>", line 1, in <module> AttributeError: 'SmartHome' object has no attribute 'pushbullet'
Mfg Micha
Einen Kommentar schreiben:
-
Hi,
habe das hier drinnen bei def_init:
Cheers,Code:def __init__(self, smarthome, apikey=None, deviceid=None, debug=False): logging.getLogger("requests").setLevel(logging.WARNING)
Oliver
Einen Kommentar schreiben:
-
Shai inwieweit SH wirklich multithreaded ist ist mir auch noch nicht so ganz klar.. es spannt ja 7 threads auf, aber ob ich dann bspw in einer logik problemlos ein wait machen kann und wie sich pushbullet dann später beim löschen verhält (wird es vom handy dann auch wieder gelöscht?) ist spannend. lasse die nachrichten jetzt erstmal drin, top secret ist da eh nichts und PB macht sicher auch vorratsdatenspeicherung.. sicher nur ein delete flag auf deren seite dran. kein echtes delete..
Einen Kommentar schreiben:
-
Hey,
schön zu hören das es auf anhieb lief.
@Oliver
Wo hast Du die Zeile ""logging.getLogger("requests").setLevel(loggi ng.W A RNING)")" genau eingebaut - dann würde ich das noch übernehmen und anschließend mal einen neuen Pull-Request stellen, bzw. die Readme noch erweitern.
psilo
Das die Nachricht sofort gelöscht wird ist bei deinem Code tatsächlich erst einmal logisch, da das ganze ja einfach sequenziell abgearbeitet wird also im Millisekundenbereich. Vermutlich würde es helfen vorm Löschen das ganze etwas warten zu lassen z.B. mit "time.sleep(xxx)"
Ich weiß allerdings gerade nicht ob dabei das ganze Smarthome.py kurz angehalten werden würde (Single-Thread).
Alternativ evtl. mit "autotimer" oder so, nach x Sekunden das Feld zurücksetzen und in die Logik einbauen wenn das Item geleert wird das Delete auszuführen.
Code:import time; if sh.communication_items.pushbullet_note(): response = sh.pushbullet.note("Neue Nachricht", sh.communication_items.pushbullet_note()) iden = response['iden'] [COLOR=#FF0000] sh.communication_items.pushbullet_note("") [/COLOR] time.sleep(1000) sh.pushbullet.delete(iden)Zuletzt geändert von Shai; 10.11.2015, 13:46.
Einen Kommentar schreiben:
-
Hmm ich pers. finde nen Sendebutton nervig. Muss aber mal schauen, wie es mit Touch ohne den Button funktioniert.. Umgebaut ist das mit JS ja schnell.
Update: geht mit Touch super.. Man muss ja nur bestätigen. Wenn ich separat auf nen Button gehen muss, dauert das zu lange und keiner nutzt es, finde ich.
PS: der Loop leuchtet mir gerade nicht ein, weil ich ja mit watch_item auf dem Ding horche.. Ich dachte die Logik zieht dann nur bei Veränderung des Items und nur einmalig. Muss mal nen Debugoutput reinhauen anstatt dem Versenden.. Vielleicht hatte ich anfangs noch nen anderen Fehler
PPS: ein Clearen des Feldes macht so oder so aber Sinn, a) Feedback dass es geklappt hat b) für neue Nachrichten..Code:[CommunicationLogic] filename = communication.py watch_item = communication_items.pushbullet_noteZuletzt geändert von psilo; 08.11.2015, 16:53.
Einen Kommentar schreiben:
-
THX! Schau ich mir gleich mal an. Das Textinput-Widget hatte ich schon gar nicht mehr auf'n Schirm..
Das mit der letzten Zeile erscheint mir logisch, schaue ich mir aber auch mal an. Macht es evtl. Sinn hier mit einem Sendenbutton zu arbeiten? Wird grad aber offtopic, melde mich da nochmal.
Cheers,
Oliver
Einen Kommentar schreiben:
-
Habs auf der Basis gemacht: https://github.com/herrmannj/smartvi...ster/textinput
Die Files aus dem Repo bei mir im Projekt unter dem Folder "widgets" abgelegt..
In der SmartVisu eingebettet mit
SH Item:Code:<script src="pages/<projektname>/widgets/widget_textinput.js"></script> {% import "widgets/widget_textinput.html" as textinput %} {{ textinput.textinput("note", "communication_items.pushbullet_note", "Nachricht:") }}
SH Logik:Code:[communication_items] [[pushbullet_note]] type = str visu_acl = rw enforce_updates = true #weiss nicht ob man das braucht ;-)
Wichtig die rote Zeile, sonst greift bei mir - warum auch immer - die Logik in nem Endlos-Loop. Und Du spammst PushBullet zu..Code:if sh.communication_items.pushbullet_note(): response = sh.pushbullet.note("Neue Nachricht", sh.communication_items.pushbullet_note()) #iden = response['iden'] #sh.pushbullet.delete(iden) [COLOR=#FF0000] sh.communication_items.pushbullet_note("")[/COLOR]
Wenns Probleme gibt einfach melden.Zuletzt geändert von psilo; 08.11.2015, 16:40.
Einen Kommentar schreiben:
-
Ist bei mir auch so beim exzessiven Testen aufgetreten, soll aber m.E. nach so sein... Bei mir wird allerdings nur der N-1 gelöscht, nicht die aktuelle Nachricht.
Datenschutz ja, naja, das sind so Pillepalle-Meldungen, da wird keiner mit glücklich. Weiter bleibt m.E. die Nachricht auch bei einer Löschung im Log ersichtlich, daher bringt das Löschen da m.E. nix bzgl. Datenschutz.
Das mit dem Eingabefeld würde mich auch interessieren, finde ich ne klasse Idee das aus der Visu raus zu machen, soweit war ich noch gar nicht...
Magst den Code teilen, ggf. in einem eigenen Thread im SV (mit Kreuzverweis)? ***ich weiß, unverschämt
***
Einen Kommentar schreiben:
-
So nachdem ich wegen meinem Synology System die libmagic.so jetzt neu gebaut habe geht es bei mir auch :-) Super Plugin. Mit dem Löschen habe ich das Symptom, dass er wohl so schnell löscht, dass die Meldung nicht mehr ans Handy ausgeliefert wird. In der Webapp von PushBullet sehe ich kurz die Nachricht, bevor sie dann wieder weg ist. Habt ihr das auch? Ich fände nachträgliches Löschen aus Sicht des Datenschutzes nicht schlecht (sofern das wirklich "echtes" Löschen dort ist..)
Hab mir in der Smartvisu noch nen Input-Feld gebaut mit dem meine Frau mir schnell Nachrichten schicken kann. Eigentlich ganz praktisch.
Einen Kommentar schreiben:
-
Hey Lars,
das sieht verdammt gut aus. Erste Tests mit Zwischenspeicherung der ID und anschließender Löschung haben 1A geklappt. Habe nun meine Logik testweise angepasst und werde nun Zug um Zug die nächsten Scripts umstellen. Werde berichten....
Danke nochmal, klasse!
Cheers,
Oliver
P.S.: Sollten die folgende Zeile noch am Anfang beim Init einbauen (zur Unterdrückung der API-Meldung beim Versenden "logging.getLogger("requests").setLevel(logging.WA RNING)")
Einen Kommentar schreiben:


Einen Kommentar schreiben: