Aller au contenu

Alternative Au Service Popup Du Notification Center Avec Possibilité D’Action Hc2 Via Le Popup


Kriek

Messages recommandés

L’idée est simple :

Utiliser Tasker et en particulier Autoremote pour envoyer un message depuis la HC2 vers votre téléphone qu’il affichera sous forme de popup dans lequel de 2 à  4 boutons permettront de basculer un switch, d’appuyer sur le bouton d’un module virtuel ou de lancer une scène.

Tout d’abord avoir Tasker et Autoremote installé sur votre téléphone Android.

Depuis Autoremote (lancé en direct depuis le springboard) vous devriez avoir lapossibilité de connaitre l’adresse URL de votre Autoremote.

Tapez cette URL sous votre navigateur web, vous arriverez sur une page où il est possible d’envoyer des messages depuis votre PC. Tapez un message dans le champ correspondant. Un champ commençant par https://autoremotejoaomgcd.appspot.com/sendmessage?key=XXXXXXX (où XXX est votre identifiant Autoremote) se remplit automatiquement à  droite de la page. Récupérez l’URL à  partir de « /sendmessage?key=XXX » jusqu’à  « &message= » (ce qui suit est le message que vous avez tapé.

Gardez cela bien au chaud dans un coin de votre ordinateur.

Préparons le HC :

Créez un module virtuel « Autoremote » avec 1 bouton « Send message »
Le code LUA associé à  ce bouton est le suivant (remplacez : /sendmessage?key=XXX&message= par la portion d’URL copiée précédemment)
 

local message = fibaro:getGlobal("AutoremoteMessage")
fibaro:debug(message)
HC2 = Net.FHttp("autoremotejoaomgcd.appspot.com")
response = HC2:GET("/sendmessage?key=XXX&message="..message);

Ensuite créez une variable globale appellee AutoremoteMessage

Côté HC2, c'est prêt.

Passons côté Tasker :

Importez les tâches en PJ de ce post (Affichage_popup ; traitement_popup ; HC2_Switch ; HC2_module_action et HC2_scene)
Importez la scène Message

Créez la variable HC_URL et la remplir avec l’adresse IP à  laquelle vous pouvez joindre votre HC2 (préférentiellement une adresse IP non locale du type login:password@XX.XX.XX.XX :PORT)

Créez un profil qui déclenche la tâche Affichage_popup sur un évènement lié au plugin AutoRemote dont le filtre reconnait popup=:=

Ca y est Tasker est prêt lui aussi.

Voyons comment dialoguer entre HC2 et Tasker maintenant :

Le message venant de la HC2 doit être construit selon le modèle suivant :

popup= :=message ;bouton1-type-id-action;bouton2-type-id-action ;bouton3-type-id-action;bouton4-type-id-action

popup= := sert à  Tasker à  identifier que l’action sera d’ouvrir un popup,

bouton1 est le texte qui apparaitra dans le bouton 1, bouton2 est celui du bouton2 etc…

si bouton3-type-id-action ou bouton4-type-id-action (ou les 2) ne sont pas rempli les boutons n’apparaitrons pas dans le popup.

Par exemple popup= :=message ;bouton1-type-id-action;bouton2-type-id-action ne fera apparaitre qu’un popup qu’avec 2 boutons.

Pour chaque bouton il faut associer le type du module de la HC2 sur lequel il va agir :
sw pour un switch, vd pour un module virtuel, sc pour une scène.

Ensuite id est l’id du module en question

Enfin action est :
- le rang du bouton sur lequel il faut appuyer lorsque le module cible est un module virtuel
- la valeur 1 ou 0 pour allumer ou éteindre le switch
- la valeur 0 ou 1 pour arrêter ou lancer une scène

Pour rendre tout cela concret voici un petit exemple maintenant, en utilisant GEA :

GEA.add(id["PORTE_ENTREE"], -1, "", {{"Global", "AutoremoteMessage", "popup=:=Alarme active, Voulez-vous la désactiver ?;Oui-vd-3-2 ;Non-vd-3-1 "},{"VirtualDevice", id["AUTOREMOTE"], 1},{"If",{{"Global","etatalarme","1"}}}})

Ce qui aura pour conséquence de me proposer par un popup de désarmer mon alarme lorsque j’ ouvrirai la porte d’entrée quand mon alarme est armée (variable globale etatalarme à  1).

Il me suffit alors de cliquer sur le bouton Oui pour la désactiver.
Si je clique sur le non, il ne se passera rien (dans mon cas je clique sur le bouton de mon module virtuel qui enclenche l’alarme, donc il ne se passe rien de plus).
La sirène de mon alarme émet des bips lorsqu’une intrusion est remontée, j’ai donc quelques secondes pour désactiver mon alarme avant que la sirène ne se mette à  hurler en continu.

Avec le popup, c’est rapide et efficace !

taskerpopup.zip

  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

Super Kriek, et quand je fois la simplicité du VD pour la HC2, cela devrait être facilement transposable en HCL. Je pense encore àeux, car j'y étaitsavant ...

Je regarde (quand je prendrai le temps ...) et te soumettrai la proposition

Lien vers le commentaire
Partager sur d’autres sites

Pour ceux en V4, créer cette scène et modifier juste votre clef

--[[
%% properties
%% globals
--]]

--=======================================================================================--

local key = "APA91bFqD-TF4CfP2jGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxW7IgK5SLUVsJ_0s1CP5bReFw"

--=======================================================================================--


local message = fibaro:getGlobal("AutoremoteMessage")


local http = net.HTTPClient()  
 
http:request('https://autoremotejoaomgcd.appspot.com/sendmessage?key='..key..'&message=popup=:='..message..'', {
	options = {
		  method = 'GET'
	},  
  success = function(resp)
        if resp.status == 200 then
         
          fibaro:debug("OK Code : ".. resp.status)
          fibaro:debug("Key = ".. key)
          fibaro:debug("Message =    ".. message)
          fibaro:sleep(1000)
          fibaro:setGlobal("AutoremoteMessage", "" );--raz variable

          
        else
      
          fibaro:debug("ERREUR Code : ".. resp.status) 
       
        end
      end
    })
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Bonsoir tout le monde,

 

J'essaie de faire fonctionner ce tuto mais j'ai du mal... Je précise que je suis en version 4 pour la HC2 mais le VD présent ici fonctionne quand même. La scène du dessus fonctionne également mais uniquement quand je la lance manuellement dans le HC2.

Je pense qu'il faut modifier la ligne de GEA comme suit puisque le VD devient une Scène: GEA.add(id["PORTE_ENTREE"], -1, "", {{"Global", "AutoremoteMessage", "popup=:=Alarme active, Voulez-vous la désactiver ?;Oui-vd-3-2 ;Non-vd-3-1 "},{"SceneActivation", id["AUTOREMOTE"], 1},{"If",{{"Global","etatalarme","1"}}}})

j'ai remplacé VirtualDevice par SceneActivation mais ça ne marche pas...

D'autre part, le popup ne s'affiche pas sur le téléphone mais j'ai uniquement noté en bas de l'écran "Message receive from unknown: alarme active, voulez-vous...."

Merci d'avance pour votre aide..

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Oldelvis,

 

Je confirme que le VD fonctionne en V4, je suis passé dernièrement à  la 4.056 depuis la 3.6 et tous mes popups remontent sans problème... J'ai d'ailleurs amélioré un peu le bousin... il faudra que je prenne le temps de partager à  l'occasion.

 

Pour ce qui est de ta question, je confirme que la ligne GEA était correcte avec VirtualDevice...

 

Quand je lis les lignes que tu as écrites, j'ai l'impression que :

- soit tu n'as pas créé le profil Tasker qui réagit sur un message Autoremote contenant popup.

- soit ce profil n'est pas actif,

Lien vers le commentaire
Partager sur d’autres sites

il est possible que le profil de tasker ne soit pas actif, mais comment l'activer?

D'autre part, j'ai le même problème que cité plus haut, c est a dire qu'au niveau des séparateurs, j ai le point rouge au même endroit que Moicphil...

J'ai réalisé les mêmes manips, a savoir redemarrer le smartphone mais rien n y fait...

Lien vers le commentaire
Partager sur d’autres sites

Ca y est , ça marche après un redémarrage du téléphone comme pour moicphil et une suppression du filtre autoremote et une reinstallation...

Par contre avant l'affichage du pop up, j'ai une fenetre en bas de l'ecran m'indiquant "message received from ...." et apres analyse de tasker le popup s'affiche...

Y a t il un moyen de supprimer cela?

Merci en tout cas pour le coup de main..

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...