hattest du nicht für eine logamatic anbindung einen laufenden iokroker ?
Messkurven auf eigener HP darstellen?
Moderator: Co-Administratoren
- Black
- Beiträge: 5483
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Messkurven auf eigener HP darstellen?
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 655
- Registriert: 15.07.2006, 12:50
- Wohnort: Greven
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 18 Mal
Re: Messkurven auf eigener HP darstellen?
Bis jetzt habe ich es so, das die aktuelle Temperatur bei Änderung an die Webseite gesendet wird. Das funktioniert auch ohne Probleme. Das einzige Problem was ich im Moment habe ist, das Joomla (darunter läuft die Seite) nicht in der Lage ist einzelne Beitrage vom Cache auszunehmen. Es wird also nicht immer der ganz aktuelle Temperaturwert angezeigt. Das hat aber nicht mit Homematik zu tun.
Da sich das alles um Pferdeboxen bzw. Reithallen handelt, soll natürlich die Hardware sehr überschaubar sein und kostengünstig sein.
Es sollte schon alles auf einem pi3+ laufen. Daher der Gedanke, das der pi3 aus den Daten ein Bild mcht, dieses an die Seite geht und fertig.
Grüße
Manfred
Da sich das alles um Pferdeboxen bzw. Reithallen handelt, soll natürlich die Hardware sehr überschaubar sein und kostengünstig sein.
Es sollte schon alles auf einem pi3+ laufen. Daher der Gedanke, das der pi3 aus den Daten ein Bild mcht, dieses an die Seite geht und fertig.
Grüße
Manfred
-
- Beiträge: 655
- Registriert: 15.07.2006, 12:50
- Wohnort: Greven
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 18 Mal
Re: Messkurven auf eigener HP darstellen?
Das läuft auch dank Deiner Hilfe alles wunderbar und ohne Probleme. Keine Abstürze mehr am Heizung-pi3 seit der letzten Kesselwartung.
Das aktuelle Projekt hat nichts mit meinen "Privaten"-pi3s zu tun. Ist alles bei uns im Reitverein.
Grüße
Manfred
-
- Beiträge: 6744
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 486 Mal
Re: Messkurven auf eigener HP darstellen?
Wenn die Daten doch so oder so schon auf der Website vorhanden sind, dann würde ich das dann auch dort einfach lösen z.B. PHPlot, dann brauchst Du auch gar keine externen Systeme sondern löst das direkt auf dem Webserver des Hosters. Oder nimm Google Charts oder pChart.
-
- Beiträge: 655
- Registriert: 15.07.2006, 12:50
- Wohnort: Greven
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 18 Mal
Re: Messkurven auf eigener HP darstellen?
Na ja, was die Daten auf der Webseite betrifft.
Der Ablauf ist so:
1. Der Temperatursensor der mit Raspimatic verbnden ist, zeigt 23° Grad an
2. Bei Änderung sendet der pi3 diesen Wert per Skript an meine Webseite.
3. Dort liegt der Wert nun in einer Datei.
4. Diese Datei wird per PHP ausgelesen und in Joomla in einem Beitrag per Plugin Sourcerer angezeigt.
5. Ändert sich nun die Temperatur, wir der neue Wert wieder an die Seite gesendet, und der neue Wert wird aus der Datei gelesen und angezeigt.
Es ist also immer nur ein Wert auf meiner HP.
Ich bin schon stolz wie bolle das ich das hinbekommen habe.
Wie ich jetzt den "alten" Wert behalte und den neuen zur weiteren Anzeige und zum Aufbau eine Temperaturkurve verwende ist mir vollkommen schleierhaft.
Grüße
Der Ablauf ist so:
1. Der Temperatursensor der mit Raspimatic verbnden ist, zeigt 23° Grad an
2. Bei Änderung sendet der pi3 diesen Wert per Skript an meine Webseite.
3. Dort liegt der Wert nun in einer Datei.
4. Diese Datei wird per PHP ausgelesen und in Joomla in einem Beitrag per Plugin Sourcerer angezeigt.
5. Ändert sich nun die Temperatur, wir der neue Wert wieder an die Seite gesendet, und der neue Wert wird aus der Datei gelesen und angezeigt.
Es ist also immer nur ein Wert auf meiner HP.
Ich bin schon stolz wie bolle das ich das hinbekommen habe.
Wie ich jetzt den "alten" Wert behalte und den neuen zur weiteren Anzeige und zum Aufbau eine Temperaturkurve verwende ist mir vollkommen schleierhaft.
Grüße
-
- Beiträge: 6744
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 486 Mal
Re: Messkurven auf eigener HP darstellen?
Na Du ergänzt jeden neuen Messwert mit Timestamp in einem Array. Die Daten, die Du auf dem Server liegen hast, kannst Du dann z.B. mit einem Line Chart anzeigen lassen.
-
- Beiträge: 655
- Registriert: 15.07.2006, 12:50
- Wohnort: Greven
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 18 Mal
Re: Messkurven auf eigener HP darstellen?
Vielen Dank das Du mir helfen möchtest, aber da steigen mir nur Fragezeichen aus meinem Kopf.
Dieses ist die Datei die in einem Verzeichnis auf meiner HP liegt.
Wie ich so etwas in ein Array bekomme - da bin ich leider raus.
Dieses ist die Datei die in einem Verzeichnis auf meiner HP liegt.
So wie ich das deute wird aus der Datei "temperatur.dat" der Inhalt in die Variable $temp geschrieben. Verstehen was da steht tue ich leider nicht, aber es funktioniert.<?php
if (isset($_GET["temp"])){ $temp = $_GET["temp"]; } else { $temp="x"; }
if ($temp != x){ file_put_contents("temperatur.dat", $temp); }
?>
Wie ich so etwas in ein Array bekomme - da bin ich leider raus.
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
Re: Messkurven auf eigener HP darstellen?
Wenn eine Netzwerkverbindung zum CCU-Historian-Rechner besteht, kann über eine spezielle Adresse (s.a. Handbuch) eine Grafik vom CCU-Historian-Rechner generiert und abgerufen werden.
Falls keine direkte Netzwerkverbindung besteht, kann eine Trend-Grafik lokal auf dem Raspberry mit curl zyklisch abgerufen und temporär gespeichert werden. Mit einem weiteren curl-Befehl kann diese Datei dann auf einen Web-Server hochgeladen werden.
Wer bereits ioBroker auch für andere Zwecke verwendet, sollte natürlich auch die dortigen Möglichkeiten des history- und flot-Adapters nutzen, wenn sie ausreichen.
Der CCU-Historian ist aber speziell für die Anforderungen einer Betriebsdatenerfassung entwickelt worden, und seine Funktionalität geht gerade bei der Verwaltung der Zeitreihen weit über die Möglichkeiten von ioBroker.history hinaus (z.B. Gerätetausch). Und es wird natürlich noch mehr kommen.
Ob eine Trend-Darstellung schicker ist als eine andere ist Geschmackssache. Die Trends vom CCU-Historian können ebenfalls vielfältig angepasst werden (z.B. die Piktogramme für die Tastendrücke). Zeichenketten-Datenpunkte werden automatisch zusammen mit den Trend-Grafiken tabellarisch angezeigt. Es können Trend-Gruppen übereinander dargestellt werden. Die Standard-Trend-Oberfläche vom CCU-Historian verfolgt eher das Konzept eines Analyse-Werkzeugs. Schnell und effektiv sollen Erkenntnisse aus den Zeitreihen gewonnen werden mit möglichst wenigen Klicks.
Auch ist er gerade für Einsteiger einfacher zu installieren und zu konfigurieren. Als CCU-AddOn wird nicht einmal separate Hardware benötigt und auch keine Kommandozeile . Bei größeren Installationen wird bei ioBroker.history eine InfluxDB empfohlen, welche die Sache nicht einfacher macht. Der CCU-Historian hat auch bessere Export-Funktionalität aus der Datenbank.
Gruß
Mathias
-
- Beiträge: 655
- Registriert: 15.07.2006, 12:50
- Wohnort: Greven
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 18 Mal
Re: Messkurven auf eigener HP darstellen?
Das würde mir schon vollkommen reichen. Kannst Du mir das näher erklären?Mathias hat geschrieben: ↑07.06.2019, 19:10....
Falls keine direkte Netzwerkverbindung besteht, kann eine Trend-Grafik lokal auf dem Raspberry mit curl zyklisch abgerufen und temporär gespeichert werden. Mit einem weiteren curl-Befehl kann diese Datei dann auf einen Web-Server hochgeladen werden.
.....
Danke
Manfred
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
Re: Messkurven auf eigener HP darstellen?
Du ermittelst als erstes die benötigte Grafik-URL, indem Du Die die Trend-Grafik über die CCU-Historian-Oberfläche wie gewünscht zusammenbaust und danach einfach die Bildadresse aus dem Web-Browser kopierst. Du solltest einen relativen Zeitbereich aus dem Drop-Down "Zeitbereiche" auswählen, damit sich der Zeitbereich bei jeder Abfrage anpasst.
Mit folgendem Aufruf wird dann diese Trend-Grafik abgerufen und lokal gespeichert:
Auf Deiner Web-Seite musst Du dann noch ein PHP-Skript (upload.php) erstellen, dass Dateiuploads entgegen nimmt und abspeichert. Der Pfad zur temporären Datei (nun auf dem Web-Server) ist in der Variablen $_FILES['upload_file']['tmp_name'] zu finden.
Gruß
Mathias
Mit folgendem Aufruf wird dann diese Trend-Grafik abgerufen und lokal gespeichert:
Code: Alles auswählen
curl 'http://192.168.0.11:8080/query/trend?b=-7D&e=&gh1=1&dp1=740&g1=1&dp2=733&g2=1' --output /var/tmp/tmp.png
- Die Adresse mit Hochkommas angeben.
Code: Alles auswählen
curl -F 'upload_file=@/var/tmp/tmp.png' http://server.de/upload.php
- upload_file ist der Feldname für den Formularupload.
Auf Deiner Web-Seite musst Du dann noch ein PHP-Skript (upload.php) erstellen, dass Dateiuploads entgegen nimmt und abspeichert. Der Pfad zur temporären Datei (nun auf dem Web-Server) ist in der Variablen $_FILES['upload_file']['tmp_name'] zu finden.
Gruß
Mathias