Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[ Mi Plant ] Version chinois non reconnu

LennVilardi
Timide
Messages : 80
Inscription : 15 nov. 2015, 17:10

Re: [ Mi Plant ] Version chinois non reconnu

Message par LennVilardi » 27 avr. 2019, 22:55

Viens d'essayer et ça met toujours à jour qu'une partie :( et sarakha est pas facilement joignable

eristoff
Timide
Messages : 20
Inscription : 02 déc. 2014, 22:31

Re: [ Mi Plant ] Version chinois non reconnu

Message par eristoff » 01 mai 2019, 10:29

Le script arrive à te donner les valeurs pour chacun de tes capteurs? Si certains ne marchent pas avec le script, ça ne devrait pas marcher dans Jeedom

Seb82
Timide
Messages : 116
Inscription : 29 août 2017, 11:53
Contact :

Re: [ Mi Plant ] Version chinois non reconnu

Message par Seb82 » 14 mai 2019, 15:00

@eristoff, même avec ta modification ça ne fonctionnait pas sur mes nouveaux capteurs MiFlora (mais avec un ancien oui). Par contre le script fonctionnait.

Du coup j'ai modifié le code miflora.py en supprimant l'écoute des notifications et en lisant directement l'adresse où sont les infos. A priori ça fonctionne. Pour ceux que ça intéresse, voici le code (sans garantie) :

Code : Tout sélectionner

from bluepy import btle
import time
import logging
import globals
import struct
from multiconnect import Connector
from notification import Notification

class Miflora():
	def __init__(self):
		self.name = 'miflora'
		self.ignoreRepeat = False

	def isvalid(self,name,manuf=''):
		validname = ['Flower mate','Flower care']
		if name in validname:
			return True
	def parse(self,data,mac,name):
		action={}
		action['present'] = 1
		return action

	def read(self,mac):
		result={}
		try:
			conn = Connector(mac)
			conn.connect()
			if not conn.isconnected:
				conn.connect()
				if not conn.isconnected:
					return
			batteryFirm = bytearray(conn.readCharacteristic('0x38'))
			conn.writeCharacteristic('0x33','a01f',response=True)
			battery = batteryFirm[0]
			firmware = "".join(map(chr, batteryFirm[2:]))
			notification = Notification(conn,Miflora)
			conn.writeCharacteristic('0x36','0100',response=True)
			result['battery'] = battery
			result['firmware'] = firmware
			result['id'] = mac
			received = bytearray(conn.readCharacteristic('0x35'))
			temperature = float(received[1] * 256 + received[0]) / 10
			sunlight = received[4] * 256 + received[3]
			moisture = received[7]
			fertility = received[9] * 256 + received[8]
			result['sunlight'] = sunlight
			result['moisture'] = moisture
			result['fertility'] = fertility
			result['temperature'] = temperature
			result['source'] = globals.daemonname
			logging.debug(str(result))
			globals.JEEDOM_COM.add_changes('devices::'+conn.mac,result)
			return result
		except Exception,e:
			logging.error(str(e))
		return result
	
	def handlenotification(self,conn,handle,data,action={}):
		result={}

globals.COMPATIBILITY.append(Miflora)

LennVilardi
Timide
Messages : 80
Inscription : 15 nov. 2015, 17:10

Re: [ Mi Plant ] Version chinois non reconnu

Message par LennVilardi » 15 mai 2019, 15:40

Merci Seb82 ta solution fonctionne parfaitement chez moi aussi !

eristoff
Timide
Messages : 20
Inscription : 02 déc. 2014, 22:31

Re: [ Mi Plant ] Version chinois non reconnu

Message par eristoff » 16 mai 2019, 16:07

Seb82 a écrit :
14 mai 2019, 15:00
@eristoff, même avec ta modification ça ne fonctionnait pas sur mes nouveaux capteurs MiFlora (mais avec un ancien oui). Par contre le script fonctionnait.

Du coup j'ai modifié le code miflora.py en supprimant l'écoute des notifications et en lisant directement l'adresse où sont les infos. A priori ça fonctionne. Pour ceux que ça intéresse, voici le code (sans garantie) :
Cool :)
Pour info je viens de recevoir un capteur en version 3.2.1 (même l'appli me dit que le dernier firmware est le 3.1.9). Il est gris au lieu de blanc mais tout marche bien a priori

Seb82
Timide
Messages : 116
Inscription : 29 août 2017, 11:53
Contact :

Re: [ Mi Plant ] Version chinois non reconnu

Message par Seb82 » 16 mai 2019, 17:08

Oui, pareil pour moi. Capteur en firmware 3.2.1 et boitier gris limite verdatre, acheté sur Gearbest. Mais ça fonctionne.

eristoff
Timide
Messages : 20
Inscription : 02 déc. 2014, 22:31

Re: [ Mi Plant ] Version chinois non reconnu

Message par eristoff » 16 mai 2019, 17:40

C'est un peu moins classe quoi ;)

Répondre

Revenir vers « [Plugin Officiel] BLEA »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités