Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Pushover Text Formation

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Pushover Text Formation

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Saschag @cash last edited by Saschag

      @cash

      Okay, dann muss ich doch noch JS lernen 😂😂EFBFC7C4-D6E3-4F15-941C-CE0AB715ECFA.jpeg

      1 Reply Last reply Reply Quote 0
      • cash
        cash Most Active last edited by cash

        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....

        S 1 Reply Last reply Reply Quote 0
        • S
          Saschag @cash last edited by

          @cash

          Sau cool! Es klappt einwandfrei.

          Vielen vielen Dank!!!

          Grüße
          Sascha

          1 Reply Last reply Reply Quote 0
          • cash
            cash Most Active last edited by

            Das freut mich. Falls noch was ist einfach melden.

            S 1 Reply Last reply Reply Quote 0
            • S
              Saschag @cash last edited by

              @cash

              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.12

              Hast Du oder Jemand ☺ ne Idee für mich??

              Danke und Grüße

              B227386A-B6D9-4B49-9DFA-E9F0AAB505E0.jpeg

              1 Reply Last reply Reply Quote 0
              • cash
                cash Most Active last edited by

                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.

                1 Reply Last reply Reply Quote 0
                • cash
                  cash Most Active last edited by

                  Woher kommt eigentlich der Ladepunkt fürs ipad? Iobroker-App?

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Saschag @cash last edited by

                    @cash

                    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.

                    1 Reply Last reply Reply Quote 0
                    • cash
                      cash Most Active last edited by

                      @cash said in Pushover Text Formation:

                      Ok. Dann lösch mal bitte in der letzten Zeile das hier:

                      , ack: true

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Saschag @cash last edited by

                        @cash

                        Scheint zu funktionieren!! So langsam verstehe ich das JS immer mehr.

                        Ich Dank Dir noch mal!!!!! 👍 👏

                        1 Reply Last reply Reply Quote 0
                        • cash
                          cash Most Active last edited by

                          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...

                          1 Reply Last reply Reply Quote 0
                          • Murmelbaerchen69
                            Murmelbaerchen69 last edited by Murmelbaerchen69

                            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

                            1 Reply Last reply Reply Quote 0
                            • V
                              valbuz last edited by

                              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

                              Schotter 1 Reply Last reply Reply Quote 0
                              • Schotter
                                Schotter @valbuz last edited by

                                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 1 Reply Last reply Reply Quote 0
                                • Schotter
                                  Schotter @Schotter last edited by

                                  @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.

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  789
                                  Online

                                  31.9k
                                  Users

                                  80.2k
                                  Topics

                                  1.3m
                                  Posts

                                  6
                                  23
                                  2069
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo