Aller au contenu

jjacques68

Membres confirmés
  • Compteur de contenus

    4 365
  • Inscription

  • Dernière visite

  • Jours gagnés

    39

Tout ce qui a été posté par jjacques68

  1. jjacques68

    Stable 1.15.0.1

    Pour iPhone c'est la 2.16 et pour l'iPad c'est la 1.140. En effet la gestion du panneau de chauffage par zone, mode vacance et marche forcée est en place. et dire qu'on s'est fait chi... a créer des VD pour ça . Moi je garde mes VD.
  2. et non , le pattern "%.2f" si je me trompe pas permet d'arrondir un chiffre à virgule à 1 (%.1f), 2 (%.2f), 3 (%.3f), ..., valeur après la virgule. Il n'extrait pas un nombre à virgule d'une string. En tout cas j'ai essayé et ça plante. Nan mais je pense pas qu'il existe une telle fonction de chaine tout faite pour ça... Donc faut composer, le mixte était ce que j'ai mis plus haut avec ta solution modifié @pepite, et ça fonctionne : if string.match(valeur, "(%d+.%d+)") == nil then valeur = string.match(valeur, "(%d+)") else valeur = string.match(valeur, "(%d+.%d+)") end
  3. bon avec ceci c'est ok, mais c'est lourd... if string.match(valeur, "(%d+.%d+)") == nil then valeur = string.match(valeur, "(%d+)") else valeur = string.match(valeur, "(%d+.%d+)") end
  4. Ha ben non, en fait parce que si la valeur est un nombre entier ça marche plus du coup !!!
  5. Bien vu @pepite !!! j'ai tout essayé sauf ça évidemment... Merciiiiii !
  6. Hello tous, Petite question : Je souhaite extraire d'une chaine, le chiffre réel (à virgule). j'ai lu en long, large, travers et diagonal le site http://www.luteus.biz/Download/LoriotPro_Doc/LUA/LUA_Training_FR/Introduction_Programmation.html Je ne trouve pas le pattern qui y correspond. Pour un nombre entier y a pas de soucis : valeur = valeur:sub(string.find(valeur, "%d+")) donc pour une chaine comme "17.38 °C" ------> il me retourne 17. Mais moi j'aimerai bien avoir 17.38 !!! Quelqu'un à une idée ?
  7. Ok je prends note, merci
  8. jjacques68

    VD avec icône sur app ?

    ainsi que iPad, iPhone .... reste à savoir comment faire
  9. jjacques68

    Question Contenu Table Json

    pffffffffffffffffffff je suis un boulet !!!!!! tu m'avais dis d'essayé avec les doubles ", mais j'avais essayé avec des simples ' !!!!! Du coup ça fonctionne avec les double " (marche pas avec \") donc voici la requête : http://192.168.x.y/api/callAction?deviceID=353&name=setProperty&arg1=ui.FromJeedom.value&arg2= { Tmp:"#[Maison][Palmier][Température]# °C", Hum:"#[Maison][Palmier][Humidité]# %25", Frt:"#[Maison][Palmier][Fertilisant]# uS/cm", Lum:"#[Maison][Palmier][Luminosité]# Lux", Bat:"#[Maison][Palmier][Batterie]# %25" } au moins 4 heures passée là-dessus.... MERCI @Lazer!!!!
  10. jjacques68

    Question Contenu Table Json

    A HA !!! je regarde merci !
  11. jjacques68

    Question Contenu Table Json

    Pour les double " j'ai essayé, et la requête ne s'execute pas correctement du coup... la requete est conçue de cette manière : http://192.168.x.y/api/callAction?deviceID=353&name=setProperty&arg1=ui.FromJeedom.value&arg2= { Tmp:#[Maison][Palmier][Température]# C, Hum:#[Maison][Palmier][Humidité]# %25, Frt:#[Maison][Palmier][Fertilisant]# uS/cm, Lum:#[Maison][Palmier][Luminosité]# Lux, Bat:#[Maison][Palmier][Batterie]# %25 } le %25 = % sinon ça plante aussi. J'ai essayé de remplacer les espaces par %20 mais change rien. dès que je mets un caractère derrière le # à part la virgule ça plante.
  12. Bonjour tout le monde ! Je bloque sur la compréhension des tables Json {}. Voici une table Json envoyée dans un Label d'un VD de la HC2 (elle contient les données d'un capteur de plante verte) [DEBUG] 10:03:31: MaChaine = {Hum:31,Tmp:20.5,Frt:28,Lum:880,Bat:82} Elle fonctionne très bien et j'arrive a exploiter les données avec simplement ce code dans une scène : for k,v in pairs(json.decode(MaChaine)) do print(k.." "..v) end ce qui me donne : [DEBUG] 10:03:31: Tmp 20.5 [DEBUG] 10:03:31: Lum 880 [DEBUG] 10:03:31: Frt 28 [DEBUG] 10:03:31: Bat 82 [DEBUG] 10:03:31: Hum 31 Nickel !!! Mais si maintenant je veux ajouter également du texte (PAS QUE DES CHIFFRES) pour avoir ça : [DEBUG] 10:08:26: MaChaine = {Tmp:20.5 C,Hum:31 %,Frt:28 uS/cm,Lum:880 Lux,Bat:82 %} J'obtiens maintenant cette erreur : [DEBUG] 10:08:26: line 35: unexpected character @ character: 11 0:11 [C] line: [DEBUG] 10:08:26: {Tmp:20.5 C Donc clairement, il n'accepte pas des caractères autres que numériques pour la table Json !!!??? Donc MaChaine reste une simple string ??!! Vous avez des explications là-dessus ????? PS : je peux contourner le problème avec ce script, mais alors une sacré usine à gaz... MaChaine:gsub("([^,{}]+)", function(valeur) MonTableau[#MonTableau+1]=valeur end) for i= 1, #MonTableau do local MaValeur = {} MonTableau[i]:gsub("([^:]+)", function(valeur) MaValeur[#MaValeur+1]=valeur end) print(MaValeur[1].." "..MaValeur[2]) end qui me donne ce que je voudrai : [DEBUG] 10:15:20: Tmp 20.5 C [DEBUG] 10:15:20: Hum 31 % [DEBUG] 10:15:20: Frt 28 uS/cm [DEBUG] 10:15:20: Lum 880 Lux [DEBUG] 10:15:20: Bat 82 % mais pffffffffffff....
  13. Bon j'avance et me rend compte d'un soucis provenant des infos envoyées de Jeedom avec les tables json. Je sais pas si je fais bien mais j'ouvre un nouveau topic sur le sujet...
  14. jjacques68

    Lancer APP iPhone depuis un VM

    J'ai envi de te dire que tu peux oublier cette idée sur les iphone... Apple bloque tellement de possibilité ... Mais si tu trouves, n'hésite pas à partager !!!
  15. une solution à ça : mettre le code dans une scène, déclenchée sur modification du label FromJeedom, et mise à jour des autres label par la scène. mais alors le chemin de dingue !!!!!! 1. Scénario Jeedom pour déclencher une fois par heure le script Jeedom | 2. Script Jeedom qui envoie les infos du MiFlora dans un Label d'un VD de la HC2 | 3. Scène HC2 qui se déclenche sur le changement du label | 4. retour vers le VD pour mettre à jour les labels concernés | 5. exécution par la scène de la HC2 de notifications du style arrosage, batterie, ... | 6. un paquet de clope fumée pendant ce temps là... hahaha !!! la mixité des systèmes domotiques !!!! pas mal !!!! je (on) suis (est) un peu sado sur les bords quand même
  16. alors après des heures de recherches, j'ai fini par trouvé. Mais alors quelle galère !!! C'est clairement une chaine de caractères et non un tableau. Donc je crée un tableau à partir de ma chaine de caractère... local MaChaine = fibaro:getValue(fibaro:getSelfId(), "ui.FromJeedom.value") --la chaine = "35 %,23.1 C,34 uS/cm,285 Lux,86 %" local MesValeurs={} --mon nouveau tableau de valeur --je remplis mon nouveau tableau MaChaine:gsub("([^,]+)", function(valeur) MesValeurs[#MesValeurs+1]=valeur end) --je remplie mes labels fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Hum.value", MesValeurs[1]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Tmp.value", MesValeurs[2]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Frt.value", MesValeurs[3]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Lum.value", MesValeurs[4]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Bat.value", MesValeurs[5]) explications : MaChaine:gsub("([^,]+)", function(valeur) MesValeurs[#MesValeurs+1]=valeur end) MaChaine:gsub("pattern", "fonction exécutée sur chaque item de MaChaine séparés par le pattern") ici, la fonction me remplit mon tableau MesValeurs avec "valeurs" qui sont les items trouvés dans MaChaine "pattern" est la chaine qui fait office de séparateur : ([^,]+) () = un ensemble de caractères [^,] = il faut éviter la virgule (mon séparateur) + = parcourir les item jusqu'au prochain séparateur Voilà ce que j'ai compris. Si je me trompe dite le moi !!!! C'est la MMMMEEEEERRRRR....... ces chaines de caractères ! et au final, je me rend compte que ce code est dans un mainloop d'un VD, donc executé toutes les 3 secondes, et que en fait ça sert à rien, car la jeedom envoie les infos que toutes les heures !!! et j'en ai mare J'ai plus d'idées... pas bête du tout et plus simple, mais ça veut dire que je peux envoyer qu'un valeur à la fois et que donc je vais de voir faire un sacré paquet de script... dommage que le script jeedom me renvoie pas une table json dans la requete !!! Mais c'est étrange parce que j'utilise la même chose avec mon IPX : /api/callAction?deviceID=329&name=setProperty&arg1=ui.Alarme.value&arg2={AlarmeCounter:$C2%,+IpxIn2:$I2}} Et j'applique sans problème un json.decode sur le label !!!!
  17. enfait je crois que je ne me trouve pas avec un tableau, mais avec une simple chaine de caractères !!! car si je fais fibaro:debug(Matable[2]), il m'affiche rien !!
  18. pfffff j'utilise ça : local MaTable = fibaro:getValue(fibaro:getSelfId(), "ui.FromJeedom.value") fibaro:debug(MaTable) for k,v in pairs(json.decode(MaTable)) do fibaro:debug(v) end et j'ai ce message d'erreur : [DEBUG] 18:56:05: {36%,24.8C,38uS/cm,382lux,87%} [ERROR] 18:56:05: line 17: Expected object key string but found T_NUMBER at character 2 J'utilise exactement la même méthodepour envoyer des donnée depuis mon IPX et ça fonctionne !!! Je me demande si ma chaine de caractère est bien formatée !!!
  19. oui c'est ça, la variable contenait des caractères spéciaux comme % ° / qui faisaient planter la chose. Alors maintenant j'ai tout simplement changer la la manière de faire en ne faisant qu'appeler le script pour executer la requête. Et c'est dans la requête que je construis ma chaine de caractères. En fait je cherche à envoyer les valeurs d'un capteur de plante Bluetooth MiFlora vers un label d'un VD de la HC2. Voici la requête envoyée par Jeedom -> HC2 : http://192.168.2.38/api/callAction?deviceID=353&name=setProperty&arg1=ui.FromJeedom.value&arg2={#[Maison][Palmier][Humidité]# %25, #[Maison][Palmier][Température]# C, #[Maison][Palmier][Fertilisant]# uS/cm, #[Maison][Palmier][Luminosité]# lux, #[Maison][Palmier][Batterie]# %25} Et voici le retour dans le label : {36 %, 24.8 C, 38 uS/cm, 382 lux, 87 %} Donc ça marche très bien MAIS MAINTENANT je bloque sur la manière d'exploiter ces données dans la HC2 !!!!!! Je souhaite tout simplement lire les valeus une par une pour les insérer dans les labels correpsondant ! Et je tourne en rond avec la boucle for, pairs, ipairs json.encode, json.decode !!!! rien ne passe !! tu as une idée ?
  20. alors ma requête ci-dessus, est juste. c'est le remplissage de ma variable qui posait problème.
  21. Bonjour à tous, je me suis mis depuis peu à Jeedom en parallèle avec la HC2... Je souhaite utiliser une variable "MaVariable" dans une requête d'un script Jeedom pour l'envoyer dans un Label d'un VD de la HC2. Je précise que "MaVariable" est utilisée dans un scénario Jeedom et prend la valeur suivante {valeur1, valeur2, valeur3}. Voici la requête en question : http://192.168.x.y/api/callAction?deviceID=352&name=setProperty&arg1=ui.FromJeedom.value&arg2=variable(MaVariable) et bien ça marche pas. Si je remplace à la fin "variable(MaVariable)" par autre chose, ça marche ! Je pense que la syntaxe pour faire appel à la variable n'est pas bonne. Vous avez une idée ? PS : J'ai cherché et posté sur le forum Jeedom, mais ça semble plutôt très, très, très, très calme là-bas !
  22. À lire :
  23. Ou encore local HC2 = net.Fhttp() HC2:request("ta requete", { options = {method = 'POST'}, success = function(response) fibaro:debug("recherche grosse fuite en cours...") end }) Plus sûr des syntaxes, désolé...
  24. Dans un VD avec un truc du genre : tcpSERVER = Net.FHttp("ip", port) tcpSERVER:POST("la commande&user=admin&pwd=PASSWORD"); Mais pas sûr que ça fonctionne
  25. Tu parles du paramètres qui par est défaut à 200 lux ? mais c'est pas bête ça !!!! J'y avais pas pensé !!!!! Faut que je regarde demain
×
×
  • Créer...