Aller au contenu
henri-allauch

UN petit coup de main SVP

Recommended Posts

J'ai démarré ma nouvelle box, je l'ai mis à jour OK

J'ai le voyant installer Rouge Fixe, j'ai de suite pensé à une erreur m'ai  j'ai vu qu'il fallait configurer l'installateur !   Qu'avait vous configuré vous dans les paramètres pour éteindre ce votant rouge 

 

2047441796_Capturedecran2021-02-13a18_08_08.png.1bd8607c0c1ede3e82f03c2a2bb42377.png

 

 

Deuxième soucis

J'ai modifié le mot de passe de admin, et mis une adresse mail.

Je suis allé ajouter ma hc3 dans le cloud Fibaro

Et là il ma modifié le mail admin de la box par celui de mon accés  au cloud   c'est pas ce que je veux mais j'ai lu que ce serait normal que ce soit la même adresse mail   ( Pour ma HC2 ce n'est pas le cas )

ET à priori je ne peux pas changer le mail de admin depuis la HC2

 

J'avais déjà galéré il y a quelques années à l'arrivé de fibaro ID

Fibaro cloud  adresse mail1

HC2 ( admin) adresse mail2

HC3 (admin) je souhaiterai adresse mail3 ( Si possible )

 

Quel type propre de config  pour 2 box en toute sécurité ?

 

Dernier détail comment donner un nom symbolique ( cloud ) à la place du SN  (En local j'ai mis un nom symbolique ) Pour la Hc2 c'est OK

1294992101_Capturedecran2021-02-13a18_21_54.thumb.png.7ec5b2f9a0b9f7fdb9005b0f160a63e7.png

 

 

Modifié par henri-allauch

Partager ce message


Lien à poster
Partager sur d’autres sites

la LED rouge de l'accès distant, c'est "normal", ça restera ainsi.... pas très rassurant, mais on n'y fait plus attention à la longue

De toute façon si tu configures le panneau d'alarme, tu verras aussi une autre LED s'allumer en rouge ou en vert selon si le panneau est armé ou non.

 

Pour l'email, ça fonctionne différemment de la HC2. Je ne saurais te dire avec certitude quelle est la règle, mais je constate comme toi que sur mon HC3, l'email du compte admin est le même que celui de mon compte Fibaro ID, donc ça doit être imposé.

 

Tu peux changer le nom de ta box dans l'onglet Général des Paramètres (tu noteras l'originalité du nom que j'ai choisi) :

 

image.thumb.png.b9607410849a6c58682be33e6fdee6e5.png

 

Qu'on retrouve bien sur le cloud :

 

image.thumb.png.8e4989e6c279b5ba04a128e86cf23f49.png

 

 

  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci je suis rassuré 

 

J'avais aussi saisi un nom mais il n'en tient pas compte même en supprimant la liste des Home center puis en l'ajoutant  Pas grave ça se rangera à l'usage

 

736197032_Capturedecran2021-02-13a18_43_05.thumb.png.3c9957800ce0ab253ea1eb14dddd034a.png

 

C'est peut être dans la dernière version que j'ai installé 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ça y j'ai commencé un peu dérouté par la présentation mais en travaillant un peu on prend l'habitude.

J'ai parcouru le forum pour avoir des idées, puis j'ai créé ma scène (un scheduleur)  qui gère les actions à faire : chaque minutes, 10 minutes, à telle heure , au lever/coucher de soleil ...)

évidement les actions actuelles c'est fibaro.trace () ou fibaro.alert ( mail/push, ...)

Cela ma permis de comprendre et d'utiliser les conditions de déclenchement d'une scène ( cron, sunrise, sunset, start ) et c'est bien plus puissant que sur hc2. La doc  https://manuals.fibaro.com/home-center-3-lua-scenes/ et et le swagger sont une bonne aide.

Au passage l'activation du swagger par (...) en bas à droite du dashboard ma fermé à plusieurs reprise l'ensemble des onglets de mon navigateur, je l'utilise dans une autre fenêtre depuis ex/http://MyIpHc3/swagger

Avant de m'attaquer à des scènes ( j'ai lu que @Laser et d'autres pensent quelles deviennent obsolète ) je vais me documenter et regarder des exemples Quick Apps sur le forum ( je ne connais pas du tout ) Mais à priori c'est mieux que les scènes ...

Le but est de pas migrer l'existant des scènes et VD de ma HC2 mais de voir ce que je peux faire en mieux.

Idem pour les devices les transférer de préférence les alimentés en priorité pour construire un réseau zwave stable.

C'est vrai que les debug il faut comprendre et bien positionner les filtres, mais on s'y fait par contre je n'ai pas trouvé de "Bouton" pour les supprimer, à priori il sont supprimé au boot, j'ai essayé par le swagger Curl -X http......./api/debugMessages ça marche mais ce n'est pas pratique

d'ailleurs le TryIt est en rouge et il n'y a pas d'api directe delete Peut être pour plus tard

 

@Lazer pour moi le forum ne m'envoi toujours pas les mail des sujets à suivre et toi ?

 


 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bravo :)

 

Il n'y a aucune raison de vouloir supprimer les messages de la console... de toute façon ils disparaissent automatiquement dès qu'il y en a trop, il y a un mécanisme de purge automatique. Si un QuickApp/Scène est trop bavard, il va vite faire expirer les anciens messages (ce qui peut être problématique quand on veut chercher un événement passé dans la nuit par exemple)

 

Non toujours pas d'emails de notification... :(

Modifié par Lazer
  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 

Depuis 2019 n'ayant plus de machine Windows je n'utilise plus le ToolKit de@Krikroff , mais comme je trouvait pratique de sauver les scènes directement en lua , j'ai fait quelques lignes de php  pour remonter quelques codes sources de la Hc2.

Je l'ai aménagé pour l'utiliser sur la Hc3 mais problème : api/scenes/id est naturellement modifiée:

Le code n'est plus dans .lua mais dans .content ça c'est pas grave, mais le code lua est du style 

 "content": "{\"conditions\":\"{\\n  conditions = { {\\n      isTrigger = true,\\n      operator = \\\"matchInterval\\\",\\n      property = \\\"cron\\\",\\n      type = \\\"date\\\",\\n      value = {\\n        date = { \\\"*\\\", \\\"*\\\", \\\"*\\\", \\\"*\\\", \\\"*\\\", \\\"*\\\" },\\n        interval = 60\\n      }\\n    }, {\\n      isTrigger = true,\\n      operator = \\\"==\\\",\\n      property = \\\"start\\\",\\n  

avec des \\n    et autres \\\"    alors qu'en Hc2

"lua": "--[[\n%% autostart\n%% properties\n%% globals\n--]]\n\nlocal BtNuit = 2\n

de ce fait l'enregistrement dans un fichier n'est pas exploitable, et je ne sais pas formater correctement ce code issue du json et ( j'ai essayé de remplacer les "\\n" par "\n " nais ce n'est pas bon )

Avez vous une idée ?

Certainement   @Krikroff a dû résoudre ce pb dans ses travaux sur le nouveau Toolkit HC3 en préparation

 

 

Modifié par henri-allauch

Partager ce message


Lien à poster
Partager sur d’autres sites
function dumpScene(id)
  local s,c,f = api.get("/scenes/"..id)
  c = json.decode(s.content)
  f = io.open("Scene_"..id.."_actions.lua","w"); f:write(c.actions); f:close()
  f = io.open("Scene_"..id.."_conditions.lua","w"); f:write(c.conditions); f:close()
  f = io.open("Scene_"..id..".lua","w"); f:write(json.encode(s)); f:close()
end

--- Download scene from HC3
dumpScene(13)

--- Edit Scene_13_actions.lua ...
--- Edit Scene_13_conditions.lua ...

function restoreScene(id)
  local f,a,c,s
  f = io.open("Scene_"..id.."_actions.lua","r"); a=f:read("*all"); f:close()
  f = io.open("Scene_"..id.."_conditions.lua","r"); c=f:read("*all"); f:close()
  f = io.open("Scene_"..id..".lua","r"); s=f:read("*all"); f:close()
  s = json.decode(s)
  s.content=json.encode({conditions=c,actions=a})
  api.put("/scenes/"..id,s)
end

--- ... then restore scene to HC3
restoreScene(13)

 

  • Like 1
  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

je n'arrive pas à lire une variable QA depuis une fonction autre que  OnInit() et Bouton  OnReleased

 

self:warning(self:getVariable("V_MaVariable"))

OK dans QuickApp:OnInit()

OK dans QuickAPP:B_Fonction()  appelée depuis bouton OnReleased

NOK dans QuickAPP:Fonction() 

 

j'ai loupé quelque chose  !!

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Tiens c'est étrange, ça me rappelle le problème de @couillerot reporté sur cette page :

 

 

Vous auriez trouvé un nouveau bug ?

 

Modifié par Lazer

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah oui en effet tu as raison, vous ne parlez par des mêmes variables

Partager ce message


Lien à poster
Partager sur d’autres sites

Voici le problème je fais peut être une erreur d'écriture !

Le code du QA :

function QuickApp:onInit()
    __TAG = "QA_TEST_" .. plugin.mainDeviceId

    self:trace("")
    self:trace("QuickApp TEST - Initialization")
    self:trace("")
    
    self:setVariable("V_Test", "Alarme")  
    self:debug(self:getVariable("V_Test"))
    QuickApp:Lire()
end

function QuickApp:Lire()
    self:debug(self:getVariable("V_Test"))
end

La trace

[26.02.2021] [20:38:01] [TRACE] [QA_TEST_42]:
[26.02.2021] [20:38:01] [TRACE] [QA_TEST_42]: QuickApp TEST - Initialization
[26.02.2021] [20:38:01] [TRACE] [QA_TEST_42]:
[26.02.2021] [20:38:01] [DEBUG] [QA_TEST_42]: Alarme
[26.02.2021] [20:38:01] [ERROR] [QUICKAPP42]: QuickApp crashed
[26.02.2021] [20:38:01] [ERROR] [QUICKAPP42]: Unknown error occurred: no static 'properties' in class 'QuickApp'

 

Le qa

TEST.fqa

Modifié par henri-allauch

Partager ce message


Lien à poster
Partager sur d’autres sites

Normal

 

Pfiou... mais pas simple

 

Remplace l'appel de la fonction

QuickApp:Lire()

Par ceci :

self:Lire()

 

ça fera toute la différence

 

self, c'est ton instance du QuickApp

QuickApp, c'est la classe générique, elle ne possède pas de propriétés (c'est justement le message d'erreur qui m'a mis sur la piste : "no static 'properties' in class 'QuickApp'")

  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

je viens de comprendre avec ton explication

Un grand merci 

Et de plus je reçois les mails du forum merci aussi

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 20/02/2021 à 07:42, jang a dit :

f = io.open("Scene_"..id.."_actions.lua","w"); f:write(c.actions); f:close()

We can write in a file ?

download it and editing it with notepad++ for exemple ?

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a une heure, jjacques68 a dit :

We can write in a file?

download it and editing it with notepad ++ for example?

Yes, but you have to run the code offline on PC/Mac (HC3 don't have io.*). Ex. using this

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 11 minutes, jang a dit :

HC3 don't have io.*

ah ok, I understand, with the SDK.

I don't use it...

It will be interesting to put in a file some results of function...

Partager ce message


Lien à poster
Partager sur d’autres sites

You can do the same with Python, Perl whatever. However, to pull down the code you need to do it from outside the HC3. I think that is what henri-allauch  was attempting.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour les mail les 2 appels fonctionnent 

    fibaro.call(2, "sendEmail", "TITRE", "MESSAGE")  
    fibaro.alert("email",{2},"MESSAGE")

786635938_Capturedecran2021-03-01a09_50_54.png.5331e46f1276502b58bd9fb3f24a079d.png

 

j'ai découvert (QA de @Lazer ) qu'on pouvait continuer à utiliser le fibaro.call comme en HC2 pratique pour mettre un titre 

Par contre  le fibaro.alert ... d'ou vient le Titre ( chez moi : Message  from FibARO ) c'est standard ou c'est moi qui l'ai paramètré QQ part et je ne ne me rappelle plus !

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Sur hc2 j'utilisaits depuis un python  : requests.put(http://192.168.1.53/api/devices/259,auth=(---Usr----,---Pwd----), data = {"properties":{"power":370.00}}

pour renseigner la valeur power d'un fake device issu d'un wall plug.

Pensez vous qu'il y a une possibilité équivalente sur QA power HC3 ( j'ai essayé mais j'ai une erreur que je n'identifie pas )

Modifié par henri-allauch

Partager ce message


Lien à poster
Partager sur d’autres sites

oui ça fonctionne très bien

En GET avec callAction et setProperty :

/api/callAction?deviceID=259&name=setProperty&arg1=power&arg2=370

 

Normalement tu peux modifier n'importe quelle propriété de cette façon.

 

Modifié par Lazer
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

merci pour cette piste que je vais explorer.

 

je ma pose aussi la question suivante

j'ai une appli qui transmet les KW d'un current cost  vers un un fake . maintenant ce sera un QA mais il y a deux devices ( domestique et chauffage )

j'ai une autre appli qui lit une douzaine de sondes ds18B20 ( indépendantes contrôle des T° d'une PAC ) et les insères directement dans la base  graphhc2 pour être exploitées par domochart  ( les devices n'existent pas dans la HC2  ) 

je vais aussi pour ces sondes faire des QA et cela sera correctement exploité par le nouveaux domochart.

 

La question y a il un intérêt de faire un QA Currentcost avec des childs maison et chauffage et un QA 1-WIRE avec 12 childs sonde1, sonde 2 , ...

ou de faire simplement les QA pour chaque power et temperature ( il n'y a pas de code pour ces devices )

je n'ai aucune expérience en QA child et à lire les posts c'est pas simple : creation , initialisation, classe , ... de plus j'ai l'impression que l'intérêt c'est le partage de code du parent

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Les QA avec Child devices, c'est un peu complexe au début à mettre en place, faut comprendre comment ça marche.

Mais après c'est puissant, avec en effet un code unique pour tous les QA enfants, la maintenance est simplifiée, la consommation mémoire aussi, et également la conso CPU si c'est correctement codé (une seule boucle de mise à jour)

 

après tu peux aussi faire des child "idiots", c'est à dire sans code particulier (uniquement la fonction _init() requise), puis les mettre à jour comme tu faisais avec les Fake, c'est à dire en passant par l'API.

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour comprendre et tester l'utilisation de l'api refreshStates 

je recherche un exemple existant simple

Si vous avez ça sous le coude : merci

Partager ce message


Lien à poster
Partager sur d’autres sites

×