Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [gelöst] HILFE bei Konzept für Füllstandsmessung gesucht.

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[gelöst] HILFE bei Konzept für Füllstandsmessung gesucht.

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
13 Beiträge 4 Kommentatoren 1.7k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B4n4n3B Offline
    B4n4n3B Offline
    B4n4n3
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    folgendes habe ich vor und würde mich freuen wenn ihr mir etwas unter die Arme greift:

    Ich habe ioBroker auf einem Raspi laufen. Des weiteren hab ich auf einem zweiten Raspi der im Heizungsraum steht einen Ultraschallsensor angeschlossen. Über eine Python-Script mache ich alle 6 Stunden eine Messung um den Füllstand meines Heizöltanks zu erfassen. Im Moment werden die Daten in einer "Logdatei" (Textdatei) mit folgendem Muster abgelegt:

    ! 2018-05-14_00:03:35 Entfernung: 130.3 cm Fuelhoehe: 16.7 cm Liter: 1232 l Liter-Neg.: -1232 l
    ! 2018-05-14_06:03:27 Entfernung: 130.4 cm Fuelhoehe: 16.6 cm Liter: 1228 l Liter-Neg.: -1228 l
    ! 2018-05-14_12:03:32 Entfernung: 130.4 cm Fuelhoehe: 16.6 cm Liter: 1225 l Liter-Neg.: -1225 l
    ! 2018-05-14_18:03:11 Entfernung: 130.5 cm Fuelhoehe: 16.5 cm Liter: 1222 l Liter-Neg.: -1222 l
    ! 2018-05-15_00:03:16 Entfernung: 130.5 cm Fuelhoehe: 16.5 cm Liter: 1220 l Liter-Neg.: -1220 l
    ! 2018-05-15_06:03:16 Entfernung: 130.6 cm Fuelhoehe: 16.4 cm Liter: 1217 l Liter-Neg.: -1217 l
    ! 2018-05-15_12:03:16 Entfernung: 130.6 cm Fuelhoehe: 16.4 cm Liter: 1215 l Liter-Neg.: -1215 l
    ! 2018-05-15_18:03:48 Entfernung: 130.6 cm Fuelhoehe: 16.4 cm Liter: 1217 l Liter-Neg.: -1217 l
    ! 2018-05-16_00:03:32 Entfernung: 130.6 cm Fuelhoehe: 16.4 cm Liter: 1217 l Liter-Neg.: -1217 l
    ! 2018-05-16_06:03:30 Entfernung: 130.6 cm Fuelhoehe: 16.4 cm Liter: 1212 l Liter-Neg.: -1212 l
    ! 2018-05-16_12:03:04 Entfernung: 130.7 cm Fuelhoehe: 16.3 cm Liter: 1209 l Liter-Neg.: -1209 l
    ! 2018-05-16_18:03:02 Entfernung: 130.6 cm Fuelhoehe: 16.4 cm Liter: 1211 l Liter-Neg.: -1211 l
    ! 2018-05-17_00:03:27 Entfernung: 130.6 cm Fuelhoehe: 16.4 cm Liter: 1213 l Liter-Neg.: -1213 l
    ! 2018-05-17_06:03:25 Entfernung: 130.6 cm Fuelhoehe: 16.4 cm Liter: 1211 l Liter-Neg.: -1211 l

    Die Daten Visualisiere ich im Moment über FHEM. Die FHEM Installation läuft auf dem Heizraum-RaspberryPi und wurde nur für diesen Zweck installiert.

    Nun möchte ich die Messwerte über IoBroker visualisieren. Dabei möchte ich auch gerne die FHEM Installation loswerden.

    Ich hab daran gedacht die Messwerte irgendwie als Objekt in IoBroker zu erfassen und dort mit SQL oder History zu tracken.

    Oder alternativ eine SQL-Datenbank auf den Heizraum-Pi zu füttern und vom IoBroker-Pi auf diese Datenbank zuzugreifen…

    Welche Variante findet ihr am besten oder würdet ihr sogar eine ganz andere wählen?

    Ich wäre über eure Ideen und für die Hilfe bei der Realisierung sehr dankbar!

    Lieb Grüße

    B4n4n3

    1 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #2

      Ich würde die erste Option nehmen…

      Ein object erstellen was den Füllstand enthält und per JavaScript (glaube Systeminfo Adapter kan CSV lesen) die Werte in den Datenpunkt schreiben und dan mit History oder SQL loggen und Dan per flot visualisieren

      Sent from my iPhone using Tapatalk

      1 Antwort Letzte Antwort
      0
      • B4n4n3B Offline
        B4n4n3B Offline
        B4n4n3
        schrieb am zuletzt editiert von
        #3

        Hi Dutchman,

        danke schon mal für deine schnelle Rückmeldung.

        Sollte in der CSV Datei dann nur ein "Datensatz" enthalten sein?

        Das speichern der Werte übernimmt ja dann ioBroker oder?

        Oder würdest du eine komplette Erfassung mit allen bisher gemessenen Werte in der CSV realisieren und ioBroker würde immer nur auf den letzten Wert zugreifen?

        1 Antwort Letzte Antwort
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von
          #4

          Hmm nö währe doppelt meiner Meinung nach 1 Datensatz reicht.

          Iobroker liest diesen Dan ein und jede Änderung würde in der Datenbank (ich beforzüge influxdb) gespeichert.

          Dan braucht man die Daten nicht mehr in der CSV, stehen ja bereits in der Datenbank

          Sent from my iPhone using Tapatalk

          1 Antwort Letzte Antwort
          0
          • B4n4n3B Offline
            B4n4n3B Offline
            B4n4n3
            schrieb am zuletzt editiert von
            #5

            Soweit so gut …

            Also die CSV Datei auf dem "Heizraum-Pi" hab ich schon mal erstellt und diese wird erfolgreich mit dem "aktuellen Füllstand" befüllt.

            Den Adapter "Systeminfo" hab ich über Github auf meinem ioBroker-Pi installiert.

            Nun stellt sich bei mir die Frage, wie ich auf die CSV Datei, die ja auf dem anderem Raspi liegt zugreifen kann.

            Wie muss das in der Konfig des Adapter angeben werden?

            1 Antwort Letzte Antwort
            0
            • DutchmanD Offline
              DutchmanD Offline
              Dutchman
              Developer Most Active Administrators
              schrieb am zuletzt editiert von
              #6

              Uff sorry da bin ich leider überfragt ich benutze diesen Adapter selber nicht :/.

              Ich sehe 2 Möglichkeiten:

              • die Datei per SSH und cp zum anderen Pi bringen

              • ioBroker als Multihost auf dem 2ten Pi und Dan einlesen

              Ob Systeminfo Adapter oder eventuell ein Script besser/einfacher ist muss jemand mit mehr Erfahrung beantworten :/

              Sent from my iPhone using Tapatalk

              1 Antwort Letzte Antwort
              0
              • B4n4n3B Offline
                B4n4n3B Offline
                B4n4n3
                schrieb am zuletzt editiert von
                #7

                Hallo nochmal,

                ich hab mich für deinen zweiten Vorschlag entschieden. War so oder so daran interessiert ein Multihost-System aufzustellen.

                Also hab ich die Chance mal genutzt. Funktioniert auch soweit alles. Auch das einlesen der Datei über den Adapter "Systeminfo" tut.

                Ein Problem hab ich und da komme ich irgendwie nicht weiter. Vielleicht könnt ihr mir da helfen.

                Wenn ich mein Python-Script mit dem Namen "ultrasonic.py" um den Füllstand zu messen von der Kommandozeile manuell anstoße wird die csv Datei befüllt wie… wie es sein soll. das mache ich mit folgendem Befehl:

                sudo python ./ultrasonic.py
                

                Hinterlege ich das ganze in der Crontab… wird die CSV nicht befüllt. Jedoch wird das Script ausgeführt. Andere Funktionen in dem Script werden nämlich sauber abgearbeitet. Das weis ich, da ich bei unterschreiten eines gewissen Füllstands eine Mail erhalte ... diese Mail wird gesendet.

                Eintrag im Crontab sieht so aus:

                00 0,6,12,18 * * * python /home/pi/ultrasonic.py
                

                Mein Codeausschnitt aus dem Python-Skript an der ich die CSV beschreibe sieht so aus:

                  writer = csv.writer(open("aktueller_fuellstand.csv", "w"))
                  writer.writerow([intLiter])
                

                Vermutlich was ganz offensichtliches… das ich nicht sehe??

                1 Antwort Letzte Antwort
                0
                • DutchmanD Offline
                  DutchmanD Offline
                  Dutchman
                  Developer Most Active Administrators
                  schrieb am zuletzt editiert von
                  #8

                  Denke Mal ein rechte Problem ?

                  Wie sind die rechte da drauf ?

                  ls -l <pfad zur/datei=""></pfad>
                  

                  Sent from my iPhone using Tapatalk

                  1 Antwort Letzte Antwort
                  0
                  • B4n4n3B Offline
                    B4n4n3B Offline
                    B4n4n3
                    schrieb am zuletzt editiert von
                    #9

                    Das hab ich mir auch gedacht … deshalb hab ich 777 vergeben :D

                    Leider scheint das aber nicht die Lösung gewesen zu sein.

                    pi@iobrokerheizpi:~ $ ls -l /home/pi/
                    total 328
                    -rwxrwxrwx 1 pi pi      6 Jun 17 13:21 aktueller_fuellstand.csv
                    -rwxrwxrwx 1 pi pi 315574 Jun 17 06:01 Heizoel.log
                    -rwxrwxrwx 1 pi pi  10225 Jun 17 13:19 ultrasonic.py
                    
                    1 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      Ich vermute mal, dass eine Pfadangabe erforderlich ist.

                        writer = csv.writer(open("/home/pi/aktueller_fuellstand.csv", "w"))
                      
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      • B4n4n3B Offline
                        B4n4n3B Offline
                        B4n4n3
                        schrieb am zuletzt editiert von
                        #11

                        Ha … das war es tatsächlich. Also doch so einfach :lol:

                        Vielen Dank paul53 und auch dir Dutchman!

                        Nun läuft erstmal alles so wie es soll!

                        gruß B4n4n3

                        1 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #12

                          @B4n4n3:

                          Nun läuft erstmal alles so wie es soll! `
                          Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • C Offline
                            C Offline
                            cruunnerr
                            schrieb am zuletzt editiert von
                            #13

                            Ich weiß, es ist alles schon gelöst, aber falls es noch jemand vorhat… hier noch meine Lösung:

                            https://github.com/cruunnerr/OilTank-Calculator

                            Die tank.py Datei misst den Ölstand und macht dann:

                            1. Schreibt CSV Datei

                            2. Lädt CSV Datei auf einen FTP-Server (z.B. NAS oder direkt ioBroker-Server)

                            3. Schreibt Wert in eine MySQL Datenbank

                            4. Erstellt Object und schreibt Wert an einen MQTT Server (ioBroker)

                            <u>#### Letzteres schickt also direkt nach der Messung den Wert an ioBroker ohne irgendwelche Zwischenschritte. :) ####</u>

                            Die app.js liest noch zusätzlich die Werte von der MySQL Datenbank und erstellt eine JSON Datei.

                            Zusätzlich hatte ich, bevor ich ioBroker kannte, noch eine Visualisierung per PHP Webpage realisiert: https://github.com/cruunnerr/OilTank-Graph-WebPage

                            Bin kein guter Programmierer und die Skripte sind durch sehr viel Lesen, recherchieren, kopieren und selbst schreiben entstanden, aber alles läuft zuverlässig seit über 6 Monaten.

                            Wie man allerdings sieht, hat die Messung per Ultraschall bei mir eine Toleranz von +/- ca. 80 Liter, was aber verkraftbar ist :)

                            6995_bildschirmfoto_2018-09-15_um_13.19.23.png

                            6995_bildschirmfoto_2018-09-15_um_13.20.06.png

                            6995_bildschirmfoto_2018-09-15_um_13.24.52.png

                            6995_bildschirmfoto_2018-09-15_um_13.25.49.png

                            6995_bildschirmfoto_2018-09-15_um_13.25.59.png

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            826

                            Online

                            32.7k

                            Benutzer

                            82.3k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe