[JPI-APK android] Tel Android dedié domotique

J’ai utilisé le lien audio et vidéo, mais depuis JPI quand je suis dans mon design ou j’affiche le player vidéo et un autre audio bha l’audio ne démarre pas automatiquement donc je suis coincé…
Le seul moyen serait de lancer un player audio+vidéo (enfin je pense)

J’ai testé pleins de balises mais rien ne marche !

<audio title="___" preload="auto" controls loop autoplay="true">
<source src="http://192.168.0.12:8080/stream/audio_lowbuffer.wav" type="audio/wav">
<p>____</p>
</audio>

Tu peux utiliser directement :
<audio autoplay="true" preload="auto" src="http://192.168.0.12:8080/stream/audio_lowbuffer.wav ...

La lecture démarre automatiquement.
Il faut tout de même lancer le streaming audio dans JPI :

ou bien cocher l’option de démarrage automatique :

image

Le son ne sera par contre pas synchrone, légèrement en retard sur la vidéo (environ 1s de retard avec le flux low_buffer), ça c’est normal, il faudra attendre que je finisse le player.

Justement non, le démarrage du son ne fonctionne pas c’est la ou je suis bloqué… Je suis obligé manuellement de cliquer sur play…

1 « J'aime »
<audio controls autoplay preload="auto" src="/stream/audio_fixbuffer.wav"></audio>

Chez moi le son démarre bien automatiquement…
Au pire tu peux le forcer en JS :

<script>
document.querySelector('audio').play();
</script>

Grrr tu m’agace ^^ moi il démarre pas tout seul mais grâce au script si ! merci à toi :wink:

Surement une limitation des navigateurs mobiles qui ignorent l’attribut autoplay, c’est vrai que j’ai pas testé sur mobile… :wink:

1 « J'aime »

Hello,
Bon, ma faute : je cumulais plusieurs bourdes, dans le scenario jpi deja, mais je testais sur ma vieille nexus7 (la seule en face du canap’) et la difference entre 10 et 50% de luminosité n’est pas flagrante.
Par contre, je testais depuis jeedom, en essayant de passer ma valeur via #message# ou #title# dans une acrtion de type message. Eh bien ca ne passe pas. Probablement que ca n’est pas géré par le plugin jpi de jeedom… Pas grave, je vais hard-coder 3 luminosités, ca suffira.

Par contre, j’ai quand meme remarqué que la valeur 50 ( par ex) ne positionne pas le curseur au milieu.
0 et 100 sont bon, mais pas entre les 2. Le curseur au milieu correspond plus a 30. Normal ca?

Super interessant les fonctionnalités de streaming. Ca peut servir a afficher un flux de camera IP? (parce que via un design jeedom, c’est pas ideal : le design est trop long a charger…)

Le niveau de luminosité est compris entre 0 et 255, JPI fait la conversion du % souhaité au niveau voulu.
Il est effectivement possible que le résultat affiché dans la barre de luminosité sur certains appareils ne semble pas équivalent au % car parfois l’échelle de ce curseur n’est pas linéaire.

Je ne peut rien faire car cela dépend des appareils…
J’imagine que c’est calibré en usine en fonction de la réaction du type de dalle utilisée par rapport au niveau électrique du signal envoyé .

Appareil OK à 50% :

Appareil trop haut à 50% :

Et toi tu es trop bas…

Je ne peut donc rien y faire, mais ce n’est pas très grave non plus, du moment qu’on arrive a définir le niveau de luminosité voulu…

Non, ça sert à steamer le micro et/ou la caméra de l’appareil.
Si le design est trop long à afficher, il y a la technique du panoramique que j’utilise. Le design est très long à charger mais ensuite on ne le charge plus jamais, car tout est chargé en une seule fois.
JPI gère cette technique d’affichage avec l’action configureLayout

edit:

Non, bien sur, ca n’est pas du tout dérangeant, mais c’était juste au cas ou : ca aurait pu être une coquille que tu n’aurais pas vue.

Pour le design long a charger, c’est parce que je change de design selon la camera a afficher.
Et je change aussi d’app : Jpi n’est pas tout le temps au premier plan.
Sur la tablette du salon, c’est une app de gestion de la musique pour le multiroom qui est affichée quand on a de la musique qui tourne.
Et quand quelqu’un sonne a la porte, j’affiche Jpi avec le design de la camera de devant. Et la, on voit le design précédent pendant 1sec, la roue crantée de chargement du design de la camera, et seulement ensuite l’image de la camera…
Si tu as une astuce pour eviter ce temps de chargement…
Je vais regarder configureLayout, mais je ne pense pas pouvoir afficher un design avec toutes les camera et slider : ca bouffe trop de bande passante, et de flux sur les cam.

Ok je vois,
Peut être alors passer direct par la page html de la caméra si elle en a une ?
(avec l’action goToUrl)
Ou par une app Android qui diffuse le flux IP directement.
A voir si ça gagne du temps ou pas…

Par contre si c’est utile et que ça intéresse certains, je peux rajouter sans trop avoir à galérer une action goToSnaphot dans l’apk, prenant en paramètre l’url du snapshot, le login / mdp si nécessaire, et en option le temps de rafraîchissement des snapshots (qui sera fixé à 1s par défaut).
Un peu comme le fait le plugin caméra de Jeedom.
Par contre il faut bien entendu que la caméra le supporte…

Bonjour,

J’essaie de faire un scénario « SMS entrant » pour renvoyer le texte d’un SMS reću vers le moteur de gestion d’intent de mon Rhasspy via son api http.

J’arrive bien a envoyer le texte du SMS en utilisant la balise {MESSAGE} mais celui-ci est pollué par des ‹ + › et les espaces sont supprimés ce qui empêche le bon traitement de ma commande.

Par exemple, lorsque j’envoie le SMS « rhasspy quelle heure il est ? », j’obtiens côté Rhasspy : « +quelle+heure+il+est+%3F » (rhasspy est la clé de mon scénario JPI).

Une idée de comment je peux renvoyer mon texte tel que contenu dans le SMS ?

Un grand merci pour cette application très utile et très bien faite.

Si tu renvois le message dans une url en tant que paramètre http c’est parfaitement normal, il faut l’encoder avant.
Il y a pour ça le mot clef de fonction {ENCODE: xxx} ou l’action : Fonctions/encodeParam
Si tu veux encoder le mot clef {MESSAGE} tu dois obligatoirement passer par l’action (2ème méthode ci dessus) car on ne peut pas envoyer un mot clef dans un mot clef.

Ex:
image

Merci beaucoup pour ta réponse très rapide. Je n’ai pas précisé dans mon message mais je veux utiliser une api HTTP POST.
J’ai cependant résolu mon problème en utilisant la fonction shell de JPI. Je l’utilise pour faire un curl et ća passe nickel.

Merci pour le support que tu fournis sur ton application.

C’est pourtant exactement le même principe avec httpPost :

image

Il n’y a aucune raison que ça ne fonctionne pas et c’est plus léger que de passer par le shell.

:wink:

Ah c’estpas bête d’utiliser une app android. Ca ira surement plus vite. Merci (je suis ocn de pas y avoir pensé…).
Le goToSnapshot pourrais être sympa aussi, mais je ne sais pas comment récupérer le nom d’un snapshot fait par jeedom (et je crois qu’ils ne sont pas accessible depuis une url…)

Je ne sais pas côté Jeedom, mais la caméra a souvent une url de snapshot (et il en va de même pour le NVR).
Exemple pour les caméras REOLINK :

Salut Arno-Strasbourg,
J’avais le même problème sur le plugin surveillance station et Nut_free.
Voici le sujet : Probleme accès plugins NUT_FREE + surveillance station

Pour moi cela à marcher. pour moi c’est la ligne 93/225 dans le fichier JPI.php (/var/www/html/plugins/JPI/desktop/php).

Bon courage.

Salut,
Oui, j’ai fini par trouver un sujet qui parlait de ça. C’est ce que j’ai fait et en effet ça marche.

Merci pour ton retour.

Bon 1er mai à tous.

Salut @djul,

Je manquais de temps depuis ta mise à jour pour tester ton ajout pour que je puisse mettre en place mon système multi-zone.

Dans le principe, mon téléphone est à endroit avec son haut parleur main libre. Il est connecté à une enceinte bluetooth qui est dans une autre pièce (pour expliquer).

Ce qui m’intéresse, c’est d’utiliser la fonction tts (synthèse vocale) pour lire des messages.

J’ai tenté toutes les configurations possibles que ce soit côté connexion bluetooth :

Ou bien côté JPI en jouant sur ton nouveau paramètre stream.
Ce qui m’intéresse c’est de pouvoir jouer un TTS sur une sortie (Bluetooth) ou sur une sortie main-libre (haut parleur main-libre du téléphone) ; pas les deux.

HP Bluetooth connecté
-Appels et notifications OK
-Multimédia NOK

ring = téléphone main libre
notif = téléphone main libre
alarm = téléphone main libre
call = haut parleur oreille
system = téléphone main libre
media = téléphone main libre
dtmf = téléphone main libre

HP Bluetooth connecté
-Appels et notifications NOK
-Multimédia OK
connecté sans audio pour appels tél.

ring = hp bluetooth + téléphone main libre
notif = hp bluetooth + téléphone main libre
alarm = hp bluetooth + téléphone main-libre
call = hp bluetooth
system = hp bluetooth
media = hp bluetooth
dtmf = hp bluetooth

HP Bluetooth connecté
-Appels et notifications OK
-Multimédia OK

ring = hp bluetooth + téléphone main libre
notif = hp bluetooth + téléphone main libre
alarm = hp bluetooth + téléphone main-libre
call = hp bluetooth
system = hp bluetooth
media = hp bluetooth
dtmf = hp bluetooth

EDIT : j’ai cherché une seconde solution que j’avais exploré à l’époque du TTS sur la PI.
J’ai voulu généré le fichier WAV à lire en utilisant ta nouvelle fonction vers un filepath que je lirai sur le téléphone.

Mais du coup, j’ai ça :

Et dans le log, il me renvoie :

A te lire sur une idée pour faire ce que je souhaiterai ?