Symcon MQTT Server Device legt Unnamed Object (ID: xxx) an

Da im Discord keine Antworten kamen, die Frage dann doch im Forum.

Ich habe gerade mal mit ESPrecence rumgespielt. Es sendet „Unmengen“ an Daten und kann leider auch nicht direkt auf dem ESP filtern.

Aber ich habe auch im Symcon ein Problem, es kommt ein Topic
espresense/devices/tile:eee5ebf3dcbb/office

dazu kommen JSON Daten, aus meiner Sicht valide,

{"id":"tile:eee5ebf3dcbb","idType":19,"rssi@1m":-69,"rssi":-57,"mac":"eee5ebf3dcbb","raw":0.45,"distance":0.45,"speed":0}

zum Empfang habe ich ein „MQTT Server Device“ über den MQTT Konfigurator angelegt und dort im Debug erhalte ich

18.01.2022, 22:14:59 | INVALID | …

Die Variablen werden auch angelegt aber zusätzlich jedes Mal ein

Unnamed Object (ID: xxx)

Was läuft da falsch?

Hi Ralf,

sorry für die Verzögerung und hatte bisher gar keine Idee. Ich denk aber, dass ich jetzt einen guten Ansatz habe. rssi@1m ist kein gültiger Ident, da das @ ein Problem ist. Ich werde das zur 6.2 korrigieren - wegen dem Event wird es aber erst nächste Woche was :slight_smile:

paresy

1 „Gefällt mir“

Danke, du bist mein Held des Tages. Die fehlende Variable ist mir nicht aufgefallen, nächstes mal schau ich noch genauer.

Dann können die Tests beginnen :smiley: .

Ich fürchte, ich brauche noch mehr ESP32 :flushed: .

1 „Gefällt mir“

Hallo Ralf,

kannst du mal ein Beispiel posten, wie du die Masse an MQTT Objects aus espresense strukturierst und auswertest. Da kommt ja eine Menge rüber.

Gruss
Bernd

Ja, ESPresence liefer schon einiges, nicht alles lässt sich aufgrund der Rahmenbedingungen im Symcon einfach bearbeiten, da einerseits zuviel angelegt wird und andererseits bei rooms beispielsweise einige Inhalt sehr häufig überschrieben werden.

Ich nutze nur Telemetry um die Konfiguration zu sehen und Devices zur Überwachung.
Bei Devices würde mir eigentlich distance reichen.

Leider wird distance nicht auf 0 gesetzt, sondern einfach nicht mehr aktualisiert. Das gefällt mir nicht, aber das Team vom ESPresence ist auf meinen Wunsch nicht eingegangen.

Dadurch setze ich den Wert jetzt zyklisch selber auf 0, wenn er nicht „relativ neu“ ist. Distance prüfe ich dann in einem Script, dass auch andere Daten (WLAN, …) prüft und setzt die Anwesenheit. Das funktioniert sehr gut.

Außerdem versuche ich die Anwesenheit im Raum auszuwerten, in einem anderen Script, das die Entfernungen bewertet. Also manuell erstellt und alles durch distance getriggert.

Es erfolgt leider einiges an Änderungen und dadurch Scriptaufrufe, aber das habe ich etwas reduziert durch
grafik

Dadurch wird selterner aktualisiert, aber selbst 2 Meter Sprünge sind bei fest statisch liegendem Tile immer mal da.

Distance funktioniert auch nur halbwegs zuverlässig und eher nur in einer Ebene, ansonsten sind die Entfernungen manchmal auch nach oben oder unten :wink: .

Ich will noch zwei ESP in die Haupträume oben und unten hängen und prüfen, ob es dann noch stabiler wird. Dann könnte ich immer 6 Entfernungen auswerten.