Wenn die Empfänger in einem item stehen, würde sich da nicht der Datentyp "List" anbieten? ( https://knx-user-forum.de/smarthome-...type-list.html )
Wenn der so funktioniert wie ich glaube könnte man da direkt drüber iterieren. Dann spart man sich das "split" an einem Trennzeichen.
Grüße,
Lars
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Plugin: Pushbullet
Einklappen
X
-
Hi Lars,
ja, wäre auch eine Möglichkeit, gute Idee. Würde es dann evtl. einfacher machen als im Plugin.
Im Moment hole ich mir den Empfänger aus der items.conf um dynamischer in den Logiken zu bleiben, d.h. ich müßte dann die Suchlogik mit dem ; als Trennzeichen dort einbauen. Gute Idee, passt evtl. auch besser.
Werde das mal so umsetzen und berichten.
Cheers,
Oliver
Einen Kommentar schreiben:
-
Hey Oliver,
theoretisch wäre das durchaus denkbar das ganze um ne Liste von devices zu erweitern. Du könnest natürlich auch in deiner aufrufenden Logik anstelle von mehreren Aufrufen selbst über ein Array von Empfängern iterieren:
Code:for device in ["device1", "device2", "device3"]: sh.pushbullet.note("Note to myself.", "Call my mother.", device)
Grüße,
Lars
Einen Kommentar schreiben:
-
Hi Lars,
danke für das Feedback. Habe den Merge heute schon gesehen, wobei mir klar ist was sich zu den letzten Änderungen geändert hat.
Ich mußte bei mir einiges bzgl. Alerting umbauen, daher habe ich das Thema erst mal wieder deaktivieren müssen, wird nun aber wieder aktiv in das Alerting eingebunden.
Falls Du nochmal Zeit und Muße hast hätte ich noch einen Feature-Request:
Soweit ich bislang recherchiert habe kann man eine Message bislang immer nur an ein Device oder eine Emailadresse versenden, das bei SMTP übliche Mehrfachverteilen mittels ; als Trennzeichen wird von der API nicht angeboten.
Was meinst Du, wäre das mit einem vertretbaren Aufwand möglich? Quasi parsen auf das Trennzeichen, Trennen und dann via Schleife einzeln absetzen? Gerade bei dem einen oder anderen Alarm wäre das sehr hilfreich, im Moment helfe ich mir da mit jeweils 2 hardcodierten Aufrufen.
Ich muß mich da mal in Python-Magic reinfuchsen.
Cheers,
Oliver
Einen Kommentar schreiben:
-
Nabend,
lange war es ruhig und neue Features gibt es aktuell nicht, ich darf jedoch verkünden das seit heute die letzte Version auch im Smarthome.py Develop Branch zu finden ist.
@Marcus danke fürs mergen.
Grüße Lars
Einen Kommentar schreiben:
-
Hallo Marcus,
ich muss mir nur noch mal deinen aktuellen Dev-Branch rüberholen, damit es beim PR nicht unübersichtlich wird.
Mach ich morgen mal fertig und dann stell ich Dir den PR zurück in deinen develop ein.
Grüße,
Lars
Einen Kommentar schreiben:
-
Hallo Lars,
wie wäre es mit einem kleinen Pull-Request? Nach dem OK von lbernau würde ich Ihn akzeptieren.
Danke und bis bald
Marcus
Einen Kommentar schreiben:
-
Freut mich das ich helfen konnte.
Hab gerade noch mal ne kleine Änderung gemacht, so dass nun auch die globale (aus der Plugin-Config) deviceId ne eMail-Adresse sein darf.
Grüße,
Lars
Einen Kommentar schreiben:
-
Perfekt!
Hi Lars,
DICKES DANKE!
Läuft und schnurrt nun perfekt!
Warum auch immer hatte ich bei dieser Version des Plugins nun auch das Problem mit python-magic.
Da kein pip auf dem PY ist habe ich die Installation dann analog dem requests vorgegangen
Cheers,Code:git clone git://github.com/ahupp/python-magic.git cd python-magic sudo python3 setup.py install
Oliver
Einen Kommentar schreiben:
-
Wow, ich bin platt.
Bin echt gespannt wie ein Flitzebogen; meine Tests gingen alle daneben. Is wahrscheinlich so wie bei Montoya damals.... Erst ging ihm das Talent aus und dann die Strasse. Bei mir: Erst das Talent und dann die Zeit
Ich teste und berichte...
Cheers,
Oliver
Einen Kommentar schreiben:
-
So
Ich hab mal ein paar Minuten Zeit gefunden und es funktioniert offensichtlich ohne Probleme.
Wenn nun eine (valide) eMail-Adresse als deviceId angegeben wird, so wird der Push an diesen Kontakt versendet.
Eine neue Version habe ich im github-Repository eingecheckt.
Aktualisierte Dateien sind hier zu finden:
https://github.com/lbernau/smarthome...ins/pushbullet
Falls es doch noch Probleme gibt: immer her damit, ich versuche sie zu lösen ;-)
Grüße,
Lars
Einen Kommentar schreiben:
-
Keep cool, das läuft uns nicht davon und die Ansteuerung der Devices innerhalb des eigenen Accounts klappt wunderbar.
Fehler gibt es keine, im Gegenteil: Es wird ein 200 successful im Log mitgeschrieben. Aber im Pushbullet-Log bei den eigenen versendeten Meldungen tritt bei der Meldung ein Dismiss=True auf und die Emailadresse lautet dann auf die des API-Keys.
Muß an dieser Stelle leider nun auch erst mal pausieren, melde mich aber wieder.
BTW: Wenn das mit der Email klappt sollten wir m.E. überlegen inwieweit eine Versendung an eine DeviceID noch Sinn macht. Pushbullet schreibt zwar das kein Mirroring mgl. sei, andererseits schlagen die Meldungen an eine Emailadresse bei mir im Test immer bei allen Devices auf. ... Aber beide Optionen ist sicherlich das Non-Plus-Ultra
Cheers,
Oliver
Einen Kommentar schreiben:
-
Moin,
also auf den ersten Blick in die API spricht eigentlich nichts dagegen, dass der Push mit den Änderungen oben funktioniert.
Ich weiß noch nicht ob ich heute Abend mal ein paar Minuten Zeit finde es auszuprobieren.
Wenn du n Fehler bekommst, dann poste bitte mal das Log, vielleicht sieht man was.
Ggf. den zusätzlich veränderten Code.
Bis später,
Lars
Einen Kommentar schreiben:
-
Hi Lars,
bin nun schon seit gestern am Testen mit dem Parameter email und habe den Code für den Test etwas abgestrickt. Strange... Mit Curl klappt es, mit den debugs sieht es eigentlich auch so aus damit alles sauber übertragen wird, aber in der Realität bekomme ich dann einen Dismiss=True im Senderlog und dann schickt er es an die Adressen des API-Owners.
Ich tüftle weiter und werde mal Deine Zeilen ausprobieren bzw. einbauen.
Keep you in the loop.
Cheers,
Oliver
Einen Kommentar schreiben:
-
Hey Oliver,
danke fürs Feedback.
Die Doku werde ich die Tage mal etwas aufpimpen.
Für die Sache mit der eMail-Adresse könnte man auch evtl. einfach den "device"-Parameter parsen und prüfen obs ne eMail ist. Wenn ja, setzt man den Param "email" ansonsten halt "device_iden".
Aus dem Bauch heraus und völlig ungetestet:
Zeile 95-97 ersetzen durch: (Einrückung beachten)
Code:if deviceid: if re.match(r"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", deviceid): data["email"] = deviceid else: data["device_iden"] = deviceid else: data["device_iden"] = self._deviceid
Grüße,
Lars
Einen Kommentar schreiben:


Einen Kommentar schreiben: