Je veux enregistrer les données de température (que je reçois d'un client paho) dans un tableau nommé 'single'. Enfin, je veux montrer les données en direct dans une jauge.
Pour cela j'ai créé un service pour stocker les données et pour distribuer les données à plusieurs composants.
Mais je reçois seulement le ERR: "" n'est pas assignable au paramètre de type '{value: string; } '.
J'apprécierais vraiment de nouvelles idées à ce sujet! Merci!Enregistrer les données dans le tableau à partir du client paho, angulaire 4
Mon service:
import { Injectable } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import {Paho} from '../../../node_modules/ng2-mqtt/mqttws31';
@Injectable()
export class ClassdataproviderService {
public name: string;
public value: string;
single = [
{
name: 'eins',
value: '15'
},
{
name: 'zwei',
value: '20'
},
{
name: 'drei',
value: '73'
}
];
// Create a client instance
client: any;
packet: any;
constructor() {
this.client = new Paho.MQTT.Client('wpsdemo.gia.rwth-aachen.de', 8080, 'Steffen');
this.onMessage();
this.onConnectionLost();
// connect the client
this.client.connect({onSuccess: this.onConnected.bind(this)});
}
// called when the client connects
onConnected() {
console.log('Connected');
this.client.subscribe('node/m1/temperature');
//this.sendMessage('HelloWorld');
}
sendMessage(message: string) {
const packet = new Paho.MQTT.Message(message);
packet.destinationName = 'World';
this.client.send(packet);
}
// called when a message arrives
onMessage() {
this.client.onMessageArrived = (message: Paho.MQTT.Message) => {
console.log('Message arrived : ' + message.payloadString);
this.single.push('test', message.payloadString); **//<-- Here i want to push the data in my array**
};
}
// called when the client loses its connection
onConnectionLost() {
this.client.onConnectionLost = (responseObject: Object) => {
console.log('Connection lost : ' + JSON.stringify(responseObject));
};
}