Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Curiosité avec time

Réservé à la création de scénarios dans JEEDOM
Avatar de l’utilisateur
Bono2007
Timide
Messages : 182
Inscription : 27 août 2014, 19:47

Curiosité avec time

Message par Bono2007 » 21 mars 2019, 14:23

Bonjour, j'utilise time dans un bloc code comme ceci :

Code : Tout sélectionner

$time = (int)$sc->getTag('time');

Code : Tout sélectionner

if (($jour == 'Samedi'   ) && ($time >= 0758)) { $TPConsigneEmma = $TPConfort; }   
: pas de problème

Mais si je remplace par 0759 0800... j'ai :
'Invalid numeric literal'

Je n'ai aucun pb avec 1605 0715 1450 2300 2350 etc.

Des idées ? Merci
Jeedom VM + RFXCom + Z-wave + blea sur Proxmox VE
5 volets Somfy – prises AN158 – Wallplugs – OWL CM180 – compteurs d'eau Gianola – Oeil FGMS001 – Eco-Device – sondes THGR810 - FGS 212 - FGBS321 - DS18B20 - ESCAM Pearl QF100 IP[/size]

Sartog
Actif
Messages : 502
Inscription : 27 août 2015, 14:54

Re: Curiosité avec time

Message par Sartog » 21 mars 2019, 14:57

Bono2007 a écrit :
21 mars 2019, 14:23
Bonjour, j'utilise time dans un bloc code comme ceci :

Code : Tout sélectionner

$time = (int)$sc->getTag('time');

Code : Tout sélectionner

if (($jour == 'Samedi'   ) && ($time >= 0758)) { $TPConsigneEmma = $TPConfort; }   
: pas de problème

Mais si je remplace par 0759 0800... j'ai :
'Invalid numeric literal'

Je n'ai aucun pb avec 1605 0715 1450 2300 2350 etc.

Des idées ? Merci
Dans le testeur d'expression, que te retourne #time# >= 0759 ?
Box : smart, mini+, pi 2 et 3, ipbx800 v4
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)

Avatar de l’utilisateur
Bono2007
Timide
Messages : 182
Inscription : 27 août 2014, 19:47

Re: Curiosité avec time

Message par Bono2007 » 22 mars 2019, 23:16

Je vais évaluer : 2316 >= 0759
Résultat : true
Jeedom VM + RFXCom + Z-wave + blea sur Proxmox VE
5 volets Somfy – prises AN158 – Wallplugs – OWL CM180 – compteurs d'eau Gianola – Oeil FGMS001 – Eco-Device – sondes THGR810 - FGS 212 - FGBS321 - DS18B20 - ESCAM Pearl QF100 IP[/size]

Avatar de l’utilisateur
Bono2007
Timide
Messages : 182
Inscription : 27 août 2014, 19:47

Re: Curiosité avec time

Message par Bono2007 » 24 mars 2019, 17:37

Bug à priori : quand je rentre dans le bloc script, seulement :
$time=0805; ==> Invalid ....
$time=0758; ==> ok
Jeedom VM + RFXCom + Z-wave + blea sur Proxmox VE
5 volets Somfy – prises AN158 – Wallplugs – OWL CM180 – compteurs d'eau Gianola – Oeil FGMS001 – Eco-Device – sondes THGR810 - FGS 212 - FGBS321 - DS18B20 - ESCAM Pearl QF100 IP[/size]

jpty
Timide
Messages : 333
Inscription : 01 juin 2018, 10:54
Localisation : Nancy

Re: Curiosité avec time

Message par jpty » 24 mars 2019, 18:02

Dans un bloc code, vous êtes en php et un nombre commençant par un 0 est en octal.

Le chiffre 8 n'est pas possible en octal.
Php tronque les nombres dés qu'il y a un chiffre impossible.
0758 donne 075 en php et la valeur est 61 en décimal.
0805 donne 0 en php

Il faut travailler avec des chaines de caractères. C'est ce qui est fait dans le testeur d'expression.
Dernière édition par jpty le 24 mars 2019, 18:20, édité 2 fois.

Avatar de l’utilisateur
Bono2007
Timide
Messages : 182
Inscription : 27 août 2014, 19:47

Re: Curiosité avec time

Message par Bono2007 » 24 mars 2019, 18:06

jpty a écrit :
24 mars 2019, 18:02
Dans un bloc code, vous êtes en php et un nombre commençant par un 0 est en octal.

Il faut travailler avec des chaines de caractères.
Ah ok. Dans ce cas, un if ($time > "0858") va fonctionner ?
Jeedom VM + RFXCom + Z-wave + blea sur Proxmox VE
5 volets Somfy – prises AN158 – Wallplugs – OWL CM180 – compteurs d'eau Gianola – Oeil FGMS001 – Eco-Device – sondes THGR810 - FGS 212 - FGBS321 - DS18B20 - ESCAM Pearl QF100 IP[/size]

jpty
Timide
Messages : 333
Inscription : 01 juin 2018, 10:54
Localisation : Nancy

Re: Curiosité avec time

Message par jpty » 24 mars 2019, 18:09

En PHP il semble que oui. Il faut vérifier.

En javascript, uniquement s'il y a le même nombre de caractères dans $time. "2" est supérieur à "12" lorsque l'on compare 2 chaines.

Répondre

Revenir vers « Scénarios »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 17 invités