Aller au contenu
mprinfo

HC3 & HC3L - 5.150.15 - STABLE - 08/11/2023

Recommended Posts

Il y a 7 heures, Lazer a dit :

A ceux qui ont des problèmes de modules non configurés et qui ne fonctionnent plus depuis ce firmware, est-ce que vous pouvez essayer la technique suivante ?
J'avais mis ça en place pour mes 4 modules Qubino Fil Pilote afin qu'ils ne remontent plus en erreur dans la box, ça fait 2 ans et demi qu'ils fonctionnent comme ça.

Depuis ce firmware, j'ai un message qui me dit que ces modules n'ont pas de template (normal), mais pas de message qui me dit qu'ils sont non configurées.
Car la technique consiste à modifier les propriétés des modules pour faire croire à la box qu'ils sont correctement configurés :

 


/api/callAction?deviceID=123&name=setProperty&arg1=configured&arg2=true
/api/callAction?deviceID=123&name=setProperty&arg1=deviceState&arg2=Configured

URL à saisir dans votre navigateur, après l'adresse IP de la box.
Et remplacez 123 par l'ID du module parent.

 

Je suis en pleine modif de conf sur 2 qa optimisation cumulus et radiateurs... Dès que c'est stable et fiable, je teste ce point. Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 12/11/2023 à 17:16, Lazer a dit :

A ceux qui ont des problèmes de modules non configurés et qui ne fonctionnent plus depuis ce firmware, est-ce que vous pouvez essayer la technique suivante ?
J'avais mis ça en place pour mes 4 modules Qubino Fil Pilote afin qu'ils ne remontent plus en erreur dans la box, ça fait 2 ans et demi qu'ils fonctionnent comme ça.

Depuis ce firmware, j'ai un message qui me dit que ces modules n'ont pas de template (normal), mais pas de message qui me dit qu'ils sont non configurées.
Car la technique consiste à modifier les propriétés des modules pour faire croire à la box qu'ils sont correctement configurés :

 


/api/callAction?deviceID=123&name=setProperty&arg1=configured&arg2=true
/api/callAction?deviceID=123&name=setProperty&arg1=deviceState&arg2=Configured

URL à saisir dans votre navigateur, après l'adresse IP de la box.
Et remplacez 123 par l'ID du module parent.

 

Hello,

j'ai essayé les 2 commandes en 5.140.17,
On voit bien passer le status de ⚠️ à
avec dans le Log

image.png.ab53a879a481bb937f6c57ca4bf46b6b.png

 

Le diagnostique semble ok

image.thumb.png.6a3b555c86566540a78446b7c066b69f.png

 

Merci @Lazer !

 

Je vais attendre encore un peu pour le passage sur la 5.150.15.

 

Quant est'il des graphs chez vous, vous avez le même problème que j'avais reporté (ou est-ce un aléas de mon navigateur, j'ai testé uniquement sur firefox) ?

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ton retour :)

 

Effectivement les graphs (température, consommation électrique, ...) ont migré de l'onglet Avancé à l'onglet Général, je trouve ça plus logique ainsi même si en pratique je ne les utilise pas (tout dans DomoCharts)

 

Et pas de souci de visualisation, j'ai bien les données jusqu'à l'heure courante, exemple sous Firefox :

 

image.thumb.png.50da241c8dcdd2f60d22a00e7e909e72.png

 

 

De façon générale après une mise à jour, et à fortiori quand tu as un bug d'affichage, il faut bien penser à vider le cache de ton navigateur, ou à minima forcer le rechargement complet de la page avec Ctrl+F5

 

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

A propos de RefreshStateSubscriber et de ceux qui n'en voient pas l’intérêt ;):

L'intérêt est clair: plus aucune scène nécessaire => le code des QA intègre les conditions de déclenchement, il est donc plus facile à lire/maintenir (et on a probablement meilleure réactivité?).

Je viens de passer mon HC2 en HC3 et j'ai enlevé ma dernière scène il y a 1 mois (*)

 

Etant (encore) sous 5.130.64  je n'avais pas accès à RefreshStateSubscriber mais j'utilise intensivement la librairie fibaroExtra (de jgab :13:) et en particulier ses fonctions fibaro.event qui semblent équivalentes, avec une syntaxe a priori plus simple. (https://forum.fibaro.com/topic/54538-fibaroextra/?do=findComment&comment=233501).

 

Donc, pour moi une fonctionnalité du type RefreshStateSubscriber n'est pas une question, c'est un requis :).

 

 

(*) Je pense avoir une version 'stable & kiMarche' depuis 6 mois, la scène que j'ai retirée récemment ne concernait que le démarrage de la HC3. Mon installation a une 50aine de noeuds Z-Wave et une 30aine de QAs

  • Like 6

Partager ce message


Lien à poster
Partager sur d’autres sites

Migration faite, je confirme, semble fonctionner pour les Qubino FP avec la manip décrite au dessus par Lazer.

Les graphes sont toujours HS mais avec un ctrl+F5, tout rentre dans l'ordre, merci encore.

 

Très pratique cette page de diagnostique !

 

A suivre :)

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 12/11/2023 à 18:54, Lazer a dit :

à priori pas de souci pour l'instant :)

 

Même les fils pilotes fonctionnent toujours (enfin je n'en ai testé qu'un seul, le sèche serviette de la salle de bain, vu que je n'utilise plus les autres radiateurs qui sont avantageusement remplacés par une pompe à chaleur)

toujours ok chez toi ?

Je lance donc la mise à jour ?

Partager ce message


Lien à poster
Partager sur d’autres sites

je viens de faire l'upgrade sans soucis :74:

En plus, dans ma config z-wave il me recommandais depuis longtemps d'augmenter le paramètre, mais il refusait de le faire... maintenant c'est ok :60:

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 3 heures, jojo a dit :

je viens de faire l'upgrade sans soucis :74:

En plus, dans ma config z-wave il me recommandais depuis longtemps d'augmenter le paramètre, mais il refusait de le faire... maintenant c'est ok :60:

Quel paramètre ? :P

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 6 heures, jojo a dit :

image.thumb.png.a2b02f99b6c10ea2812784122dd16c49.png

Merci, je viens de voir que moi aussi :D

image.png.679cd415bbba07a5a0152bdd03adfdf1.png

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Clairement, la valeur temp & hum n'est pas remontée vers la HC3 depuis la mise à jour hier.... et un clic sur le capteur ne change rien.
Sur la version stable précédente, j'avais quelques pertes de communication (1 fois par semaine), mais un clic sur le capteur suffisait à le réveiller.
 
Du coup, je restaure ma version précédente.
Suite à a intervention du support, mes Aquara sont de nouveau opérationnels. Enfin, j'en ai ré intégré 1 et ça fonctionne de nouveau.
J'ai même la valeur VOC que je n'avais pas avant....

Envoyé de mon M2012K11AG en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

petit retour sur cette version et le Zigbee

 

c'est la deuxième fois que j'ai un device qui disparaît totalement de la HC3 !!

Plus rien dans la BDD.

En pleine journée !

Je peux juste le ré-inclure.

Avec nouvel ID et tout le bordel qui va avec.

 

il s'agit des capteurs LUX de Xiaomi.

Pas de soucis pour le moment avec les prises Sonoff.

 

De plus la suppression forcée ne fonctionne plus.

 

Et toujours un message d'erreur "Zigbee error" au démarrage de la box...

 

Le Zigbee a pris une claque dans cette version... :(

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Est-ce que l'un d'entre vous a remarqué une nouveauté:

.../...

Quick Apps
    Improved auto-naming of QuickApp elements and labels.
    Added switch support.
    Added dropdown list support.

   .../...

 

Je viens de l'essayer, cela fonctionne pas mal, on peut même changer la liste des choix 'au vol'.

MAIS: je n'arrive pas à forcer (rendre visible sur le bouton) la valeur par défaut au démarrage de l'application (ou au changement de la liste).

Quelqu'un a-t-il déjà joué avec cette nouveauté?

 

Partager ce message


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

Bonjour,

Est-ce que l'un d'entre vous a remarqué une nouveauté:

.../...

Quick Apps
    Improved auto-naming of QuickApp elements and labels.
    Added switch support.
    Added dropdown list support.

   .../...

 

Je viens de l'essayer, cela fonctionne pas mal, on peut même changer la liste des choix 'au vol'.

MAIS: je n'arrive pas à forcer (rendre visible sur le bouton) la valeur par défaut au démarrage de l'application (ou au changement de la liste).

Quelqu'un a-t-il déjà joué avec cette nouveauté?

 

C'était clairement un truc sur je voulais tester mais n'ayant pas vu le Switch (boolean) je ne suis pas allez jusqu'à tester la liste...

Partager ce message


Lien à poster
Partager sur d’autres sites

Sur le forum officiel ils expliquent comment utiliser ces nouveautés des QuickApps : dropdown list et switch button.

Perso j'ai un peu joué avec, j'ai pas trouvé ça super sec... une sorte de nouveauté en mode "beta". Dommage car c'est prometteur, enfin c'est surtout attendu depuis longtemps.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Lazer, je n'arrive pas à trouver sur le forum Fibaro comment utiliser dropdown list.

Pourriez-vous me donner lun lien?

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

T'excite pas ça ne fonctionne pas complètement :(

 

J'ai testé, c'est tout buggué et pas vraiment utilisable en pratique.

Comme pour les Buttons Switchs, il faudra attendre que les équipes de Fibaro débuguent tout ça...

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Chistb

Il y a 11 heures, Christb a dit :

Bonjour Lazer, je n'arrive pas à trouver sur le forum Fibaro comment utiliser dropdown list.

Pourriez-vous me donner lun lien?

Merci

 

Voici un bout de code pour commencer.

Comme dit Lazer, côté Fibaro, la finition de cette fonctionnalité laisse à désirer (valeur par défaut en particulier)

function QuickApp:onInit()
-- .../...

-- exemple pour mettre trois choix dans une droplist nommée "DropBtn" :
-- (le champ 'text' est celui que l'on voit sur l'UI, le champ value est ce qui est retourné par l'évennement)
   local tOptions = {{text="Choix1",type="option",value="1"},
                     {text="Choix2",type="option",value="2"},
                     {text="Choix3",type="option",value="toto"}}
   self:updateView("DropBtn", "options", tOptions)
   self.sCurrentChoice = tOptions[1].value
-- .../...
end

function QuickApp:onDropBtn(evt)
  self.sCurrentChoice = evt.values[1]  --peut valloir "1","2" ou "toto"
  -- .../...
end

 

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 10 heures, yves.guern a dit :

valeur par défaut en particulier

Oui effectivement j'avais buté là dessus, et préféré ne pas mettre en production un QA utilisant cette fonctionnalité si elle est incomplète.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai essayé d'utiliser l'éditeur de la HC3 pour ajouter une liste type dropdown et je rencontre un problème bloquant, car au lancement du QA, j'obtiens toujours la même erreur :

[12.12.2023] [20:13:01] [DEBUG] [QUICKAPP445]: onInit QuickApp id: 445

[12.12.2023] [20:13:01] [ERROR] [QUICKAPP445]: QuickApp crashed

[12.12.2023] [20:13:01] [ERROR] [QUICKAPP445]: Unknown error occurred: std::logic_error: 'handler is not a function'

 

image.png.3530e75fc2afaabaa08cff0a6cdb4e70.pngimage.png.ca17cca55f120449416105e97e197b4d.pngimage.png.dd5f0e86da78509881b133329baf5642.png

les fonctions updateYear et updateMonth existent bien; de plus, je ne comprend pas ce type d'erreur qui ne fait référence à aucune ligne de code...

Partager ce message


Lien à poster
Partager sur d’autres sites

Peux-tu poster le code d'une fonction (Year par exemple) ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, pour tester, je ne fais qu'un print de texte:

function QuickApp:updateYear(event)
print("selection du mois ")
end

Partager ce message


Lien à poster
Partager sur d’autres sites

I want to apologize: the error is not comming from dropdown list buttons and their functions but from the old HC3 backup code that was working previously.

I think the error has been created  http code, and I have found that the self.http line in the onInit function was commented when reactivated, the handletr errror disapeared .

  below the code of QA  main (corrected):

-- QuickApp for creating auto backups
-- To change between local/remote backup, please modify backupType variable in the variables tab
-- You can create backup from scen by: fibaro.call(<id>, "createBackup", "autobackup")
-- For example you can prepare scene that will create backup every saturday at midnight

-- Action for backup creation
local An = 2024
local Mois = 01
function QuickApp:createBackup(description)
        if (description == nil) then
            description = "Sauvegarde manuelle" --"Autobackup"
        end    

    local backupType = self:getVariable("backupType")
    self:debug("Backup Type = "..backupType)
    local requestBody = {
        action = "create",
        params = {
            type = backupType,
            description = description
        }
    }

    self.http:request("http://127.0.0.1/api/service/backups", {
        options = {
            data = json.encode(requestBody),
            method = "POST",
            headers = {
                ["Content-Type"] = "application/json",
                ["Accept"] = "application/json",
                 -- Header with basic auth containing admin:admin. Replace it with your crendentials.
                ["Authorization"] = "Basic  my pasword",
            }
        },
        success = function(response)
            self:debug(response.status)
            self:debug(response.data)
            self:setLabelWithTime()
        end,
        error = function(message)
            self:debug("error:", message)
        end
    })
    
end

function QuickApp:setLabelWithTime()
    -- Setting last backup date. More about date formats: https://www.lua.org/pil/22.1.html
    self:updateView("label1", "text", "Dernière sauvegarde : " .. os.date("%d").."/"..os.date("%m").."/"..os.date("%Y"))
end
--
function QuickApp:b1OnReleased(event)
self:debug("Bouton sauvegarde appuyé")
self:updateView("label_ID_5","text","Prochaine sauvegarde : ".."15/"..Mois.."/"..An)
--self:createBackup(description)
--self:updateView("label1", "text", "Dernière sauvegarde : " .. os.date("%d").."/"..os.date("%m").."/"..os.date("%Y")) --to be changed as comment when createBackup fun will be OK
end
--
--==========================new functions for dropdowan lists ===========================
function QuickApp:updateMonth(args)
    self:debug("le mois choisi est : " .. args["values"][1])
    Mois= args["values"][1]
return Mois
end
--
function QuickApp:updateYear(args)
    self:debug("l'année choisie est : " .. args["values"][1])
    An = args["values"][1]
return An
end  
--
function QuickApp:svgType(args)
    self:debug("Sélection du type de sauvegarde "..args["values"][1])
    self:setVariable("backupType",args["values"][1])
 end

--]]
--=======================================================================================
function QuickApp:onInit()
self:debug("onInit QuickApp id: "..self.id)


    self.http = net.HTTPClient({timeout=3000})
    --setInterval(createBackup,30*24*60*60*1000)

self:debug("----- onInit End -----")

end

 

Modifié par Christb
Find were the handler error came from...

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 12/12/2023 à 08:05, yves.guern a dit :

Bonjour Chistb

 

Voici un bout de code pour commencer.

Comme dit Lazer, côté Fibaro, la finition de cette fonctionnalité laisse à désirer (valeur par défaut en particulier)


function QuickApp:onInit()
-- .../...

-- exemple pour mettre trois choix dans une droplist nommée "DropBtn" :
-- (le champ 'text' est celui que l'on voit sur l'UI, le champ value est ce qui est retourné par l'évennement)
   local tOptions = {{text="Choix1",type="option",value="1"},
                     {text="Choix2",type="option",value="2"},
                     {text="Choix3",type="option",value="toto"}}
   self:updateView("DropBtn", "options", tOptions)
   self.sCurrentChoice = tOptions[1].value
-- .../...
end

function QuickApp:onDropBtn(evt)
  self.sCurrentChoice = evt.values[1]  --peut valloir "1","2" ou "toto"
  -- .../...
end

 

Après pas mal de cheveux perdus, j'ai fini par comprendre comment utiliser les listes de selection drop-down à la mode Fibaro.... à vrai dire je ne sais pas si c'est un bug ou un comportement prévu, mais c'est vraiment très étrange :huh:

 

Si on charge de façon dynamique (lors de l'exécution du code LUA) les options avec self:updateView(), comme dans ton exemple, alors il est impossible de sélectionner une option dans la liste.
Je veux dire par là que l'utilisateur peut sélectionner une option dans la liste, ça va bien déclencher la fonction de callback, mais l'option choisie ne restera pas sélectionnée dans la liste, il est impossible de forcer la présélection avec self:updateview() ce qui nuit considérablement à l'expérience utilisateur, puisque le propre d'une liste déroulante est de montrer l'option actuellement sélectionnée et de permettre visuellement d'en changer.

 

Pour que la présélection fonctionne, il faut 2 conditions :

  • Les options doivent être chargées de façon statique dans la fenêtre de modification du QuickApp, sur la droite de l'écran lors de l'édition du contrôle :

    image.png.369f59adc737cd8d30b36bb8e258b353.png
     
  • Dans le code LUA, la présélection d'une option peut alors se faire avec l'argument "selectedItem" dans la fonction self:updateView(), comme ceci :
    self:updateView("SelectSwing", "selectedItem", "Off")

     

 

Ah la logique polonaise et ses subtilités, elle nous surprendra toujours :lol:

 

 

Voici un exemple de code plus concret pour la fonction de callback associée à la capture d'écran ci-dessus :

function QuickApp:selectSwing_onToggled(event)

	self:updateView("SelectSwing", "selectedItem", event.values[1])

	-- Puis fait d'autres choses afin de réaliser l'action désirée...
	-- ...

end

On constate qu'on récupère la valeur de l'option sélectionnée par l'utilisateur dans la variable event.values[1]

 

Dans mon cas c'est simple puisque la valeur de l'option correspond à son nom.

 

 

Note : la modification "statique", telle qu'effectuée dans la fenêtre de modification du QA (capture d'écran) est en réalité possible pseudo-dynamiquement dans le code LUA.
Pour cela, il faut modifier le QA proprement dit, non pas avec updateView (qui n'agit qu'en mémoire vide), mais avec api.put("/devices/ID", ...) ce qui a pour effet de sauvegarder la config du QuickApp dans la base de données, mais aussi de la redémarrer instantanément... attention aux effets de bord, il ne s'agirait pas de faire cette modification de façon inconditionnelle dans onInit(), sinon on obtient un QA qui reboot en boucle.

 

 

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

pour le moment je poste ici 

 

je ne trouve plus pour un module Z-Wave Fibaro comment vérifier ou mettre à jour son firm (Over-the-air)

Avant c'était dans onglet général ou avancé du device ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×