Un détecteur de mouvement identifie que vous descendez à la cave, il allume cette cave pendant 10 minutes. Mais... et si la cave était allumée précédemment parce que votre fils bricole son vélo ? il va être mis dans le noir après les 10 minutes.
Un détecteur d'ouverture de fenêtre coupe automatiquement le chauffage pour économiser de l'énergie. Mais que doit faire la box après que cette fenêtre soit refermée ?
Dilemnes domotiques

Voici la réponse sur laquelle je travaille. Avec l'arrivée des scripts et la possibilité d'enregistrer certaines variables, j'entrevois des solutions.
Voici mon script :
https://dl.dropboxusercontent.com/u/52161840/sauvegardeStatutEedomus.php.zip
Voici les 2 appels possibles :
http://IP_DE_VOTRE_BOX/script/?exec=sauvegardeStatutEedomus.php
&action=memoriser&periph=CODE_API&devient=VALEUR
... pour mémoriser l'état du périph dont le CODE_API est passé en paramètre, et la nouvelle valeur à passer à ce périphérique...
puis, pour rétablir l'état précédent de ce périphérique :
http://IP_DE_VOTRE_BOX/script/?exec=sauvegardeStatutEedomus.php
&action=retablir&periph=CODE_API
... le périphérique passé en paramètre est re-basculé à la valeur enregistrée.
(Quelques options sont disponibles dans les URLs, mais j'en parlerais à la fin.)
Pour la mise en place de tout ça, c'est assez simple :
Prenons par exemple la gestion de ma lumière de la cave qui a par exemple le code api 24242 :
Vous créez un Actionneur HTTP, vous lui donnez 2 valeurs, l'un pour mémoriser :
Valeur brute 0 | Description : Allume la cave | URL : http://IP_BOX/script/ | GET |
Paramètres : ?exec=sauvegardeStatutEedomus.php&action=memoriser&periph=24242&devient=100
l'autre pour rétablir l'état précédent :
Valeur brute 1 | Description : Rétablit la cave | URL : http://IP_BOX/script/ | GET |
Paramètres : ?exec=sauvegardeStatutEedomus.php&action=retablir&periph=24242
puis vous créez une Macro sur cet actionneur :
Attendre 0 Secondes puis Allume la cave
Attendre 10 Minutes puis Rétablit la cave
vous nommez cette macro Allumer la cave pendant 10 minutes
Il ne vous reste plus qu'à mettre en place une règle a exécuter lors de la détection par le détecteur de mouvement (ou d'ouverture) qui déclenche la macro 'Allumer la cave pendant 10 minutes' de l'actionneur HTTP juste créé (en rajoutant toutefois un critère qui vérifie que la macro n'était pas déjà en cours d'exécution).
Pour le chauffage, on utilisera le code API de la consigne de chauffage pour passer à ETEINT ou HORS-GEL puis rétablir à la température de consigne enregistrée.
J'attends vos commentaires et suggestions éventuelles

J'entrevois des défauts, notamment tout ce qui peut se passer entre le moment où vous mémorisez et rétablissez, qui peut donc parasiter la retombée sur les pattes, mais pour des gestions simples où la box reste maitre des actions, ça le fait bien

Je me dégage donc de toutes responsabilités si vous vous lancez là-d'dans. J'imagine que la sauvegarde des états peut être remise à zéro sur mise-à-jour de la box par Eedomus, par redémarrage ou autres, je n'en sais trop rien en l'état.
Pour être complet sur mon script, il y a 2 options pour l'action Mémoriser :
- vous pouvez ne pas passer de valeur, dans ce cas, l'état du périph est simplement enregistrée mais ne bascule pas vers une autre valeur.
- au lieu d'un changement de valeur, vous pouvez indiquer qu'il s'agit d'une macro à activer, vous passez alors dans le param &devient= le CODE API MACRO et vous précisez ¯o=true dans l'url, exemple :
http://IP_DE_VOTRE_BOX/script/?exec=sau ... edomus.php
&action=memoriser&periph=CODE_API&devient=128913¯o=true
pour l'action Rétablir, il y a une option : &conserver=true
qui permet de conserver l'état enregistré, sinon, la valeur est effacée dès l'appel à rétablir pour libérer la mémoire.
J'ai mis ces options en place sans trop encore savoir à quoi ça pourrait me servir
