$query abfragen ob ein aktueller wert existiert

Überwachung der Solaranlage per eMail oder Pushover und Steuerung von Geräten mit Smart Home Zentralen. PV-Überschuss Steuerung verbunden mit Geräten und Tasmota Firmware. Wallbox Steuerungen und API Schnittstelle, über die Daten in die Solaranzeigen Datenbanken geschrieben und gelesen werden können. Alles, was man für Steuerungsaufgaben benötigt.

Moderator: Ulrich

Antworten
fly2jerry
Beiträge: 7
Registriert: Sa 21. Mai 2022, 07:47

$query abfragen ob ein aktueller wert existiert

Beitrag von fly2jerry »

Hallo zusammen,
ich möchte in der auto-math-php abfragen, ob es von meiner Shelly 2.5 einen aktuellen Wert gibt, also ob diese gerade online ist oder nicht.
Die query gibt mir aber immer den letzten Wert und egal wie ich den String umbaue, bekomme ich nicht das, was ich haben will
$query = urlencode("SELECT mode(Status) FROM Service");
Sobald ich den ändere um Where time .. einzubauen, gehts schief
Wie kann ich das abfragen?

Vielen Dank für eure Hilfe

Stefan

solarfanenrico

Re: $query abfragen ob ein aktueller wert existiert

Beitrag von solarfanenrico »

Hallo,
die Frage ist etwas unglücklich gestellt.
Wenn etwas online ist oder nicht, kann man nur umständlich aus einer Datenbank auslesen.
Man kann es etweder über MQTT oder http-Abfragen erledigen. In beiden Fällen würde wohl nur eine Antwort erfolgen, wenn das Teil online ist.

Anders wäre die Frage, nach dem Schaltzustand des Relais. Ob es "AN" oder "AUS" ist kann man aus einer Datenbank erfahren, wenn dieser Zusatnd gespeichert wird. Fragt man jedoch hier wieder nach dem letzten Schaltzustand, wird nur der letzte Eintrag gezeigt.
Würde das Relais eingeschaltet sein, und unmittelbar danach die Verbindung abgebrochen(offline), bleibt das Relais eingeschaltet.

Enrcio

fly2jerry
Beiträge: 7
Registriert: Sa 21. Mai 2022, 07:47

Re: $query abfragen ob ein aktueller wert existiert

Beitrag von fly2jerry »

Hallo,

Ok, dann deutlicher gefragt: Wie kann ich denn in der auto-math.php abfragen, ob die shelly gerade online ist?
Ich dachte, ich schau, ob ein Wert in der letzten Minute vorhanden ist, indem ich die Zeit einschränke, Somit wäre egal ob ich Status oder Powerstatus abfrage.
Aber die Query macht immer einen Fehler, sobald ich auch nur die vorhandene Query z.B. in Klammern setze. Folglich kann ich die gar nicht richtig verändern.
Aber ich werde mir jetzt einfach mal den Zeitstempel nehmen und direkt in php vergleichen ob der Datensatz älter als eine Minute ist. Ich hatte gehofft, es gibt ne schickere Lösung.

Stefan

solarfanenrico

Re: $query abfragen ob ein aktueller wert existiert

Beitrag von solarfanenrico »

Hallo Stefan,
scheinbar bin ich etwas begriffsstutzig.

Ich kann mir einfach nicht vorstellen, wie man etwas abfragen kann, was offline ist. Auch aus einer Datenbank nicht. Dort bekommt man immer nur den letzetn Wert. Ob es nun ein Staus oder ein bestimmter Wert ist, ist hierbei Nebensache.

Schaue erstmal in die InfluxDB, welche Werte dort zu welcher Zeit eingetragen werden. Dann postest Du das Ergebnis, und fragst wie man dies auf irgendeine Weise darstellen kann.
php verzeiht keine Fehler, und deine dürftigen Angaben mache die Hilfe unmöglich.
Enrico

fly2jerry
Beiträge: 7
Registriert: Sa 21. Mai 2022, 07:47

Re: $query abfragen ob ein aktueller wert existiert

Beitrag von fly2jerry »

Hallo Enrico,

es hat funktioniert.
Ich zerleg die Antwort vom query urlencode("SELECT last(Status) FROM Service") einfach so, dass ich den Zeitstempel des letzten Eintrags erhalte. Umformatieren und von der jetzigen Zeit abziehen, GMT offset noch rausrechnen. Dann noch die gewünschte Schwelle festlegen, ca 10 Sekunden Puffer einbauen bis die Werte sauber gelesen werden können und schon hat man ob der Wert aktuell ist oder nicht.
Ich bestimme quasi das Alter des letzten Eintrags.

Stefan

solarfanenrico

Re: $query abfragen ob ein aktueller wert existiert

Beitrag von solarfanenrico »

Hallo,
dann ist es ja gut wenn es funktioniert.
Dann hat sich das Thema ja auch erledigt. Glückwunsch.
Enrcio

Antworten

Zurück zu „Überschuss Steuerung, Anlagenüberwachung, Anbindung an die Heizung, API Schnittstelle und vieles Andere mehr.“