• 05.05.2024, 14:06
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

AquaSuite: Data Source Benennung und MQTT topics

Sonntag, 6. Februar 2022, 20:44

Hallo zusammen,
ich bin auf der aktuellsten AquaSuite unterwegs und versuche gerade, die Werte des Rechners regelmäßig auf MQTT zu legen, dabei stolpere ich leider über 2x Probleme:

* Man kann in einen Output mehrere Sensor Daten einfügen, aber zB bei einer Grafikkarte kommt dann halt 3x "GPU Core" was dann bei einer simplen Config a) in der letzte Wert gewinnt via telegrad/json_v2/Influx ausartet oder b) man darf dann suchen, was was ist. Super wäre, wenn man dort auch einfach den Namen selber anpassen könnte. Das Ganze steht in der Settings_Output.xml auch schön drin, nur leider wird die halt dauernd aktualisiert... Oder im AS Service. Hauptsache irgendwo, wo es nicht konsequent wieder überschrieben wird :)

* Man kann nur ein MQTT Output erstellen bzw. nur der "letzte" konfigurierte wird gesendet. Manuell kann ich mehrere konfigurierte via "test" senden - wenn ich das Ganze aber zB mit dem Sekunden-Zähler und einem EQUAL verunde um jede Minute eine Nachricht zu senden, wird immer nur der neueste Output gesendet. --> Bug?
Hat da jemand Ideen das zu umgehen? Ist ja eigentlich cool, dass das alles aus dem AS Service raus geht. Wenns denn richtig klappen würde.

Viele Grüße

Montag, 7. Februar 2022, 07:29

ber zB bei einer Grafikkarte kommt dann halt 3x "GPU Core" was dann bei einer simplen Config a) in der letzte Wert gewinnt via telegrad/json_v2/Influx ausartet oder b) man darf dann suchen, was was ist. Super wäre, wenn man dort auch einfach den Namen selber anpassen könnte.
Beschreibe EXAKT, was du konfiguriert hast und was da raus kommt was nicht so sein sollte.



Zitat

wenn ich das Ganze aber zB mit dem Sekunden-Zähler und einem EQUAL verunde um jede Minute eine Nachricht zu senden, wird immer nur der neueste Output gesendet. --> Bug?
was willst du machen?

Montag, 7. Februar 2022, 11:38

Hi Sebastian,
danke für die fixe Antwort.



Es gibt mehrere "GPU Core" Werte, die dann in der JSON Struktur landen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{	"Id": "622b51c8-d8a7-465c-95fc-d280faedc0e0",
	"Topic": "cave/greyhoundPC/gpu",
	"Title": "GPU MQTT",
	"Message": "",
	"Data": [
    	{
        	"Name": "GPU Core",
        	"Unit": "%",
        	"Value": 0.0
    	},
    	{
        	"Name": "GPU Core",
        	"Unit": "V",
        	"Value": 0.0
    	},
    	{
        	"Name": "GPU Core",
        	"Unit": "°C",
        	"Value": 30.0
    	},
    	{
        	"Name": "GPU Core",
        	"Unit": "MHz",
        	"Value": 0.0
    	}
	]
}

In dem Falle muss ich jetzt ein gesondertes Behandlungsskript schreiben, was dann auf Basis der Units und Namen die Werte richtig in Influx gibt - sonst könnte ich einfach einen simplen JSON Parser in telegraf verwenden:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
[[inputs.mqtt_consumer]]
   servers = ["tcp://127.0.0.1:1883"]
   topics = [
   	"cave/greyhoundPC/#",
   ]
   data_format = "json_v2"
[[inputs.mqtt_consumer.json_v2]]
    	measurement_name = "mqtt_computer"
   	[[inputs.mqtt_consumer.json_v2.object]]
       	path = "Data"
       	tags = ["Name"]
       	included_keys = ["Value", "Unit"]

Hilfreich wäre da, wenn man die Werte im Namen einfach direkt schon irgendwo umbennen könnte... entweder im Output oder direkt im AS Service, dann könnte man aus "GPU Core" gleich "GPU Core Frequency" machen etc.
Das zweite Thema ist die MQTT Nachrichten. Ich habe es wie gefolgt konfiguriert:


Hiermit müsste zu jeder vollen Minute beide Nachrichten auf den beiden Topics landen, zu beobachten ist allerdings, dann immer nur eine kommt. Wie ich eben festgestellt habe, variiert allerdings, welche dort landet. Die ersten beiden Nachrichten sind mittels der Rechtsklick "Test Output" Funtion gesendet worden, die dritte war dann die reguläre.


Generell wäre ein Timestamp in der JSON Struktur wahrscheinlich auch noch hilfreich für solche Dinge :)
Config siehe Anhang, allerdings als txt.
»Gr3yh0und« hat folgende Datei angehängt:

Dienstag, 8. Februar 2022, 13:36

Hallo,
um etwas zyklisch mit den Ausgängen zu senden muss Ausgabe wiederholen aktiv sein und dann kann der trigger für die ausgabe einfach dauerhaft auf 1 gestellt bleiben so lange man Updaten haben will.
Mit den Datenquellen wird mit dem nächsten Udpate so geändert wie in den Screenshots zu sehen ist. (Neues Feld Id im MQTT Object)



Mittwoch, 9. Februar 2022, 21:10

Hallo,
um etwas zyklisch mit den Ausgängen zu senden muss Ausgabe wiederholen aktiv sein und dann kann der trigger für die ausgabe einfach dauerhaft auf 1 gestellt bleiben so lange man Updaten haben will.
Mit den Datenquellen wird mit dem nächsten Udpate so geändert wie in den Screenshots zu sehen ist. (Neues Feld Id im MQTT Object)

Hallo Sebastian,
Cool danke! Das mit dem "wiederholen" hätte ich jetzt so nicht interpretiert, das werde ich ausprobieren.
Und danke für das fixe Feedback, dann warte ich die kommende Version ab und verwende dann die IDs für Grafana. Danke für das Feature :)
Viele Grüße

Ähnliche Themen