Niveau Réservoir Parrot Pot

Bonsoir,

Je testerai plus tard sur le mien mais tu peux déjà essayer çà :

Dans le fichier /plugins/blea/resources/blead/devices/parrotplant.py

il faudrait rajouter la ligne suivante dans la fonction read() pour aller lire l’info :

result['volume'] = self.__convertVolumeData(conn.readCharacteristic(self.characteristicHandles['volume']))

ce qui donnerait :

def read(self,mac):
		logging.debug('read: '+mac)
		result={}
		try:
			conn = Connector(mac)
			conn.connect()
			if not conn.isconnected:
				conn.connect()
				if not conn.isconnected:
					return
			result['sunlight'] = self.__convertSunlightData(conn.readCharacteristic(self.characteristicHandles['sunlight']))
			result['soilec'] = self.__convertSoilECData(conn.readCharacteristic(self.characteristicHandles['soilec']))
			result['soiltemp'] = self.__convertTempData(conn.readCharacteristic(self.characteristicHandles['soiltemp']))
			result['airtemp'] = self.__convertTempData(conn.readCharacteristic(self.characteristicHandles['airtemp']))
			result['soilmoisture'] = self.__convertSoilMoistureData(conn.readCharacteristic(self.characteristicHandles['soilmoisture']))
			result['calibratedsoilmoisture'] = self.__convertFloatData(conn.readCharacteristic(self.characteristicHandles['calibratedsoilmoisture']))
			result['calibratedairtemp'] = self.__convertFloatData(conn.readCharacteristic(self.characteristicHandles['calibratedairtemp']))
			result['calibratedli'] = self.__convertFloatData(conn.readCharacteristic(self.characteristicHandles['calibratedli']))
			result['color'] = self.__convertColorData(conn.readCharacteristic(self.characteristicHandles['color']))
            result['volume'] = self.__convertVolumeData(conn.readCharacteristic(self.characteristicHandles['volume']))
			result['battery'] = self.__convertBatteryData(conn.readCharacteristic(self.characteristicHandles['battery']))
			result['id'] = mac
			logging.debug(str(result))
			return result
		except Exception as e:
			logging.error(str(e))
		return result

Il faudra adapter si besoin la fonction de conversion (j’ai repris la même que la batterie dans l’exemple) :

def __convertVolumeData(self,data):
		return self.__safeUnpack('B', data)

Il faudrait déclarer le Handle dans la classe ParrotPot() comme ceci :

self.characteristicHandles = {
			'sunlight': '0x25',
			'soilec': '0x31',
			'soiltemp': '0x34',
			'airtemp': '0x37',
			'soilmoisture': '0x3a',
			'calibratedsoilmoisture': '0x41',
			'calibratedairtemp': '0x44',
			'calibratedli': '0x47',
			'color': '0x72',
			'volume': '0x8b',
			'battery': '0x4b'

Et aussi le mettre dans la classe FlowerPower() mais pas sur que le handle soit le même :

self.characteristicHandles = {
			'sunlight': '0x25',
			'soilec': '0x29',
			'soiltemp': '0x2d',
			'airtemp': '0x31',
			'soilmoisture': '0x35',
			'calibratedsoilmoisture': '0x3f',
			'calibratedairtemp': '0x43',
			'calibratedli': '0x47',
			'color': '0x85',
          	'volume': '0x8b',
			'battery': '0x4c'
		}

Pour la commande, il faudrait l’ajouter dans /plugins/blea/core/config/devices/parrotpot/parrotpot.json

{
                "name": "Volume",
                "type": "info",
                "subtype": "numeric",
                "display": {
					"icon": "<i class=\"fas fa-water\"><\/i>",
					"generic_type": "DONT"
				},
                "isVisible": 0,
                "isHistorized": 0,
                "unite": "%",
                "logicalId": "volume",
				"template": {
					"dashboard": "line",
					"mobile": "line"
				}
            },

Ensuite, il faudra redémarrer le plugin Blea.

Pour que la commande apparaisse sur ton équipement, un enregistrement de celui-ci devrait suffire. Sinon, ca devrait le faire en « Recréant les commandes ».

1 « J'aime »