NEWS
Beispiele mit Pushbullet
-
Hallo hat jemand mit dem Pushbullet Adapter Erfahrungen.
Ich würde gerne mal ein paar Anwendungsmöglichkeiten sehen. Mich interessiert z.B. eine Pushnachricht wenn ein Gerät einen Job erledigt hat, wie z.B Waschmaschine. Strommesser ist vorhanden.
Gruß Michael
-
Hallo Michael,
ich hab diese Lösung implementiert, genau diese Geräte, Waschmaschine und Trockner. Ein Script kann ich dir ev. am Nachmittag posten.
Geht grundsätzlich ganz gut, nur kommen alle Nachrichten doppelt - da hat der Adapter einen Fehler.
Ich hab auf Google einen eigenen Benutzer namens Haussteuerung eingerichtet und diesen Nutzer bei Pushbullet eingetragen. Von diesem Benutzer aus sende ich dann an meine Frau und mich die Nachrichten. Zusätzlich gibt's am Wohnzimmer Tablett einen Gong und eine Sprachansage.
Grüße
etv
-
Das klingt cool. Wenn du mir das Script mal senden könntest, würde ich mich freuen. Gruß Michael
-
Ich benutze Telegram für interaktive Kommunikation mit dem Haus und Webcamfotos, und Pushbullet nehme ich für Warnungen und bestimmte Meldungen.
zB für meine Alarmanlage, wenn sich ein Fenster oder eine Tür öffnet, ohne dass jemand Zuhause ist. Dabei werden Fensteröffnungen, die automatisch durch mein Lüftungsscript ausgelöst werden, ausgeschlossen.
Die Priorität der Nachricht ist hoch und wird rot im Handy und extra Klingelton angeschaltet.
// Forum: http://forum.iobroker.net/viewtopic.php?f=21&t=2473 // Horcht an allen Gewerken (functions) unter "Alarm" und sendet bei Statusänderung // Schließt die beiden Kellerfenster vom Alarm aus, sofern das Lüftungsscript die Öffnung/Schließung angestoßen hat // wenn Jalousieaktorstatus (= Aktor für die Fenstermotoren) auf WORKING steht, dann ausschließen! $('channel(functions=Alarm)[state.id=*.STATE]').on(function (event) { // An "Alarm"-Gewerke nach Statusänderungen prüfen var _obj = getObject(event.id, 'functions'); log("---------------------------------------------------"+ event.channelName, "info"); var jemandzuhause = getState(jemandzuhauseid).val; // IDs auslesen var kellerscriptsi = getState(kellerscriptsiid).val; var kellerscriptwa = getState(kellerscriptwaid).val; if((event.channelName !== 'Fenstersensor Keller Sicherungsraum' && kellerscriptsi !== true) || // Ausschluss Kellerfenster bei automatischer Öffnung/Schließung (event.channelName !== 'Fenstersensor Keller Waschraum' && kellerscriptwa !== true)) { if(jemandzuhause < 1) // Prüft ob jemand Zuhause ist { sendTo("pushover", {message: 'ALARM: ' + event.channelName + ' hat angeschlagen!', priority: 1}); // wenn nein, Alarmnachricht //setState(sayit_vol, 100); //setState(sayit_txt, "Der "+ event.channelName +" hat angeschlagen."); // Jalous alle herunterfahren } } });
Als Text kommt dann "Der Fenstersensor Küchenfenster links hat angeschlagen."
Oder eine einfache Pushbullet-Nachricht bei einer Fensteröffnung:
on({id: "hm-rpc.0.MEQ02xxxxx.1.STATE"/*Fenstersensor Keller Waschraum.STATE*/, val: true, change: "ne"}, function() { //Bei Änderung auf TRUE sendTo("pushover", "Fenster wurden geöffnet"); // Sende Pushover Nachricht });
-
Hallo,
ich nutze Pushbullet u.a. für folgendes:
Da unser Telefon i.d.R. im Flur steht und unsere kleine Tochter während des Mittagschlags und Nachts nicht geweckt wird, haben wir den Klingelton in bestimmten Zeitfenstern ausgeschaltet. Damit jedoch kein Anruf untergeht, benachrichtigt uns, je nachdem wer zu Hause ist, iobroker über den eingehenden Anruf (bereits beim klingeln), sodass wir den Anruf auch annehmen können.
var IDTelefonKlingelt = "fritzbox.0.calls.ring"/*ring activ?*/; var IDTelefonNummer = "fritzbox.0.calls.ringActualNumber"/*actual last ringing number*/; var IDAnwesendAndi = "hm-rega.0.5164"/*anwesenheit.andi*/; var IDAnwesendMelli = "hm-rega.0.5165"/*anwesenheit.melli*/; // ----------------------------------------------- // Trigger // ----------------------------------------------- on({id: IDTelefonKlingelt, change: "ne", val: true, logic: "and"}, sendeBenachrichtigung); // ----------------------------------------------- // Aktionen // ----------------------------------------------- function sendeBenachrichtigung() { if(isTimeInRange('20:00:00', '07:00:00') || isTimeInRange('13:00:00', '16:00:00')) { setTimeout(function(){ nachricht = getState(IDTelefonNummer).val + " ruft an"; if (getState(IDAnwesendAndi).val === true) { sendTo("pushbullet", { message: nachricht, title: "Telefon", type: "note" }); } if (getState(IDAnwesendMelli).val === true) { sendTo("pushbullet", { message: nachricht, title: "Telefon", type: "note", receiver: "emfpaenger2@gmail.com" }); } }, 10); } }
Damit ich für den Adapter nur eine Instanz einrichten muss, werden weitere Personen über die E-Mail Adresse identifiziert.
-
Vielen Dank, dass ist mal ne coole Idee
gruß Michael
-
Hallo Michael,
anbei das versprochene Script mit dem Waschmaschinen Alarm:
// Waschmaschine AKTIV - V1.5 // inkl. abwarten bei falschem FERTIG-Alarm (30 Sekunden Pause) // Funktion send Message on ({id: "hm-rega.0.21500", val: 3}, function () { var jetzt = new Date(); var Stunde = jetzt.getHours(); var Minute = jetzt.getMinutes(); if (Minute <= 9) { Minute = "0" + Minute; } setState("hm-rega.0.21500", 4); var anwesend_Tom = getState("hm-rega.0.6457").val; var anwesend_Sonja = getState("hm-rega.0.6456").val; // Ausgabe am Tablett: var request = require("request"); var Url = "http://192.168.68.30:50000/track=gong.mp3"; request(Url); Url = "http://192.168.68.30:50000/tts=die Waschmaschine ist jetzt fertig"; request(Url); // wenn Sonja da, dann Nachricht senden! if (anwesend_Sonja){ sendTo("pushbullet", { message: "Die Waschmaschine ist seit " + Stunde + ":" + Minute + " fertig!", title: "Waschmaschine fertig", type: "note", receiver: "Sonja.Exel@gmail.com" }); } // wenn Tom da, dann Nachricht senden! if (anwesend_Tom){ sendTo("pushbullet", { message: "Die Waschmaschine ist seit " + Stunde + ":" + Minute + " fertig!", title: "Waschmaschine fertig", type: "note", receiver: "Thomas.Exel@gmail.com" }); } }); // Werteliste // 0...ausgeschaltet // 1...eingeschaltet und noch nicht gelaufen // 2...Waschmaschine läuft // 3...Waschmaschine ist fertig // 4...Waschmaschine fertig UND Nachricht gesendet // Waschmaschine ist ausgeschaltet on ({id: "hm-rpc.0.MEQ0271152.2.CURRENT", valLe: "35", change: "ne", logic: "and"}, function () { var Status = getState("hm-rega.0.21500").val; if (Status != 2){ clearStateDelayed("hm-rega.0.21500"); setState("hm-rega.0.21500", 0); } }); // Waschmaschine läuft on ({id: "hm-rpc.0.MEQ0271152.2.CURRENT", valGt: "1000", change: "gt", logic: "and"}, function () { var Status = getState("hm-rega.0.21500").val; if (Status != 2){ clearStateDelayed("hm-rega.0.21500"); setState("hm-rega.0.21500", 2); } }); // Waschmaschine ist ein oder fertig on ({id: "hm-rpc.0.MEQ0271152.2.CURRENT", valLe: "42", valGe: "40", logic: "and"}, function () { var Status = getState("hm-rega.0.21500").val; if (Status === 0){ clearStateDelayed("hm-rega.0.21500"); setState("hm-rega.0.21500", 1); } if (Status == 2){ setStateDelayed("hm-rega.0.21500", 3, 60000); } });
Schöne Grüße
Tom
-
@etv:Hallo Michael,
anbei das versprochene Script mit dem Waschmaschinen Alarm:
// Waschmaschine AKTIV - V1.5 // inkl. abwarten bei falschem FERTIG-Alarm (30 Sekunden Pause) // Funktion send Message on ({id: "hm-rega.0.21500", val: 3}, function () { var jetzt = new Date(); var Stunde = jetzt.getHours(); var Minute = jetzt.getMinutes(); if (Minute <= 9) { Minute = "0" + Minute; } setState("hm-rega.0.21500", 4); var anwesend_Tom = getState("hm-rega.0.6457").val; var anwesend_Sonja = getState("hm-rega.0.6456").val; // Ausgabe am Tablett: var request = require("request"); var Url = "http://192.168.68.30:50000/track=gong.mp3"; request(Url); Url = "http://192.168.68.30:50000/tts=die Waschmaschine ist jetzt fertig"; request(Url); // wenn Sonja da, dann Nachricht senden! if (anwesend_Sonja){ sendTo("pushbullet", { message: "Die Waschmaschine ist seit " + Stunde + ":" + Minute + " fertig!", title: "Waschmaschine fertig", type: "note", receiver: "Sonja.Exel@gmail.com" }); } // wenn Tom da, dann Nachricht senden! if (anwesend_Tom){ sendTo("pushbullet", { message: "Die Waschmaschine ist seit " + Stunde + ":" + Minute + " fertig!", title: "Waschmaschine fertig", type: "note", receiver: "Thomas.Exel@gmail.com" }); } }); // Werteliste // 0...ausgeschaltet // 1...eingeschaltet und noch nicht gelaufen // 2...Waschmaschine läuft // 3...Waschmaschine ist fertig // 4...Waschmaschine fertig UND Nachricht gesendet // Waschmaschine ist ausgeschaltet on ({id: "hm-rpc.0.MEQ0271152.2.CURRENT", valLe: "35", change: "ne", logic: "and"}, function () { var Status = getState("hm-rega.0.21500").val; if (Status != 2){ clearStateDelayed("hm-rega.0.21500"); setState("hm-rega.0.21500", 0); } }); // Waschmaschine läuft on ({id: "hm-rpc.0.MEQ0271152.2.CURRENT", valGt: "1000", change: "gt", logic: "and"}, function () { var Status = getState("hm-rega.0.21500").val; if (Status != 2){ clearStateDelayed("hm-rega.0.21500"); setState("hm-rega.0.21500", 2); } }); // Waschmaschine ist ein oder fertig on ({id: "hm-rpc.0.MEQ0271152.2.CURRENT", valLe: "42", valGe: "40", logic: "and"}, function () { var Status = getState("hm-rega.0.21500").val; if (Status === 0){ clearStateDelayed("hm-rega.0.21500"); setState("hm-rega.0.21500", 1); } if (Status == 2){ setStateDelayed("hm-rega.0.21500", 3, 60000); } });
Schöne Grüße
Tom `
Hallo Tomum welche Variable auf der CCU handelt es sich bei "hm-rega.0.21500" die anderen sind für mich ersichtlich, aber diese :?
Gruß
Adrian
-
m welche Variable auf der CCU handelt es sich bei "hm-rega.0.21500" `
Es kann sich nur um diese SV handeln:// Werteliste // 0...ausgeschaltet // 1...eingeschaltet und noch nicht gelaufen // 2...Waschmaschine läuft // 3...Waschmaschine ist fertig // 4...Waschmaschine fertig UND Nachricht gesendet
-
m welche Variable auf der CCU handelt es sich bei "hm-rega.0.21500" `
Es kann sich nur um diese SV handeln:// Werteliste // 0...ausgeschaltet // 1...eingeschaltet und noch nicht gelaufen // 2...Waschmaschine läuft // 3...Waschmaschine ist fertig // 4...Waschmaschine fertig UND Nachricht gesendet ```` `
Jetzt wo du das sagst, sehe ich es auch. Bin leider ein Javascript DAU :oops: versuche mich da durchzubeißen, aber gelingt nicht immer…
Danke paul53
Wie könnte man das machen, damit keine Variablen auf der CCU benötigt werden. Ich würde gern das ganze auf ioBroker laufen haben :mrgreen:
-
Wie könnte man das machen, damit keine Variablen auf der CCU benötigt werden. `
Im Reiter "Objekte" unter der Javascript-Instanz einen neuen Datenpunkt vom Typ "Werteliste" erzeugen
und die entprechenden Attribute eintragen
-
…ja, diese Variable ist nur mehr ein "Überbleibsel" von früher, als das Script auf der CCU lief. Ich hab es nicht geändert, weil ich so auch über Homedroid von unterwegs schauen kann, ob die Maschinen fertig sind...
Schöne Grüße
Tom