comment avoir un retour de l'état d'un dash button sous domoticz
Modérateur : Francois
-
- Messages : 53
- Enregistré le : sam. 23 juil. 2022 11:36
comment avoir un retour de l'état d'un dash button sous domoticz
bonjour,
J'aimerais savoir comment avoir un retour vers domoticz de l'état de la batterie d'un dash button portatif? exemple un bouton de commande d'une fonction télérupteur sous domoticz.
J'aimerais savoir comment avoir un retour vers domoticz de l'état de la batterie d'un dash button portatif? exemple un bouton de commande d'une fonction télérupteur sous domoticz.
-
- Administrateur
- Messages : 3230
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: comment avoir un retour de l'état d'un dash button sous domoticz
Bonjour,
La question n'est pas coté Domoticz, c'est le Dash Button qui doit être prévu pour retourner l'état de sa batterie.
Tous mes "devices" qui prennent en charge l'envoi de l'état de la batterie sont automatiquement mis à jour dans Domoticz sans configuration particulière de ma part, juste à ajouter le device.
La question n'est pas coté Domoticz, c'est le Dash Button qui doit être prévu pour retourner l'état de sa batterie.
Tous mes "devices" qui prennent en charge l'envoi de l'état de la batterie sont automatiquement mis à jour dans Domoticz sans configuration particulière de ma part, juste à ajouter le device.
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
-
- Messages : 53
- Enregistré le : sam. 23 juil. 2022 11:36
Re: comment avoir un retour de l'état d'un dash button sous domoticz
d'accord
ils sont DIY ces devices ou ils sont achetés?
car moi ce qui m’intéresserait c'est des équipements DIY avec un esp8266 si possible.
ils sont DIY ces devices ou ils sont achetés?
car moi ce qui m’intéresserait c'est des équipements DIY avec un esp8266 si possible.
-
- Administrateur
- Messages : 3230
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: comment avoir un retour de l'état d'un dash button sous domoticz
Mes devices qui retournent l'état de la batterie sont des devices achetés (Device sous protocole Zigbee). Pour ceux DIY, il faut le prévoir (matériel et logiciel), mais pour ma part, je ne le fait pas, car aucun de ceux que j'ai fait ont une fonction sensible.
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
-
- Messages : 53
- Enregistré le : sam. 23 juil. 2022 11:36
Re: comment avoir un retour de l'état d'un dash button sous domoticz
Bonjour,
J'ai réussi a ce que le programme dans l'arduino me calcul le pourcentage de batterie testant via l'entrée analogique A0.
Maintenant de doit trouver le moyen de l'envoyer à domoticz ( ça devrait être jouable en trouvant comment lui envoyer un message par MQTT avec le pourcentage et l'index du matériel), mais il faudrait après lui faire afficher et prendre en compte pour qu'il puisse m'envoyer un email quand le pourcentage passe sous une limlite.
J'ai réussi a ce que le programme dans l'arduino me calcul le pourcentage de batterie testant via l'entrée analogique A0.
Maintenant de doit trouver le moyen de l'envoyer à domoticz ( ça devrait être jouable en trouvant comment lui envoyer un message par MQTT avec le pourcentage et l'index du matériel), mais il faudrait après lui faire afficher et prendre en compte pour qu'il puisse m'envoyer un email quand le pourcentage passe sous une limlite.
-
- Administrateur
- Messages : 3230
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: comment avoir un retour de l'état d'un dash button sous domoticz
Bonjour,
il suffit simplement d'envoyer la valeur de "Battery" dans la chaine MQTT, en plus de la commande "0" (éteint) ou 1 (Allumer).
exemple :
Pour cela, dans le code il faut ajouter sous :
la ligne contenant la valeur de la batterie :
Les valeurs de Batteries vont de "0" (vide), à la valeur 255 (pleine)
il suffit simplement d'envoyer la valeur de "Battery" dans la chaine MQTT, en plus de la commande "0" (éteint) ou 1 (Allumer).
exemple :
Code : Tout sélectionner
mosquitto_pub -h localhost -u USER-P PASSWD-t "domoticz/in" -m '{ "idx" : 380, "nvalue" : 1, "Battery" : 125}'
Code : Tout sélectionner
doc["idx"] = idxDevice;
doc["value"] = value;
Code : Tout sélectionner
doc["Battery"] = VALEUR_BATTERIES;
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
-
- Messages : 53
- Enregistré le : sam. 23 juil. 2022 11:36
Re: comment avoir un retour de l'état d'un dash button sous domoticz
bonjour,
Dans ma fonction de calcul de batterie
String svaluebatt = String (P);
SendData ("udevice", idxpourcentagebatt, 0, svaluebatt); //pour m'afficher le pourcentage de batterie calculé dans un capteur virtuel de pourcentage. Ca ca marche mais m'oblige a créer un capteur en plus.
// J'aimerai visualiser la batterie dans la colonne prevu pour à coté de celle de RSSI (pas sur du nom de celle-ci).
// rajout de ces lignes pour l'inclure dans les données du device dans la colonne suivant celle rssi
int batterie = map(P, 0, 100, 0, 255);
String battery = String (batterie);
SendData ("udevice", idxdevicebatt, 0, battery);
dans la création json de ma librairie traitant du message MQTT
DynamicJsonDocument doc(256);
doc["command"] = command;
doc["idx"] = idxDevice;
doc["nvalue"] = nvalue;
doc["svalue"] = svalue;
doc["battery"] = battery; // ligne rajouter - à la compilation il me dit "battery was not declared in this scope
le fait de rajouter un doc, ne devrai-je pas changer le 256 prévu surement pour 4 docs en autres prevu pour 5, et ce 5eme doc est-ce un int ou string car j'ai lu quelque part que le senddata est SendData (string, int, int, string)
Dans ma fonction de calcul de batterie
String svaluebatt = String (P);
SendData ("udevice", idxpourcentagebatt, 0, svaluebatt); //pour m'afficher le pourcentage de batterie calculé dans un capteur virtuel de pourcentage. Ca ca marche mais m'oblige a créer un capteur en plus.
// J'aimerai visualiser la batterie dans la colonne prevu pour à coté de celle de RSSI (pas sur du nom de celle-ci).
// rajout de ces lignes pour l'inclure dans les données du device dans la colonne suivant celle rssi
int batterie = map(P, 0, 100, 0, 255);
String battery = String (batterie);
SendData ("udevice", idxdevicebatt, 0, battery);
dans la création json de ma librairie traitant du message MQTT
DynamicJsonDocument doc(256);
doc["command"] = command;
doc["idx"] = idxDevice;
doc["nvalue"] = nvalue;
doc["svalue"] = svalue;
doc["battery"] = battery; // ligne rajouter - à la compilation il me dit "battery was not declared in this scope
le fait de rajouter un doc, ne devrai-je pas changer le 256 prévu surement pour 4 docs en autres prevu pour 5, et ce 5eme doc est-ce un int ou string car j'ai lu quelque part que le senddata est SendData (string, int, int, string)
-
- Administrateur
- Messages : 3230
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: comment avoir un retour de l'état d'un dash button sous domoticz
La valeur "Battery" doit être un entier entre 0 et 255, il faut respecter ce qu'attend domoticz.
Voir dans le code la fonction comment elle est déclarée, et la modifier en conséquence.
SendData est une fonction utilisateur, c'est donc à vous de la définir dans votre code. Elle est adapté en fonction du besoin, vous pouvez également lui changer son nom, rien n'est défini ailleurs que dans votre code.j'ai lu quelque part que le senddata est SendData (string, int, int, string)
Voir dans le code la fonction comment elle est déclarée, et la modifier en conséquence.
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
-
- Messages : 53
- Enregistré le : sam. 23 juil. 2022 11:36
Re: comment avoir un retour de l'état d'un dash button sous domoticz
voici ma fonction
void SendDatabatt (String command, int idxDevice, int nvalue, String svalue, int battery) {
// On vérifie la connexion MQTT
verif_connexion_mqtt();
// Création de la chaine JSON6
DynamicJsonDocument doc(256);
// On renseigne les variables.
doc["command"] = command;
doc["idx"] = idxDevice;
doc["nvalue"] = nvalue;
doc["svalue"] = svalue;
doc["battery"] = battery;
// On sérialise la variable JSON
String messageOut;
serializeJson(doc, messageOut);
char* topicOut = "domoticz/in";
// Convertion du message en Char pour envoi dans les Log Domoticz.
char messageChar[messageOut.length()+1];
messageOut.toCharArray(messageChar,messageOut.length()+1);
client.publish(topicOut, messageChar);
// Pause de 1 secondes
delay(1000);
Serial.println("\t -> Message envoyé à Domoticz");
mon programme
int batterie = map(P, 0, 100, 0, 255);
SendDatabatt ("udevice", idxdevicebatt, 0, 0, battery);
Serial.print ("\t batterie "); Serial.print(P); Serial.println("%");
comment intégrer la valeur de batterie calculée dans la message pour que domoticz le prenne en compte dans la ligne du device?
void SendDatabatt (String command, int idxDevice, int nvalue, String svalue, int battery) {
// On vérifie la connexion MQTT
verif_connexion_mqtt();
// Création de la chaine JSON6
DynamicJsonDocument doc(256);
// On renseigne les variables.
doc["command"] = command;
doc["idx"] = idxDevice;
doc["nvalue"] = nvalue;
doc["svalue"] = svalue;
doc["battery"] = battery;
// On sérialise la variable JSON
String messageOut;
serializeJson(doc, messageOut);
char* topicOut = "domoticz/in";
// Convertion du message en Char pour envoi dans les Log Domoticz.
char messageChar[messageOut.length()+1];
messageOut.toCharArray(messageChar,messageOut.length()+1);
client.publish(topicOut, messageChar);
// Pause de 1 secondes
delay(1000);
Serial.println("\t -> Message envoyé à Domoticz");
mon programme
int batterie = map(P, 0, 100, 0, 255);
SendDatabatt ("udevice", idxdevicebatt, 0, 0, battery);
Serial.print ("\t batterie "); Serial.print(P); Serial.println("%");
comment intégrer la valeur de batterie calculée dans la message pour que domoticz le prenne en compte dans la ligne du device?
-
- Messages : 53
- Enregistré le : sam. 23 juil. 2022 11:36
Re: comment avoir un retour de l'état d'un dash button sous domoticz
j'ai envoyé l'idx du device dont je veut afficher le niveau de batterie et son niveau de batterie (que j'ai mappé de 0-100 à 0-255 comme tu me l'a dit) via json mais rien ne s'affiche dans domoticz