NEWS
UNSOLVED MQTT übermittelt falsche Werte
-
Hallo,
folgendes Szenario:
ESP8266 mit 7 Segment Anzeige und MQTT-Verbindung zum iobroker.
Die Anzeige funktioniert wunderbar. Über das Programm MQTTBox für Windows kann ich Werte über das entsprechende Topic an meinen ESP senden und dieser wird auf der 7 Segment Anzeige angezeigt, deshalb vermute ich den Fehler im iobroker.Ändere ich die entsprechende Variable im ioBroker, kommen andere Werte an meinen ESP an.
Beispiel: Ich schicke über die MQTTBox die Zahl 50, im iobroker wird komischerweise eine 2 angezeigt:
Bei einer 40, steht im ioBroker eine Klammer-auf "(", bei einer 20 zum Beispiel nur ein Zeichen "".
Ich vermute, da stimmt irgendwas mit dem Datentyp nicht, aber auf was muss ich das im iobroker ändern, wenn in der MQTTBox "Decimal Array" eingestellt ist? Mit Typ "Zahl" im iobroker geht es leider auch nicht.
Ich hoffe, ihr könnt mir weiterhelfen.
Vielen Dank schonmal!
-
Ich habe es mittlerweile selbst lösen können. Über ioBroker habe ich nicht wirklich gefunden, wie ich den richtigen Datentyp festlege, also habe ich im Sketch konvertiert:
int p = 0; String zahl = ""; for(int i=0; i<length; i++) { p =(char)payload[i]-'0'; Serial.print(p); zahl = zahl + (String)p; } Serial.println(); display.showNumberDec(zahl.toInt(),false,4,0);
Umständlich, aber es funktioniert.
-
Der scheint es als dez. ASCII-Zeichen zu übertragen: ASCII dez. 50 entspricht dabei der "2" usw. Ich kenne MQTTBox nicht, ich nutze zum testen MQTT.fx, da geht es