Bonjour NoSmocking,
Merci pour le code et pour répondre au 2 premières questions :
En ce qui concerne cette ligne
valuesList.push(payload) + ",";
C'est une mise en forme de ceci qui est fixe qui devrait être comprise comme ceci :
var valuesList = [11,13,14,17,15,19,14,14,17,15,19,16,14];
Avec cette dernière liste c'est un valeur fixe qui s'affiche. Du coup je ne vois pas comment générer une deuxième liste de valeur ?
Ceci dit cela ne fonctionne pas avec ou sans + ","
payload une valeur générée par un script python qui est sensé envoyer des messages MQTT à un serveur websocket en python. D'ailleurs je monitore le message dans ma page web comme ceci :
Latest MQTT message: home/basement temp, 26
Dans ce cas payload prend la valeur 26.
Voici la fonction qui génère le payload :
1 2 3 4 5 6 7 8
| function onMessageArrived(message) {
var topic = message.destinationName;
var payload = message.payloadString;
console.log("Topic: " + topic + ", Message payload: " + payload);
$('#message').html(topic + ', ' + payload);
var message = topic.split('/');
var area = message[1];
var state = message[2]; |
Celui ci apparaît donc dans la console :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| opic: home/basement/temp, Message payload: 2
index.html:75:13
ReferenceError: responseObject is not defined[En savoir plus]
index.html:69:13
Host: 127.0.0.1, Port: 3000, Path: /mqtt TLS: false
index.html:57:13
Topic: $SYS/broker/version, Message payload: HBMQTT version 0.9.2
index.html:75:13
Error: Data do not match the MQTT topic.
index.html:193:26
Topic: home/basement/temp, Message payload: 25
index.html:75:13
Topic: home/kitchen/window, Message payload: true
index.html:75:13 |
Du coup j'ai ajouté 2 flags supplémentaires un avant le case et l'autre avant la fonction du graphe et la valeur est bien apparue dans la console :
1 2 3
| Topic: home/basement/temp, Message payload: 17
Message basement payload avant if: 17
Message basement payload avant graphe : 17 |
Apparemment il n'y a pas d'erreur à part que le graphe reste plat
En ce qui concerne le code fourni je l'ai modifié comme ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| console.log(" Message basement payload avant graphe : " + payload);
var valuesList = [0];
var sparklineLeadLine = function() {
$('#basementTempSparkline').sparkline(valuesList, {
type: 'line',
width: '100%',
height: '50'
});
}
payload.on("change", function() {
var val = $(this).val();
if (!isNaN(val)) {
valuesList.push(val);
$(this).val("");
console.log("INTEGRATION ValuesLisr : ", valuesList);
sparklineLeadLine();
}
else {
$(this).val("ERREUR saisie !");
}
});
// End graphe |
Je n'ai pas d'erreur dans la log :
1 2 3
| Topic: home/basement/temp, Message payload: 16
Message basement payload avant if: 16
Message basement payload avant graphe : 16 |
et pas de retour pour "INTEGRATION ValuesLisr ". Je pas de graphe qui s'affiche moins qu'une ligne plate.
Merci
Partager