Page 1 sur 1

bouton poussoir

Posté : lun. 24 oct. 2022 20:01
par dou_dou_69
bonjour à tous,

je vous explique mon problème

j'ai un device venant d'un esp8266-01 avec tasmota programmant un GPIO en output
un autre correspondant à un poussoir venant d'un esp826-01 avec tasmota programmant un GPIO en input_pullup
le dernier device correspondant à un poussoir venant d'un wemos d1 mini avec un programme fait sous visual studio
voici son code déclenché par le BP :
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
etat_LED = !digitalRead(LED_BUILTIN);
Serial.print(" etat LED "); Serial.println(!digitalRead(LED_BUILTIN));
String svalue = String(0);
SendData ("udevice", idxdevice, etat_LED, svalue);
delay(200);
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
etat_LED = !digitalRead(LED_BUILTIN);
Serial.print(" etat LED "); Serial.println(!digitalRead(LED_BUILTIN));
SendData ("udevice", idxdevice, etat_LED, svalue);

j'ai relier les 2 poussoirs par un scénario domoticz pour allumer le relais

le BP via tasmota sur le 8266-01 fonctionne (en push off bouton) et commute bien le relais
celui venant du wemos bascule le relais quand je clic dessus via domoticz mais pas quand je l'actionne physiquement (essai en inter on/off: l'ampoule symbolique change bien d'état ou push off bouton) rien

quand je compare les log des 2 BP ils ont l'air identique

merci de votre aide

Re: bouton poussoir

Posté : lun. 24 oct. 2022 20:28
par domi
Cette question n'ayant rien à faire dans la rubrique débutant, je déplace le post.

Re: bouton poussoir

Posté : mer. 26 oct. 2022 18:34
par piper
C'est moi ou .....
Il n'y a pas un truc qui vous choque ici ???
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));

Soit on exploite un PIN en OUT soit en IN mais pas les 2

Re: bouton poussoir

Posté : mer. 26 oct. 2022 19:42
par dou_dou_69
LED_BUILTIN symbolise la LED intégrée au wemos, ici sur le GPIO2 soit la borne 4

j'ai fait un "#define LED_BUILTIN D4" précédemment
ça me permet de changer le PIN en une manip au lieu de la changer dans tout le prog
excuse si je ne t'apprends rien, ce que je penses c'est au cas ou et pour que les lecteurs suivants comprennent

la commande "digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));" sert à changer à l'inverse l'état actuel de la sortie LED_BUILTIN

La LED change bien d'état, le device domotique aussi, il y a bien le changement d'état dans son log
mais je viens de me rendre compte en exécutant manuellement domoticz sous putty (via la commande "sudo ./domoticz" dans le répertoire de domoticz car je n'ai toujours pas trouvé le moyen qu'il se lance au démarrage) j'avais bien la commande de l'esp8266-01 sous tasmota qui apparaissait "esp-8266-test: Light/Switch (inter)" mais pas celle du wemos avec mon programme.

Quelqu'un saurait pourquoi le device change d'état sur le dashboard de domoticz et dans le log du device sans que la commande apparaisse dans le log de domoticz?