Pause intelligente

Vous voulez de l'aide ? Postez ici :)
Post Reply
Replic
Posts: 3
Joined: 17 Jan 2017, 07:46

Pause intelligente

Post by Replic »

Bonjour, et merci pour ce soft

J'aimerais réaliser une pause qui définisse elle même son temps de pause ; en comparant le temps actuel à un temps de référence.
La comparaison se ferait sur les minutes & millisecondes.

Par exemple :
-5 temps de références : 17 minutes 00ms, 27 minutes 00ms, 37 minutes 00ms, 47 minutes 00ms, 57 minutes 00ms
-le temps actuel est : 7h 56minutes 036 ms
-Comparaison des 56minutes 036ms aux 5 temps de référence,
-Retenir le plus petit écart,
-Inscrire cette écart comme temps de pause.

Le but recherché est de commencer une boucle toujours au même moment (les 5 temps de références). Comme cette boucle est d'une durée variable (connexion wifi plus ou moins rapide), une simple pause ne pourrait convenir car cela occasionnerait un glissement sur du long terme.

J'ai imaginé ce système de pause "intelligente" sans avoir de compétence particulière en programmation,
si une meilleure méthode existe je vous en prie.
Merci :)
Replic
Posts: 3
Joined: 17 Jan 2017, 07:46

Re: Pause intelligente

Post by Replic »

En réfléchissant plus,
je m'aperçois que je pourrais me débrouiller de la façon suivante :

- condition temporelle n°1 (17 minutes 00ms) avec
} si avant : renvoie à la même ligne
} si maintenant : renvoi à la ligne suivante
} si plus tard : ne rien faire
- boucle A

- condition temporelle n°2 (27 minutes 00ms)
}idem
- copie boucle A

- condition temporelle n°3 (37 minutes 00ms)
}idem
- copie boucle A

-etc.. jusqu'à la condition temporelle n°5.

Seulement je ne sais pas encore comment inscrire seulement les minutes & ms dans une condition temporelle ;
Ce post me donne espoir, https://www.jmgr.net/forum/viewtopic.php?f=30&t=1445
et je continue de creuser.

A bientôt
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

Re: Pause intelligente

Post by francois »

Bonjour,

Avec une action code :

Code: Select all

var currentTime = new Date()
var aaaa = currentTime.getFullYear()
var mm  = currentTime.getMonth()
var jj = currentTime.getDate()

var hh = currentTime.getHours()
var mn  = currentTime.getMinutes()
var ss = currentTime.getSeconds()

switch (true)
{
case mn < 17 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,17,00);
break;

case mn < 27 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,27,00);
break;

case mn < 37 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,37,00);
break;

case mn < 47 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,47,00);
break;

case mn < 57 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,57,00);
break;

// entre 57 et 00, on fait quoi ?
default :
var date_redemarrage =currentTime
}
temps_attente = date_redemarrage.getTime() -  currentTime.getTime();
Execution.pause(temps_attente);
Que fait-on entre 57 et 00, cela ne semble pas pris en compte dans ton topo.
Replic2
Posts: 4
Joined: 17 Jan 2017, 17:15

Re: Pause intelligente

Post by Replic2 »

Bonsoir François,

Merci bcp, le code est impec et le problème est [résolu].

Oui, j'ai commis une omission.
Entre 57 et 00 il faut comparer à 07min 00ms.
Il y a 6 temps de références et non 5 comme écrit précédemment.. Pardon!
La modif est faite.

Désolé de répondre si tardivement, j'ai eu des soucis de connexion / mdp.
Le site a confirmé l'envoie d'un e-mail quand j'ai fait 'mot de passe oublié' mais celui-ci n'est jamais arrivé à l'adresse du pseudo Replic (boite réception comme Spam).
Aux responsables, je préfèrerais garder ce 1er compte.
Si impossible, il peut être supprimé et je garderais celui-ci (Replic2).
Merci, à vous

OOooo ~ et Bonne soirée ~ ooooOO
Replic2
Posts: 4
Joined: 17 Jan 2017, 17:15

Re: Pause intelligente

Post by Replic2 »

Un soucis,

Quand on arrête Actionaz pendant l'action code de la "pause intelligente",
Actionaz plante et un message window apparaît "actionaz ne répond plus".
Peut-on y remédier ?

Le script en question :

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.8.0" scriptVersion="1.1.0" os="Windows"/>
    <actions>
        <action name="ActionStop" version="1.0.0"/>
        <action name="ActionWindow" version="1.0.0"/>
        <action name="ActionKey" version="1.0.0"/>
        <action name="ActionLoop" version="1.0.0"/>
        <action name="ActionClick" version="1.0.0"/>
        <action name="ActionCode" version="1.0.0"/>
        <action name="ActionPlaySound" version="1.0.0"/>
        <action name="ActionPixelColor" version="1.0.0"/>
        <action name="ActionPause" version="1.0.0"/>
    </actions>
    <parameters/>
    <resources/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionPlaySound">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="url">
                <subParameter name="value" code="0">false</subParameter>
            </parameter>
            <parameter name="looping">
                <subParameter name="value" code="0">false</subParameter>
            </parameter>
            <parameter name="volume">
                <subParameter name="value" code="0">100</subParameter>
            </parameter>
            <parameter name="file">
                <subParameter name="value" code="0">C:/Users/PA/Desktop/VG2016/Bip court.wav</subParameter>
            </parameter>
            <parameter name="blocking">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="playbackRate">
                <subParameter name="value" code="0">100</subParameter>
            </parameter>
        </action>
        <action name="ActionWindow">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="33" action="0" line=""/>
            <parameter name="title">
                <subParameter name="value" code="0">Vendée Globe 2016 - Google Chrome</subParameter>
            </parameter>
            <parameter name="resizeHeight">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="action">
                <subParameter name="value" code="0">setForeground</subParameter>
            </parameter>
            <parameter name="movePosition">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="useBorders">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="resizeWidth">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="1s">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionClick" comment="refresh">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="33" action="0" line=""/>
            <parameter name="button">
                <subParameter name="value" code="0">left</subParameter>
            </parameter>
            <parameter name="action">
                <subParameter name="value" code="0">pressRelease</subParameter>
            </parameter>
            <parameter name="amount">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="position">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0">1192:282</subParameter>
            </parameter>
            <parameter name="positionOffset">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="1s">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionPixelColor" comment="continuer">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="comparison">
                <subParameter name="value" code="0">equal</subParameter>
            </parameter>
            <parameter name="greenTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="blueTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="redTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="ifTrue">
                <subParameter name="line" code="0">007</subParameter>
                <subParameter name="action" code="0">goto</subParameter>
            </parameter>
            <parameter name="ifFalse">
                <subParameter name="line" code="0">003</subParameter>
                <subParameter name="action" code="0">goto</subParameter>
            </parameter>
            <parameter name="positionOffset">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="pixel">
                <subParameter name="position" code="0">1090:514</subParameter>
                <subParameter name="color" code="0">13:148:241</subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="1s">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionKey" comment="classement">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="33" action="0" line=""/>
            <parameter name="alt">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="action">
                <subParameter name="value" code="0">pressRelease</subParameter>
            </parameter>
            <parameter name="amount">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="meta">
                <subParameter name="value" code="0">false</subParameter>
            </parameter>
            <parameter name="key">
                <subParameter name="key" code="0">F</subParameter>
                <subParameter name="isQtKey" code="0">true</subParameter>
            </parameter>
            <parameter name="ctrl">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="shift">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">win32</subParameter>
            </parameter>
            <parameter name="pause">
                <subParameter name="value" code="0">10</subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="1s">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionClick" comment="continuer">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="33" action="0" line=""/>
            <parameter name="button">
                <subParameter name="value" code="0">left</subParameter>
            </parameter>
            <parameter name="action">
                <subParameter name="value" code="0">pressRelease</subParameter>
            </parameter>
            <parameter name="amount">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="position">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0">1092:517</subParameter>
            </parameter>
            <parameter name="positionOffset">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="3s">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">3</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionKey" comment="tableau de bord">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="33" action="0" line=""/>
            <parameter name="alt">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="action">
                <subParameter name="value" code="0">pressRelease</subParameter>
            </parameter>
            <parameter name="amount">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="meta">
                <subParameter name="value" code="0">false</subParameter>
            </parameter>
            <parameter name="key">
                <subParameter name="key" code="0">F</subParameter>
                <subParameter name="isQtKey" code="0">true</subParameter>
            </parameter>
            <parameter name="ctrl">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="shift">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">win32</subParameter>
            </parameter>
            <parameter name="pause">
                <subParameter name="value" code="0">10</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" comment="Pause intelligente" timeout="610000">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">var currentTime = new Date()
var aaaa = currentTime.getFullYear()
var mm  = currentTime.getMonth()
var jj = currentTime.getDate()

var hh = currentTime.getHours()
var mn  = currentTime.getMinutes()
var ss = currentTime.getSeconds()

switch (true)
{
case mn < 07 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,07,00);
break;

case mn < 17 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,17,00);
break;

case mn < 27 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,27,00);
break;

case mn < 37 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,37,00);
break;

case mn < 47 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,47,00);
break;

case mn < 57 :
var date_redemarrage = new Date(aaaa,mm,jj,hh,57,00);
break;
}
temps_attente = date_redemarrage.getTime() -  currentTime.getTime();
Execution.pause(temps_attente);</subParameter>
            </parameter>
        </action>
        <action name="ActionLoop" comment="3 fois ligne 1">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="line">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="count">
                <subParameter name="value" code="0">3</subParameter>
            </parameter>
        </action>
        <action name="ActionClick" comment="reactualiser page">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="33" action="0" line=""/>
            <parameter name="button">
                <subParameter name="value" code="0">left</subParameter>
            </parameter>
            <parameter name="action">
                <subParameter name="value" code="0">pressRelease</subParameter>
            </parameter>
            <parameter name="amount">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="position">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0">905:93</subParameter>
            </parameter>
            <parameter name="positionOffset">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="1s">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionPixelColor" comment="continuer">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="comparison">
                <subParameter name="value" code="0">equal</subParameter>
            </parameter>
            <parameter name="greenTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="blueTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="redTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="ifTrue">
                <subParameter name="line" code="0">018</subParameter>
                <subParameter name="action" code="0">goto</subParameter>
            </parameter>
            <parameter name="ifFalse">
                <subParameter name="line" code="0"></subParameter>
                <subParameter name="action" code="0">wait</subParameter>
            </parameter>
            <parameter name="positionOffset">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="pixel">
                <subParameter name="position" code="0">1090:518</subParameter>
                <subParameter name="color" code="0">13:148:241</subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="1s">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionClick" comment="continuer">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="33" action="0" line=""/>
            <parameter name="button">
                <subParameter name="value" code="0">left</subParameter>
            </parameter>
            <parameter name="action">
                <subParameter name="value" code="0">pressRelease</subParameter>
            </parameter>
            <parameter name="amount">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="position">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0">1091:516</subParameter>
            </parameter>
            <parameter name="positionOffset">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="1s">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionLoop">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="line">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="count">
                <subParameter name="value" code="0">3</subParameter>
            </parameter>
        </action>
        <action name="ActionStop">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
        </action>
    </script>
</scriptfile>
Replic2
Posts: 4
Joined: 17 Jan 2017, 17:15

Re: Pause intelligente

Post by Replic2 »

en complément :

Image
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

Re: Pause intelligente

Post by francois »

Bonjour,

Avec le fichier que tu envoies en complément, on a une piste :
1.gif
1.gif (4.95 KiB) Viewed 2853 times
En résumé date_redemarrage n'est pas connue.

Effectivement dans le switch qui précède, tu ne couvres pas tous les cas.
il faudrait rajouter :

Code: Select all

case mn >= 57 :
hh=hh+1;
var date_redemarrage = new Date(aaaa,mm,jj,hh,07,00);
break;
Replic2
Posts: 4
Joined: 17 Jan 2017, 17:15

Re: Pause intelligente

Post by Replic2 »

Compris ! merci bien.
Post Reply