Aller au contenu

MAM78

Membres confirmés
  • Compteur de contenus

    2 501
  • Inscription

  • Dernière visite

  • Jours gagnés

    28

Tout ce qui a été posté par MAM78

  1. MAM78

    Surveillance Station Manager

    Pour le moment, j'ai ajouté 10 labels (1 pour chaque CAM). Je pense que c'est déjà pas mal, ils ne doivent pas être nombreux celui ont plus de 10 CAM Pour ceux qui en ont moins, ils pourront toujours supprimer les labels inutiles pour alléger le VD. Le Main loop continuera de fonctionner Je les ai déplacé en fin de VD pour que les autres boutons gardent leur position en cas d'ajouts ou suppressions pour pouvoir cliquer dessus sans avoir à gérer les décalages des autres boutons. Voici le VD updaté :
  2. MAM78

    Surveillance Station Manager

    Pour le moment je n’ai pas encore intégré l’ajout automatique de label supplémentaires, mais c’est totalement faisable. Je n’ai pas mis ça en priorité dans mon dev. Ce n’est pas tous le jours que knob ajoute une CAM. Parcontre dans l’immédiat,il suffit d’ajouter une ligne de label supplémentaire (avec le bon nom de label) et la mise à jour de celui-ci se fait automatiquement.
  3. MAM78

    Surveillance Station Manager

    En attendant le finalisation du DEV de la livraison de la version beta, vous trouverez ci-dessous un aperçu du VD de pilotage d'une des CAM ainsi qu'un update du VD de pilotage globale : Reste à faire avant livraison : Gestion des fonction PTZ des CAM, mais n'ayant pas de CAM compatibles, je vais faire cela sans pouvoir tester. il me faudra des betatesteurs. L'optimisation du code et refaire un passe sur la gestions des traces dans la log.
  4. MAM78

    Comparaison binaire en LUA

    Tu devrais venir dans ma boite ?
  5. MAM78

    Surveillance Station Manager

    Exemple : utilisations avec des commandes GEA en utilisant les règles d'actions de Surveillance Station qui elles déclenchent la prise de Snapshot et l'enregistrement des caméras pour une certaine durée : -- Activation de l'enregistrement des caméras ------------------------------------------------------- -- si détection devant la porte du garage -- si détection devant l'ascalier de la terrasse ou devant la piscine -- si détection devant la porte d'entrée arrière du jardin ou la porte fenètre arrière du jardin GEA.add({{"Label", id["DETECTEUR_EXT_GARAGE"], "lblEtat", "Alarme"} ,{"Label", id["VD_CAM_GLOBAL"], "lblPresence", "#r#Absence"} ,{"Label", id["VD_CAM_EXT_GARAGE"], "lblCamState", "#r#Marche"} ,{"Label", id["VD_CAM_EXT_GARAGE"], "lblCamRecord", "#r#Arrêt"} }, -1, "Mouvement devant la porte du garage le #date# à #time# enregistrement caméra", {{"VirtualDevice", id["VD_CAM_GLOBAL"], 10} }, "Mouvement devant la porte du garage le #date# à #time# enregistrement caméra") GEA.add({{"Or", {"Label", id["DETECTEUR_EXT_PISCINE"], "lblEtat", "Alarme"}, {"Label", id["DETECTEUR_EXT_ESCALIER"], "lblEtat", "Alarme"}} ,{"Label", id["VD_CAM_GLOBAL"], "lblPresence", "#r#Absence"} ,{"Label", id["VD_CAM_EXT_TERRASSE"], "lblCamState", "#r#Marche"} ,{"Label", id["VD_CAM_EXT_TERRASSE"], "lblCamRecord", "#r#Arrêt"} }, -1, "Mouvement devant les détecteurs de la terrasse le #date# à #time# enregistrement caméra", {{"VirtualDevice", id["VD_CAM_GLOBAL"], 11} }, "Mouvement devant les détecteurs de la terrasse le #date# à #time# enregistrement caméra") Je vais ici documenter un peu la façon de gérer le système de notification au travers des Règles d'Action disponibles dans Surveillance Station.
  6. Avec un peu de chance, c'est ce nom qui apparaitra dans les notification mail. c'est @ziamay qui va être contente si c'est le cas.
  7. Synology Surveillance Station Manager Préambule : Après avoir étudier les différentes solutions suivantes de pilotage et gestion des notifications de Surveillance Station (SS) : YAPUSS - Passerelle "Universelle" Surveillance Station de @sebcbien) le VD Synology Surveillance Station de @Lazer l'application DS CAM l'application Surveillance Station disponible sur le NAS J'ai trouvé qu'il me manquait sur ma HC2 : La possibilité d'exploiter la fonction de présence au domicile disponible sur Surveillance Station (SS) avec : la possibilité modifier ce statut et de l'intégrer dans les règles d'actions de Surveillance Station pour Activer/Désactiver les cameras, l'enregistrements, les notifications, ...) d'utiliser ce statut dans la HC2 pour déclencher des actions la possibilités de piloter et d'avoir individuellement pour chacune des caméras un retour d'état sur : Etat : Marche/Arrêt (SS ne visualisant plus le flux vidéo de la CAM) Type de détection de mouvements (par la CAM, par Surv. Station, Détecteurs externes) Enregistrement : Marche/Arrêt Position PTZ de la CAM. Si la fonctionnalité est disponible sur la CAM la possibilité d'indiquer à Surveillance Station de déclencher via les règles d'actions des enregistrements, snapshot, notifications (mail, push, sms) en fonction d'événements extérieurs (détecteurs de mouvements, ...). Du coup, j'ai entrepris de capitaliser sur le travail de @Lazer sur son VD Surveillance Station, ainsi que son VD et Scène MusicCast et une nouvelle solution de management de Surveillance Station. Le Projet : L'idée générale étant de disposer sur nos HC2 d'une nouvelle solution de management des caméras sous Surveillance Station sous la forme : d'un Virtual Device (VD) général qui done une vision d'ensemble de l'état des caméras et d'un pilotage globale de celles-ci Un VD par caméra qui permet de piloter individuellement chaque caméra. Une scène qui consolidera l'ensemble des actions de pilotage des caméras appelée depuis les VD par la fonction Call startScene() avec passage de paramètres. à nommer : Surv Station Manager Les différentes fonctions et statuts disponibles sont les suivants : A partir du VD général : Modification du mode Présence/Absence au domicile. Cela permet notamment de désactiver les notifications automatiques disponibles SS Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Modification du mode Marche/Arrêt d'un coup toutes les caméras. Cela permet de ne plus rendre visible le flux vidéo des caméras ni sous les plugins HC, ni sous l'application SS. Cela permet de limiter l'atteinte à la vie privée des personnes présentes dans la maison. Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Modification du mode Marche/Arrêt de l'enregistrement de toutes les caméras A utiliser par exemple dès lors que votre HC2 détecte une intrusion ou à la demande depuis votre smartphone. Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Déclencher la prise des snapshot (capture d'une photo) sur toutes les caméras d'un coup Celles-ci sont stocker sur SS Communiquer un événement externe à SS (Comme par exemple : une détection de mouvement, ouverture d'un ouvrant ou tout autre événement à votre convenance) Celui-ci peut être repris dans la fonctionnalité de gestion de Règles d'Actions disponible sous SS. Ces Règles d'Actions sont notamment utiles pour déclencher des notifications de type (SMS, Push, Mail) pour signaler un événement. Vous avez jusqu'à 10 événements différents sont disponibles. Le Nom et l'Identifiant de chacune des caméras disponible sur SS L'indication de l'état de chacune des caméras : Activée/Désactivée En cours d'enregistrement Le mode de détection en cours (soit : par la Caméra, par SS, par un événements externes) Retour d'info sur les actions manuelles effectuées sur le VD. A partir des VD individuel pour chaque caméra : Modification du mode Marche/Arrêt de la caméra Cela permet de ne plus rendre visible le flux vidéo des caméras ni sous les plugins HC, ni sous l'application SS. Cela permet de limiter l'atteinte à la vie privée des personnes présentes dans la maison selon la zone couverte par la caméra. Ex. : Laisser l'activation des caméras extérieures ou d'un garage alors que celle celles à l'intérieur sont arrêtées Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Modification du mode Marche/Arrêt de l'enregistrement de la caméra A utiliser par exemple dès lors que votre HC2 détecte une intrusion sur une zone précise. Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Déclencher la prise d'un snapshot (capture d'une photo) sur la caméra. Celui-ci est stocker sur SS Changer le mode de détection de la caméra soit par la Caméra, par SS, par un événements externes) Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le mode remonte automatiquement sur le VD. Le Nom de la caméra définit dans SS Un indicateur informant de la détection d'un mouvement soit par la Caméra ou Surveillance Station). En cours de développement. Modification de la position PTZ de la caméra : Jusqu'à 4 positions sont disponibles Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. La position remonte automatiquement sur le VD. Retour d'info sur les actions manuelles effectuées sur le VD. A partir des variables globales suivantes : VG_SSM_Parameters : Contient dans un tableau l'ensemble des informations suivantes : SceneID = l'id de la scène Surv. Station Manager SID = Identifiant généré à partir des données utilisateurs enregistrées dans le Main Loop de la scène Surv. Station Manager HomeMode = Indicateur pouvant prendre la valeur true (présence au domicile) ou false (absence du domicile) Cameras = Tableau contenant l'ensemble des informations relatives aux caméras ID = Identifiant de la caméra dans Surveillance Station, (13) pour la première caméra dans l'exemple ci-dessous. Cam_Name = Nom de la caméra dans Surveillance Station CameraStatus = Valeur de 1 à 5 correspondant au différent statuts que peut avoir la camera (0: ENABLED, 1: DISABLE, 2: ACCTIVATING, 3: DISABLING, 4: RESTARTING, 5: UNKNOWN) Cam_Enabled = Indicateur pouvant prendre la valeur true (caméra activée, Cf valeur 0 -> CameraStatus) ou false (caméra arrêtée, Cf valeur 1, 2 ,3, 4, 5 -> CameraStatus) Cam_Motion_Source = Indicateur (-1, 0, 1) sur la source de détection de mouvement, soit : -1=disable (événements externes), 0=by_camera (par la caméra), 1=by_surveillance (Par le logiciel Surveillance Station) Cam_Motion_Disabled = Indicateur pouvant prendre la valeur true (détection de mouvement selon source externe, Cf. valeur -1 -> Cam_Motion_Source) ou false (détection de mouvement selon source externe non activée, Cf. valeur 0 et 1 -> Cam_Motion_Source). Cam_Recording = Indicateur pouvant prendre la valeur true (enregistrement en cours) ou false (enregistrement arrêté) Cam_WithPTZ = Indicateur précisant la capacité de la caméra à supporter les fonctionnalités PTZ Cam_PTZ_Position_id = Identifiant de la position PTZ actuelle de la caméra Cam_PTZ_Position_name = Désignation (libellé) de la position PTZ actuelle de la caméra (dans surveillance Station Nota : Attention la modification des valeurs de la variable globale (VG_SSM_Parameters), n'agit pas sur le fonctionnement de surveillance Station. Elles sont à utiliser qu'en lecture seule. Voir exemple ci-dessous : { "SceneID":105, "SID":"xxxxxxxxxxxxxxxxxxxxxx", "HomeMode":false, "Cameras":{ "13":{ "Cam_VD_Id":439, "Cam_WithPTZ":false, "Cam_Recording":false, "CameraStatus":5, "Cam_PTZ_Position_id":"", "Cam_PTZ_Position_name":"", "Cam_Motion_Source":-1, "Cam_Name":"Terrasse", "Cam_Motion_Disabled":true, "Cam_Enabled":false }, "12":{ "Cam_VD_Id":438, "Cam_Motion_Source":-1, "Cam_Recording":false, "CameraStatus":5, "Cam_PTZ_Position_id":"", "Cam_PTZ_Position_name":"", "Cam_WithPTZ":false, "Cam_Name":"Garage", "Cam_Motion_Disabled":true, "Cam_Enabled":false }, "14":{ "Cam_VD_Id":440, "Cam_Motion_Source":-1, "Cam_Recording":false, "CameraStatus":5, "Cam_PTZ_Position_id":"", "Cam_PTZ_Position_name":"", "Cam_WithPTZ":false, "Cam_Name":"Jardin", "Cam_Motion_Disabled":true, "Cam_Enabled":false }, "10":{ "Cam_VD_Id":436, "Cam_WithPTZ":false, "Cam_Recording":false, "CameraStatus":5, "Cam_PTZ_Position_id":"", "Cam_PTZ_Position_name":"", "Cam_Motion_Source":-1, "Cam_Name":"Salon", "Cam_Motion_Disabled":true, "Cam_Enabled":false } }, "CameraList":"10,12,13,14", "pathAuth":"auth.cgi", "pathRecord":"entry.cgi", "pathCamera":"entry.cgi" } VG_SSM_User_Data contient l'ensemble des paramètres utilisateurs afin de pouvoir les échanger entre les VD et la scènes et simplifier le parmétrage de l'ensemble à un seul endroit (le Main Loop du VD général). VG_SSM_Status contient le statut (traduit en français) de l'ensemble des caméras, tel qu'il était géré dans le VD Surveillance Station de @Lazer pour ceux qui souhaite conserver ce mode de fonctionnement avec la correspondance de valeurs suivantes (traduit en français) : Enable = "Activé", Disabled = "Désactivé", Activating = "Activation", Disabling = "Désactivation", Restarting = "Redémarrage", Recording = "Enregistrement", Unknown = "Inconnu", ??? = "???", Nota : les variables sont crées automatiquement Pré-requis : Disposer d'une HC2 Disposer d'un NAS Synology avec Surveillance Station D'une ou plusieurs caméras configurées sur Surveillance Station Installation : Télécharger et installer le : Virtual Device Générale Virtual Device Individuel pour chacune des caméras La scène qui gère les actions lancées depuis le VD. A nommer : Surv Station Manager Télécharger l'icône ci-dessous ou fabrique la votre Associez l'icône (standby) à chacun des boutons du VD, ce sera plus jolie même si les changements de statuts mettrons à jour l'icône automatiquement. Configuration : Du Virtual Device Général : 99% du paramétrage se fait ici merci qui ? Dans l'onglet Avancé du VD import, il convient de renseigner de : Renseigner la paramètre de Adresse IP du VD, l'adresse de votre NAS Synology. Renseigner la paramètre de Port TCP du VD, le port sur lequel vous accédez à l'application Surveillance Station (probablement 5000). dans la boucle principale (main loop) du VD les variables utilisateurs : login et le mot de passe mettant d'accéder à Surveillance Station dans le tableau (List_CAM) la liste des ID de vos CAM avec l'ID du VD correspondant et permettant le pilotage individuel de chaque caméra dans le tableau (List_PTZ_PRESET) la liste des ID de vos CAM avec la liste des différentes positions PTZ que vous souhaitez utiliser (4 maxi par Caméra) dans le tableau (List_ExternalEvent) la liste des différents événements extérieurs que vous souhaitez utilisés dans les règles d'actions dans SS Les ID des icônes correspondants aux 3 états des caméras (standbyIcon, recordIcon, disableIcon). Voir les icônes ci-dessous. Vous avez également la possibilité de changer : les emoji utilisés pour chacun des statuts le contenu textuel (traduction dans la langue de votre choix) et emoji utilisés pour le contenu des Label mais également ceux affichés en entête des Label et Boutons. Supprimer les éventuelles Label de statut des caméras qui sont inutiles (Il y en a 10, vous en avez probablement moins) Je vous déconseille de modifier les noms des variables globales. Même si c'est toujours possible. Il vous faudra également faire les modifications dans la Scène et chacun des boutons des 2 VD. Nota, les variables sont crées automatiquement. Du Virtual Device individuel pour les caméras : Dans l'onglet Avancé du VD importé, il convient renseigner dans le paramètre Port TCP l'identifiant de la caméra (récupéré sur le VD Général) : à compléter, ...... Ne pas oublier de sauvegarder votre nouveau VD D'adapter vos Scènes et VD afin de prendre en compte les changements d'état selon le contenu de la variable Globale "SurvStationManager". Utilisation du VD : Le clic sur chaque bouton fait basculer les modes de façon alternative (Marche/Arrêt) ou boucle successive sur les différentes sources de détection de mouvements dans le VD de pilotage individuel d'une caméra. Versions : V1.0 : du 26/12/2018 -> Intialisation du projet V1.1 : du 24/09/2019 -> Correction du Virtual Device Général en version 1.1 disponible ci-dessous. Attention de bien sauvegarder vos données personnelles de paramétrage du VD (User_Data = { ............) et de les recopier dans cette nouvelle version. Correction du bug qui n'affichait pas les identifiants des caméras dans le VD Général. Ca devrait simplifier la configuration des caméras dans le paramètres utilisateurs Correction de bug sur la création des variables globales et notamment du bug bug isEnum=0 remplacé par bug isEnum=true ou false selon les cas V1.2 : su 27/09/2019 -> Correction de la scène en version 1.2. disponible ci-dessous Correction du bug lors d'une perte du code SID et la présence de l'erreur : API Authentication failure, API does not exist. Un nouveau code SID est maintenant recréé. Il convient juste de coller le code de la scène V1.2 dans la votre. Evolutions à venir : Interception des détection de mouvements oit par la Caméra ou Surveillance Station Mise à jour automatique de l'icône (standby) de chacun des boutons des VD. Créer des icônes spécifique à cette nouvelle solution pour limiter le plagia de celles de @Lazer. Compléter ce TUTO avec des exemples de configurations des notifications par les règles d'actions dans Surveillance Station. A voir selon vos suggestions Dernière version du VD : VD Général : Surv_Station_Manager Global V1.1.vfib.json VD Individuel pour les caméras : Surv_Station_Manager Camera V1.0.vfib.json Dernière version de la Scène : Surv Station Monitor Scene V1.2.lua Scène : Icônes : En cours de création. Reprise en attendant des icônes du VD Surveillance Station de Laser. Pour la Scène et les Boutons des Modules virtuels Enregistrement (recordIcon) Arrêt (disableIcon) Marche (standbyIcon) Position PTZ pour les boutons PTZ des VD individuels. Dernière version de la documentation de l'API : Surveillance_Station_Web_API_v2.8.pdf
  8. MAM78

    Comparaison binaire en LUA

    Tu abuses quand même. Ce n'était pas ma demande. Comme quoi, n'y aurait-il pas une relation de cause à effets. Malgré mon age certain, j'ai encore l'utopie de croire encore à la collaboration, le partage et l'intelligence collective.
  9. MAM78

    Comparaison binaire en LUA

    Chercher c'est bien, mais comme tu sais le temps c'est de l'argent et chercher des heures, ce n'est pas très productif. D'autant que cela nous laisse encore moins de temps pour nous occuper de nos êtres chères. Dans nos entreprises, notamment chez les ESN, nous apprenons aussi à nos jeunes à s'entraider et demander aux autres de les orienter pour ne pas perdre en efficacité tout en favorisant le travail collaboratif et l'emergence de nouvelles idée et de nouveau tallants. Le monde a bien évolué, il est loin le temps où lorsque l'on se posait une question, on allait chercher l'encyclopédie universalisis pour y trouver des réponses et y apprendre à pêcher. Je sais je pousse le bouchons un peu loin C'est ça aussi le monde 2.0 et même 3.0. Parfois un petit coup de main, ne serait-ce qu'une minute ça donne un peu de courage aux bonne initiatives et l'on se sent un peu moins seul devant son écran. C'est essence même d'un tel Forum. Sinon à quoi bon nous y retrouver
  10. MAM78

    Comparaison binaire en LUA

    Parmi ces tonnes, un grand nombre de liens font références au language LUA en version 5.3 qui me semble ne pas être la base de que nous propose Fibaro, d'où la nécessité de passer par des bouts de codes qui complexifiés nos DEV. J'en parlais pas plus tard qu'hier sur la non disponibilité des fonctions Net.FHttp dans les scènes et qui nous oblige là encore à complexifier. Mais peut-être que l'acquisition par les italiens va faire évoluer la donne, mais j'en doute.
  11. MAM78

    Comparaison binaire en LUA

    Pour toi, mais ce n'est pas mon cas. CQFD.
  12. MAM78

    Comparaison binaire en LUA

    Pas totalement, au départ peut-être mais aujourd'hui tu as au moins 3 ans d'avance sur moi En ce qui me concerne, mon niveau de math et de logique ne m'auraient en aucun cas permit d'écrire le code de la fonction BitAND ci-dessous : local function bitAND(a, b) local p,c=1,0 while a and a>0 and b and b>0 do local ra,rb=a%2,b%2 if ra+rb>1 then c=c+p end a,b,p=(a-ra)/2,(b-rb)/2,p*2 end return c end Comme quoi, nous ne sommes pas tous à égalité en LUA ou autres languages
  13. MAM78

    Comparaison binaire en LUA

    J'ai un passé de développement, mais jamais en LUA, donc là j'apprends. J'ai probablement des réflexes qui dates un peu . Mais tu sais, on part tous de 0 un jour. Rien est inné tout s'apprend avec le temps, même si l'on a chacun nos limites . Je suis actuellement sur un DEV qui capitalise beaucoup sur tes bouts de codes. Je le mettrais évidement à disposition des membres du forum en espérant qu'il soit utile et complémentaire à ce qui existe déjà. A suivre dans un prochain nouveau TUTO, ..........
  14. MAM78

    Comparaison binaire en LUA

    Ok, je pense avoir compris tout seul comme un grand si la fonction retour un nombre > 0 c'est vrai. Comme dit l'adage, on n'est jamais si bien servi que par soi-même ou aide toi le ciel t'aidera Mais le ciel, ce n'est pas un dieu du forum j'en suis pas encore là.
  15. MAM78

    Comparaison binaire en LUA

    Désolé, je sens un agacement dans tes retours ces derniers temps. Effectivement, je n'ai pas ton expertise, c'est pourquoi j'y fais appel comme aux autres membres du forum. Mais quoi qu'il en soit, j'essaye toujours d'apprendre des autres et je partage autant que possible ma production et mon expérience. Sur le forum, j'ai rien trouvé sur BitAND et sur Google pas mieux. Pourtant, j'ai beau chercher, probablement très mal, mais pour le moment je ne comprends pas comment utiliser la fonction BitAND dans le cadre de mon besoin. Mon besoin me semblait relativement simple, c'est de pouvoir comparer 2 valeurs et savoir si la comparaison binaire est true ou false. J'entends : 1 and 1 => true 2 and 1 => false 3 and 1 => true 4 and 1 => false 4 and 2 => false ... Si quelqu'un à le courage de m'aider, merci d'avance
  16. Le rachat c'est par Nice ou CAME ou c'est la même chose. J'ai rien trouvé sur le NET sur un rachat par CAME ?
  17. MAM78

    Comparaison binaire en LUA

    Décidément, je suis vraiment un neuneu Je n'arrive pas à utiliser ton code. Ceci mon test : -- Convert Decimal to Bits, most significant first toBits = function(num, bits) bits = bits or select(2, math.frexp(num)) local t = {} -- will contain the bits local b for b = bits, 1, -1 do t[b] = math.fmod(num, 2) num = (num - t[b]) / 2 end if #t == 0 then t = {0} end return table.concat(t) end BitAND = function (a,b)--Bitwise and local p,c=1,0 while a>0 and b>0 do local ra,rb=a%2,b%2 if ra+rb>1 then c=c+p end a,b,p=(a-ra)/2,(b-rb)/2,p*2 end return c end a=toBits(1,8) b=toBits(3,8) fibaro:debug("aaa"..a.."aaa") fibaro:debug("bbb"..b.."bbb") fibaro:debug("***"..bitAND(a, b).."***") if bitAND(a, a) then fibaro:debug("xxx") else fibaro:debug("zzz") end J'obtiens ça : [DEBUG] 19:20:37: nil [DEBUG] 19:20:37: Nom :{"pathAuth":"auth.cgi","435":{},"SceneID":105,"pathCamera":"entry.cgi","434":{},"pathRecord":"entry.cgi"} [DEBUG] 19:20:37: 2018-12-18 19:20:37.355146 [ fatal] Unknown exception: /opt/fibaro/scenes/106.lua:18: bad argument #1 to 'pairs' (table expected, got string) C'est quoi STP le problème ?
  18. MAM78

    Comparaison binaire en LUA

    Merci tu es un chef, ça fait une heure que je cherche. J'imaginais que cela était intégré de base dans le language comment par exemple en VB.
  19. J'ai une donnée qui contient un variable "A" de type binaire pouvant contenir les valeurs suivantes, sachant que ces valeurs peuvent être combinées : 1 2 4 8 ... Je cherche comment en LUA est-ce que l'on fait pour faire une comparaison binaire du type : si A contient 3 cela veut dire que la comparaison binaire est vraie pour 1 et 2 si A contient 4 cela veut dire que la comparaison binaire est vraie pour 4 si A contient 12 cela veut dire que la comparaison binaire est vraie pour 4 et 8 si A contient 7 cela veut dire que la comparaison binaire est vraie pour 1, 2 et 4 ... Quelle est la syntaxe en LUA pour faire le test de comparaison binaire ?
  20. MAM78

    Localisation GPS

    merci @Nico, pour le moment je cherche juste savoir si tous les membres de la famille ont quitté la maison ou si l'un des membres est de retour pour l'utiliser dans différents scénarios. Je me demandais juste si selon les applications : le calcul du positionnement était plus ou moins fiable selon les App ? la consommation est plus ou moins importante sur la batterie du téléphone ? Il y en a tellement qu'il doit forcement y avoir des différences entre toutes ces App présente sur mon téléphone : App Fibaro, App Ifttt, App Google Home (Google), App Alexa (Amazon), App Maison (Apple) App Raccourcis (Apple), App DS CAM (Synology), App Cleaner (Robot Roomba), App Hue (Philips), App Facebook, Et j'en oublis probablement Sachant que certaine permettent également d'associer une détection de présence lorsque le téléphone est connecté sur réseau Wifi.
  21. MAM78

    Localisation GPS

    Je rebondi sur la question, pour vous qu'elle la meilleurs application pour faire de la géolocalisation sur un téléphone (iPhone et Androïd) avec détection d'arrivée et sortie d'une zone. App Fibaro, App Google App Alexa, ...
  22. MAM78

    net.HTTPClient()

    Comme indiqué ci-dessus c'est ce que j'ai fait
  23. Est-ce que l'un de vous aurait une scène (utilitaire) qui permet de lire un variable globale que son contenu est de type tableau et quelque soit le nombre de niveau dans la structure du tableau. Je pourrais l'écrire moi-même, mais j'avoue que si c'est déjà fait autant que cela me serve Merci d'avance.
  24. MAM78

    net.HTTPClient()

    C'est effectivement ce que j'ai vu. C'est génial. Mais je n'ai pas trouvé l'existence d'une remonter vers la scène d'une désignation du Label du VD qu'il convient de modifier en fonction de l'action effectuée qui a été exécuté avec succès. J'ai donc ajouté dans le passage de paramètres entre le VD et la Scène, un nom de Label optionnel sur lequel il convient de répercuter le résultat de l'action réalisée comme par exemple le changement d'un statut qui doit être visible sur le VD si celui-ci à bien été traité par la Scène.
  25. MAM78

    net.HTTPClient()

    C'est bon j'ai enfin réussi à comprendre l'enchainement des appels successifs à getAPI dans les fonctions (actions) de ta scène avec leur principe de CallBack. Après ça, j'aurais plus qu'a instancier mes différentes actions associées aux VD. Mais avant ça il faut encore comprendre comment tu remontes le résultat de tes fonction (action) dans les labels des VD. Merci encore pour ton aide
×
×
  • Créer...