Aller au contenu
Lazer

[Topic de travail] Modules Virtuels et Scènes à migrer en QuickApps

Recommended Posts

J'ouvre ce topic pour suivre l'état d'avancement des Modules Virtuels ou Scènes de la HC2 que je prévois de migrer / réécrire en Quick Apps pour la HC3.

 

Ce topic me permet de visualiser le travail qu'il me reste à faire avant de migrer mon installation sur HC3.

Je pense qu'il peut aussi servir pour se synchroniser avec les autres développeurs afin qu'on ne code pas la même chose chacun dans notre coin.

 

Terminés :

En cours :

  • IPX800 v4 / EcoDevice RT2 => haute priorité, 75% d'avancement
  • DomoCharts => haute priorité, 50% d'avancement

A faire :

  • FHEM => haute priorité, nouveau QA sur le même principe que l'IPX800 pour remonter le statut de mes modules EnOcean sans passer par des Fakes Devices (sera peut-être remplacé par l'EcoDevice RT2, à étudier)
  • Watchdog sur NAS => haute priorité, ...
  • KLF-050 => priorité moyenne, nouveau QA pour intégrer proprement en tant que volet-roulant le module Velux KLF-050 avec un double-switch FGS-222
  • Octoprint => priorité moyenne
  • Epson ESC/VP.net => priorité moyenne
  • Yamaha MusicCast => priorité moyenne
  • Top 10 power => faible priorité
  • Watchdog pour Scènes et VD => faible priorité, ne semble plus nécessaire sur HC3 car un watchdog est intégré nativement
  • Synology Download Station => faible priorité, je ne l'utilise plus depuis que je suis passé à la fibre, et il n'a jamais suscité d'engouement
  • Ubiquiti Unifi => à priori abandonné car le Quick App disponible sur le Market Fibaro semble bien fonctionner

 

Modules d'autres développeurs :

 

 

La liste n'est pas nécessairement dans l'ordre chronologique.

J'essaierai de la maintenir à jour en fonction de l'état d'avancement.

Ce que j'appelle haute-priorité, c'est ce qui est indispensable pour moi avant de migrer mon installation sur HC3.

Cependant étant donné la facilté de certains modules en priorité moyenne, il est fort probable que je m'y attaque avant certains modules prioritaires, pour m'entrainer ou coder sans me fatiguer :D
 

Reste à savoir qui est motivé pour GEA :) => edit : moi :rolleyes:

 

Modifié par Lazer
  • Like 9

Partager ce message


Lien à poster
Partager sur d’autres sites

Au top notre dieu

 

Moi j'aime bien le QA.... lol

 

En plus tes QA sont pas simple

 

Si tu en as des QA facile (sans appel http)

 

Je veux bien aider j'ai du temps libre à revendre

 

Envoyé de mon BLA-L29 en utilisant Tapatalk

 

 

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Cadeau, il y a le VD Diagnostics à mettre à jour si tu souhaites :

 

 

 

 

J'y pense justement car je suis en train de tenter d'intégrer le monitoring de la RAM et du CPU dans DomoCharts.

 

 

PS : n'oublie pas le bouton Reboot avec la nouvelle API, ça te permettra de partager un QuickApp avec cette fameuse API dont on parlait l'autre jour ;)

 

 

Modifié par Lazer
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

OK j'ai fini mon QA jours fériés
Je te fais cela demain chef

Après je voudrais faire vacances scolaires pour@benjynet
Mais je bloc après la réception du xml

Envoyé de mon BLA-L29 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Top :)

 

Et si tu es super motivé, dansa la liste de course je pense qu'il pourrait être intéressant de migrer le VD Réveil avancé de @J3R3M car j'aimerais bien profiter de la migration sur HC3 pour l'utiliser, et il ne me semble pas que J3R3M soit motivé par la HC3 pour l'instant.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@lazer cela te convient il ?

1.jpg.55848a663dc3f30dd2a4d6dc0caba101.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

Vous êtes à fond les mecs dis donc :)

Partager ce message


Lien à poster
Partager sur d’autres sites

@mprinfo si tu as utilisé le code original, le calcul de la charge CPU est foireux... Ce que semblent indiquer tes valeurs élevées.

L'échantillonnage ne se fait que sur 1 seconde, pendant l'appui sur le bouton, ce n'est pas du tout représentatif de la charge CPU moyenne de la box.

 

On a de la chance avec les QA, on peut mémoriser des valeurs.

Donc tu peux faire le calcul entre 2 passage dans la boucle.

Donc tu vires ce bouton Refresh infâme digne d'une HC2, tu places le code dans une loop que tu appelles à intervalle régulier avec settimout (par exemple 60s, customisable par l'utilisateur via une variable du QA),

Et tu auras supprimé ce bouton d'un autre âge, créé un module qui se rafraîchit tout seul, et surtout tu auras une valeur de CPU représentative de la réalité.

 

Et il manque le bouton reboot ;)

 

Remarque de fond : faire un QA clone d'un VD n'a aucun intérêt, autant rester sur HC2.

Profitons des possibilités immenses des QA pour les exploiter intelligemment :)

C'est l'occasion de repenser et réécrire totalement tous nos codes.

Partager ce message


Lien à poster
Partager sur d’autres sites

@laze une vraie bonne femme jamais contant :D je suis pas livreur de colis :D

 

oups avait oublier le reboot ça c'est l'age, ta quoi conte les vieux :D

 

si j'ai bien comprit tu veux un que le calcul entre les 2 appel a l'api soit de 60s ?

 

Aprés pas de soucis poour le settimout j'ai même fait un topic refresh

 

voila comment je traite la partie CPU via 2 tables

 

function QuickApp:GetTableCPU()
         local reponse, status = api.get("/diagnostics")
         -- print (json.encode(reponse))
         if tonumber(status) == 200 then
            local TableCPU ={}
            for i = 0, 3 do
                TableCPU[i] = {
                    ["cpu_user"]    = tonumber(reponse.cpuLoad[i+1].user),
	                ["cpu_nice"]    = tonumber(reponse.cpuLoad[i+1].nice),
	                ["cpu_system"]  = tonumber(reponse.cpuLoad[i+1].system),
	                ["cpu_idle"]    = tonumber(reponse.cpuLoad[i+1].idle)
                }
                TableCPU[i]["cpu_TOTAL"] = (TableCPU[i].cpu_user + TableCPU[i].cpu_nice + TableCPU[i].cpu_system + TableCPU[i].cpu_idle)
            end
            --print (json.encode(TableCPU))
            return(TableCPU)
         end
end
local TablePREV_CPU = self:GetTableCPU()
local TableCPU = self:GetTableCPU()

 

 

Partager ce message


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

Vous êtes à fond les mecs dis donc :)

Toi avec ton EPHAD de HC2 difficile d'être a fond :98:

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi j'ai d'intéressant le VD Onkyo, Milight, Xiaomi Vacuum et Eco-device à rajouter :lol:

 

@Lazer profites-en pour domocharts d'intégrer l'eco-device dedans si tu peux (même si je sais que t'as un truc pseudo fonctionnel à la noix :P )

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah oui ça me fait penser au VD Roomba ThinkingCleaner aussi, dont je ne suis pas l'auteur (il provient du forum officiel) qui est indispensable à mon usage, puisqu'il sert à chaque fois qu'on quitte la maison.

 

La teleinfo dans Domocharts, non désolé c'est impossible, il n'est pas prévu pour ça. Hors de question de réécrire tout le code et la base de données de Domocharts, je ne réécris que le code LUA coté Fibaro.

Pour la téléinfo, il existe déjà plein de projets très bien sur Internet, je ne vais pas réinventer la roue. J'en utilise un depuis 6 ans (que j'ai un peu customisé) et qui fonctionne très bien. Malheureusement son auteur a fermé le site, mais il y a un fork ici : https://github.com/BmdOnline/Teleinfo

Partager ce message


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

Top :)

 

Et si tu es super motivé, dansa la liste de course je pense qu'il pourrait être intéressant de migrer le VD Réveil avancé de @J3R3M car j'aimerais bien profiter de la migration sur HC3 pour l'utiliser, et il ne me semble pas que J3R3M soit motivé par la HC3 pour l'instant.

 

 

Effectivement, je ne pense pas acheter de HC3 que je considère bien trop chère pour une évolution minime...

Enfin, avoir plus de ressources quand la HC2 en disposait déjà de bien trop pour son utilisation...

 

J’aimerais bien pouvoir proposer une version de ce VD pour HC3, mais la philosophie a visiblement complètement changé... S’il ne s’agissait que de remplacer des : par des ., ce serait top :D

Je peux m’y mettre si un simulateur HC3 voit le jour, ou si on m’offre une HC3 :17:

  • Like 1
  • Upvote 1

Partager ce message


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

Pour le "simulateur", c'est par ici : https://forum.fibaro.com/topic/49488-sdk-for-remote-and-offline-hc3-development/

 

Perso je n'ai pas testé, mais ça a l'air puissant :)

 

 

Merci! Après une première lecture, je ne pige pas tellement le fonctionnement, ni même la mise en place.

Je vais essayer de creuser et voir si j'arrive à le mettre en place :rolleyes:

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avoue ça fait peur, je ne me suis pas encore lancé non plus.

Partager ce message


Lien à poster
Partager sur d’autres sites

30mn plus tard :

5461396_Capturedecran2020-05-24a23_17_53.thumb.png.18a899dbf56fb924fc0f8dd6479aa5b6.png

Mais rien de plus.

Je ne me rends pas compte de la charge de travail, mais ça ne serait pas mieux de faire une VM de HC3 qu'on pourrait importer dans VMWare? :rolleyes:

J'abandonne pour ce soir, je m'autoriserai un nouvel essai demain. S'il n'est pas concluant, désolé, mais je laisserai tomber ce simulateur qui fait carrément flipper oui! :lol:

Pas le choix, il faudra m'envoyer une HC3! :60:

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Perso je passe mon tour et préfère passer du temps à monter en compétence sur le HC3 lui même plutôt que sur un sujet potentiellement remis en question dès la publication d’un nouveau firmware


Envoyé de mon iPhone en utilisant Tapatalk

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

En regardant vos QA, je trouve ça pas beau moi, je préférais les anciens VD :)

Je comprends pas pourquoi il y a autant d'espace entre chaque ligne déjà.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui ben ça c'est pas la faute des QA, mais du nouveau design de Fibaro. Pas fan non plus.... je trouvais l'ancien plus joli. Mais à l'usage, la HC3 est 100x plus pratique à utiliser, c'était vraiment infernal la lenteur de l'interface de la HC2, avec les boules bleues de la mort.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@lazer ton VD est prêt par contre le reboot ne fonctionne pas j'ai juste arrêt de la hc3 qui fonctionne

Partager ce message


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

En regardant vos QA, je trouve ça pas beau moi, je préférais les anciens VD :)

Je comprends pas pourquoi il y a autant d'espace entre chaque ligne déjà.

Aujourd'hui c'est ultra simplifié mais logiquement cela devrait rapidement évolué, apparence, composants additionnels ...

il y a 12 minutes, mprinfo a dit :

@lazer ton VD est prêt par contre le reboot ne fonctionne pas j'ai juste arrêt de la hc3 qui fonctionne

Oui j'ai oublié à mon avis de passer dans le body:

{
  "recovery": true
}

Il faudrait adapter la signature de la méthode, par exemple

reboot = function(recovery)

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Krikroff j'ai cela comme code

fibaro.HomeCenter = {
    SystemService = {
        -- reboot the gateway
        reboot = function()
            local http = net.HTTPClient()
            http:request("http://localhost/api/service/reboot",{
            options={ 
                headers = {["X-Fibaro-Version"] = "2"}, 
                method="POST"
                }
            })    
        end,
        -- put the gatewau in slee mode
        suspend = function()
            local http = net.HTTPClient()
            http:request("http://localhost/api/service/suspend",{
            options={ 
                headers = {["X-Fibaro-Version"] = "2"}, 
                method="POST"
                }
            })    
        end,
        -- shutdown the gateway
        shutdown = function()
            local http = net.HTTPClient()
            http:request("http://localhost/api/service/shutdown",{
            options={ 
                headers = {["X-Fibaro-Version"] = "2"}, 
                method="POST"
                }
            })    
        end
    }
}

function QuickApp:btnShutdown()
    print("Shutdown")
    fibaro.HomeCenter.SystemService.shutdown()
end

function QuickApp:btnReboot()
    print("Reboot")
    fibaro.HomeCenter.SystemService.reboot()
end

tu me parles de body c'est quoi cela .....

 

Partager ce message


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

tu me parles de body c'est quoi cela .....

Ça dépend de l'âge...

79394899_Bodyenfant.thumb.png.aa74733c02f1c0781a1c49b0887eefbe.png1722226539_BodyFemme.thumb.png.486611ce579db18f4d095f72bdfe8c05.png

  • Like 2
  • Haha 2

Partager ce message


Lien à poster
Partager sur d’autres sites

J'allais la faire :13::2:

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×