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 !

[Plugin Tiers] Plugin Téléinfo

Pour échanger sur les plugins classés en catégorie "Energie"
szb20634
Timide
Messages : 33
Inscription : 04 août 2014, 16:12

Re: Plugin Téléinfo

Message par szb20634 » 20 août 2014, 00:14

Merci pour ta réponse rapide
Je pense aussi qu'une regle UDEV doit le permettre mais je suis pas au top en linux et malgré mes recherches je ne trouve pas comment la construire.
Voici les info suite à la commande :
udevadm info -a -n /dev/ttyUSB0

Code : Tout sélectionner

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="pl2303"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0':
    KERNELS=="1-1.3.2:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="pl2303"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{bNumEndpoints}=="03"
    ATTRS{supports_autosuspend}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceNumber}=="00"

  looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.2':
    KERNELS=="1-1.3.2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{devpath}=="1.3.2"
    ATTRS{idVendor}=="067b"
    ATTRS{speed}=="12"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="7"
    ATTRS{configuration}==""
    ATTRS{bMaxPower}=="100mA"
    ATTRS{authorized}=="1"
    ATTRS{bmAttributes}=="80"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{maxchild}=="0"
    ATTRS{bcdDevice}=="0300"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{version}==" 1.10"
    ATTRS{urbnum}=="20"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Prolific Technology Inc."
    ATTRS{removable}=="unknown"
    ATTRS{idProduct}=="2303"
    ATTRS{bDeviceClass}=="00"
    ATTRS{product}=="USB-Serial Controller"

  looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3':
    KERNELS=="1-1.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{devpath}=="1.3"
    ATTRS{idVendor}=="1a40"
    ATTRS{speed}=="480"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="5"
    ATTRS{configuration}==""
    ATTRS{bMaxPower}=="100mA"
    ATTRS{authorized}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{maxchild}=="4"
    ATTRS{bcdDevice}=="0111"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{version}==" 2.00"
    ATTRS{urbnum}=="61"
    ATTRS{ltm_capable}=="no"
    ATTRS{removable}=="removable"
    ATTRS{idProduct}=="0101"
    ATTRS{bDeviceClass}=="09"
    ATTRS{product}=="USB 2.0 Hub"

  looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="02"
    ATTRS{devpath}=="1"
    ATTRS{idVendor}=="0424"
    ATTRS{speed}=="480"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{configuration}==""
    ATTRS{bMaxPower}=="2mA"
    ATTRS{authorized}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{maxchild}=="3"
    ATTRS{bcdDevice}=="0200"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{version}==" 2.00"
    ATTRS{urbnum}=="47"
    ATTRS{ltm_capable}=="no"
    ATTRS{removable}=="unknown"
    ATTRS{idProduct}=="9512"
    ATTRS{bDeviceClass}=="09"

  looking at parent device '/devices/platform/bcm2708_usb/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{devpath}=="0"
    ATTRS{idVendor}=="1d6b"
    ATTRS{speed}=="480"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{authorized_default}=="1"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{configuration}==""
    ATTRS{bMaxPower}=="0mA"
    ATTRS{authorized}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{maxchild}=="1"
    ATTRS{bcdDevice}=="0312"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{serial}=="bcm2708_usb"
    ATTRS{version}==" 2.00"
    ATTRS{urbnum}=="25"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 3.12.26+ dwc_otg_hcd"
    ATTRS{removable}=="unknown"
    ATTRS{idProduct}=="0002"
    ATTRS{bDeviceClass}=="09"
    ATTRS{product}=="DWC OTG Controller"

  looking at parent device '/devices/platform/bcm2708_usb':
    KERNELS=="bcm2708_usb"
    SUBSYSTEMS=="platform"
    DRIVERS=="dwc_otg"
    ATTRS{hnp}=="HstNegScs = 0x0"
    ATTRS{srp}=="SesReqScs = 0x1"
    ATTRS{regvalue}=="invalid offset"
    ATTRS{hsic_connect}=="HSIC Connect = 0x1"
    ATTRS{guid}=="GUID = 0x2708a000"
    ATTRS{mode}=="Mode = 0x1"
    ATTRS{srpcapable}=="SRPCapable = 0x1"
    ATTRS{regdump}=="Register Dump"
    ATTRS{gpvndctl}=="GPVNDCTL = 0x00000000"
    ATTRS{ggpio}=="GGPIO = 0x00000000"
    ATTRS{hprt0}=="HPRT0 = 0x00001005"
    ATTRS{wr_reg_test}=="Time to write GNPTXFSIZ reg 10000000 times: 1200 msecs (120 jiffies)"
    ATTRS{hcd_frrem}=="HCD Dump Frame Remaining"
    ATTRS{mode_ch_tim_en}=="Mode Change Ready Timer Enable = 0x0"
    ATTRS{gnptxfsiz}=="GNPTXFSIZ = 0x01000306"
    ATTRS{remote_wakeup}=="Remote Wakeup Sig = 0 Enabled = 0 LPM Remote Wakeup = 0"
    ATTRS{busconnected}=="Bus Connected = 0x1"
    ATTRS{hcddump}=="HCD Dump"
    ATTRS{gotgctl}=="GOTGCTL = 0x001c0001"
    ATTRS{spramdump}=="SPRAM Dump"
    ATTRS{grxfsiz}=="GRXFSIZ = 0x00000306"
    ATTRS{gsnpsid}=="GSNPSID = 0x4f54280a"
    ATTRS{gusbcfg}=="GUSBCFG = 0x00001700"
    ATTRS{hptxfsiz}=="HPTXFSIZ = 0x02000406"
    ATTRS{devspeed}=="Device Speed = 0x0"
    ATTRS{fr_interval}=="Frame Interval = 0x1d4c"
    ATTRS{rem_wakeup_pwrdn}==""
    ATTRS{bussuspend}=="Bus Suspend = 0x0"
    ATTRS{buspower}=="Bus Power = 0x1"
    ATTRS{hnpcapable}=="HNPCapable = 0x1"
    ATTRS{rd_reg_test}=="Time to read GNPTXFSIZ reg 10000000 times: 3100 msecs (310 jiffies)"
    ATTRS{enumspeed}=="Device Enumeration Speed = 0x1"
    ATTRS{inv_sel_hsic}=="Invert Select HSIC = 0x0"
    ATTRS{regoffset}=="0xffffffff"

  looking at parent device '/devices/platform':
    KERNELS=="platform"
    SUBSYSTEMS==""
    DRIVERS==""
Je suis preneur d'aide pour générer ma ligne de règle ainsi que savoir ou la placer
Merci d'avance

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Plugin Téléinfo

Message par lunarok » 20 août 2014, 08:19

Dans ton cas je vois à peu près que ca :
ATTRS{manufacturer}=="Prolific Technology Inc."

Faut faire des tests, la page Debian est bien fichue pour les règles udev
https://wiki.debian.org/fr/udev

Sinon, la clef GSM a peut être plus d'attribut de remplis (venant surement d'un constructeur qui aime taggé leur matériel)
Et donc une autre facon de faire serait d'avoir des règles pour les autres matériels de facon à bloquer les noms de ceux-ci.

Par contre tu disais que les plugins jeedom retrouvent leurs petits, tu parles du quel par exemple ? Ca m'intéresserait de voir ce qu'ils font pour retrouver le bon nom après un reboot.
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

Avatar de l’utilisateur
loic
Administrateur
Messages : 14862
Inscription : 01 févr. 2014, 16:21

Re: Plugin Téléinfo

Message par loic » 20 août 2014, 08:47

Pour jeedom en faite je regardes la liste des périphérie ttyUSB et pour chaque les info udev je stock le tout dans un tableau rafraichis a chaque demarre ou demande complete de celui-ci. Puis lors que le plugin en a besoin il dis moi je veux le périphérique qui s'appelle comme ca, je le recherche et lui renvoi le ttyUSB qui correspond
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

domos
Timide
Messages : 381
Inscription : 22 juil. 2014, 12:56

Re: Plugin Téléinfo

Message par domos » 20 août 2014, 09:56

@fred.pacc
Est ce que le message d erreur est bloquant pour le script ?
Si non, le "2>/dev/null" supprimera ces messages d erreur.
A mettre en fin de commande stty.
Test déjà le script en console avant.

Envoyé de mon Zx81 en utilisant Tapatalk.
Bidouilles Linux ...

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Plugin Téléinfo

Message par lunarok » 20 août 2014, 10:02

loic a écrit :Pour jeedom en faite je regardes la liste des périphérie ttyUSB et pour chaque les info udev je stock le tout dans un tableau rafraichis a chaque demarre ou demande complete de celui-ci. Puis lors que le plugin en a besoin il dis moi je veux le périphérique qui s'appelle comme ca, je le recherche et lui renvoi le ttyUSB qui correspond
Ca me donne encore plus envie de le passer en plugin alors la teleinfo :)
Ca devrait permettre également de faire 4 écoutes de ports pour récupérer 4 valeurs (et les 4 commandes de paramétrage)
Faut juste trouver du temps
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

fred.pacc
Timide
Messages : 226
Inscription : 26 juin 2014, 12:42
Localisation : Saint germain sur morin 77

Re: Plugin Téléinfo

Message par fred.pacc » 20 août 2014, 14:33

Salut @ Domos

le message d'erreur n'est pas bloquant car les données teleinfo se mettent bien a jour
lorsque je met la commande 2>/dev/null a la fin de la ligne stty dans le script du coup je n'est plus rien qui s'affiche même plus les valeurs teleinfo

merci

@++

fred

domos
Timide
Messages : 381
Inscription : 22 juil. 2014, 12:56

Re: Plugin Téléinfo

Message par domos » 20 août 2014, 16:05

fred.pacc a écrit :Salut @ Domos

le message d'erreur n'est pas bloquant car les données teleinfo se mettent bien a jour
lorsque je met la commande 2>/dev/null a la fin de la ligne stty dans le script du coup je n'est plus rien qui s'affiche même plus les valeurs teleinfo

merci

@++

fred
Salut

Et modifiant la ligne comme cela:

Code : Tout sélectionner

stty 1200 cs7 evenp cstopb -igncr -inlcr -brkint -icrnl -opost -isig -icanon -iexten -F /dev/$dev > /dev/null  2>&1
Bidouilles Linux ...

fred.pacc
Timide
Messages : 226
Inscription : 26 juin 2014, 12:42
Localisation : Saint germain sur morin 77

Re: Plugin Téléinfo

Message par fred.pacc » 20 août 2014, 21:57

Salut,

bon je viens de tester et ça marche il n"y a plus d"erreur j'ai bien juste l'info de teleinfo !!!

merci encore

par contre y a t"il moyen d'avoir un rafraîchissement plus souvent de la trame de teleinfo?

merci encore

@

fred

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Plugin Téléinfo

Message par lunarok » 20 août 2014, 22:06

A quelle fréquence tu voudrais rafraichir ? Le module script permet de gérer l'éxécution cron. Et toutes les minutes au plus rapide ca devrait être largement suffisant non ?
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

fred.pacc
Timide
Messages : 226
Inscription : 26 juin 2014, 12:42
Localisation : Saint germain sur morin 77

Re: Plugin Téléinfo

Message par fred.pacc » 20 août 2014, 22:20

oui toutes les minutes ou voir 30 secondes si ca ne charge pas trop le raspberry car le but c'est de coller au plus pres des conso instantanées ;)


@++

fred

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Plugin Téléinfo

Message par lunarok » 20 août 2014, 22:26

Toutes les minutes tu peux le faire. Toutes les 30s c'est pas possible avec les scripts il me semble.
Mais ca reste la valeur du gros tuyau.
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

szb20634
Timide
Messages : 33
Inscription : 04 août 2014, 16:12

Re: Plugin Téléinfo

Message par szb20634 » 21 août 2014, 00:04

@lunarok
Merci pour ton aide, ma règle UDEV sur le prolific me permet maintenant d'avoir une entrée stable pour utiliser le script.

fred.pacc
Timide
Messages : 226
Inscription : 26 juin 2014, 12:42
Localisation : Saint germain sur morin 77

Re: Plugin Téléinfo

Message par fred.pacc » 21 août 2014, 09:14

Bonjour,

j'ai mis un rafraîchissement de 1 minute et c'est parfait !
je viens de m’apercevoir que le scrip zappait des infos par moment et régulièrement se mélangeait les pinceaux dans les différents compteurs de tempo.
quand je lance les commandes en SSH il n'y a pas d'erreurs et c'est très stable.

ça peut être un problème de configuration du port série?

merci

@+

fred

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Plugin Téléinfo

Message par lunarok » 21 août 2014, 10:03

@fred.pacc

Si il s'emmêle c'est qu'il a des résultats, donc il est bien sur le bon port série normalement.
Tu parles de tempo, c'est ton type d'abonnement ?
Il te remonte quoi comme mauvais compteur par exemple ?
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

fred.pacc
Timide
Messages : 226
Inscription : 26 juin 2014, 12:42
Localisation : Saint germain sur morin 77

Re: Plugin Téléinfo

Message par fred.pacc » 21 août 2014, 10:40

@Lunarok,

oui mon abonnement EDF et le tempo c'est le nouveau "EJP"
et du coup au lieu d'avoir 2 compteur (hp et hc) j'en ai 6: HP jour bleu, HC jour bleu, HP jour blanc, HC jour blanc, HP jour rouge, HC jour rouge.

et le script inverse les compteurs ou ne les affichent pas tous a chaque fois et c'est pareil pour les info de conso instantanées des fois il ne trouve pas

@++

fred

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Plugin Téléinfo

Message par lunarok » 21 août 2014, 13:35

Pourrais tu m'envoyer (en message privé ou alors en supprimante les vraies valeurs) le fichier créé par la commande suivante :

Code : Tout sélectionner

</dev/$dev head -n 17 > /tmp/teleinfo.tmp
J'ai un abonnement base, tu dois être le premier à tester avec du tempo :D
Et une copie d'écran de la page de configuration qui utilise le script pour vérifier les valeurs testées.
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

fred.pacc
Timide
Messages : 226
Inscription : 26 juin 2014, 12:42
Localisation : Saint germain sur morin 77

Re: Plugin Téléinfo

Message par fred.pacc » 22 août 2014, 09:54

Salut Lunarok

je t'ai envoyé un mp ;)

@++

fred

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Plugin Téléinfo

Message par lunarok » 22 août 2014, 10:41

Apparemment c'est juste une historie d'espace.
En fait la trame téléinfo renvoi BBRHCJB alors qu'en recopiant (bêtement) la doc sur le net j'avais mis en entête BBR HC JB (etc pour tous les arguments)

Donc il faudrait que tu modifies les appels pour supprimer les espaces.
J'ai mis à jour le plugin sur le market, deux modifs : l'entete qui donne les paramètres pour supprimer les espaces, et j'ai inclu le renvoi des erreurs sur la commande qui te posait soucis (que ca serve à tout le monde)
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

fred.pacc
Timide
Messages : 226
Inscription : 26 juin 2014, 12:42
Localisation : Saint germain sur morin 77

Re: Plugin Téléinfo

Message par fred.pacc » 22 août 2014, 17:10

Salut Lunarok,

cool je n'ai plus de valeurs aléatoire sur les compteurs.
par contre j'ai toujours un problème (qui n'est pas très grave)
j'ai fait un rafraîchissement toutes les minutes et une fois sur 2 il manque des infos comme si il prenait la trame en cour au lieu d'attendre une nouvelle trame avant de saisir les données

voici 2 exemple a 1 minutes d’intervalle

Image

Image

@++

fred

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Plugin Téléinfo

Message par lunarok » 22 août 2014, 21:47

Je pense savoir d'où ca vient, pour chaque élément que tu sondes, le script est éxécuté.
Quelqu'un peut me confirmer que si j'ai un objet mis à jour toutes les minutes commet s'enchainent ou se parrallèlisent les scripts ?

Ma crainte, qu'ils se chevauchent vu le nombre de lignes lues dans ton cas avec le tempo et donc ca fausse le fichier temporaire.

Une suggestion : créer un objet en mise à jour toutes les minutes pour les valeurs qui changent régulièrement (puissance, intensité) et un autre pour les valeurs qui bougent peu dans la journée avec une mise à jour par heure. (en plus question charge ca sera pas plus mal)

Je vais voir pour mettre le fichier temporaire en variable optionnelle ou en variable tempo pour plusieurs éxécutions simultanées aussi
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

Répondre

Revenir vers « [Catégorie] Energie »

Qui est en ligne ?

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