MQTT Client Konfigurator - Variablen-Typ richtig anlegen

Hi,

der mqtt-Client-Konfigurator legt immer String-Variablen an, statt auf den den letzten Value zu schauen und den richtigen Variablen-Typ zu verwenden. Das ist besonders bei seeehr vielen Variablen doch sehr zeitaufwändig und ärgerlich insb. wenn man selber erstmal den Typen nachsehen muss, da auch der letzte Value nicht übernommen wird beim Variable anlegen und man sonst erst auf den nächsten Wert warten muss. Auch dies wäre eine Verbesserung. Die Werte sind dem Konfigurator ja bekannt, sollte also kein Problem darstellen.

1 „Gefällt mir“

Ja, das hatte ich auch schon lange mal angeregt.
oder wenn eine automatische Erkennung zu aufwändig ist dann doch zumindest das wesentlich öfter benötigte Double oder Integer als Default nehmen.
Jedesmal laufe ich in die gleich Falle.

schöne Grüße
Bernhard

gettype() sollte schon zu 95% richtig sein

Ich dachte wir tun dies bereits. Ansonsten sollte das kein Problem sein es zu erweitern. Und definitiv sinnvoll.

paresy

2 „Gefällt mir“

Beim JSON Decoder glaube ich ist es so. Aber hier könnte das wirklich nicht fehlen.
Michael

richtig, der JSON-Decoder macht es… nagut, der hat auch nicht wirklich ne Wahl :smiley: aber Einzel-Variablen aus mqtt leider nicht… und den letzten Wert übernehmen wäre auch sooo nice… ist ja fast wie Weihnachten und Ostern zusammen :smiley:

Typ-Erkennung kommt zur 7.1. Boolean erlauben wir aktuell „true“ und „false“. Integer alles mit ausschließlich Zahlen. Float alles mit Zahlen, Punkt und Komma.

Das wäre cool, aber dafür müsste das PHP-SDK erweitert werden. Und das ist immer etwas aufwendiger :slight_smile:

paresy

Magst du mir das erklären. Frage aus Entwicklerinteresse.

Der Konfigurator kann keine variablen von neu erstellten Instanzen beschreiben. Das ganze erstellen macht ja die Konsole ohne dem Wissen der Konfigurator Instanz. Deswegen müsste man dies im statusVariables Feld der Configurator Konfiguration mitgeben und die Konsole müsste dies auswerten und setzen.

paresy

OK, aber weiß der Konfigurator nicht welche Variablen er gerade angelegt hat und kann dann ein Update auf den Value machen? Es geht ja um einzelne mqtt-Felder, keine JSON-Struktur, also heisst der Wert unter der Instanze immer Value oder?

Ein Konfigurator ist, wie der Name schon sagt, zum konfigurieren. Er verarbeitet keine Werte und kann auch nicht Variablen von anderen Instanzen setzen.
Das ist Aufgabe der jeweiligen Instanz.
Michael

Wie Michael schon korrekt sagte - der Konfigurator erstellt die Instanz. Aber beeinflusst die variablen nicht.

paresy

OK, verstehe… aber könnte die Client-Instance die Daten nicht beim anlegen aktiv von Splitter-Instance, oder wer auch immer die Daten kennt, abrufen? Oder kennt die nur der Konfigurator? Die Splitterinstanz abonniert ja schon alles oder?

Wenn es retained wäre evtl. ja. Aber das ist vom Aufwand her mit Kanonen auf Spatzen schiessen. Das SDK erweitern ist die elegante Lösung.

paresy