Plugin Xiaomi - Ventilateur Dmaker "dmaker.fan.p18"

Bonjour,

Je viens d’installer la toute dernier version du Plugin Xiaomi (19/07) et suis en version 4.1.24 de Jeedom . Touit me semble Fonctionnel (Merci pour le travail accompli, Lunarok) !

Je souhaite installer 2 ventilateurs dmaker.fan.p18 (Serveur Eu)
https://fr.aliexpress.com/item/1005002611944863.html

Je possede le Token et l’IP , mais qq soit le ventilateur choisi dans la liste : aucun ne donne de résultat avec ce modele (pas de communication)

Ai je raté qq chose ?
Devrait il fonctionner ?
Existe t il une procédure pour le faire ajouter aux produits compatibles avec le Plugin .

Merci
Hervé

Tout pareil ici !

Pour info, la seule méthode qui marche, de mon côté, pour récupérer le token c’est de passer par les logs de Mi Home 5.4.49, impossible d’ouvrir le périf avec les versions modifiées de Mi Home

idem, token récupéré de plusieurs méthodes pour être sur. Mais rien n’y fait les commandes sont bien créées, il bien ok dans la page santé du plugin mais pas de communication.

Viens de tenter avec nouvelle version du plugin (28/07) Idem.
Si @lunarok passe par là et peut nous indiquer la procédure à suivre pour en demander l’inclusion .
Suis sûr que l’un d’entre nous se fera une joie .
(Je vois que l’on commence à être bcp à utiliser ce ventil.
Qd je le connecte dans Jeedom il apparait comme un fandmakerp5 alors que c’est un p18 .
Les commandes sont les bonnes . mais seule « Online » fonctionne.

Par avance Merci

1 « J'aime »

lol @lunarok doit être en vacances,
bien méritées aussi

Bonjour,
Le ventilateur DMaker que j’utilise et qui fonctionne est le modèle : dmaker.fan.p5 qui correspond au Mi Smart Standing Fan 1X.
Le dmaker.fan.p18 correspond au Mi Smart Fan 2
Sous l’appareil, l’étiquette indique : Modèle du produit (en chinois) : DPLDS01DM.
C’est Sarakha63 qui avait fait le reverse chez moi pour l’intégrer au plugin Xiaomi Home.
Si quelqu’un a un jeedom test il peut essayer d’ajouter le fandmakerp18 au plugin et de créer un fichier: html/plugins/xiaomihome/core/config/devices/fandmakerp5/fandmakerp18.json

Saalut et content de te lire ici !
Merci aussi de t’etre interessé au sujet.

Mais désolé je suis plus que novice en création de plugin :
Je ne comprends pas ce que tu veux que l’on fasse ?
Ajouter un fichier vide fandmakerp18.json dans html/plugins/xiaomihome/core/config/devices/fandmakerp5/
Copier le Json actuel et le renommer ?

C’est ca ?
Oui jamais fait … d’ou ma question , Désolé

Je pense avoir compris ,
Modifier le fichier fandmakerp5.json
Et ajouter le fichier modifié renommé en fandmakerp18.json
Dans le fichier, juste changer le 5 en 18 . à 2 ou 3 endroits
Seul hic pour le moment : la ligne Battery_type : le p18 n’a pas de batterie

	"fandmakerp18": {
		"name": "Ventilateur Dmaker",
		"groupe" : "Wifi",
		"configuration" : {
			"model" : "fandmakerp18",
			"type" : "wifi",
			"battery_type" : "Batterie"
		},
        "commands": [
            {
                "name": "Online",
                "type": "info",
                "subtype": "binary",
                "display": {
					"generic_type": "DONT"
                },
                "isVisible": 0,
                "isHistorized": 0,
                "logicalId": "online",
                "template": {
					"dashboard": "line",
					"mobile": "line"
				}
            },
			{
                "name": "Statut",
                "type": "info",
                "subtype": "binary",
                "display": {
					"generic_type": "ENERGY_STATE"
                },
                "isVisible": 1,
                "isHistorized": 0,
                "logicalId": "status::power",
                "template": {
					"dashboard": "line",
					"mobile": "line"
				}
            },
			{
                "name": "Mode",
                "type": "info",
                "subtype": "string",
                "isVisible": 1,
                "isHistorized": 0,
                "logicalId": "status::mode",
                "template": {
					"dashboard": "line",
					"mobile": "line"
				}
            },
			{
                "name": "Rotation",
                "type": "info",
                "subtype": "binary",
                "display": {
					"generic_type": "DONT"
                },
                "isVisible": 1,
                "isHistorized": 0,
				"unite" : "",
                "logicalId": "status::roll_enable",
                "template": {
					"dashboard": "line",
					"mobile": "line"
				}
            },
			{
                "name": "Angle",
                "type": "info",
                "subtype": "numeric",
                "display": {
					"generic_type": "DONT"
                },
                "isVisible": 1,
                "isHistorized": 0,
				"unite" : "°",
                "logicalId": "status::roll_angle",
                "template": {
					"dashboard": "line",
					"mobile": "line"
				}
            },
			{
                "name": "Vitesse",
                "type": "info",
                "subtype": "numeric",
                "display": {
					"generic_type": "DONT"
                },
                "isVisible": 1,
                "isHistorized": 0,
				"unite" : "rpm",
                "logicalId": "status::speed",
                "template": {
					"dashboard": "line",
					"mobile": "line"
				}
            },
			{
                "name": "Statut buzzer",
                "type": "info",
                "subtype": "binary",
                "isVisible": 0,
                "logicalId": "status::beep_sound"
            },
			{
                "name": "Statut led",
                "type": "info",
                "subtype": "binary",
                "isVisible": 0,
                "logicalId": "status::light"
            },
			{
                "name": "Statut child lock",
                "type": "info",
                "subtype": "binary",
                "isVisible": 0,
                "logicalId": "status::child_lock"
            },
			{
                "name": "Statut time off",
                "type": "info",
                "subtype": "numeric",
                "isVisible": 0,
                "logicalId": "status::time_off"
            },
			{
                "name": "1",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_speed",
					"params" : "[1]"
        		},
                "isVisible": 1,
                "logicalId": "speed1"
            },
			{
                "name": "2",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_speed",
					"params" : "[35]"
        		},
                "isVisible": 1,
                "logicalId": "speed2"
            },
			{
                "name": "3",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_speed",
					"params" : "[70]"
        		},
                "isVisible": 1,
                "logicalId": "speed3"
            },
						{
                "name": "4",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_speed",
					"params" : "[100]"
        		},
                "isVisible": 1,
                "logicalId": "speed4"
            },
			{
                "name": "30",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_angle",
					"params" : "[30]"
        		},
                "isVisible": 1,
                "logicalId": "angle30"
            },
			{
                "name": "60",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_angle",
					"params" : "[60]"
        		},
                "isVisible": 1,
                "logicalId": "angle60"
            },
			{
                "name": "90",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_angle",
					"params" : "[90]"
        		},
                "isVisible": 1,
                "logicalId": "angle90"
            },
			{
                "name": "120",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_angle",
					"params" : "[120]"
        		},
                "isVisible": 1,
                "logicalId": "angle120"
            },
						{
                "name": "140",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_angle",
					"params" : "[140]"
        		},
                "isVisible": 1,
                "logicalId": "angle140"
            },
            {
                "name": "Démarrer",
                "type": "action",
                "subtype": "other",
                "display": {
					"icon": "<i class=\"fas fa-play\"><\/i>",
					"generic_type": "ENERGY_ON"
                },
                "configuration" : {
        			"request" : "s_power",
					"params" : "[true]"
        		},
                "isVisible": 1,
                "logicalId": "on"
            },
            {
                "name": "Arrêter",
                "type": "action",
                "subtype": "other",
                "display": {
					"icon": "<i class=\"fas fa-stop\"><\/i>",
					"generic_type": "ENERGY_OFF"
                },
                "configuration" : {
        			"request" : "s_power",
					"params" : "[false]"
        		},
                "isVisible": 1,
                "logicalId": "off"
            },
            {
                "name": "Activer rotation",
                "type": "action",
                "subtype": "other",
                "display": {
					"icon": "<i class=\"icon divers-triangular42\"><\/i>"
                },
                "configuration" : {
        			"request" : "s_roll",
					"params" : "[true]"
        		},
                "isVisible": 1,
                "logicalId": "rotationon"
            },
			{
			    "name": "Désactiver rotation",
                "type": "action",
                "subtype": "other",
                "display": {
					"icon": "<i class=\"icon techno-electric9\"><\/i>"
                },
                "configuration" : {
        			"request" : "s_roll",
					"params" : "[false]"
        		},
                "isVisible": 1,
                "logicalId": "rotationoff"
            },
			{
                "name": "Buzzer On",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_sound",
					"params" : "[true]"
        		},
                "isVisible": 0,
                "logicalId": "buzzon"
            },
			{
                "name": "Buzzer Off",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_sound",
					"params" : "[false]"
        		},
                "isVisible": 0,
                "logicalId": "buzzoff"
            },
			{
                "name": "Diode On",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_light",
					"params" : "[true]"
        		},
                "isVisible": 0,
                "logicalId": "ledb"
            },
			{
                "name": "Diode Off",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_light",
					"params" : "[false]"
        		},
                "isVisible": 0,
                "logicalId": "ledboff"
            },{
                "name": "Lock On",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_lock",
					"params" : "[true]"
        		},
                "isVisible": 0,
                "logicalId": "lockon"
            },
			{
                "name": "Lock Off",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_lock",
					"params" : "[false]"
        		},
                "isVisible": 0,
                "logicalId": "lockoff"
            },
			{
                "name": "Timer",
                "type": "action",
                "subtype": "slider",
                "configuration" : {
        			"request" : "s_t_off",
                    "minValue" : 0,
                    "maxValue" : 600,
					"params" : "[#slider#]"
        		},
                "value": "Statut time off",
                "isVisible": 0,
                "logicalId": "Statuttimeoff"
            },
          {
			    "name": "Tourner à gauche",
                "type": "action",
                "subtype": "other",
                "display": {
					"icon": "<i class=\"fas fa-arrow-left\"><\/i>"
                },
                "configuration" : {
        			"request" : "m_roll",
					"params" : "[\"left\"]"
        		},
                "isVisible": 1,
                "logicalId": "moveleft"
            },
			{
                "name": "Mode Nature",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_mode",
					"params" : "[\"nature\"]"
        		},
                "isVisible": 1,
                "logicalId": "naturemode"
            },
			{
                "name": "Mode Normal",
                "type": "action",
                "subtype": "other",
                "configuration" : {
        			"request" : "s_mode",
					"params" : "[\"normal\"]"
        		},
                "isVisible": 1,
                "logicalId": "normalmode"
            },
			{
			    "name": "Tourner à droite",
                "type": "action",
                "subtype": "other",
                "display": {
					"icon": "<i class=\"fas fa-arrow-right\"><\/i>"
                },
                "configuration" : {
        			"request" : "m_roll",
					"params" : "[\"right\"]"
        		},
                "isVisible": 1,
                "logicalId": "moveright"
            },
			 {
                "name": "Rafraichir",
                "type": "action",
                "subtype": "other",
				"display": {
					"icon": "<i class=\"fas fa-refresh\"><\/i>"
                },
                "isVisible": 1,
                "logicalId": "refresh"
            }
        ]
    }
}


J'en suis la

J’en suis la, hélas je n’ai pas de Jeedom de Test (ou plutot je n’en n’ai plus)
Si qq veut tenter , Merci de nous tenir au courant

C’est pas aussi simple. Là ca voudrait dire que ton ventilateur en prenant le modèle existant dans Jeedom il marche déjà. C’est le cas ?

Salut ,

Non ai testé en utilisant le dmaker.fan5 , ca ne marche pas .Tu me diras , je m’en doutais aussi (comme tu dis ce serait trop simple).
Mais, à l’install du ventil si je choisis dmaker fan , j’ai les bons boutons … Mais ils ne fonctionnent pas .
Sauf online .
Pourrais tu alors inclure ce ventilateur ?
Si oui, de quoi as tu besoin ?

Par avance,
Merci

Idem, si il faut fournir des infos ou faire des essais je suis opé!

Bonjour,

J’aimerais aussi l’ajout du « dmaker.fan.p18 » dans le plugin si c’est possible.

Bonjour,

J’ai le même ventilateur et le même souci. Quelqu’un a réussi à avancer ?

Merci

Nicolas

J’ai du l’intégrer avec miio… même méthode que pour le air purifier Air Purifier 3H - #77 par insy

Hello Boris,

Merci, j’ai installé miio-cli. Par contre je n’ai pas l’impression que le fanp18 soit supporté.

Il faut une version particulière ?

Nicolas

Dernière version de miiocli:0.5.9.2

Supported devices

Xiaomi Mi Smart Pedestal Fan V2, V3, SA1, ZA1, ZA3, ZA4, ZA5 1C, P5, P9, P10, P11

Hello,

Alors j’ai remarqué que j’avais la version 0.5.8 de miio d’installée. Après avoir upgradé en 0.5.9.2 pip install python-miio==0.5.9.2 mon ventilateur fanp11 n’était plus reconnu.

Essaie de revenir à la 0.5.8 → pip install python-miio==0.5.8

EDIT: apparemment il n’y a pas de fanp18 dans les 2 version de miio :frowning:

Merci Boris !

Après downgrade ça fonctionne. Bizarre cette régression…

Encore merci pour ton aide.

Bon week-end

Nicolas

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.