Aller au contenu

drboss

Membres confirmés
  • Compteur de contenus

    100
  • Inscription

  • Dernière visite

  • Jours gagnés

    5

Tout ce qui a été posté par drboss

  1. drboss

    Support Gea

    Vous @971jmd mais pourquoi ne faites vous pas votre "programmeur" comme un plugin interne? Je pense c'est bon de garder la source GEA standardisée at propre. J'ai modifié un peu différemment, mais j'ai ajouté comme un plugin et vd: GEA.options.multialarm = {name = "multiAlarm", -- optimize = true, control=function(id) return GEA.options.number.control(id) end, getValue=function(id, multi_a) if (os.date("%H:%M", GEA.runAt) == fibaro:getValue(id, "ui."..multi_a.."h.value")) then local days = fibaro:getValue(id, "ui."..multi_a.."j.value") days = days:lower() selected = tools.split(days, " ") for i = 1, #selected do for j = 1, #GEA.trad.week_short do if (GEA.trad.week_short[j] == selected[i]) then if (GEA.traduction.en.week[j]:lower() == os.date("%A"):lower()) then return true end end end end end return false end, } - Alarm : {"multiAlarm", <id_vd>, "<alarme_id>"} - UTILISABLE UNIQUEMENT avec le VirtualDevice GEA.multiAlarm, Alarm_id est "Alarm1" ou "Alarm2" ou "Alarm3" ou "Alarm4" CONDITIONS : GEA.add( {"multiAlarm", id["VD_ALARM"], "<alarme_id>"}, 0, "", {ACTIONS} ) - Va vérifier si la période (jour et heure) précisée correspond à celle indiquée sur GEA.ALARM, si TRANCHE VERIFIEE, ACTIONS executées ACTIONS : Ne peut-etre utilisé en ACTIONS ex. GEA.add( {"Alarm", 530, "Alarm2"}, 0, "", {ACTIONS} ) exécute l'action à 4:01, semaine sans samedi GEA_MultiAlarm.vfib
  2. drboss

    Support Gea

    @pepite je pense que c'est une bonne idée de créer un thème "plugin GEA". Le thème GEA est le plus utilisé. Il peut créer un nouveau niveau groupe pour (même niveau que HC2, HCL) GEA. Par exemple: La HC2 et ses périphériques/Home Center 2 & Lite/GEA6 La HC2 et ses périphériques/Home Center 2 & Lite/GEA6/Support La HC2 et ses périphériques/Home Center 2 & Lite/GEA6/Plugins La HC2 et ses périphériques/Home Center 2 & Lite/GEA6/Showroom Je pense que cela faciliterait la discussion, la recherche solutions qui fonctionne déjà (ex.plugin, showrooms), le support des nouvel problèmes
  3. drboss

    Support Gea

    Mes 2 plugins internes. Y a-t-il un sujet quelque part où nous le plaçons? Pour contrôleur de porte de garage (2 positions [open|close], pas comme les stores ou volet): -- Pour contrôleur de porte de garage (2 positions [open|close], pas comme les stores ou volet) GEA.options.garagegate = {name="garageGate", getValue=function(id_gate) return fibaro:getValue(id_gate, "state") --currentState end, action=function(id_gate, value) if (type(id_gate) ~= "table") then id_gate = {id_gate} end for i=1, #id_gate do fibaro:call(id_gate[i], value) end end, } -- ex. -- GEA.add( {"garageGate", 1299, "Open"}, -1, "Porte ferme #date# à #time#", {"garageGate", "Close"}) -- GEA.add( {"garageGate", 1299, "Closed"}, 10, "Test #value#") -- GEA.add( {"turnOn", 1309}, 10, "Porte ferme #date# à #time#", {"garageGate", 1299, "close"}) -- GEA.add( {"turnOff", 1309}, 10, "Porte ferme #date# à #time#", {"garageGate", 1299, "open"}) Pour changer le mode de thermostat (ex TKB Home TZ10.xx) et vérifier l'état: -- Pour changer le mode de thermostat (ex TKB Home TZ10.xx) -- 0 Off -- 1 Heat -- 2 Cool -- 3 Auto -- 4 Aux Heat -- 5 Resume -- 6 Fan Only -- 7 Furnace -- 8 Dry Air -- 9 Moist Air -- 10 Auto Changeover -- 11 Heat Economy -- 12 Cool Economy -- 13 Away -- 15 Full Power -- 31 Manufacturer Specific -- Value actuel state returne -- 0 Idle -- 1 Heating -- 2 Cooling -- 3 Fan Only -- 4 Pending Heat -- 5 Pending Cool -- 6 Vent / Economiser GEA.options.thermostatmode = {name="thermostatMode", math=true, getValue=function(id) return fibaro:getValue(id, "state") -- Attention! returne l'état actuel du thermostat, pas celui réglé par commande -- getValue=function(id) return fibaro:getValue(id, "mode") -- Attention! returne mode réglé par commande, pas statut actuel end, action=function(id, value) if (type(id) ~= "table") then id = {id} end for i=1, #id do fibaro:call(id[i], "setMode", tostring(value)) end end, } -- ex. -- GEA.add( {"Global", "period_annee", "hiver"}, 30, "thermostat mettre à chauffer #date# à #time#", {"thermostatMode", 1451, 1}) -- GEA.add( {"Value+", 1309, 0}, 10, "fenêtrede toit ouverte plus 30sec, thermostat éteint #date# à #time#", {"thermostatMode", 1451, 0}) -- GEA.add( {"Value", 1309, 0}, 10, "fenêtrede toit ferme plus 30sec, thermostat mettre à chauffer #date# à #time#", {"thermostatMode", 1451, 1}) Il peut être utile a quelqu'un...
  4. version 4.503 Tout fonctionne bien. xml scene a été importé dans la salle TEST, pas à undefined ou comment étaient les "outils" d'origine (mais la nuit je pourrais me tromper ce qui était où dans ces quelques backup). La nuit tout l'équipement a changé en non-configurable, après les 2 dernières sauvegardes ont été endommagées ;-( J'ai finalement récupéré ma configuration de la sauvegarde de la migration vers 4.503. Apres je importe et remplacer quelque VD et scènes. Erreur d'importation VD dans jpg mais importation traité bien.
  5. Bonjour, Savez-vous que l'importation de scènes ne fonctionne pas? Après avoir essayé de charger (importer) le fichier xml, rien ne change dans HC2. Est-ce seulement chez moi?
  6. Nous attendons les résultats ... z-wave vs nice home control Je pense que je vais attendre avec le remplacement de mes stores dans les fenêtres... un peu
  7. drboss

    Support Gea

    @971jmd Merci pour votre aide, Mais malheureusement, même la nouvelle GEA n'a pas fonctionné avec la nouvelle ID ;-( Restauration de la sauvegarde (effectuée sur la version 4.170) était effective (mais pas fais sur 4.180). Le problème était probablement lié à la copie du navigateur et au mauvais encodage des caractères, imposé par le site Web de HC2
  8. drboss

    Support Gea

    Aide moi après la mise à niveau vers 4.180, GEA ne fonctionne pas Je n'ai rien changé dans son code [DEBUG] 02:08:29: -------------------------------------------------------------------------------- [DEBUG] 02:08:29: Started automatically of GEA 6.06 (mode autostart) [DEBUG] 02:08:29: -------------------------------------------------------------------------------- [DEBUG] 02:08:29: Use minifiertools v. 2.00 [DEBUG] 02:08:29: Check automatic every 30 seconds [DEBUG] 02:08:29: Creation of GEA_Tasks6N global variable [DEBUG] 02:08:29: Creation of GEA_HistoryN global variable [DEBUG] 02:08:29: -------------------------------------------------------------------------------- [DEBUG] 02:08:30: [1;31m2018-05-06 02:08:30.842913 [ fatal] Unknown exception: /usr/share/lua/5.2/json/decode.lua:91: Unclosed elements present J'ai supprimé les variables, mais cela n'a pas aidé J'ai aussi commencé GEA sans mes instructions, seulement avec un test " GEA.add(true, 0, "Démarrage de GEA le #date# à #time#")", ça ne marche pas non plus
  9. Oui, J'ai regardé la documentation (https://info.kmtronic.com/lan-relays.html) et vous pouvez la contrôler. IP - adresse ip de carte relais http://user:pass@IP:80/status.xml - pour obtenir statu de relais /ex. <0 0 0 0 0 0 0 0> all off, <0 0 0 0 1 0 0 0> only 5 on, another off/ pour changer l'état du relais 1 à ON http://user:pass@IP:80/FF0101 pour changer l'état du relais 1 à OFF http://user:pass@IP:80/FF0100 pour changer l'état du relais 2 à ON http://user:pass@IP:80/FF0201 pour changer l'état du relais 2 à OFF http://user:pass@IP:80/FF0200 ... jusqu'à 8 (FF0800, FF0801)
  10. Presque toutes les cartes de relais Ethernet fonctionneront avec HC2. Comme l'a écrit @jojo , l'API est importante (et vous devez les connaître avant d'acheter les cart). En général le plus simple est de contrôler la carte avec des commandes via HTTP GET (activer, désactiver dans l'adresse http), ou éventuellement HTTP POST. TELNET c'est plus difficile, mais possible. Pour la carte que j'ai décrite, après commande, l'état rail change de façon permanente, la commande suivante change à l'inverse.
  11. Je l'utilise https://sklep.avt.pl/avt5250.html pour contrôler l'arrosage du jardin, api vous permet de changer de relais et de lire leur état. Vous pouvez l'acheter pour l'assemblage (45euro) ou prêt (70euro). exemple de contrôle: http:/IP/leds.cgi?led=5 -- changement d'état du relais 5 http:/IP/status.xml -- l'état des relais 1-8 at watchdog ( l'état d'une variable special change toutes les 1 sec.) Mais si vous avez besoin d'utiliser (pas seulement relais) des entrées logiques ou des capteurs externes (par exemple contrôleur de qualité de l'air ), je recommande http://tinycontrol.pl/en/lan-controller/
  12. J'ai écrit que les paramètres sont de 4.140, mais moi, j'ai eu un problème d'affichage sur ma HC2 de icône avec cadenas. L'icône du cadenas est resté désactivé après protection. Maintenant j'ai fait un test avec autre KEYFOB et c'est ok. Ce n'est pas une icône d'ajout en mode RF secoure. Pour l'ajout en mode sécurisé, je n'ai trouvé aucun signe sauf paramètre RF...
  13. 1. Les paramètres pour le mode sécurisé / non sécurisé sont affichés via API "RFProtectionState": "0", "RFProtectionSupport": "3", 2. et un nouveau paramètre pour changer l'icône si restrictions activées (par ex. utilisation locale interdite, la première fois que j'ai vu dans version 4.140) "icon": "{\"path\":\"fibaro/icons/com.fibaro.FGKF601/com.fibaro.FGKF601-locked.png\",\"source\":\"HC\"}", La mise à jour a pris plus de temps que la dernière fois (4.140) mais après 15 minutes cela fonctionne Fonctionne pendant 10 minutes ;-) sans redémarrage
  14. @Ludoblues Vous pouvez utiliser chacun contrôler séparément. Cependant, si vous modifiez les paramètres du contrôle principal, les autres changeront (si la synchronisation est activée par VD). Changer les réglages du contrôleur auxiliaire ne change pas les autres Vous pouvez également créer un VD qui peut modifier les paramètres des 4 contrôleurs par exemple: les couleurs RGBW, la luminosité, la mise sous tension, la couleur préférée, l'activation de la couleur ou l'extinction du programme. Vous avez des boutons et des potentiomètres disponibles et vous devez avoir une certaine expérience avec LUA, mais c'est un langage de programmation facile :-) Ensuite, vous n'avez pas besoin d'utiliser un contrôleur comme "master". Chacun travaille seul ou ensemble contrôlé par VD Par ailleurs, ce n'est pas le langage VB et LUA
  15. Voir cet exemple http://www.fibarouk.co.uk/synchronising-rgbw-modules/ et ci-dessous déjà pour trois RGWB. Et VB pour activer et désactiver la synchronisation (en VD variable 'id_sync' est le numéro de scène avec le code ci-dessous Sync_RGBW.vfibSync_RGBW.vfib --[[ %% autostart %% properties 80 currentProgramID 80 color %% globals %% killOtherInstances --]] local fromID = 80 -- ID of first RGBW controler. Use this for control all 3 together. Remember add number of this RGBW Device in %%properties local toID1 = 87 local toID2 = 97 print("sync..ing") -- Allows us to set the colour from a string like "r,g,b,w" function setTheColour (deviceID, colourString) local RGBWTable= {} local i = 1 for value in string.gmatch(colourString,"(%d+)") do RGBWTable[i] = value i = i + 1 end fibaro:call(deviceID, "setColor", RGBWTable[1], RGBWTable[2], RGBWTable[3], RGBWTable[4]) end local trigger = fibaro:getSourceTrigger() if (trigger["type"] == "property") then if (trigger["propertyName"] == "currentProgramID") then fibaro:call(toID1, "startProgram", fibaro:getValue(fromID, "currentProgramID")) fibaro:call(toID2, "startProgram", fibaro:getValue(fromID, "currentProgramID")) if (fibaro:getValue(fromID, "currentProgramID") == "0") then setTheColour(toID1, fibaro:getValue(fromID, "color")) setTheColour(toID2, fibaro:getValue(fromID, "color")) end elseif (trigger["propertyName"] == "color") then if (fibaro:getValue(fromID, "currentProgramID") == "0") then setTheColour(toID1, fibaro:getValue(fromID, "color")) setTheColour(toID2, fibaro:getValue(fromID, "color")) end end end
  16. Oui sans passer par une variable ;-) directement à définition de VD. {"id":988,"name":"test","roomID":0,"type":"virtual_device","visible":true,"enabled":true,"properties":{"deviceIcon":0,"ip":"127.0.0.1","port":11111,"currentIcon":"0","log":"","logTemp":"","mainLoop":"print('test')","ui.Label11.value":"","visible":"true","rows":[{"type":"button","elements":[{"id":1,"lua":true,"waitForResponse":false,"caption":"1","name":"Button11","empty":false,"msg":"print('test')\n","buttonIcon":0,"favourite":false,"main":false},{"id":2,"lua":true,"waitForResponse":false,"caption":"2","name":"Button12","empty":false,"msg":"print('test')\n","buttonIcon":0,"favourite":false,"main":false}]},{"type":"label","elements":[{"id":3,"lua":false,"waitForResponse":false,"caption":"L'étiquette 1","name":"Label11","favourite":false,"main":false}]}]},"actions":{"pressButton":1,"setSlider":2},"created":1507570403,"modified":1507570403,"sortOrder":433}
  17. par exemple: pour arrêter le "mainloop" d'un VD temporaire (appelé depuis une scène sans variable ou bouton) pour désactiver un bouton pour les utilisateurs normal non admin pour changer l'adresse IP d'un serveur en une alternative (quand vous avez un problème temporaire) Ceci est plus rapide pour moi que l'édition du code et pas aussi visible que les boutons pour l'utilisateur normal
  18. Un checkbox "favori" non utilisé par Fibaro peut être utilisé pour activer le code de condition sans utilisé variable. C'est pratique car il suffit de sélectionner ou désélectionner checkbox d'étiquette sur l'écran VD. Voici le code: id = fibaro:getSelfId(); -- or if check another VD the ID of checked VD label = "Label11" -- Label ID of checkbox "favourite" for test local dev = api.get('/devices/'..id)["properties"]["rows"] for k,v in ipairs (dev) do if v.type == "button" then for i = 1, #v.elements do if v.elements[i].favourite == true and v.elements[i].name == label then -- code for run if true fibaro:debug('the checkbox "favourite" checked') fibaro:debug(v.elements[i].name) fibaro:debug(v.elements[i].favourite) end end end end
  19. My family is away for 10-14 days, it's easier to testing HC2 in home without a family on place. :-) If you want I can be a tester. Please write me what I will test for you, then I will answer if I have the right configuration of z-wave network. 

    In general I have:
    RGBW module, dimmers, switches, temperature sensors, humidity sensors, motion detectors, opening sensors, flood sensors, roller shutter / roof window actuators, smoke detectors, netatmo, etherent controller for watering the garden, sonos,
    I use data from external devices in xml and json.table to control events too.

    And it's easier for me to write English in technical matters :-(

    1. Afficher les commentaires précedents  15 en plus
    2. drboss

      drboss

      Thanks for new beta


      Sorry I did not analyze the errors more accurately. My main PC (for development) just died after fall update windows 10 yesterday. And after one day of test, checking old return point (ofcourse not work) I need do reinstalation of all software end after this I need restore data.

      And in the meantime normal work ;-)


      The 876 is a rain sensor in multi device from Fakro (window motor (875 and rain sensor 876)

      Citation

      {
        "id": 876,
        "name": "Czujnik deszczu",
        "roomID": 828,
        "type": "com.fibaro.floodSensor",
        "baseType": "com.fibaro.lifeDangerSensor",
        "enabled": true,
        "visible": true,
        "isPlugin": false,
        "parentId": 874,
        "remoteGatewayId": 0,
        "interfaces": [ "fibaroBreach", "zwave", "zwaveAlarm" ],
        "properties": { "parameters": [], "pollingTimeSec": 0, "zwaveCompany": "Fakro", "zwaveInfo": "3,4,33", "zwaveVersion": "1.1", "alarmLevel": "1", "alarmType": "1", "configured": true, "dead": "false", "deviceControlType": "0", "deviceIcon": "1063", "emailNotificationID": "0", "emailNotificationType": "0", "endPointId": "0", "lastBreached": "1507992573", "liliOffCommand": "", "liliOnCommand": "", "log": "", "logTemp": "", "manufacturer": "", "markAsDead": "true", "model": "", "nodeId": "110", "parametersTemplate": "0", "productInfo": "0,133,0,2,0,17,1,1", "pushNotificationID": "0", "pushNotificationType": "0", "remoteGatewayId": "0", "saveLogs": "true", "serialNumber": "", "smsNotificationID": "0", "smsNotificationType": "0", "useTemplate": "false", "userDescription": "", "value": "false" },
        "actions": { "forceArm": 0, "meetArmConditions": 0, "reconfigure": 0, "setArmed": 1 },
        "created": 1507341724,
        "modified": 1507341724,
        "sortOrder": 334 }

       

    3. drboss

      drboss

      ps.


      Perhaps have You looked at the double push problem for {Alarm}? I checked the problem only for {Alarm} trigger.

       

    4. drboss

      drboss

      And today I have one more json error (the same but with another device), bu I will send You log when restore access to my PC.

       

  20. Comment choisissez-vous "edit" sur device et par exemple modifier l'emplacement ou le nom de device, le paramètre "enabled" est défini sur "false",
  21. @pepite Your corrections proposal is very good and right forimprove code quality. I wrote my code fast as a wife went to the cinema ;-) so it is messy (I had only 3h ). I wrote the code quickly without good formatting because I started one new HC2 far away from me and I am after spine surgery with mobility problem. And the customer has questions, new ideas, modifications etc. every moment ;-) This client is very important because is... my father, you understand what that means As for the creation of the variable, all the time I forget that there is api.put, api.get, and I reused the verified version from the forum.
  22. Okey, My wife and children were in the cinema today, so... I doing new version. 1. no need create table for each HC2, table will created automatically on first connection (as name is used s/n without dash) 2. need to create only database (ex. fibaro) and use user with privilege CREATE TABLE in this database 3. scene check if connection exist, if not it stop copy, delete notifications until connection return but it not cache another message sending by calling this scene, yet :-) On web site: In fibaro_log.php is possible to select each connected HC2 to display last 100 row of message or to export all message in CSV file. On HC2 sql-syslog.lua for send any message to sql server by fibaro:startScene with arg() notification-rec-del.lua for send notification to sql server by call sql-syslog.lue and delete (according to selected conditions in scene) Full description and files: https://github.com/dr-boss/hc2-sql-log
  23. Yes i think about it, I will do it probably this weekend, because I made this code fast.... when the wife was asleep I things to take the name of HC2 from settings/info
  24. Dernières modifications 01:00 26.09.17
  25. J'administre HC2 en 3 places. Je n'ai pas besoin d'informations sur le téléphone (push ou email), mais je veux savoir ce qui se passe. Les utilisateurs ne veulent pas vérifier les notifications et n'ont pas le temps. C'est pourquoi j'ai adopté d'anciens scripts qui enregistrent des notifications ( uniquement supprime les notifications moins importantes) et d'autres messages (p. Ex., Débogage) dans la base de données SQL. Pour ceux qui s'intéressent au lien https://github.com/dr-boss/hc2-sql-log et example (J'utilise deux temps (SQL et HC2) parce que HC2 ne fonctionne pas bien avec NTP SQL Server time HC2 Time Source Level tMessage 2017-09-25 21:28:53 2017-09-25 21:28:46 S99 info 2017-09-25 21:28:26 - 91 - SceneToManyInstancesNotification! 2017-09-25 21:28:53 2017-09-25 21:28:46 S99 debug Delete notification 2017-09-25 21:28:53 2017-09-25 21:28:45 S99 alert 2017-09-25 19:41:38 - 95 - GenericDeviceNotification! 2017-09-25 21:27:27 2017-09-25 21:27:20 S99 debug Test 2017-09-25 21:26:08 2017-09-25 21:26:00 S99 debug Test 2017-09-25 21:19:55 2017-09-25 21:19:48 S99 debug Test 2017-09-25 21:01:03 2017-09-25 21:00:56 S152 notice time control 2017-09-25 20:01:03 2017-09-25 20:00:56 S152 notice time control 2017-09-25 19:01:03 2017-09-25 19:00:56 S152 notice time control 2017-09-25 18:01:02 2017-09-25 18:00:56 S152 notice time control 2017-09-25 17:01:02 2017-09-25 17:00:55 V100 info meteo data updated 2017-09-25 16:56:10 2017-09-25 16:56:04 S99 info 2017-09-25 16:47:33 - 91 - SceneToManyInstancesNotification!
×
×
  • Créer...