Aller au contenu
neliger

Voir Si Une Lumière Est Allumée Et Tout Éteindre

Recommended Posts

Alors je vais devoir arrêter de ta parler :P

 

En effet, je viens de copier/coller dans Notepad++.... et devine quoi.... c'est mal tabulé aussi :P

 

En fait c'est simple, certaines lignes (telles que le "break") n'ont pas de tabulation, mais des espaces !!!

Donc selon la largeur de la tabulation configurée dans TON Notepad++, ça s'affiche bien. Mais pas dans MON Notepad++, ni sur le forum.

 

Voilà , Jojo maintenant j'arrête de te parler (temporairement ;) ) :2:

Partager ce message


Lien à poster
Partager sur d’autres sites

ok, pour les break je n'étais pas passé par notepad, juste fait enter dans l'éditeur Fibaro et l'un ou l'autre tab. Maintenant je sais que Fibaro génère des espace et pas des tabulations  :angry:

Partager ce message


Lien à poster
Partager sur d’autres sites

Code adopté merci à  vous, par contre pouvez vous poster la modif pour supprimer le double click. (pas utile chez moi)

pourquoi ne pas proposer dans début de code, un paramètre yes/no pour laisser le choix ?

 

une autre question que je me posais, vrai pour d'autres VD, avoir tous les commentaires dans la main loop, c'est pas gênant ? 

Partager ce message


Lien à poster
Partager sur d’autres sites

Aucun problème pour les commentaires, ce VD n'est pas très gros.

Le seul désagrément (léger) c'est que ça ralenti le chargement de l'interface, surtout depuis un mobile, car il y a du texte inutile àcharger.

Partager ce message


Lien à poster
Partager sur d’autres sites

@Sakkhho,

Voici le code du bouton tout éteindre sans le double click

----------------------------------
-- User Settings
----------------------------------
 
-- Modules àexclure et fonction de traitement (pas raccordés àdes lumières)
-- Peut contenir un id ou un mot clés àchercher dans le nom du module
toExclude = {} 
 
----------------------------------
-- DO not change bellow this line
----------------------------------
 
-- Modules àexclure ou inclure et fonction de traitement (pas raccordés àdes lumières)
-- Peut contenir un id ou un mot clés àchercher dans le nom du module
-- toExclude = {72, "Dispo", "Volet", "Bubendorff"}
function shouldExclude(module)
	for _, v in pairs(toExclude) do
		if string.find(module.name, v) ~= nil or module.id == v then return true end
	end
	return false
end
 


	-- Récupération de la liste des modules
	local HC2 = Net.FHttp("127.0.0.1", 11111)
	local payload = "/api/devices"
	local response, status, errorCode = HC2:GET(payload)
	if tonumber(errorCode) == 0 and tonumber(status) == 200 and response ~= nil and response ~= "" then
		local jsonTable = json.decode(response)
		-- Boucle sur les modules
		for device = 1, #jsonTable do
			    -- look for lighting devices
	if jsonTable[device].interfaces and not shouldExclude(jsonTable[device]) then
			for interface = 1, #jsonTable[device].interfaces do
				if jsonTable[device].interfaces[interface] == "light" then
					local DeviceValue = tonumber(jsonTable[device].properties.value)
					if (DeviceValue and DeviceValue > 0) or (jsonTable[device].properties.value == "true") then
					--fibaro:debug(" id: "..jsonTable[device].id.." is "..jsonTable[device].name.." type: "..jsonTable[device].interfaces[interface])
					--fibaro:debug(" value: "..jsonTable[device].properties.value..". Turning Off")
					fibaro:call(jsonTable[device].id, "turnOff")
					end
            		break
				end
			end
		end
		end
	else
		fibaro:debug('<span style="display:inline;color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..(response or "")..'</span>')
	end
 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut a tous et encore bravo !

je voudrais pouvoir soit avec ce module soit avec un autre

pouvoir voire la meme chose mais pour mais ventilateur de plafond

et aussi voire quelles sont les fenetres ouvertes de la maison j'ai des FGK101

merci pour votre aide

Partager ce message


Lien à poster
Partager sur d’autres sites
jsonTable[device].interfaces[interface] == "light"

salut

 

il y a quoi comme option a la place de light ?

ou je trouve la list ?

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, regarde dans les jsons des modules ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

bon je craque

je n'y arrive pas !

j'ai des module : FGS222 Switch 2x1,5kW EU

la premier sortie c'est une lampe et dans Appareil commandé j'ai sélectionner : éclairage

et la 2 eme sortie c'est un ventilateur de plafond et dans Appareil commandé j'ai sélectionner : ventilateur

je cherche a faire le meme super VD que celui la mais que pour les ventilateur

 

je n'arrive pas !

svp help merci

Partager ce message


Lien à poster
Partager sur d’autres sites

ok merci voila le json d'un des module :

{
  "id": 18,
  "name": "Ventilateur plafond",
  "roomID": 8,
  "type": "com.fibaro.binarySwitch",
  "baseType": "com.fibaro.actor",
  "enabled": true,
  "visible": true,
  "isPlugin": false,
  "parentId": 17,
  "remoteGatewayId": 0,
  "interfaces": [
    "zwave",
    "zwaveFirmwareUpdate"
  ],
  "properties": {
    "parameters": [
      {
        "id": 1,
        "lastReportedValue": 255,
        "lastSetValue": 255,
        "size": 1,
        "value": 255
      },
      {
        "id": 3,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 4,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 2,
        "value": 0
      },
      {
        "id": 5,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 2,
        "value": 0
      },
      {
        "id": 6,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 7,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 13,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 14,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 15,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 16,
        "lastReportedValue": 1,
        "lastSetValue": 1,
        "size": 1,
        "value": 1
      },
      {
        "id": 30,
        "lastReportedValue": 3,
        "lastSetValue": 3,
        "size": 1,
        "value": 3
      },
      {
        "id": 31,
        "lastReportedValue": 2,
        "lastSetValue": 2,
        "size": 1,
        "value": 2
      },
      {
        "id": 32,
        "lastReportedValue": 3,
        "lastSetValue": 3,
        "size": 1,
        "value": 3
      },
      {
        "id": 33,
        "lastReportedValue": 1,
        "lastSetValue": 1,
        "size": 1,
        "value": 1
      },
      {
        "id": 39,
        "lastReportedValue": 600,
        "lastSetValue": 600,
        "size": 2,
        "value": 600
      },
      {
        "id": 40,
        "lastReportedValue": 3,
        "lastSetValue": 3,
        "size": 1,
        "value": 3
      },
      {
        "id": 41,
        "lastReportedValue": 2,
        "lastSetValue": 2,
        "size": 1,
        "value": 2
      },
      {
        "id": 42,
        "lastReportedValue": 3,
        "lastSetValue": 3,
        "size": 1,
        "value": 3
      },
      {
        "id": 43,
        "lastReportedValue": 1,
        "lastSetValue": 1,
        "size": 1,
        "value": 1
      }
    ],
    "zwaveCompany": "Fibargroup",
    "zwaveInfo": "3,3,52",
    "zwaveVersion": "2.2",
    "pollingTimeSec": 0,
    "configured": "true",
    "dead": "false",
    "deviceControlType": "13",
    "deviceIcon": "11",
    "emailNotificationID": "0",
    "emailNotificationType": "0",
    "endPointId": "0",
    "liliOffCommand": "",
    "liliOnCommand": "",
    "log": "",
    "logTemp": "",
    "manufacturer": "",
    "markAsDead": "true",
    "model": "",
    "nodeId": "2",
    "parametersTemplate": "357",
    "productInfo": "1,15,2,2,16,2,2,2",
    "pushNotificationID": "0",
    "pushNotificationType": "0",
    "remoteGatewayId": "0",
    "saveLogs": "true",
    "smsNotificationID": "0",
    "smsNotificationType": "0",
    "useTemplate": "true",
    "userDescription": "",
    "value": "true"
  },
  "actions": {
    "reconfigure": 0,
    "turnOff": 0,
    "turnOn": 0,
    "updateFirmware": 1
  },
  "created": 1465571481,
  "modified": 1465571481,
  "sortOrder": 12
}

Partager ce message


Lien à poster
Partager sur d’autres sites

le parametre que je veux exploiter est :

 

"deviceControlType": "13",

 

je veux le meme vd que celui de ce poste mais rien que sur les device qui ont ce paramètre :

"deviceControlType": "13",

 

merci encore je voie la lumière !

Partager ce message


Lien à poster
Partager sur d’autres sites

Comme ceci peut-etre ? je tatonne toujours pour descendre dans les niveaux du json ;-)

jsonTable[device].properties.deviceControlType == "13"

Partager ce message


Lien à poster
Partager sur d’autres sites

et dernier truc :

pour un Sensor de porte le faire lister que quand il est ouvert ?

"type": "com.fibaro.doorSensor", and "status open" ?

c'est ca ? :

 jsonTable[device].type == "com.fibaro.doorSensor" and ... ?

la suite je ne vois pas ou trouver le status ouvre ou fermer

Partager ce message


Lien à poster
Partager sur d’autres sites

voila le json :

{
  "id": 100,
  "name": "Sensor de porte",
  "roomID": 19,
  "type": "com.fibaro.doorSensor",
  "baseType": "com.fibaro.doorWindowSensor",
  "enabled": true,
  "visible": true,
  "isPlugin": false,
  "parentId": 99,
  "remoteGatewayId": 0,
  "interfaces": [
    "battery",
    "tamper",
    "zwave",
    "zwaveFirmwareUpdate",
    "zwaveSceneActivation",
    "zwaveWakeup"
  ],
  "properties": {
    "parameters": [
      {
        "id": 1,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 2,
        "value": 0
      },
      {
        "id": 2,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 3,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 5,
        "lastReportedValue": 255,
        "lastSetValue": 255,
        "size": 1,
        "value": 255
      },
      {
        "id": 7,
        "lastReportedValue": 255,
        "lastSetValue": 255,
        "size": 1,
        "value": 255
      },
      {
        "id": 9,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 10,
        "lastReportedValue": 1,
        "lastSetValue": 1,
        "size": 1,
        "value": 1
      },
      {
        "id": 12,
        "lastReportedValue": 8,
        "lastSetValue": 8,
        "size": 1,
        "value": 8
      },
      {
        "id": 13,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 14,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
      {
        "id": 15,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      }
    ],
    "zwaveCompany": "Fibargroup",
    "zwaveInfo": "3,3,67",
    "zwaveVersion": "2.5",
    "wakeUpTime": 4000,
    "pollingTimeSec": 0,
    "alarmDelay": "0",
    "alarmExclude": "false",
    "alarmTimeTimestamp": "0",
    "armConditions": "{\"auto\":false,\"devices\":[{\"id\":100,\"propertyName\":\"value\",\"propertyValue\":\"0\"}],\"time\":0}",
    "armConfig": "0",
    "armDelay": "0",
    "armError": "{}",
    "armTimeTimestamp": "0",
    "armed": "false",
    "batteryLevel": "88",
    "batteryLowNotification": "true",
    "configured": "true",
    "dead": "false",
    "defInterval": "0",
    "deviceControlType": "0",
    "deviceIcon": "44",
    "emailNotificationID": "90",
    "emailNotificationType": "0",
    "endPointId": "0",
    "fibaroAlarm": "false",
    "interval": "0",
    "lastBreached": "1466754404",
    "liliOffCommand": "",
    "liliOnCommand": "",
    "log": "",
    "logTemp": "",
    "manufacturer": "",
    "markAsDead": "true",
    "maxInterval": "0",
    "minInterval": "0",
    "model": "",
    "nodeId": "18",
    "parametersTemplate": "308",
    "productInfo": "1,15,7,0,16,0,2,5",
    "pushNotificationID": "90",
    "pushNotificationType": "0",
    "remoteGatewayId": "0",
    "saveLogs": "true",
    "sceneActivation": "0",
    "smsNotificationID": "0",
    "smsNotificationType": "0",
    "stepInterval": "0",
    "tamper": "false",
    "useTemplate": "true",
    "userDescription": "",
    "value": "false"
  },
  "actions": {
    "forceArm": 0,
    "meetArmConditions": 0,
    "reconfigure": 0,
    "setArmed": 1,
    "setInterval": 1,
    "updateFirmware": 1
  },
  "created": 1465571481,
  "modified": 1465571481,
  "sortOrder": 133
}

Partager ce message


Lien à poster
Partager sur d’autres sites

Ta porte est fermée pour le json que tu as envoyé ?

Si oui, regarde sous userDescription, tu as value : false,

ouvre ta porte, regarde le json, le value doit etre à  "true"

donc cela doit etre

 jsonTable[device].properties.value == "true"

Partager ce message


Lien à poster
Partager sur d’autres sites

De rien, amuse toi bien :-)

 

Partage ton code, cea peut servir à  quelqu'un d'autre, on ne sait jamais !!

Partager ce message


Lien à poster
Partager sur d’autres sites

×