Keros : Mon projet, mon matos & des infos

Décrivez votre installation de Domotique : ce que vous gérez, quels sont les points forts de votre config.
Illustrez par des photos, partagez et faites nous envie !
Doudy
Messages : 457
Inscription : 07 mai 2016, 17:23

Re: Keros : Mon projet, mon matos & des infos

Message par Doudy »

Hou la la :shock:
Ca m'a l'air compliqué tout ça !
Je vais étudier cela à mon aise.
Merci
RaspberryPi - RFLink - Zwave - WH2600
Domoticz : 2020.2 | Dashticz : V3.12 Master | dzvents : 3.0.2 | Python : 3.7.3
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Keros : Mon projet, mon matos & des infos

Message par Keros »

C'est différent, oui, mais pas forcément beaucoup plus compliqué.
La gymnastique est différente par rapport au LUA.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Keros : Mon projet, mon matos & des infos

Message par lost »

Keros a écrit : 04 mai 2021, 22:16 @Lost, c'est vrai que le DzVents est un peu déroutant par rapport au LUA concernant le bloc Trigger. J'ai eu un petit peu de mal à l'assimiler.
Hello,

Pour ma part, je dirais que sur les exemples (pourtant simples) du wiki je n'ai absolument pas compris le lien trigger/execute.

Pourtant, je vis de faire du soft depuis 26 ans! Certes, c'est du "logiciel de base" (démarrage processeur/BSP...) donc au ras du matériel et en écrit C (pas vraiment le cadre d'application pour de l'objet, même en C++ ou on ne maitrisera jamais assez son utilisation mémoire, je n'ai donc vraiment pas la tête formatée à cela) avec un soupçon d'assembleur, mais en général j'arrive quand même à rentrer sans trop de problème dans des langages nouveaux. Le seul truc qui me pose problème, bien souvent, c'est de ne pas avoir à tout faire moi-même (bien souvent, je n'ai même pas une libc à dispo)!
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Keros : Mon projet, mon matos & des infos

Message par Keros »

Je vais tenter une explication :

Code : Tout sélectionner

return {
	on = {
                devices = { 'bouton1', 'bouton2'},
		timer = { 'every hour' },
                httpResponses = { 'Json-devices' }
	},


execute = function(domoticz, item)
      
      if item.trigger == 'bouton1' then
      
        domoticz.log("J'ai appuyer sur le bouton 1 !!", dz.LOG_INFO)
        
      elseif item.trigger == 'bouton2' then

        domoticz.log("J'ai appuyer sur le bouton 1 !!", dz.LOG_INFO)

      end
      
      
      if (item.isTimer) or (item.isDevice) then

          domoticz.openURL({
            url = 'http://127.0.0.1:8080/json.htm?type=devices',
            callback = 'Json-devices'
        })

      end
      
      if (item.isHTTPResponse) then
          if (item.ok) then
            domoticz.log("J'ai bien reçu un Json !!", dz.LOG_INFO)
          end
      end
    end
}
En premier, on définit quels déclencheurs vont exécuter le script. Dans ce cas d'exemple, il y a :
  • Des dispositifs : bouton1 et bouton2
  • Un timer qui sera toutes les heures
  • Une réponse HTTP que j'ai appelé Json-devices
Dès que l'un des déclencheurs va se produire, l'exécute sera lancé avec :
  • domoticz qui sera le nom de la variable utiliser pour nommer DomoticZ (certains l'appel juste dz car c'est plus rapide à écrire)
  • item qui sera le déclencheur qui aura lancé l'exécution.
Ta partie "script" commence à partir de là.

Je fais faire des choses différentes en fonction du nom du déclencheur (item.trigger).

Ensuite, si le déclencheur est un Dispositif ou un Timer, alors je lance une requète Json. Mais une fois l'url lancée, on "arrête" le script.

On attend la réponse, pour utiliser le déclencheur HttpResponses et faire la dernière partie du script.

**********

J'ai essayé de présenter plusieurs possibilités de lancement. Alors oui, dans cet exemple, je ne fais rien avec le retour des infos du Json : c'est pour un principe.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
pierrotori
Messages : 821
Inscription : 29 févr. 2016, 12:11

Keros : Mon projet, mon matos & des infos

Message par pierrotori »

Bonsoir
Pareil j'ai tout migré sous Dzvents et supprime les blocky ainsi que les scripts dans l'interface il y a un an
Tous les scripts sont dans le répertoire script par contre j'ai gardé la notion de script device ou timer avec la codification d_ ou t_ peut être je devrais faire comme toi fusionner certains scripts par service ou fonction, pour avoir moins de script

En tout cas le Dzvents est assez simple à comprendre et à écrire. Du coup beaucoup plus simple de remettre le nez dedans 1an après :D

Pourrais tu m'en dire plus sur ce sujet Sur sauvegarde sur NAS - Hebdomadaire
Je sauvegarde tout le contenu de mon système sur un partage CIFS de mon NAS

Tu sauvegardes avec BackinTime l'os complet avec domoticz sur ton nas avec BackinTime . est ce possible de le faire avec rsync ?
as tu fait un essai avec un retour sur une sauvegarde complète OS faite sur ton NAS ?

question par rapport à ton explication au dessus :
quel est la subtilité entre item.trigger et item.isdevice ?
J’essaie d’y repondre aussi
Item.trigger retourne le nom de la device qui a bouge
Item.isdevice permet de savoir si c’est une device qui a declenche le script
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Keros : Mon projet, mon matos & des infos

Message par Keros »

Avec BackInTime, je sauvegarde mes dossiers Home et Etc. Cela m'a déjà permis de remonter un système avec mes données et les configurations que j'avais faites. La sauvegarde sur NAS qui prend la partition est une deuxième sécurité.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: Keros : Mon projet, mon matos & des infos

Message par Flying Domotic »

Doudy a écrit : 05 mai 2021, 08:58 Bonjour,
J'ai régulièrement (plusieurs fois par jour) le message :

Code : Tout sélectionner

2021-05-04 23:00:13.444 Error: EventSystem: Warning!, lua script /home/pi/domoticz/scripts/lua/script_time_openMeteo.lua has been running for more than 10 seconds
Si j'ai bien lu, il faudrait donc transposer ce lua en dzvents !
Y-a-t 'il un moyen aisé de le faire ?

;)
En dehors de la cause proposée, il arrive aussi qu'un backup se lance en parallèle, et soit la cause du ralentissement de Domoticz/verrouillage de la base.

J'ai réglé ce type de souci en passant de RPi3/SD sur RPi4/M2 NVME (backup de 25 secondes à 0.1 secondes). Ca change vraiment la vie ;-)
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Keros : Mon projet, mon matos & des infos

Message par Keros »

C'est vrai que je n'avais pas pensé aux sauvegardes automatiques. Il faut bien quelques secondes pour copier 50 Mo ...

Je vais regarder pour décaler mes scripts d'une ou deux minutes : je l'avais déjà fait pour certain car je pouvais avoir plusieurs requêtes Json en même temps.

Merci Flying Domotic
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
pierrotori
Messages : 821
Inscription : 29 févr. 2016, 12:11

Re: Keros : Mon projet, mon matos & des infos

Message par pierrotori »

avez vous automatisé la restauration de la sauvegarde de l'OS du nas sur une nouvelle carte SD ou un disque ?
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Keros : Mon projet, mon matos & des infos

Message par Keros »

Dans quel sens tu voulais l'automatisé ?

Si je dois restaurer l'image du NAS, c'est que tout le système est tombé : je suis obligé de passer par un autre système.
Ca revient à remettre une image sur un disque : une ligne de commande suffit.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre