Anleitung: Datenaufzeichnung an ETA Heizkessel mit RaspberryPI und Cacti (per Webservices)

Es gibt 87 Antworten in diesem Thema, welches 52.609 mal aufgerufen wurde. Der letzte Beitrag () ist von meute.

  • Hallo!


    Ich bin neu hier im Forum. Bin eigentlich nur ein stiller Mitleser gewesen. Möchte mir aber auch mit Cacti meinen SH30 auslesen. Wie hast du das Problem mit Cacti (Apache-Server) und Pi-Hole (Lighttpd) gelöst?


    Grüsse aus Niederösterreich
    Emil






    Hi,
    als Betriebssystem ist bei mir "Raspbian" installiert und da ich den Raspberry eigentlich mit "pi-hole" als Werbeblocker einsetze hab ich den Apache schon vorinstalliert.



    Ansonsten ist Apache und Cacti natürlich kostenlos erhältlich über

    Code
    apt-get install apache cacti
  • Ich hab zeitweise mal den apache2 auf Port 81 laufen lassen und den lighttpd auf Port 80.
    Mittlerweile hab ich das ganze aber wieder etwas umstrukturiert und pi-hole und cacti laufen beide auf lighttpd.

  • Hallo Schieder!


    Danke vorerst, aber ich hab ein Problem mit dem Script.
    Ich bin da nicht so bewandert beim Script programmieren. Ich bekomm, wenn ich das Script austesten will immer einen Syntaxerror in Zeile 13 und Zeile 16. Was mach ich für einen Fehler?


    Mfg Emil

  • Hallo @Moser80,


    wenn du das Script aus diesem Beitrag meinst, dann musst du in Zeile 13 deine "echte IP-Adresse" eintragen. Der Text <ip-adress> ist nur ein Platzhalter.


    Beispiel einer IP-Adresse:

    PHP
    $ETAserver = '192.168.0.20';


    Ansonsten solltest du das von dir verwendete Script einmal hier veröffentlichen.


    Viele Grüße von Karlheinz :)

    Seit Juni 2011:

    ETA Twin: SH30/P25 "noTouch" (Füllraum 150 Liter)

    Hopf Pelletaustragung: 6x UniWok-Saugsonden (Lager für 6 to)

    Paradigma Pufferspeicher: 2x Aqua Expresso (1090 + 958 Liter; seriell verbunden)

    Paradigma FrischWasserStation

    Paradigma VR-Solarpanel: 2x CPC21 Star Azzurro (10m²; Aqua-System ohne Glykol)

  • Hallo Etaminator!


    Ich hab das obere Script für Cacti genommen.
    Das ist mein Script, IP-Adresse hab ich eh geändert, meine arrays hab ich auch geändert. Meine Hardware ist ein Raspi 4 mit Raspbian Lite und Apache2, Pi-Hole, Cacti.
    Hab das sogar bei ShellCheck durchlaufen lassen.


    Vielleich kann mir bei diesem Problem jemand helfen. DANKE


    Emil aus Niederösterreich


    [cbox]
    #!/bin/bash
    array[1]="/120/10251/0/11153/0"
    array[2]="/120/10251/0/11053/0"
    array[3]="/120/10251/0/11155/0"
    array[4]="/48/10391/0/11110/0"
    text[1]="oben"
    text[2]="mitte"
    text[3]="unten"
    text[4]="abgas"
    # Werte auslesen
    for ((c=1; c<=4; c++ ))
    do
    wert[$c]=$(wget -q 10.0.0.15:8080/user/var/${array[$c]} -0 - | grep ">*<v$data=$(echo -e -n) "${data}${text[$c]}:${wert[$c]} " | sed 's/','/'.'/g')
    done
    echo $data
    [/cbox]

  • Hallo,


    irgendwie funktioniert bei meiner ETA PU 15 die REST-Schnittstelle nicht.
    Alles andere läuft (VPN, meinETA) und ich habe bei meinETA.at und am Kessel die "Webservices" aktiviert.
    Ping auf den Kessel über 192.168.178.75 geht auch.


    Aber wenn ich ein GET mache auf
    http://192.168.178.75:8080/user/api
    kommt die Meldung: "Firefox kann keine Verbindung zu dem Server unter 192.168.178.75:8080 aufbauen."


    Auf andere Webserver im lokalen Netz kann ich ohne Problem zugreifen.
    Bei der Aktivierung hat ETAtouch eine Meldung angezeigt "Aus Sicherheitsgründen kann nur aus dem lokalen Netz zugegriffen werden" oder so ähnlich. Da ich im gleichen Subnetz bin, sollte das nicht das Problem sein.


    Als Informatiker sollte ich soetwas eigentlich hinbekommen ... aber irgendwie stehe ich auf dem Schlauch. Für mich sieht das so aus, als ob der Webserver auf dem Kessel gar nicht läuft. Gibt es soetwas wie eine Konsole auf der ich das testen kann?
    :S

  • Das ist mein Script, IP-Adresse hab ich eh geändert, meine arrays hab ich auch geändert. Meine Hardware ist ein Raspi 4 mit Raspbian Lite und Apache2, Pi-Hole, Cacti.

    Hm, das script mit +x ausführbar gemacht? Was kommt denn als Ausgabe wenn es mit ./scriptname im Terminal ausgeführt wird?


    Aber wenn ich ein GET mache aufhttp://192.168.178.75:8080/user/api
    kommt die Meldung: "Firefox kann keine Verbindung zu dem Server unter 192.168.178.75:8080 aufbauen."

    Kommt unter /user/menu auch nichts?
    Vielleicht die Webservices noch mal deaktivieren und wieder aktivieren.

  • Hallo Schieder!


    Das Script mit +x ausführbar gemacht, sogar mit sudo davor weil ers sonst eh nicht frist. Ausgabe sieht so aus.


    [cbox]
    login as: pi
    pi@- password:
    Linux raspberrypi 5.4.72-v7l+ #1356 SMP Thu Oct 22 13:57:51 BST 2020 armv7l


    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.


    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Fri Nov 20 19:08:10 2020 from -


    Wi-Fi is currently blocked by rfkill.
    Use raspi-config to set the country before use.


    pi@raspberrypi:~ $ cd /var/www/html/cacti/scripts/custom
    pi@raspberrypi:/var/www/html/cacti/scripts/custom $ sudo chmod +x puffer.sh
    pi@raspberrypi:/var/www/html/cacti/scripts/custom $ ./puffer.sh
    ./puffer.sh: Zeile 13: Dateiende beim Suchen nach `"' erreicht.
    ./puffer.sh: Zeile 16: Syntax Fehler: Unerwartetes Dateiende.
    pi@raspberrypi:/var/www/html/cacti/scripts/custom $
    [/cbox]


    IP-Adessen entfernt.


    Mfg
    Emil aus Niederösterreich

  • Stimmt, ich hab gerade in meinem Script nachgesehen, es fehlt sogar noch das rausschneiden von dem Wert.


    Das ist mein Script:

    Edit: Hab gerade gesehen dass sich anscheinend im ersten Post ein Fehler beim kopieren eingeschlichen hat. Vielleicht kann ein Mod das Script auf der ersten Seite durch dieses ersetzen. ;)

  • Moderation


    Hallo @schieder,


    ich habe das Shell-Script wunschgemäß im ersten Beitrag korrigiert, jedoch nicht komplett ausgetauscht. Andernfalls würden die im umgebenden Text erwähnten Variablen und deren Bedeutungen nicht mehr übereinstimmen. Ich hoffe das ist in deinem Interesse. Bitte nochmals kontrollieren, ob es so passt.


    Im Übrigen: Danke für die gute Arbeit und das schöne Projekt. :thumbup:


    Viele Grüße von Karlheinz :)

    Seit Juni 2011:

    ETA Twin: SH30/P25 "noTouch" (Füllraum 150 Liter)

    Hopf Pelletaustragung: 6x UniWok-Saugsonden (Lager für 6 to)

    Paradigma Pufferspeicher: 2x Aqua Expresso (1090 + 958 Liter; seriell verbunden)

    Paradigma FrischWasserStation

    Paradigma VR-Solarpanel: 2x CPC21 Star Azzurro (10m²; Aqua-System ohne Glykol)

  • Hallo,


    bin neu hier und hab seit ein paar Tagen einen eHack 50.


    Jetzt hab ich mal eine Frage wie kann ich denn die aktuelle Leistung des Kessels abrufen bzw wie heisst denn der Parameter?


    Einzelne Parameter kann ich bereits abrufen wie die Außentemperatur
    IP-Adresse:8080/user/var/120/10601/0/0/12197


    Danke und Gruss
    Sebastian

  • Alle verfügbaren Parameter kann man unter der Adresse ansehen:
    view-source:http://ip-vom-kessel:8080/user/menu


    Bei mir hat der Parameter "Leistung Soll" die ID /24/10561/0/0/13957


    Somit kann ich die aktuell geforderte Leistung hiermit abrufen:


    http://ip-vom-kessel:8080/user/var//24/10561/0/0/13957



    Mit einem view-source: davor bekommt man im Browser direkt die XML Daten angezeigt.

  • Ok. Danke. Ist bei mir die selbe. Ich wusste jetzt nur nicht wie der Paramter heisst.


    "Leistung Soll" ist dann auch die tatsächliche Leistung die der Kessel gerade hat bzw zur Verfügung stellt? "Leistung Soll" hört sich für mich halt so an als würde er nicht zwingend gerade diese Leistung auch haben. Das wäre dann für mich eher "Leistung Ist". Aber sowas gibt es ja nicht.


    Gibt's eigtl eine Beschreibung von ETA oder so was die einzelnen Parameter genau bedeuten?


    Gruss
    Sebastian

  • Ja, das ist "nur" die geforderte Leistung. Da ich aber keinen Wärmemengenzähler verbaut habe der die tatsächliche Leistung ermittelt ist der "Leistung Soll" das annähernd beste zum mitloggen für mich.


    Eine direkte Beschreibung der Parameter wüsste ich jetzt nicht aber man kann im Display die Hilfefunktion benutzen.
    Dort steht dann z.B. bei Leistung Soll:

  • Zitat

    Hallo,


    erstmals vielen herzlichen Dank für die Tolle Anleitung, leider stoß ich beim cacti an meine Grenzen -.- hättest du hier eine etwas detailliertere Beschreibung bzw. eventl. Screenshots mit einer neueren Version? Bei mir sieht das leider teilweise komplett anders aus als auf deinen Shots...


    Bis jetzt hab ich folgendes geschafft:


    1) Anlegen Data Inputs Methods (Programme zur Datenabfrage)
    2) unter Schablone - Datenquelle
    3) unter Schablone - Diagramm, folgendes mal probiert...
    4) unter Verwaltung - Diagramm, bekomme ich jedoch nicht wirklich ein Ergebnis :D


    Grafiken siehe Anhang....


    DANKE!


    Mfg

  • Hey,


    habe mein Script geschrieben Endung sh. Mit cdmod +X ausführbar gemacht. Finde aber keinen Speicherplatz wo ich es reinkopieren kann. Verschiedenes probiert kein Erfolg.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!