NEWS
Pushover Text Formation
-
Mein Script ist ein Beispiel. Ganz unten wird die Function beim start ausgeführt das kannst Du auskommentieren. Allerdings ist das Script nicht dazu gedacht aus einen anderen Script auszuführen. Eigentlich implemntiert man die Function in seine Scripte und versendet dann die Push wenn es nötig ist.
Aus Deiner Ausführung befürchte ich das Du mein Script jedesmal deaktiviert und aktivierst? Das führt zwangsläufig zu Problemen.
-
Okay, dann muss ich doch noch JS lernen
-
Javascript lernen macht auf jeden Fall Sinn. Man ist flexibler. Bis es soweit ist probier mal dieses Script
// jshint maxerr:1000 /************************** * Schaltet eine Steckdose wenn Batterie vom ipad unter oder über eine Schwelle kommt * * 29.03.19 V1.00 Erste Version **************************/ var logging = true; var debugging = false; var sendpush = true; var id_ipad = ''; //Hier den Batteriestate vom ipad var id_Steckdose = ''; //Hier den State von der Steckdose var min = 20; var max = 98; var _prio = 0; var _titel; var _message; var _device = 'TPhone'; //var _device = 'All'; function send_pushover_V4 (_device, _message, _titel, _prio) { var pushover_Instanz = 'pushover.0'; if (_prio === 0){pushover_Instanz = 'pushover.0'} else if (_prio == 1){pushover_Instanz = 'pushover.1'} else if (_prio == 2){pushover_Instanz = 'pushover.2'} else {pushover_Instanz = 'pushover.3'} sendTo(pushover_Instanz, { device: _device, message: _message, title: _titel, priority: _prio, retry: 60, expire: 600, html: 1 }); } function func_ipad() { var Steckdose = getState(id_Steckdose).val; var ipad = getState(id_ipad).val; if(debugging){ log('Script wird ausgeführt'); } if(ipad <= min){ if(!Steckdose){ setState(id_Steckdose,true); if(logging){ log('Ipad wird geladen'); } //Push verschicken if(sendpush){ _prio = 0; _titel = 'Ipad'; _message = 'wird<font color="red">geladen</font>. '; send_pushover_V4(_device, _message, _titel, _prio); } } } else if(ipad >=max){ if(Steckdose){ setState(id_Steckdose,false); if(logging){ log('Ipad wird geladen'); } //Push verschicken if(sendpush){ _prio = 0; _titel = 'Ipad'; _message = 'ist <font color="red">geladen</font>.'; send_pushover_V4(_device, _message, _titel, _prio); } } } } //Schedule //schedule("15 6 * * *", func_ipad); //einmalig ausführen //func_ipad(); //Trigger on({id: id_ipad, change: "ne", ack: true}, func_ipad);
debug bitte bis es läuft auf true. Die Datenpunkte für die Steckdose und das ipad musst Du noch ergänzen. Die Batteriegrenzen kannst Du oben in min und max ggf. anpassen.
Habe das Script nicht getestet. Könnte aber funktionieren
Script enabled sollte nie benutzt werden. Sorgt nur für Probleme....
-
-
Das freut mich. Falls noch was ist einfach melden.
-
Habe jetzt feststellen müssen dass das Script nach einer „gewissen“ Zeit nicht mehr funktioniert. (Wenn kein Schaltvorgang benötigt würde). Im ioBroker steht dann im Script oben „Instanz deaktiviert“, das verschwindet dann wieder, der JS-Adapter läuft aber auf grün. Nach einem Neustart des Scripts läuft es wieder eine Zeitlang.
Installfixer habe ich schon drüber laufen lassen.
JS-Adapter 4.1.12Hast Du oder Jemand ne Idee für mich??
Danke und Grüße
-
Das liegt nicht an diesem Script. Verwendest Du noch andere? Das Script macht ja eigentlich nichts ausser auf den Datenpunkt zu reagieren. Bitte Debugging mal auf true. Im Log sollte dann bei jeder Änderung vom Datenpunkt eine Logzeile kommen.
-
Woher kommt eigentlich der Ladepunkt fürs ipad? Iobroker-App?
-
Ja aus der ioBroker-App
Habe ich mir schon gedacht das es nicht vom Script kommt. Debugging vom Script ist aktiv.
Bei Änderung durch Hand (bestätigt) kommt
2019-04-22 21:33:37.083 info script.js.iPadEG_Laden: Script wird ausgeführt
Bei Änderung durch die App klappt’s nicht
Bei denn anderen Skripten ist mir nicht aufgefallen. -
@cash said in Pushover Text Formation:
Ok. Dann lösch mal bitte in der letzten Zeile das hier:
, ack: true
-
Scheint zu funktionieren!! So langsam verstehe ich das JS immer mehr.
Ich Dank Dir noch mal!!!!!
-
Kein Problem. Wobei ich das mal als Fehler deuten würde. Die App müsste mit ack: true den Datenpunkt setzen nach meiner Meinung. Naja Hauptsache es geht...
-
Hallo,
ist es möglich in der Pushover Nachricht die aktuelle Zeit und Datum, sowie den Anwesenheitsstatus mit zu übertragen?
Habe es schon so versucht:
var WertAW; // Anwesenheit if (getState("hm-rega.0.12345").val == true) { WertAW = 'Anwesenheit'; } else { WertAW = 'Abwesenheit'; } on({id: 'hm-rpc.0.00166666666.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Alexa Lautstärke Wert = '35'; setState("alexa2.0.Echo-Devices.G2Aghhjjuuuu.Commands.speak-volume"/*Volume to use for speak commands*/, Wert); setState("alexa2.0.Echo-Devices.G0911HGHHUIZTR.Commands.speak-volume"/*Volume to use for speak commands*/, Wert); setState("alexa2.0.Echo-Devices.G0876GHJUZTRE.Commands.speak-volume"/*Volume to use for speak commands*/, Wert); // Gartenhaus Zu if (getState("hm-rpc.0.001345678.1.STATE").val == false) { setState("alexa2.0.Echo-Devices.10876543ddd677899999f.Commands.speak"/*speak*/, 'Gartenhaus wurde wieder geschlossen'); var logging = true; var debugging = false; var sendpush = true; var _titel; var _message; var _prio = 0; var _sound; var _token; //var _device = 'Erik'; var _device = 'All'; function send_pushover (_device, _message, _titel, _prio, _sound, _token) { // Version 4.00 vom 15.01.19 var pushover_Instanz = 'pushover.0'; sendTo(pushover_Instanz, { device: _device, message: _message, title: _titel, priority: _prio, sound: _sound, token: _token, retry: 60, expire: 600, html: 1 }); } function func_test() { //Push verschicken if(sendpush){ _prio = 0; _sound = 'pushover' _token = 'axxxxxxxxxxxx' _titel = 'Gartenhaus-Zu'; _message = 'Gartenhaus wurde am Uhr in ' ,WertAW, ' wieder <font color="#00CD00">geschlossen</font>.'; send_pushover(_device, _message, _titel, _prio, _sound, _token); }
Nur das funktioniert nicht.
Ich hätte gerne die Meldung so:
Gartenhaus wurde am 14.01.20 17:30 Uhr in Anwesenheit wieder geschlossen.
oder aber bei Abwesenheit:
Gartenhaus wurde am 14.01.20 17:35 Uhr in Abwesenheit wieder geschlossen.Danke
Gruß Ralf -
Mal ne Frage wie Ihr dies löst:
Im Pushover dashboard habe ich in meinem Account alle Familienmitglieder eingerichtet.
Nun ist es aber so, dass immer gleich alle Benachrichtigt werden.
Ist es möglich mit nur einem Account, Messages an bestimmte Handys zu senden oder muss ich für jeden einen Account einrichten?Danke für Eure Hilfe.
Pat
-
Hallo und mal eine Frage,
habe das Skript anpassen wollen, leider bleibt Pushover still.
Was mache ich falsch? Hat jemand einen Tipp, oder sogar die Lösung parat?Danke schon mal im Voraus
code_text: var logging = true; var debugging = false; var sendpush = true; var id_cpu = 'tinker.0.temperature.soc_temp' var max = 75; var _prio = 0; var _titel; var _message; var _device = 'iphone'; function send_pushover_V4 (_device, _message, _titel, _prio) { var pushover_Instanz = 'pushover.0'; if (_prio === 0){pushover_Instanz = 'pushover.0'} else if (_prio == 1){pushover_Instanz = 'pushover.0'} else if (_prio == 2){pushover_Instanz = 'pushover.0'} else {pushover_Instanz = 'pushover.0'} sendTo(pushover_Instanz, { device: _device, message: _message, title: _titel, priority: _prio, retry: 60, expire: 600, html: 1 }); } function func_cpu(){ var temperatur = getState(id_cpu).val; if(debugging){ log('Script wird ausgeführt'); } if(temperatur <= max){ if(!temperatur){ setState(id_cpu,true); if(logging){ log('Temperatur CPU'); } } //Push verschicken if(sendpush){ _prio = 0; _titel = 'Temperatur normal'; _message = 'ist<font color="red">normal</font>. '; send_pushover_V4(_device, _message, _titel, _prio); } } else if(temperatur >=max){ if(temperatur){ setState(id_cpu,false); } if(logging){ log('Temmperatur zu hoch'); } //Push verschicken if(sendpush){ _prio = 0; _titel = 'Temperatur zu hoch'; _message = 'ist <font color="red">zu hoch</font>.'; send_pushover_V4(_device, _message, _titel, _prio); } } } //Schedule schedule("15 10 * * *", func_cpu); //einmalig ausführen //func_cpu(); //Trigger //on({id: id_cpu, change: "ne", ack: true}, func_cpu);
-
@schotter sagte in Pushover Text Formation:
Hallo und mal eine Frage,
habe das Skript anpassen wollen, leider bleibt Pushover still.
Was mache ich falsch? Hat jemand einen Tipp, oder sogar die Lösung parat?Danke schon mal im Voraus
Hat sich zwischenzeitlich erledigt, habe es hinbekommen.