Ikea Fyrtur

Le scénario suivant semble reproduire un comportement correct de la télécommande, à une erreur près: si j’allais dans une direction et que j’ai fait un appui prolongé dans cette même direction, le mouvement va s’arrêter au click puis va repartir au moment où je relâche…

Pour les association directe, sur le même site que j’ai donné précédemment, tu as la manip pour une lampe ikea, ça doit marcher pareil pour le store.

Et oui me suis loupé, c’était bien clé et bouton ^^.

Pour ton scenario, j’ai pas l’appareil pour tester mais il semblerait que 2002 et 2003 correspondrait au relâchement du bouton.

|2 |x002 |Release (after press)|
|3 |x003 |Release (after hold)|

Mais la doc est peut être pas fiable.

Merci @HugoVal11 … Tu veux dire : Connection zigbee directe lampes / telecommande | Utiliser deCONZ en application domotique avec une Conbee ou Raspbee. ? Alors comme dit dans mon message initial, j’ai logiquement fait l’appariment dans Jeedom, et ça marche assez bien une fois qu’on a trouvé la procédure; par contre, dans Phoscon, les appareils n’apparaissent que partiellement, et pas au bon endroit. Là j’ai comme actionneur le répéteur, et comme switch le télécommande sauf qu’on ne sait pas l’ajouter dans un groupe pour une raison que j’ignore… Alors faut il tout refaire via l’interface de Phoscon ? D’ailleurs, dès que je vais dans Phoscon, ca me rajoute des trucs que j’ai pas demandé dans Jeedom… :frowning:

Le scénario marche assez bien. Ce qui serait mieux, ce serait d’avoir un retour d’état s’il y a moyen… Tu mentionnes une doc ?

Question Jeedom : existe-t-il une manière astucieuse/élégante d’avoir un « visuel » pour la télécommande (un peu comme les lampes ou les portes, mais qui sont avec deux états possibles, alors qu’il y en a 4 pour E1766) ? De plus @nykiizz a parlé d’ajouter les images correctes pour ces modules : même si c’est juste du fignolage, c’est où qu’on fait cela ?

C’est ce que je te dis depuis le début, on ne rajoute JAMAIS la télécommande ikea dans un groupe, elle a deja son propre groupe qui sert pour les connexion directe. Et on ne le linke pas si on veut la connexion directe.

Le répéteur se trouve dans les actionneurs, car il est alimenté et n’est pas un capteur, meme dans les capteurs il n’aurait pas été a se place.
Les interrupteurs alimentés sont dans les lampes

Des que tu touches a quelque chose dans phoscon, ça remontera dans jeedom, et il vaut mieux car ce qui ne remontera pas va te pourrir la vie.
Honnêtement le seul truc que je fais dans phoscon c’est des groupes de lampes, quand j’ai plusieurs lampe sur le même luminaire, et encore je le fais que 2 fois, tout le reste par jeedom. Si tu commences a avoir une partie géré par jeedom et une autre par Phoscon tu t’en sort plus.

Et il te manque le retour d’état ? Ha oui tu parles pour les stores ? Tu as pas un état ouvert/fermé ?

1- Commande directe : ce que j’essaie de faire…

Ma philosophie de la domotique, elle est que la commande manuelle doit toujours avoir la priorité sur la commande programmée. Avec un interrupteur commandé par exemple, c’est direct en général : j’appuie sur le bouton, l’état s’inverse qu’il y ait jeedom ou pas. Je construis aussi tous mes scénarios avec la même philosophie : pouvoir reprendre la main et désactiver le scénario n’importe quand s’il détecte une contradiction.

Or dans ce cas, la seule commande manuelle que j’ai, c’est en allant sur les boutons du store. C’est pas rien, il est vrai :blush:. Si Jeedom ou Zigbee est down, par exemple parce que la clé gateway a été démontée, je ne sais plus rien commander avec la télécommande.

Tu as raison @HugoVal11, il y a effectivement un truc que je ne comprends pas… :innocent:
Voici mon réseau Zigbee dans Jeedom, puis les éléments que j’ai dans Phoscon :




Phoscon_App3
Phoscon n’est donc pas capable de se synchroniser avec le réseau Zigbee tel qu’il est dans Jeedom, mais par contre fait tout le temps remonter à Jeedom une « lampe virtuelle » qu’on n’arrive même pas à dégager…

J’ai bien fini par comprendre qu’il ne fallait plus chercher à appairer les 3 éléments entre eux (store, répétiteur, commande) comme c’est le cas par défaut, mais faire gérer les 3 par Zigbee. Le fait est que cela marche pas mal avec la procédure que j’ai décrite.

Mais ce qui serait la cerise sur le gâteau, c’est comme décrit pour les lampes : pouvoir reconstruire une liaison directe, qui permettrait de faire un lien entre la télécommande et plusieurs stores.

Est-ce que je dois comprendre, d’après ce que tu dis, que cela n’est tout simplement pas possible ? Désolé de te redemander mais j’ai l’impression qu’il y a quelque chose dans tes explications que je n’imprime pas :thinking:

2- Retours d’état :

Prenons l’exemple de la télécommande. On voit bien que le statut de la batterie est remonté :


Par contre je n’ai pas la commande pour exploiter cette information, ou historiser l’évolution de la batterie, comme c’est le cas dans mes capteurs Zwave :
Plugin_-_Jeedom2

Tu me parlais d’une doc ?

C’est surtout la batterie du store qui m’intéresse, ainsi qu’un retour d’état sur ce qu’il est en train de faire (descendre ou monter ou rester en place).

3 - Visuel Jeedom :

a) @nykiizz a posté des visuels, mais ceux ci ne sont pas encore dans la version stable visiblement :
Plugin_-_Jeedom-photo
Y a t il un moyen de forcer son propre visuel (ceux de @nykiizz ) ?

b) Dashboard : existe-t-il une manière astucieuse/élégante d’avoir un « visuel » pour la télécommande (un peu comme les lampes ou les portes, mais qui sont avec deux états possibles, alors qu’il y en a 4 pour E1766) ?

Dashboard_-_Jeedom
Par exemple en affichant le symbole « soleil » si l’état est 100x, et « store fermé » si l’état est 200x.

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