Redirection web dans scénario

Bonjour,

Est-ce possible dans un scénario Jeedom de programmer une redirection web vers un Design ?

J’explique mon problème:
J’ai un design que je lance sur un Magic Mirror.
La tour va bien. Mais je souhaiterai changer de design suivant les saisons.

Je souhaite donc laisser une seule redirection. Web dans les configurations du Magic Mirror mais que Jeedom s’occupe dans un scénario de faire une redirection suivant un scénario.

MERSY de votre aide !

Bonsoir,

La fonction suivante ?

Aller au design (gotodesign) : Change le design affiché sur tous les navigateurs par le design demandé.

Ah je n’ai jamais vu ca. en gros si une page web demande l’ouverture du design X, le design Y est ouvert à la place ?
je vois l’action gotodesign dans le scenario mais tu mets quoi en déclencheur ? j’ai du mal à comprendre comment ça va avoir une action sur mon Magic Mirror

Je n’étais pas sûr de comprendre ta demande, je pense que j’y vois plus clair du coup.

Pour que Jeedom puisse savoir sur quelle page (design) ton Magic mirror se trouve et s’en servir de déclencheur il faudrait une interface comme Fullykiosk.

Enfin je pense pas que ce soit la bonne façon de faire.

Il faudrait mieux un scénario qui a un déclencheur « saison » (plusieurs plugins donne l’information).

Lors du changement de saison le scénario se déclenche et fait un goto design en fonction de la saison en cours.

  • Si été goto design 3 (qui est celui pour l’été)
  • Si hiver goto design 8 (qui est celui pour l’hiver)
    Etc…

Pour le scénario avec la saison ça c’est pas un soucis je vais me débrouiller.
Mais mes 2 Magic Mirror toune sous Debian. Ils ont un Raspberry en interne.
Je les ai paramètré pour qu’au boot, ils ouvrent chacun un design différent.
Mais dans le système Debian je ne pense pas pourquoi faire un scénario qui ouvre tel ou tel design suivant le mois en cours.
Donc mon but est de savoir si Jeedom lui même peut voir si tel appareil a un design ouvert en cours. Si c’est le cas, il peut donc rediriger vers un autre design.

Bonjour, je pense qu’il y a un moyen d’arriver approximativement a ce résultat en utilisant un bloc texte/html :

  1. FAIRE UNE SAUVEGARDE
  2. créer un nouveau design, celui-ci se chargera de rediriger sur un design en fonction de la date.
  3. dans celui-ci :
  • Edition
    • Ajouter texte/html
  • Paramètre d’affichage sur le bloc.
  • Puis coller le code suivant :
<script>
  var PlanIdPrintemps = 1 // id du désign a charger pour saison = Printemps
  var PlanIdEte = 2 // id du désign a charger pour saison = Été
  var PlanIdAutomne = 3 // id du désign a charger pour saison = Automne
  var PlanIdHiver = 4 // id du désign a charger pour saison = Hiver
  
  ///////////////////////// NE PAS TOUCHER LE CODE CI-DESSOUS /////////////////////////////////
  var today = new Date()
  // attention le mois commence a 0 soit janvier = 0, fervrier = 1 ...
  var spring = new Date(today.getFullYear(), 2, 20) // Printemps
  var summer = new Date(today.getFullYear(), 5, 21) // Été
  var autumn = new Date(today.getFullYear(), 8, 23) // Automne
  var winter = new Date(today.getFullYear(), 11, 22) // Hiver
  ////////////////////////////////////////////////////////////////
  var spath = window.location.search.split("&"), i; // On sépare la chaine des paramètres en fonction du &
  var redir = false
  for(i=0; i<spath.length; ++i) { // Bouclage des paramètres
    if(spath[i] == "redir=1" || spath[i] == "?redir=1") redir = true
  }
  if (redir===true){
    if (today >= winter || today < spring) { 
      jeephp2js.planHeader_id = PlanIdHiver
      jeeFrontEnd.plan.displayPlan()
    }
    else if (today < summer && today >= spring) { 
      jeephp2js.planHeader_id = PlanIdPrintemps
      jeeFrontEnd.plan.displayPlan()
    }
    else if (today < autumn && today >= summer) { 
      jeephp2js.planHeader_id = PlanIdEte
      jeeFrontEnd.plan.displayPlan()
    }
    else if (today < winter && today >= autumn) {  
      jeephp2js.planHeader_id = PlanIdAutomne
      jeeFrontEnd.plan.displayPlan()
    }
    else console.log('Saison introuvable !!!')
  }
</script>
  • Modifie en début de code les Id, vers lequel, le client sera rediriger en fonction des saisons.
  • Sauvegarder
  1. Paramètrage :
  • Dans le paramétrage, modifie l’id du design pour qu’il pointe sur ce nouveau design.
  • Ajoute dans ce paramétrage une nouvelle variable dans l’adresse : redir=1
    • Exemple :
      id du nouveau design de redirection = 16.
      Redirection = http://IPJEEDOM/index.php?v=d&p=plan&plan_id=16&redir=1
1 « J'aime »

Salut !
Donc si on résume, je mets juste l’ouverture des Magic Mirror sur un Design vide dédié à chacun d’eux.
Je crée 4 design pour chacun des Magic Mirror correspondant à chaque saison.
Je note chacun des ID de chaque design qui serviront dans le code du design « d’ouverture ».

C’est top comme idée et donc le calcul se fait sur le Magic Mirror qui ouvre le design de redirection.

Par contre, si un jour je veux modifier ce texte avec mon pc il va aussi me rediriger et je ne pourrai jamais plus l’éditer ?

Et imaginons on est fin hiver. Le lendemain c’est le printemps. Comment le Magic Mirror va comprendre qu’il faut changer le design ?

Non, j’ai pris en compte ce cas de figure, le core n’utilise pas redir=1, tu ne sera donc pas rédigé.

Soit un scénario avec un gotodesign, mais celui-ci ne pourra pas différencier qui est qui, donc se sera appliqué pour tous les navigateurs

Ou un autre code html, mais celui-ci devra être mis sur tous les design.

MERSY je vais voir ça.
Tu as l’air de t’y connaître.

Lorsque je reboot mes Magic Mirror ça met le design mais un écran tout blanc. Obligé d’aller sur VNC et de taper un F5. Au début ça ne le faisait pas. Je laisse pourtant le temps au Pi de boot, de se connecter au wifi…