revlysj / jeedouino Goto Github PK
View Code? Open in Web Editor NEWplugin for jeedom
plugin for jeedom
Hello,
Les PIN configurés via Jeedom en INPUT_PULLUP semblent ne pas être configurées comme telle.
En effet, si je connecte le PIN 2 à GND, l'état passe bien à 0.
Si je débranche le PIN 2 de GND, l'état passe bien à 1.
En revanche, sans faire aucune action, je constate que l'état se met à bagotter entre 1 et 0. Comme s'il n'y avait pas le mode PULLUP.
Maintenant, si dans le SKETCH j'ajoute "pinMode(i, INPUT_PULLUP);" sous la ligne "case 'p': // input_pullup", alors je n'ai plus de bagotement et l'état reste bien à 1 (plus de problème de parasite).
Est-ce un oubli ?
Merci :)
Lorsque j'ai utilisé un microcontroleur avec un équipement. Il est ensuite impossible de le ré-utiliser dans un nouvel équipement. J'ai créer un nouvel équipement avec une nouvelle adresse ip et flasher le microcontrolleur avec le sketch du nouvel équipement, Jeedom n'arrive pas à communiquer avec le microcontrolleur (error: no route to host) alors que je ping l'adresse ip avec succès avec le plugin network. Ensuite j'ai régulièrement des message qui disent Equipement not found avec l'id de l'équipement précédent. C'est comme s'il gardait l'id de l'équipement précédent en mémoire même après avoir été reflashé avec un nouveau sketch. Est-ce possible de re-initialiser le EqID.
Il est impossible d'attribuer un adresse ip fixe choisie soi-même en mettant "#define NODHCP" sur 1
J'espère ne pas avoir été trop confus dans mes explications. Merci beaucoup pour le travail fait sur ce plugin
Bonjour,
Désolé de vous importuner ,
Je souhaiterais si vous pouvez m'apporter des réponses à propos de Jeeduino,
J'ai raccordé en I2C un arduino Uno + 4 interfaces avec un PCF8574 dont 2 interfaces en entrées et 2 en sorties / relais, donc 16 entrées et 16 sorties relais.
J'ai suivi les instructions dans le fichier sketch à injecter dans l'arduino que j'ai décortiquer ci-dessous :
On a l'instruction #define UserSketch 1
Dans la section // UserVars , j'ai mis :
#include "PCF8574.h"
#include <Wire.h>
PCF8574 PCF_20(0x20); // Carte 8 Entrées Optocouplées
PCF8574 PCF_21(0x21); // Carte 8 Entrées Optocouplées
PCF8574 PCF_38(0x38); // Carte 8 Sorties Relais
PCF8574 PCF_39(0x39); // Carte 8 Sorties Relais
Dans la section // UserSetup , j'ai mis :
PCF_20.begin(); // TT
PCF_21.begin(); // TT
PCF_38.begin(); // TT
PCF_39.begin(); // TT
Et dans la section // UserLoop, j'ai mis 👍
void UserLoop()
{
uint8_t input_pcf20 = PCF_20.read8();
uint8_t i = 0;
while (i < 8) {
jeedom += '&';
jeedom += (500 + i);
jeedom += '=';
if (input_pcf20 & ( 1 << i ))
{
jeedom += '1';
}
else
{
jeedom += '0';
}
i++;
}
Et voilà pour le code, j'ai programmé aussi 1 entrée et 1 sortie sur l'arduino lui-même afin d'être sûr que l'arduino fonctionne, çà marche.
Bien sur dans Pins utilisateurs, j'ai créé aussi mes entrées de 500-516 / sorties de 517 à 531.
Et bien çà ne fonctionne pas en testant les 8 premières entrées.
Voilà si vous pouvez m'orienter svp.
Merci d'avance
Bien cordialement
Thierry
Bonjour ! Je suis en train de bricoler une connexion entre mon arduino et mon raspberry pi pour remonter la valeur d'un capteur de température. Du coup je suis tombé sur ce plugin qui m'économiserait du boulot, ça a l'air cool !
Cependant j'ai beau lire la documentation je n'arrive pas à savoir si il est possible d'appliquer une transformation (un calcul) à une valeur d'une entrée analogique ?
En gros voici le code Arduino qui lit depuis l'entrée analogique :
int reading = analogRead(sensorPin);
// converting that reading to voltage
float voltage = reading * 5.0;
voltage /= 1024.0;
// now print out the temperature
float temperatureC = (voltage - 0.5) * 100 ; //converting from 10 mv per degree wit 500 mV offset
//to degrees ((voltage - 500mV) times 100)
Au final j'ai la température en degrés. Mais comme le plugin lit directement la valeur depuis l'entrée analogique je ne suis pas sur de pouvoir répliquer ce calcul avec jeeduino.
Possible ?
bonjour,
d'abord merci pour tout ce que tu fait, j'utilise déjà ce plugin pour piloter le ventilateur de ma baie télécom a l'aide d'un relais et d'une sonde DS18B20 sur arduino nano puisque j'utilise un NUC et franchement c'est super stable bravo.
aujourd'hui je cherche a récupérer des info binaire sur un raspberry distant (pas celui de mon jeedom) j'ai installé magic mirror2 et j'aimerais récupérer une info de mouvement avec un capteur PIR afin d'allumer et éteindre l'ecran
j'ai lut au cour de mes recherches qu'il fallait installer un autre jeedom sur le pi.
Est-ce vais ?
si non quelle est la marche a suivre je n'ai rien trouvé dans la doc du plugin si ce n'est l'installation de wiringpi (je suppose sur le pi distant).
d'avance merci.
Bonjour, dans le cas ou je souhaite configurer mon Raspberry PI / JeedouinoExt en entree numérique avec pull up, la config se fait en pull down indépendamment du fait que Status_pins soit en 'i' ou 'p'
jeedouino/ressources/jeedouinoPiGpio.py
Line 896 in c72ff4c
Bonjour,
Il semble avoir une erreur avec la fonction send LCD. Dans le code jeedonuioUSB.py, il manque dans le cmd_list le retour de SMOK
Merci pour ton code
Bonjour,
L'appel API utilisé pour le transfert des données au plugin téléinfo n'est plus compatible avec celui-ci.
Ce dernier est passé en méthode POST avec une donnée formattée en JSON.
Cordialement
Hello
When dependency serial is in error :
How to solve :
Replace SimpleSend('&NODEP = SERIAL') with SimpleSend('&NODEP=SERIAL')
This error happened for me when serial is installed by another module after jeedouino :
Maybe add in error message to check that serial is not installed, because is in conflict with pyserial.
Great work on this plugin
Regards
Following code line in my generated JeedouinoESP_17 file doesn't compile in Arduino IDE:
if (abs(AnalogPinValue-OLDAnalogPinValue[i])>20) // delta correctif pour eviter les changements negligeables
it produces following error statement:
eedouinoESP_17:958:49: error: call of overloaded 'abs(long unsigned int)' is ambiguous
958 | if (abs(AnalogPinValue-OLDAnalogPinValue[i])>20) // delta correctif pour eviter les changements negligeables
| ^
In file included from /home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/cstdlib:75,
from /home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/stdlib.h:36,
from /home/alexis/.arduino15/packages/esp8266/hardware/esp8266/3.0.0/cores/esp8266/Arduino.h:27,
from sketch/JeedouinoESP_17.ino.cpp:1:
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/stdlib.h:74:5: note: candidate: 'int abs(int)'
74 | int abs (int);
| ^~~
In file included from /home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/cstdlib:77,
from /home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/stdlib.h:36,
from /home/alexis/.arduino15/packages/esp8266/hardware/esp8266/3.0.0/cores/esp8266/Arduino.h:27,
from sketch/JeedouinoESP_17.ino.cpp:1:
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:79:3: note: candidate: 'constexpr long double std::abs(long double)'
79 | abs(long double __x)
| ^~~
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:75:3: note: candidate: 'constexpr float std::abs(float)'
75 | abs(float __x)
| ^~~
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:71:3: note: candidate: 'constexpr double std::abs(double)'
71 | abs(double __x)
| ^~~
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:61:3: note: candidate: 'long long int std::abs(long long int)'
61 | abs(long long __x) { return __builtin_llabs (__x); }
| ^~~
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:56:3: note: candidate: 'long int std::abs(long int)'
56 | abs(long __i) { return __builtin_labs(__i); }
| ^~~
exit status 1
call of overloaded 'abs(long unsigned int)' is ambiguous
To correct it it is enough to cast the value in the abs
function to int
:
if (abs((int)(AnalogPinValue-OLDAnalogPinValue[i]))>20) // delta correctif pour eviter les changements negligeables
Bonjour,
je ne comprends pas, depuis la version de jeedom 4.4 le plugin réagit d’une manière étrange. Quand je vais sur un équipement dès que j’essaie d’aller sur un onglet (équipement, commande, pin…) l’affichage bascule sur dans une barre avec le nom de l’équipement et en dessous les commandes avec la coche dans afficher.
Est-il possible de corriger le problème ?
Il me semble que le plugin ne connaît plus de MAJ, est-il obsolète ? Si oui c’est bien dommage et par lequel vais-je le remplacer si c’est possible ?
Merci par avance
Cordialement
Richard
Copie d’écran de l’affichage quand on est dans l’équipement
jeeduino.pdf
Salut,
Je suis en train de basculer ma téléinfo Linky depuis un Arduino + mySensors vers un Wemos D1 Mini.
Dans le sketch on a :
jeedouino/sketchs/JeedouinoESP.ino
Lines 1562 to 1571 in 4befca3
Il me semble que dans la configuration on donne la même valeur pour le pin RX et le pin TX : cela ne va pas du coup mettre le pin en mode "OUTPUT" alors qu'on l'attend en mode "INPUT" 🤔
En tout cas en l'état ça ne semble pas fonctionner pour moi.
Merci pour le boulot en tout cas, c'est surtout agréable à utiliser 👍
bonjour,
je dispose d'une serrure Sherlock S2 avec telecommande bluetooth, celle-ci est reluier a mon rpi, le tout bien configurer sur jeedouino.
mon probleme: pour déverouiller la serreure il faut faire un double appuis sur le bouton, avec une intervalle normal ( comme un double click sur une souris)
le probleme c'est que je ne c'est pas comment configurer ce "double-pulse"
merci d'avance
When using Jeedouino on Debian 10 Buster (with a fresh install on Rpi3), the page of the plug-in did not show up, only the menu bar. Error 500 on calling "/index.php?v=d&m=jeedouino&p=jeedouino"
But nothing /var/www/html/log/http.error
On the Jeedom forum someone said that it's a Buster compatibility problem.
I made a new install on Debian 9 Strech and it's OK.
If you give me more info, maybe I could help.
Thanks for this very useful plugin !
Since new update (2019-09-14 09:13:31) i'm not able to retrieve state of Pin
Hello,
J'ai remarqué un souci lors de la génération de sketch en local en usb pour un arduino nano. Jeedouino laisse une ligne liée à une génération réseau.
Dans mon cas une sonde DS18B20 et une entrée numérique à générer et la ligne suivante dans le sketch est à supprimer en L505 :
client.print(F("SOK")); // On reponds a JEEDOM
Dans cette partie du code :
else if (c[0]=='S' && c[n]=='P') // Reçoi le délai de relève des sondes
{
if (n > 1) // Petite securite
{
for (int i = 1; i < n; i++)
{
if (isDigit(c[i])) c[i] = c[i] - '0';
}
int multiple = 1;
pinTempo = 0;
for (int i = n-1; i > 0; i--) // récupération de la valeur
{
pinTempo += int(c[i]) * multiple;
multiple *= 10;
}
if (pinTempo < 1 || pinTempo > 1000) pinTempo = 5;
ProbePauseDelay = 60000 * pinTempo;
client.print(F("SOK")); // On reponds a JEEDOM
jeedom+=F("&REP=SOK");
}
}
Super projet en tout cas!
Bonjour,
Je suis actuellement en train de tester le plugin avec des cartes Arduino, mais je rencontre des problèmes assez basiques comme :
J'essaie simplement de faire un blink avec la led présente sur toute carte Arduino.
Pour essayer de voir d'où vient le problème, j'ai commencé à reprendre le code du sketch de base, en le réorganisant pour simplifier la lecture et la maintenance future.
Je cherche les détails de communication, c'est-à-dire :
Je n'y connais pas grand-chose en php, et peu en python, mais j'ai un bon baguage en programmation embarquée (microcontrôleurs).
J'ai lu la doc, qui explique les différentes configurations possibles, mais je n'ai rien trouvé sur le protocole d'échange. Ai-je loupé une page ?
Très naturellement,
Bonjour,
j'aurais des suggestions d'améliorations du plugin concernant principalement l'utilisation des I/O des Arduino :
Est-ce qu'il serait possible d'ajouter aux entrées analogiques A0-A5 le statut "Entrée numérique" avec/sans PULL-UP" ?
J'ai été obligé de créer des PIN utilisateurs pour faire çà alors que les PIN A0-A5 peuvent très bien fonctionner en mode digital de D14 à D19.
L'Arduino Nano possède 2 PIN A6-A7 supplémentaires qui ne fonctionnent elles qu'en analogique mais elles ne sont pas dispo.
En tout cas, bravo pour ce super plugin qui offre déjà beaucoup de possibilités :o)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.