String an SenseMap per MQTT übertragen und anzeigen -> Sonnenauf- und Untergang

mqtt

#1

Ist es möglich, einen beliebigen String als Payload an die SenseMap zu schicken und anzeigen zu lassen?

Konkret würde ich gerne die Zeiten für Sonnenauf- und untergang anzeigen lassen. Dazu habe ich wie gewohnt zwei neue Sensoren angelegt und schicke die Sensor ID’s mit den Uhrzeiten per MQTT als Messages zum Broker. Dort kommen sie auch an und die Payloads sind valide. Angezeigt wird leider nichts.
Die Payload sieht wie folgt aus: {“sensor_id”:“18:53”}
Scheinbar ist das Problem das Zeitformat. Der Doppelpunkt scheint dabei zu stören.
Ist das irgendwie machbar?

Grüße
Michael


#3

Hi @deviceZero,

leider ist es nicht möglich einen beliebigen String als value zu übergeben.

In deinem Fall könntest du aber 1 oder 0 für Sonnenaufgang und Sonnenuntergang nutzen und die Uhrzeit als createdAt übergeben.
https://docs.opensensemap.org/#api-Measurements-postNewMeasurement


#4

Und das bekäme ich auf der Box auch ausgegeben? Wie sähe so ein String dann beispielsweise aus? Schnall das gerade irgendwie nicht so ganz :disappointed:


#6

Das hatte ich verstanden.
Meine Antwort war auch mehr auf @matthias Idee gerichtet, die Daten als createdAt zu übergeben. Das habe ich nicht richtig verstanden.


#7

@matthias könntest du mir das nochmal etwas näher erläutern und evtl ein Beispiel geben?
Ich verstehe noch nicht wie ich die Payload gestalten müsste und wie ich OpenSenseMap dann dazu bringen kann, den createdAt Wert auszugeben.
Vielen Dank im vorraus :slight_smile:


#8

Hi @deviceZero,

deine Messung muss so aussehen: { "createdAt": "2019-04-02T20:33:07.052Z", "value": 0 }. Diese kannst du wie gewohnt an https://ingress.opensensemap.org/:senseBoxId/:sensorId per HTTP POST schicken.

Deine Messungen samt Zeitstempel kriegst du auch ganz normal wie gewohnt über diese Schnittstelle: https://docs.opensensemap.org/#api-Measurements-getData


#9

danke @gerald
ich würde das wie gesagt gerne per mqtt lösen. ich teste das trotzdem mal per http


#10

Per MQTT ist das Format das selbe. Entweder JSON wie von mir angegeben oder als csv:

deineSensorID,0,2019-04-02T20:33:07.052Z