Afficher une image FullScreen lorsqu'on sonne à la porte

Mon problème

Bonjour,
dans mon entrée, j’ai une tablette samsung qui me sert entre autre pour faire un contrôle visuel avec d’une caméra PTZ Hikvision qui film, soit l’allée qui mène à l’entrée de la maison, soit la porte d’entrée au bout de cette allée. J’ai associé cette caméra avec une sonnette.
A partir de NodeRed, j’ai couplé la caméra Hikvision de l’entrée avec la sonnette et quand quelqu’un sonne à partir du portier, la caméra s’oriente automatiquement vers la porte pour le filmer et je voudrai associer à cette action une image FulScreen de la porte d’entrée sur la tablette Samsung pendant un certain temps pour bien voir la personne qui se présente.
J’ai compris que cette dernière action ne pourra pas se faire à partir de NodeRed et en cherchant un peu, j’ai compris que c’était faisable à partir de l’intégration Browser_mod (voir d’une autre façon si quelqu’un l’a déjà fait !)
J’ai essayé de suivre les informations fournies par ‹ GitHub - thomasloven/hass-browser_mod: 🔹 A Home Assistant integration to turn your browser into a controllable entity - and also an audio player › et différents tutos.
Problème, ça fait trois jours que je suis dessus et je n’arrive même pas à sortir un Popup (je dois vraiment passer à coté de quelque chose ou je n’y comprends vraiment rien du tout :face_with_head_bandage:).
Si quelqu’un peut me mettre sur la piste et m’aider à trouver une solution…
Pour info. je visualise la caméra à partir d’un flux RTSP dans une carte WebRtc.
Merci d’avance pour votre aide…

Bonjour,
pour utiliser Bowser mod en popup il faut ajouter dans configuration.yaml ces lignes (exemple):

#########################
#      BROWSER MOD      #
#########################
browser_mod:
  prefix: "browser_mod_"
  devices:
    d5ed0395-1ed5b99a:  #iD Device
      name: pc_zam   #name du iD Device
    be7795d4-7b5d5bff:
      name: sony_xa2
    b5c7d103-8d50e6a8:
      name: huawey_t10s
  disable:  #Désactive tout les autres id devices  qui sont pas ajouté au dessus.
    - all

Pour savoir le id device de ta machine, va dans outils de développement et service. Fait un appel du service browser_mod.debug et tu aura une fenêtre qui s’ouvre avec ton id device marquer.

Après tu n"a plus cas faire une carte qui fait appelle au service browser_mod.popup

Exemple carte:

          type: custom:button-card
          name: Tableau Biobizz
          color_type: icon
          icon: mdi:watering-can
          color: rgb(0, 102, 0)
          aspect_ratio: 1.03/1
          styles:
            icon:
              - top: '-28%'
              - left: 2%
              - width: 48%
              - position: absolute
            name:
              - font-size: 0.85em
              - white-space: normal
            state:
              - font-size: 0.75em
              - white-space: normal
            label:
              - font-size: 0.75em
              - white-space: normal
            card:
              - padding: 0.2em
              - '--mdc-ripple-color': rgb(31, 111, 235)
              - '--mdc-ripple-press-opacity': 0.5
              - box-shadow: true
              - transition: true
              - font-size: 16px
              - background: url(/local/images/Biobizz-tableau.png) round
          tap_action:
            action: call-service
            service: browser_mod.popup
            service_data:
              title: Tableau Biobizz
              card:
                type: picture 
                image: /local/images/biobizz.png
              large: true
              hide_header: true
              deviceID:
                - pc_zam
                - huawey_t10s
            target: {}

C’est un button qui affiche une image en popup. Te reste plus cas adapté a t’es besoin. Pour ta sonnette je ne sais pas.

Un pop-up n’est pas du full screen.
Un « panel » c’est déjà plus gros.

Si, avec browser_mod comme expliqué au dessus, tu peux le faire via NR.

Et sinon, avec Fully Kiosk, tu peux streamer ta camera directement sur la tablette en envoyant un ordre REST à fully, voir interface REST là Fully Kiosk Browser & App Lockdown Help - Fully Kiosk Browser (il faut payer la license. 5 euros)

Bonjour WarCozes,
merci pour ton aide, j’essaie de mettre ça en place en fin de journée et je te tiens au courant de mes avancées.
Dans tous les cas, comme tu l’as bien compris, c’est au niveau des Devices et du Debug que je me suis pris les pieds dans le tapis. En partant d’une page blanche, ça m’a pas paru si évident que çà à mettre en place !
A+

Bonjour golvert,
merci pour ta suggestion d’utiliser FullyKiosk.
Je pensais justement acheter la licence pour bloquer l’écran de la tablette et dans ce cas, je vais voir la plus fonctionnelle des deux solutions.
Je vais aussi étudier ce que l’on peut faire avec Browser_mod (dont les popups pourront me servir pour d’autres choses qu’un flux vidéo) et NodeRed.
Je ne manquerai pas de te faire un retour d’information sur mes investigations.
Bien à toi…

Bonjour golvert,
bon, les nouvelles sont pas bonnes…surtout pour moi !
J’ai installé Fully Kiosk Plus, c’est effectivement très complet et ça fonctionne très bien avec l’administration à distance.
Par contre, je suis complétement largué avec les RestAPI et je ne comprends pas bien, même pas du tout :sob: ce qu’il faut faire et qu’elle est la RestApi qui correspond au stream à utiliser.
Après, je pense qu’il faut que je fasse un appel de service depuis NodeRed (via Home Assistant ou vers FullyKiosk)
Donc là comme tu le constates, je suis complétement perdu.
Si jamais tu as le temps de me mettre sur la voie, ça m’aiderait beaucoup (il y a malheureusement pas grand chose sur le net qui traite de ce sujet).
Cordialement.

Comme tout, une fois qu’on a compris, c’est simple :wink:

L’utilisation de l’API rest de fully passe par des noeud HTTP dans NodeRed.
L’URL a une syntaxe type:

http://@IP_tablette:2323/?cmd=setStringSetting&key=screenBrightness&value=100&password=MonMotDePasse

@IP_tablette c’est clair.
Dans la config fully, tu peux protéger l’accès à l’API par un mot de passe, ce que j’ai fat.
Ensuite ce qui est après ?cmd vient de la doc de fully Fully Kiosk Browser & App Lockdown Help - Fully Kiosk Browser

Par exemple:

// Device Info
/?cmd=getDeviceInfo&password=[pass]

Toutes les commandes disponibles y sont décrites et suivent la même logique.

Pour le stream video:

/?cmd=playVideo&password=[pass]&url=[url]&loop=[0|1]&showControls=[0|1]&exitOnTouch=[0|1]&exitOnCompletion=[0|1]

l’URL c’est le flux RTSP que tu veux afficher. Les autres paramètres, on doit pouvoir s’en passer dans le cadre du streaming.

Donc, dans ce cas on fait NR → Tablette.

On peut aussi utiliser browser_mod pour naviguer dans les pages lovelace.

Dans ton cas, plutôt que streamer la vidéo directement, je mettrais une page lovelave avec le seul flux vidéo en mode panel (ça sera en grand, mais, pas plein écran). Et quand quelqu’un sonne, via browser_mod changer vers la bonne page.

Voir par exemple:

[{"id":"68eaf009.36af1","type":"api-call-service","z":"fa35c8e.783dd38","name":"GDS","server":"d28c9492.f419c8","version":3,"debugenabled":false,"service_domain":"browser_mod","service":"navigate","entityId":"","data":"{    \"navigation_path\": \"/lovelace/gds\",    \"deviceID\": $globalContext(\"tablette_devid\")}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":690,"y":100,"wires":[["df158d7f.96efd"]]},{"id":"df158d7f.96efd","type":"api-call-service","z":"fa35c8e.783dd38","name":"No Blackout","server":"d28c9492.f419c8","version":3,"debugenabled":false,"service_domain":"browser_mod","service":"no_blackout","entityId":"","data":"{\"deviceID\" : $globalContext(\"tablette_devid\")}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":830,"y":100,"wires":[[]]},{"id":"d28c9492.f419c8","type":"server","name":"hassio","version":2,"addon":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]

J’ai mid le device_id de la tablette dans une variable globale.

Bonjour golfvert,
bon, aujourd’hui les nouvelles sont bonnes :slightly_smiling_face:…sauf que !
Tous est ok à partir de NodeRed et j’obtiens bien une video FullSreen (ou plutôt une photo) sur le panel lorsqu’on sonne à la porte que j’ai programmée pour revenir à un écran normal au bout de 2 minutes…donc, la vidéo est figée c’est à dire que j’ai une vue à un instant t, j’ai en réalité une photo en plein écran.
Par contre quand je désactive FullyKiosk et que je reviens sur HA, là si j’agrandis l’image à partir de la vue en cartouche, j’ai bien une vidéo streamée qui fonctionne en plein écran.
J’ai regardé tous les réglages que je pouvais faire sur FullyKiosk et sur mon NVR Hikvision, mais rien de concluant.
Quand penses-tu ?
Je vais peut-être me diriger vers la deuxième solution que tu m’a proposée…
Dans tous les cas, merci pour tes infos. parce que, je galérais sérieusement et même si j’opte pour l’autre solution, au moins maintenant je saurai faire à partir de NR.
Bien à toi.

Je n’ai jamais fait de stream direct de ma caméra vers fully. Je passe par HA.
En plus, tu utilise le NVR de Hikvision qui a l’air (voir un autre échange sur le forum) de faire des trucs « bizarres » avec le streaming des caméras. Donc, est-ce que ça coince à cause de Fully, du NVR??
C’est peut-être se compliquer la vie pour pas grand chose. La carte lovelace et un changement de chemin via brower_mod, c’est du sûr… Et c’est « presque » du full screen.

Salut, après plusieurs échanges de mails avec FullyKiosk, je suis arrivé à la conclusion que le stream RSTP avec Android Media Player et les différentes versions d’Android installées sur les tablettes pouvait être très aléatoire et ne pas fonctionner.
C’est donc mon cas et j’ai opté pour la solution que m’a proposé golfvert qui fonctionne très bien et qui est même moins lente que les essais que j’avais faits avec FullyKiosk.
Merci à toi et au forum qui donne pleins de bonnes idées et de bons conseils.