Werte von FHEM an die Solaranzeige senden

Alles was speziell mit der Anbindung der HomeMatic Zentrale und anderen Smart Home Zentralen zu tun hat. (FHEM, ioBroker usw.) Fragen Ideen und Erfolgsmeldungen.

Moderator: Ulrich

Antworten
chho87
Beiträge: 3
Registriert: Sa 16. Jan 2021, 00:04

Werte von FHEM an die Solaranzeige senden

Beitrag von chho87 »

Nach einigen Verständnisproblemen bekomme ich nun Daten von der Solaranzeige zu FHEM und auch Werte wieder zurück zur Solaranzeige.
Die Zurückerhaltenen Werte kann ich aber in Grafana nicht anzeigen.

Dort bekomme ich den Fehler

Code: Alles auswählen

message:"InfluxDB Error: unsupported mean iterator type: *query.stringInterruptIterator"
data:Object
results:Array[1]
executedQueryString:"SELECT mean("Netzbezug") FROM "MQTT" WHERE time >= 1611097200000ms and time <= 1611183599999ms GROUP BY time(1s) fill(null)"
In FHEM sende ich mit einem Notify zur Solaranzeige.
Das Event Reading Power sieht so aus "497.162 W previous: 496.886 delta_time: 5 s" durch ReadingsNum nehme ich die erste Zahl daraus.

Code: Alles auswählen

	
Stromzaehler:power:.* {
my $message = ReadingsNum("Stromzaehler","power","","0");
fhem("set MQTT_Solaranzeige publish solaranzeige/anzeige/Netzbezug $message");
}
Augenscheinlich funktioniert das auch, denn es kommen Werte in der DB an

Code: Alles auswählen

> select * from MQTT order by time desc
name: MQTT
time                Netzbezug
----                ---------
1611102894000000000 427.501
1611102890000000000 435.423
1611102885000000000 522.129
Werden die ankommenden Werte als String in die DB geschrieben oder was ist hier das Problem?
Kann mir jemand auf die Sprünge helfen?

Benutzeravatar
Ulrich
Administrator
Beiträge: 2576
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 19 Mal
Danksagung erhalten: 155 Mal
Kontaktdaten:

Re: Werte von FHEM an die Solaranzeige senden

Beitrag von Ulrich »

Alles was per MQTT ankommt und in die Influx Datenbnk geschrieben werden soll, wird als "String" dort hinein geschrieben, da es nur anhand der Daten nicht ersichtlich ist, um was es sich handelt. Die Daten müssen also ggf. erst in eine Zahl gewandelt werden bevor man damit rechnen kann.
--------------------------------------
Ulrich [Admin]

chho87
Beiträge: 3
Registriert: Sa 16. Jan 2021, 00:04

Re: Werte von FHEM an die Solaranzeige senden

Beitrag von chho87 »

Okay, kannst du mir da einen Tipp geben wie ich die Werte ins Dashboard bekomme? Rechnen möchte ich nicht, nur im Chart darstellen.

Ich nutze einen Pow und das entsprechende Dashboard, da würde ich gern die Werte von meinem Netzbezug einbinden, die Daten liegen wie oben genannt vor.
Aber leider gibt es da den ganz oben genannten Fehler und da stehe ich jetzt total auf dem Schlauch nachdem ich mir den Abend/Nacht damit um die Ohren geschlagen habe :?


Update:

Okay, Kommando zurück, er zeigt es jetzt an.

Ich habe es einfach mal von mean auf distict umgestellt.
SELECT distinct("Netzbezug") FROM "MQTT" WHERE $timeFilter GROUP BY time($__interval) fill(null)

Kann mir jemand erklären was der Unterschied zwischen mean und distict ist?


Update 2:
Wenn ich die Maus jedoch über die Kurve halte, zeigt er für den Netzbezug keinen Wert an und in ein Gauge bekomme ich das auch nicht rein.
Gibt es hier ein Bestpractise wie ich damit umgehen muss?

chho87
Beiträge: 3
Registriert: Sa 16. Jan 2021, 00:04

Re: Werte von FHEM an die Solaranzeige senden

Beitrag von chho87 »

Falls jemand noch vor ähnlichen Problemen steht wie ich, hier einmal meine gerade gefundene Lösung.

Mir geht es hier lediglich um die Visualisierung von Daten aus FHEM in meinem Dashboard und da die benötigten Werte bereits in der FHEM Log DB liegen bin ich nun dazu übergegangen Grafana die Daten aus der MYSQL DB holen zu lassen.
Die Anbindung ist ganz einfach und ist hier erklärt https://grafana.com/docs/grafana/latest ... ces/mysql/
Eine erste Testabfrage lies sich auch schnell erstellen.
Hier meine Abfrage:
SELECT
UNIX_TIMESTAMP(TIMESTAMP) as time_sec,
cast(VALUE as signed) as value, "Netzbezug" as metric
FROM history WHERE READING="power" AND DEVICE="Stromzaehler" AND $__timeFilter( TIMESTAMP )
Im FHEM Wiki gibt es auch einen Eintrag zu Grafana
https://wiki.fhem.de/wiki/Grafana
Wenn es nur um Visualisierung geht, ist der direkte Zugriff auf die DB sicher besser als der Umweg diese über MQTT zu verschicken.

Antworten