Calcul sur TimeStamp

Bonjour à tous,
Je m’arrache les cheveux depuis quelques heures…

Avec un pluggin (Gardena), j’obtien un Timestamp de la prochaine date/heure de lancement de mon robot tondeuse. >> 1713944700000
En refaisant le calcul (avec excel) >> 01/01/1970 + 1713944700000 millisecondes , je retrouve bien la prochaine date/heure qui est programmée (24/04/20245 à 07:45:00).

Maintenant, dans jeedom, comment puis-je recalculer cette date/heure pour pouvoir l’afficher sur mon dashboard?

Merci d’avance, la calvitie me guette :slight_smile:

Silkarion

Bonjour

Peut être une piste :

dom@fedora ~ $ date --date @1713944700
mer. 24 avril 2024 09:45:00 CEST

dom@fedora ~ $ date -u --date  @1713944700
mer. 24 avril 2024 07:45:00 UTC

Avec le plugin script et en retravaillant la commande date.

Cordialement

Merci pour ce retour rapide.
La valeur du Timestamp est en dur dans le script. Je peux utiliser une donnée d’un pluggin, virtuel,… #[xxx][yyy][zzz]# ?
La partie script je ne connais pas du tout…

A vrai dire je vais toujours chercher des infos sur le système.
Je ne sais pas passer une variable ou une commande dans un script.
Un développeur pourra certainement répondre.

Il suffit de créer un virtuel avec comme formule :

date("Y-m-d H:i:s", #[ta][commande][timestamp]#/1000);

Virtuel au format info autre, non historisé
A toi de définir ensuite le format souhaité
Cf : PHP: DateTimeInterface::format - Manual

Norbert

Bonjour,
Right!!!
Pour abuser un peu…
Je me retrouve avec un écart de +2h lié je pense au fuseau horaire et heure d’été >> 9h45 au lieu de 7h45.
Je dois post traiter l’info (time_op) ou je peux gérer directement dans la fonction date?
Silkarion

Salut,

Tu parles de plugin-gardena ?

De mémoire il fait ca pour toi.
C’est quel équipement / commande?

Il suffit de rajouter 7200 secondes

date("Y-m-d H:i:s", #[ta][commande][timestamp]#/1000 + 7200)
1 « J'aime »

C’est ce que je me suis dis aussi.

Antoine

Bonjour @Mips,

Oui, c’est le pluggin gardena
Equipement tondeuse husqvarna.

Je voudrais le Timestamp en « lisible ».
Il n’y a pas la « traduction ».
Peut-être à ajouter :grin:

Et merci…
Top le Plugin :wink:

Silkarion

1 « J'aime »

Effectivement…
Merci

As-tu essayé de mettre la formule proposée par @ngrataloup dans le champ « Formule de calcul » dans l’onglet Configuration de la commande (via le menu roues crantées)? (En remplaçant la commande par #value#)
Ah non, si c’est une commande numérique ça ne marchera pas :frowning:

Si, c’est possible, mais il faut :
1 - mettre la commande en numérique
2 - insérer la formule en remplaçant la commande à convertir par #value#
3 - repasser la commande en type autre
4 - NE PAS OUBLIER QUE TU AS MIS UNE FORMULE PARCE QUE LE CHAMP FORMULE A DISPARU
(Mais la formule reste bien active)

Norbert

Ah ouais c’est sioux :open_mouth:. Je pensais que ça marchait pas du coup !

Et ne pas oublier de prévenir le dev du plugin que les types de commandes ont été trafiquées lors de la prochaine demande d’aide…

Je me permet d’intervenir avant la clôture.
De mon côté, sous Jeedom 4.4.3 (stable à date) et plugin-gardena à jour (2024-04-08 01:17:38), le champ timestamp :


Est configuré en mode « défaut » :

Et affiche directement une date et une heure lisible sur le dashboard :
image

Par ailleurs, j’ai également un décalage de 2 heures que j’ai corrigé ainsi :

Et rien de plus

Quel est le « Type générique » sélectionné dans l’onglet Configuration de la commande (Menu roues crantées) ?

le type générique n’a aucun importance ici (aucun impact sur ce qui est affiché ou pas)

@Silkarion et les autres, je confirme ce que dis @Caelion, je viens de vérifier: concernant l’affichage, tout est géré par le plugin; la valeur brut est un timestamp et à l’affichage c’est automatiquement formaté; donc en fait je ne comprend pas le problème à la base

Donc mauvaise idée de vouloir écrire une formule de formatage de date (en utilisant date() par exemple)

L’intérêt de la solution du plugin c’est qu’on garde une valeur brut facilement exploitable dans un scénario tout en gardant un format lisible par un humain à l’affichage.

concernant le décalage horaire, de mémoire on ne reçoit pas le fuseau horaire et donc impossible de faire une conversion automatique dans le bon fuseau mais je pourrais (re)vérifier ce point (dans un autre sujet)

1 « J'aime »

Bon…
Je corrige la solution.
Je me suis basé sur la valeur brute présente dans l’objet.
En affichant la valeur effectivement (que je n’affichais pas), le résultat est bien formaté. :sweat_smile: Shame on me!

Donc rien a faire en terme de conversion. Mes excuses @Mips.
Dans l’histoire, j’ai appri a mieux comprendre les scripts, ce qu’était un Timestamp et la conversion de dates. Dans tous les cas, on en ressort toujours plus fort :rofl:. Moi du moins!

Encore merci pour vos retour !

Bonne fin de soirée :slight_smile:
Silkarion

1 « J'aime »

Ca peut toujours servir et je n’étais pas sur que j’avais géré ca pour ce plugin; parfois j’oublie ou simplement c’est une technique que je ne connaissais peut-être pas au moment du développement initial du plugin.
Voila pourquoi je voulais vérifier