Ikea Fyrtur

regardes comment est structuré le fichier json de ta télécommande (en cliquant sur le bouton Info).

tu devrais avoir un début de structure du même type que ma télécommande IKEA TRADFRI onoff switch
info_noeud

voici, en exemple dans l’image ci-dessous, les commandes que j’ai crée (en plus de celle par défaut 01-1000.state::buttonevent) à partir des infos du fichier json de ma télécommande. Pour remonter l’état de la batterie, j’interroge le logicalID 01-1000.config::battery

cf article ci-joint

Lol, ha oui je comprend ce que tu veux dire ^^^

Les devs de jeedom n’ont pas la même logique que les devs de phoscon, ils utilisent la même API qui remonte les mêmes infos, mais ils ne les utilisent pas de la même manière.
Effectivement vu comme ça, ça surprend :), moi je raisonne par rapport a l’API directement vu que je la connais, donc je faisais même pas attention, pour moi il y a light et sensors, c’est tout.
Il n’y a pas de switch dans l’api a la base par exemple. C’est phoscon qui bricole pour creer la section.

Ce ne sont que 2 applications différentes qui utilise la meme API gerée par deconz. L’un n’agit pas sur l’autre, mais les effets de l’un se voient sur l’API et donc sur l’autre.

Pour la connexion directe Connection zigbee directe lampes / telecommande | Utiliser deCONZ en application domotique avec une Conbee ou Raspbee. ta commande a crée un groupe, que tu dois voir sur la homepage de phoscon, tu pars de ce groupe et tu met le store dedans.
Pas l’inverse, si tu met la commande dans le groupe du store ce n’est PAS le bon groupe, celui de la télécommande est spécial. Pareil si tu « linkes » la commande, tu perd les fonctionnalités de ce groupe.
C’est pas la commande qui a cette fonctionnalité, c’est le groupe spécial quelle a créé, ce n’est pas un groupe, c’est THE groupe.

Merci @mnpg ! C’est très clair tes explications ! :slight_smile:

Pour moi cela ne remonte rien malheureusement :frowning:
La valeur reste vide… alors que j’ai fait comme toi ?


Pourtant :

{
    "2": {
        "config": {
            "alert": "none",
            "battery": 87,
            "group": "2",
            "on": true,
            "reachable": true
        },
        "ep": 1,
        "etag": "a29f3465c2543d3c5f25bf58f18",
        "manufacturername": "IKEA of Sweden",
        "mode": 1,
        "modelid": "TRADFRI open\/close remote",
        "name": "TRADFRI open\/close remote ",
        "state": {
            "buttonevent": 1002,
            "lastupdated": "2020-04-17T10:45:56"
        },
        "swversion": "2.2.010",
        "type": "ZHASwitch",
        "uniqueid": "ec:1b:bd:  :fe:de:1b:a4-01-1000"
    }
}

Dans tous les cas, il n’y a aucune possibilité pour la batterie du store ?

{
    "2": {
        "etag": "3bf22fe638473febef55273cbfd",
        "hascolor": false,
        "manufacturername": "IKEA of Sweden",
        "modelid": "FYRTUR block-out roller blind",
        "name": "Window covering device 2",
        "state": {
            "alert": "none",
            "bri": 0,
            "on": false,
            "reachable": true
        },
        "swversion": "2.2.009",
        "type": "Window covering device",
        "uniqueid": "68:0a:e2:  :fe:39:4a:9f-01"
    },
    "3": {
        "config": {
            "on": true,
            "reachable": true
        },
        "ep": 1,
        "etag": "b6ed747c3a9bb89cd9ae5da56e",
        "manufacturername": "IKEA of Sweden",
        "modelid": "FYRTUR block-out roller blind",
        "name": "FYRTUR block-out roller blind ",
        "state": {
            "battery": null,
            "lastupdated": "none"
        },
        "swversion": "2.2.009",
        "type": "ZHABattery",
        "uniqueid": "68:0a:e2:  :fe:39:4a:9f-01-0001"
    }
}

a) Merci @mnpg : ok, ca a marché… En fait ce n’est pas tout à fait pour les non-initiés quand même :wink:
J’espère que les developpeurs de Jeedom pourront rapidement combler cette absence ? Je n’aime pas trop l’idée de devoir aller « bidouiller » le core, même si c’est aussi anodin que d’ajouter trois fichiers images…

Pour ceux qui veulent se lancer, je décompresse : « mettre dans le dossier html/plugins/deconz/core/config/images », cela veut dire se connecter en ssh ou sftp (avec un compte superuser, admin ou root) sur le serveur où tourne Jeedom, et ajouter dans le dossier « /var/www/html/plugins/deconz/core/config/images » les images de @nykiizz (déjà en png 400x400) en les renommant comme expliqué avec le bon type. On redémarre Deconz, et le tour est joué. :blush:

b) Pour ce qui est d’une icône sympa sur le Dashboard, je vois qu’il n’y a pas de solution triviale ? Pourrait on utiliser le plugin Widget de manière efficace ? J’essaie de creuser et je posterai un retour d’expérience…

de ce que tu as mis, pour moi c’est bon.

pour la remontée d’info, est-ce que déjà buttonevent te remonte quelque chose?

je testerai plusieurs choses pour la remontée d’info de la batterie :

  • en appuyant sur les boutons de la telecommande pour initier une remontée d’info.
  • si pas le cas, lancer une synchronisation
  • si pas le cas encore, redémarrer le deamon deconz.

Pour le store, je ne sais pas si la gamme fyrtur est bien prise en compte dans les dernières versions du firmware des conbee2 (ou rapsbee). J’avais eu un soucis equivalent sur ma raspbee qui ne remontait pas les infos de mes télécommandes (IKEA TRADFRI onoff switch et Remote COntrol) , j’ai du mettre à jour le firmware pour la dernière version indiquée par phoscon et ça a marché.

pour t’aider dans la mise en place de commandes pour d’autres matos zigbee (si elles ne sont pas crées par jeedom), un petit tuto de ce que j’ai compris pour recuperer une information du fichier json de ton materiel suivant le bon LogicalId (je prends exemple sur ta telecommande et ton store)

le composition du LogicalID est basée sur 2 informations séparées par un point .

1/ une chaine de caractere de l’uniqueid du materiel (chaine situé après le tiret qui suit l’adresse materielle).

Pour ta telecommande :
« uniqueid »: « ec:1b:bd: :fe:de:1b:a4-01-1000 »

Pour le store :

  • FYRTUR block-out roller blind ( type Window covering device)
    « uniqueid »: « 68:0a:e2: :fe:39:4a:9f-01 »

  • FYRTUR block-out roller blind ( type ZHABattery)
    « uniqueid »: « 68:0a:e2: :fe:39:4a:9f-01-0001 »

2/ la chemin de l’information a recuperer dans le fichier json :

  • pour la telecommande :
{
    "2": {   <------- 'on part d'ici et on remonte vers l'info
        "config": {
            "alert": "none",
            "battery": 87,
            "group": "2",
            "on": true,
            "reachable": true
        },

je veux l’info de la batterie :
config::battery (les :: « équivaut » au :{ dans la recherche de la donnée par jeedom)

  • pour ton store :
 "3": {  <----- on part d'ici 
        "config": {
            "on": true,
            "reachable": true
        },
        "ep": 1,
        "etag": "b6ed747c3a9bb89cd9ae5da56e",
        "manufacturername": "IKEA of Sweden",
        "modelid": "FYRTUR block-out roller blind",
        "name": "FYRTUR block-out roller blind ",
        "state": {
            "battery": null,
            "lastupdated": "none"
        },

je veux l’info de la batterie. !!ATTENTION!! c’est le chemin est different de la telecommande:
state::battery

DONC au final, les LogicalID seront (partie 1 + « . » + partie 2):

  • Pour la telecommande :
    01-1000.config::battery

  • Pour le store :
    01-0001.state::battery

a partir de ca, tu peux generer toutes les autres :
01-1000.config::group >> numero du groupe de la telecommande
01-0001.config::on >> etat allume ou eteint du store
…etc

→ oui, ca ca marche…

→ rien n’y fait : j’ai le retour dans « configuration », mais pas dans le « commande » info.
EDIT : ça y est, ça a fini par le prendre ?? Je n’identifie pas ce qui a fait que cette valeur s’est mise à jour ?


Mise à jour de Conbee 2 : cette possibilité offerte sur Jeedom échoue pour moi. Je me suis rendu compte que la version la plus récente proposée par Jeedom est du 27 mai 2019. Quand je vais sur Phoscon, il m’indique que j’ai un Firmware du 8 mars 2020 (2.05.75). Donc j’attends que le plug-in soit mis à jour de ce côté là…


Très clair ton tuto @mnpg : bravo ! :cowboy_hat_face:
Ca semble logique… je ne comprends pas pourquoi 01-1000.config::battery n’est pas interprété pour la batterie ?
EDIT : ça y est, ca a fini par se mettre à jour… :sunglasses:

Pour ce qui est de 01-0001.state::battery du store Fyrtur, le panel « configuration » m’indique que la réponse est « null », donc d’après ce que tu me dis, cette information n’est pas exposée de cette façon et il n’y aura donc pas la possibilité de récupérer cette info. :roll_eyes:

Dashboard_-_Jeedom

Je suis pas passé par le plug-in WIDGET (Jeedom v3) pour résoudre ce point :
Widget_-_Jeedom
Voici le code :

<div style="width:90px; min-height:80px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" title="#collectDate#">
	<center>
		<div class="cmdName" style="font-weight: bold;font-size : 12px; #hideCmdName#">#name_display#</div>
		<span style="font-size: 2.5em;" class="iconCmd#uid#"></span>
	</center>
<!-- Ne Pas Supprimer -->
	<script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"0","version":"1","size":"2.5","icon1":"<i class='icon meteo-soleil'></i>","icon2":"<i class='icon jeedomapp-slide'></i>"}]]></script>
<!-- Ne Pas Supprimer -->
	<script>
		jeedom.cmd.update['#id#'] = function(_options){
			$(".iconCmd#uid#").empty();
            switch(parseInt(_options.display_value)) {
				case 1002:
                	$(".iconCmd#uid#").append("<i class='icon jeedomapp-sun'></i>");
					break;
				case 1003:
                	$(".iconCmd#uid#").append("<i class='icon jeedomapp-sun'></i><i class='icon jeedomapp-circlevalidation'></i>");
					break;
				case 2002:
                	$(".iconCmd#uid#").append("<i class='icon jeedomapp-slide'></i>");
					break;
				case 2003:
                	$(".iconCmd#uid#").append("<i class='icon jeedomapp-slide'></i><i class='icon jeedomapp-circlevalidation'></i>");
					break;
				default:
                	$(".iconCmd#uid#").append("<i class='fas fa-question-circle'></i>");
			} 
			$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate);
		}
		jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
	</script>
</div> 

Salut @HugoVal11, sorry de ma réponse tardive → je tâchais de résoudre les autres détails :wink:

^^^ C’est pour ça que tu m’envoyais vers la présentation de l’API plutôt que celle de Phoscon :slight_smile:

Quand j’appaire avec Jeedom ou avec Phoscon, dans les deux cas, ca appaire dans l’API, donc cela devrait remonter dans l’un comme dans l’autre ? Or, comme on le voit dans les copies d’écran, le store n’apparait pas dans les « lights » de Phoscon… Et la télécommande n’a pas non plus créé de groupe… Je suis bloqué du coup pour le reste de tes explications :thinking:

Alors il y a un truc bizarre

Tu as quoi comme version de deconz deja ?

Une Deconz II

C’est une conbee 2, mais tourne avec quelle version deconz ?

Version Deconz

2020-02-27 09:33:05

Version Jeedom

3.3.28

Encore perdu, la version deconz c’est quelque chose du genre 2.05.XX

Deconz_-_Jeedom

Bon ben bizarre, tu as pourtant la dernière version.
Tu n’aurais pas fait l’intégration de tes volets il y a longtemps, avant la version 2.5.75 ? Car je suis en train de relire, ça devrait bien apparaitre en light.

Non je viens de récupérer un Fyrtur et j’ai commandé ma deconz II pour le tester, en me disant, en lisant ce post, que tout allait se passer facilement maintenant que c’est passé du côté « officiel » de la force ;-p

ok, peut-être dans ce cas faut il désassocier le store et l’ associer dans Phoscon : ce ne serait pas le plus intuitif, mais ca pourrait régler le problème ? Ou vaut il mieux concentrer mon énergie sur migrer vers la v4 (qui a semble t il une meilleure gestion d’openZWave ?

Ben non, le pire est la, c’est que même dans phoscon pour faire « l’association directe », il faut que le store soit dans les « lights ». Sinon faut passer par jeedom pour la gestion.
Dans une issue, ils expliquent comment faire a partir de deconz, mais c’est galère quand on a pas le GUI.

Peut être que quelqu’un avec ces store a réussi a les avoir dans les « lights » ?

OK migrations vers Buster et Jeedom v4 achevées. Pas d’amélioration en vue :confused:

Encore plus bizarre : j’associe le store dans Phoscon, et il l’ajoute sans problème. Retour dans Jeedom, qui a déjà détecté ce nouveau store : je modifie nom et commandes… tout fonctionne. De retour dans Phoscon, le store a disparu !? :exploding_head:
OU J’associe le store dans Phoscon. Si je le renomme avec le nom d’un store existant (mais qu’il ne fait pas apparaître…), Phoscon s’en rend compte !? Et si j’essaie de l’ajouter dans un groupe, le store disparait de nouveau. :dizzy_face:

Juste après l’appariement :
Phoscon_App
Phoscon connaît toujours d’autres équipements qu’il n’affiche pas :
Phoscon_App2
Le Fyrtur disparait encore des « lights »:
Phoscon_App3
Phoscon_App4

Clairement un bug de Phoscon. Une idée sur comment régler ce problème ? Une MàJ de Phoscon ?

Bonjour,
J’ai bien réussi via ton tuto à avoir une remonté d’info fiable.Le problème c’est que les valeurs vont de 0 à 255 (alors que normalement c’est plutôt 100 pour un volet) et de plus sont inversées. Comment je peux réctifier cela?
Merci