Les « Custom Pages » 2 : Mes pages web

Premier article sur les « Custom Pages » de Domoticz.

En attendant d’aborder ceci (work in pogress)

CustomPage

Voyons ici comment afficher n’importe quel contenu dans un onglet Domoticz dédié.

Les « Custom pages », le fichier html

Le dossier /domoticz/www/templates contient un fichier custom.example qui  lorsque on le  renomme en xxx.html fait apparaître un sous menu. nommé  « xxx » dans le dans le menu « Custom » Domoticz.

Un lecteur me signale que :

Pour ceux qui comme moi, se trouvent avec un répertoire /domoticz/www/templates vide, la page d’exemple custom.example est disponible ici:
https://github.com/contactless/domoticz/blob/master/www/templates/custom.example

 

Merci à José de la précision.

 

Le contenu de ce fichier html étant libre on peut y affecter ce que l’on désire.

customactu Par exemple on crée un fichier video.html dans /template , on y place le code html correspondant

<!DOCTYPE html>
<html>
  <body>
    <!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
    <div id="player"></div>

    <script>
      // 2. This code loads the IFrame Player API code asynchronously.
      var tag = document.createElement('script');

      tag.src = "https://www.youtube.com/iframe_api";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    ..................

et la page « Custon » / « Video » affiche notre contenu

mycustompage

ou bien un actu.html qui contient l’iframe google destinée aux actualités nous affiche les news dans l’iframe dédiée, etc, etc..

Étonnant non !!

etonnantnon

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/
Posted in Débutants, domoticz, interfaces and tagged , , , , .

17 Comments

  1. Bonjour, c’est encore moi ! Je me balade toujours sur votre site et essaye d’apprendre ! J’ai trouvé ce bout de code sur le site de youtube, puisque je ne sait pas du tout coder en html, le probleme c’est que j’aimerais qu’elle m’affiche une video que j’ai choisis. Avec ce code je n’y arrive pas, meme en remplacant la balise . Avez vous une piste pour moi ? Dois-je changer carrement de code ?

    var tag = document.createElement(‘script’);

    tag.src = « https://www.youtube.com/iframe_api »;
    var firstScriptTag = document.getElementsByTagName(‘script’)[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    var player;
    function onYouTubeIframeAPIReady() {
    player = new YT.Player(‘player’, {
    height: ‘390’,
    width: ‘640’,
    videoId: ‘M7lc1UVf-VE’,
    events: {
    ‘onReady’: onPlayerReady,
    ‘onStateChange’: onPlayerStateChange
    }
    });
    }

    function onPlayerReady(event) {
    event.target.playVideo();
    }

    var done = false;
    function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING && !done) {
    setTimeout(stopVideo, 6000);
    done = true;
    }
    }
    function stopVideo() {
    player.stopVideo();
    }

    Je l’ai recopié, sans le comprendre, je ne sais donc pas le modifier. Si quelqu’un d’assez généreux et ayant assez de temps pour m’expliquer, peux m’expliquer ça serait très gentil, merci =)

  2. Bonjour

    Nouveau challenge !

    Le code a utiliser est qq chose comme cela à copier/coller dans une page en .html




    il provient de
    et le nom de la vide a afficher est sur cette ligne
    videoId: ‘M7lc1UVf-VE’,
    Le ‘M7lc1UVf-VE’ à remplacer par l’identifiant de la video youtube

    Si cela ne fonctionnait pas , merci de reprendre cette discussion dans le forum pour plus de confort

  • Merci beaucoup, je test ce soir !
    Des que je vois si ça marche, je créerais un un post sur le forum
    Merci 😀

  • Florian, tu peux toujours mettre ta page PHP dans un IFRAME de page HTML, c’est ce que j’ai fais pour mes pages php d’informations pour la Freebox et ça fonctionne aux poils !

  • Bonjour,

    Est il possible de faire disparaître le bandeau de menu de Domoticz ?
    Si oui, comment faire svp?

    A+

  • Bonjour
    Oui c’est possible
    La question est : une fois disparu, comment aller dans les menus de paramétrage, dans la config ?
    Il faut que tu privilégie la technique dite des frontpages, qui te permettent de designer une interface qui est interactive , par contre tu n’auras pas acces au courbes/plannings … lecture https://easydomoticz.com/les-custom-pages-interactives-toujours-plus-haut-toujours-plus-loin-toujours-plus-fort/ et https://easydomoticz.com/mon-domoticz-a-moi-les-frontages-interactives-la-configuration/

    Sinon si tu souhaites vraiment faire sauter les menus (bien que ,encore une fois, cela ne soit pas une bonne idée) sauvegardes le fichier index.html quelque part puis a l’interieur cherche le bloc

    div class= »navbar navbar-inverse navbar-fixed-top » ng-controller= »NavbarController » style= »display: none; » has-User>

    et qui finit BIEN PLUS LOIN par 3 /div
    (avant un div id= »holder)
    et supprime le

    Il faut ensuite , c’est obligatoire, aller supprimer le cache applicatif de Domoticz pour voir le résultat
    des explications ici https://easydomoticz.com/les-caches-des-navigateurs-et-domoticz/

    Mais vraiment …. n’oublie pas de sauvegarder le fichier avant de faire des modifs
    Sinon dans Firefox et Chrome il y a un outil nommé « Developpement » ou Firebug en module pour FF qui permet de voir la structure d’une page html et d’en comprendre son organisation css/html cela est utile pour apporter des modifs de ce type.
    et toujours avec modération

  • Bonjour Patrice,

    Merci ta réponse rapide !

    J’en profites pour aller plus loin dans mon explication.
    Je suis sous Domoticz depuis bientôt 2 ans et dans ma maison j’ai une tablette murale qui fait information/télécommande de la maison. Pour cela, j’utilise openRemote (java) installé un vieux portable à faible consommation. OpenRemote va pumper régulièrement Domoticz et récupère les informations via un parser json intégré.
    Ainsi j’ai un écran principal épuré affichant l’état de l’alarme ainsi que température intérieure, extérieure, baromètre (icone pluie/nuage/soleil/neige/verglas) et la consommation électrique instantanée. En appuyant sur le centre de l’écran l’affichage laisse place à un plan de la maison sur lequel il est possible d’allumer ou d’éteindre l’ensemble des lumières ou autres appareils connectés à des prises contrôlables.

    Deux pages donc :
    – la première pourrait être remplacée par une custom page
    – la seconde par le mode plan. Mais si j’ai préféré rester sous OpenRemote malgré la fonction plan de Domoticz c’est justement à cause de cette barre de menu qui, sur cet appareil, n’a pas lieu d’être.

    La solution que tu proposes est intéressante mais demande de toucher au code de Domoticz, ce que je ne souhaite pas pour des raisons évidentes de maintenance et de mises à jour. Quand bien même, la modification serait effective pour l’ensemble des devices se connectant à Domoticz. A ce moment, ta question « comment aller dans le menus » devient légitime.

    Je recherche donc plutôt une fonction intrinsèque à Domoticz ou à du html qui permettent la disparition de ce menu sur les customs pages (le mode plan pouvant être remplacé par une custom page si je ne m’abuse).

    A+

  • Bonjour
    Dans ton cas en effet custom pages et frontpages interactives me semblent être une bonne solution car elles sont faites POUR les tablettes.
    Prête attention au fait qu’une custom page ne permet pas d’agir sur tes périphériques alors que les frontages oui

    Bonne config !!

  • @ Jec_44


    Tiens, de mon côté pas moyen de lancer du PHP en Iframe sur Domoticz. Il n’interprète pas le code mais l’affiche simplement 🙁
    Un peu d’aide ?

  • Bonjour,
    Il doit manquer quelque chose à ce template non ?

    <!– 1. The (and video player) will replace this tag. –>

    // 2. This code loads the IFrame Player API code asynchronously.
    var tag = document.createElement(‘script’);
    tag.src = « https://www.youtube.com/iframe_api »;
    var firstScriptTag = document.getElementsByTagName(‘script’)[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    ……………… – See more at: https://easydomoticz.com/les-custom-pages-2-mes-pages-web/#sthash.bgwywk8i.dpuf

  • Bonjour
    Oui c’est à titre d’exemple qu’il est la , chacun se bricolera le sien propre

  • Comments are closed.