Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. AquaGuard

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

AquaGuard

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
12 Posts 3 Posters 2.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    schittl
    wrote on last edited by
    #1

    Hallo,

    ich wollte Euch mal mein Projekt "AquaGuard" vorstellen, welches ich gerne zum ioBroker transferieren möchte. Derzeit läuft es über blynkk + Webserver.

    Hintergrund (aktueller Stand):

    Ich habe einen Arduino im Einsatz, welcher per I2C mehrere DS18B20 ausliest und das Licht der Aquarien steuert. Die Messwerte werden an blynkk und den Webserver gesendet. Blynkk nutze ich zur Remotekontrolle per Smartphone (Terminal). Dabei habe ich einige Spielereien implementiert ;)

    • rgb Gewittersimulation (rgb1 -> Gewitter an; rgb0 -> Gewitter aus)
    alarm Zurücksetzen des Alarmstatus
    
    sundown Anzeige Zeitpunkt des Sonnenuntergangs
    
    sunup Anzeige Zeitpunkt des Sonnenaufgangs
    
    dht Anzeige der Luftfeuchte und Temperatur
    
    over LED-Overtime (Wie viel Stunden mehr soll das Aquarium nach Sonnenuntergang zusätzlich leuchten? over2 -> Overtime auf 2 Stunden zusätzlich stellen
    
    now Anzeige aktuelle Zeit
    
    date Anzeige aktuelles Datum
    
    status Sendet eine Statusmail
    
    send Sendet alle Temperaturwerte ans Webserver 
    

    Blynkk

    ! 3116_blynkk.jpg

    WebServer

    ! 3116_aqua1.jpg 3116_aqua2.jpg

    Ziel:

    Eliminierung Webserver + blynkk und Anzeige/Eingabe aller möglichen Daten in VIS von ioBroker.

    Umsetzung:

    Das Senden der Daten per Arduino an ioBroker per simpleApi habe ich in folgender Form realisiert. Hier der Auszug zum Senden der Daten an ioBroker vom Arduino:

    ! // send Data an ioBroker void Send_Data_ioBroker(String data) { // Aufruf ioBroker-Server Serial.println("Daten an ioBroker senden - Verbindung zum Server..."); if (clientTCP.connect(ServerioBroker, 8087) && data > "") { Serial.println("mit ioBroker verbunden..."); clientTCP.println("GET /set/javascript.0.AquaGuard.Aqua.1.ACTUAL_TEMPERTURE?value=" + data + " HTTP/1.1"); // http://192.168.x.xxx:8087/set/javascript.0.AquaGuard.Aqua.1.ACTUAL_TEMPERTURE?value=12.34 Serial.println("GET /set/javascript.0.AquaGuard.Aqua.1.ACTUAL_TEMPERTURE?value=" + data + " HTTP/1.1"); clientTCP.println(); } else { Serial.println("nicht mit ioBroker Server verbunden"); } clientTCP.stop(); } !

    Ebenfalls funktioniert die Anzeige in VIS + Diagramm.

    ! 3116_vis.jpg 3116_flot.jpg

    Nun hatte ich im Arduino per blynkk die Logik implementiert, das ich informiert werde, wenn die Temperatur außerhalb eines Toleranzbereiches sich befindet. Dabei ist bereits folgendes Skript entstanden:

    ! ```
    instanz = 'javascript.0.'; ! var cronStr = "*/9 * * * *"; var logging = true; var aqualiste = ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15']; ! function check_Aqua() { var name; var text; var Optin; for(var i = 0; i<aqualiste.length; i++)/{/schleife/für/jedes/aquarium/lt./liste/name="instanz" +/'aquaguard.aqua.'/aqualiste[i];/var/idalarm="name" '.alarm';/if/(getstate(idalarm))/setstate(idalarm,false);/text="Temperatur-Alarm Min/Max wurde erkannt!!" ;/(sens_hasalarm(name,/aqualiste[i]))/setstate(idalarm,true);/optin="instanz" 'optin.dienste.aquaguard.temperture.push';/meldung_push(/'aquarium/'/aqualiste[i]/-/text,/'iobroker/alarm/aquaguard/aqualiste[i],/false,/);/wert:/getstate(name/'.actual_temperture').val;/event('<b="">Aquarium ' + aqualiste[i] + ': ' + text + ''); if (logging) log('Aquarium ' + aqualiste[i] + ' - ' + text); } // if (Sens_hasAlarm(name, aqualiste[i])) { else { if (logging) log('Aquarium ' + aqualiste[i] + ' - kein ' + text); } } // if (getState(idAlarm)) { } // for(var i = 0; i<aqualiste.length; i++)/{/schleife/für/jedes/aquarium/lt./liste/}/temperatur-sensor/prüfen/function/sens_hasalarm(name,/nummer)/var/value="getState(name" +/'.actual_temperture').val;/if/(getstate(name/'.min_temperture')/&&/getstate(name/'.max_temperture'))/mintemp="getState(name" '.min_temperture').val;/maxtemp="getState(name" '.max_temperture').val;/(logging)/log('min-temperatur/aqua/'/nummer/ist/mintemp);/log('max-temperatur/maxtemp);/check/low/alarm/(value/<="MinTemp)" return/true;/high="">= MaxTemp) return true; } else { log('Datenpunkt ' + name + '.MIN_TEMPERTURE nicht vorhanden'); } // no alarm return false; } ! function dpAnlegen() { // Datenpunkte anhand der Aqua-Liste anlegen lassen for(var i = 0; i<aqualiste.length; i++)/{/createstate('aquaguard.aqua.'/+/aqualiste[i]/'.alarm',/false,/{read:/true,/write:/type:/'boolean',/name:/'alarm/aquarium/'/aqualiste[i],/desc:/'true="Ein," false="Aus'," def:/states:/'false:aus;/true:ein'});/'.actual_temperture',/23,/'number',/'temperatur/aqua/'temperatur',/unit:'°c',/23});/'.min_temperture',/18,/'min./temperatur/temperatur',/18});/'.max_temperture',/26,/'max./26});/log('aquaguard.aqua.'/'.alarm/wurde/angelegt');/}/createstate('vis.aquaguard.zeigegraphnr',/0,/'aquaguard/vis',/'auswahl/auagraph/zur/anzeige/in/read:/true/});/createstate('optin.dienste.aquaguard.temperture.push',/'optin/aquaguard/niedrige/höhere/tempertur/melden',/'soll/eine/zu/gemeldet/werden?',/dpanlegen();/datenpunkte/anlegen/regelmässige/wiederholungen/-----------------------------------------------------------------------------/schedule(cronstr,/check_aqua);/main/function/main()/check_aqua();/start/skript:/settimeout(main,/500);/<e=""></aqualiste.length;></aqualiste.length;></aqualiste.length;>
    ! Funktioniert ebenfalls. Nicht elegant aber die Funktion ist entscheidend :D
    ! ~~[b]~~Folgende Punkte sind noch in Umsetzung (würde mich dabei über Hinweise freuen):[/b]
    ! ~~~~* - VIS Eingabemaske zum Update der Daten für Wasserwechsel pro Aquarium (Idee: pro Aquarium erstelle ich ein zusätzliches Boolean "Water", welches historisiert wird. Dabei soll nur eine Veränderung des Wertes auf true historisiert werden. Geht sowas überhaupt? Habt Ihr eventuell eine ähnliche Art realisiert?)

    - VIS Anzeige der letzten Werte/Ereignisse in einer Tabelle aller Aquarien (siehe Screenshots Webserver)
    

    ! ~~[b]~~Zusatzfrage:[/b] ist sowas überhaupt umsetzbar mit ioBroker (Ablösung Webserver) oder sollte ich lieber mit iframes arbeiten?
    ! Dies sollte erstmal als Zwischenstand dienen. Ich werde weitere Schritte/Erfolge hier posten.
    ! Danke für euer Interesse und eventuell auch Unterstützung.
    ! mfg
    ! Falk[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]

    HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

    SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

    1 Reply Last reply
    0
    • D Offline
      D Offline
      dondaik
      wrote on last edited by
      #2

      sehr schönes projekt !!!

      sind die 15 seewasser(?) aquarien daheim ? …

      wer Schreibfehler findet darf sie behalten … :-(

      Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

      1 Reply Last reply
      0
      • S Offline
        S Offline
        schittl
        wrote on last edited by
        #3

        @dondaik:

        sind die 15 seewasser(?) aquarien daheim ? … `
        Ja daheim, aber alle "nur" Süßwasser ;)

        HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

        SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

        1 Reply Last reply
        0
        • B Offline
          B Offline
          Bradock
          wrote on last edited by
          #4

          Respekt! Nicht nur für die Arbeit, sondern auch wegen 15 Aquarien.

          1 Reply Last reply
          0
          • D Offline
            D Offline
            dondaik
            wrote on last edited by
            #5

            :-) sauber, erinnert mich an meine zeit der barsche und diskusfische …

            wer Schreibfehler findet darf sie behalten … :-(

            Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

            1 Reply Last reply
            0
            • S Offline
              S Offline
              schittl
              wrote on last edited by
              #6

              @dondaik:

              :-) sauber, erinnert mich an meine zeit der barsche und diskusfische … ` In meinen Becken schwimmen/krabbeln aber nur Wirbellose :D

              @Bradock:

              Respekt! Nicht nur für die Arbeit, sondern auch wegen 15 Aquarien. ` Danke Dir, habe es aber auch so weitestgehend automatisiert. Aquaguard als Kontrolle und Pumpen + Schläuche, damit man keine Eimer schleppen muss :D

              Hat jemand vielleicht Ideen/Vorschläge zur Umsetzung so eines "Planers" für Wasserwechsel oder ist dafür ioBroker eher ungeeignet?

              HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

              SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

              1 Reply Last reply
              0
              • D Offline
                D Offline
                dondaik
                wrote on last edited by
                #7

                ich glaube den planer würde ich "frei" schreiben und dann die daten zur steuerung schieben, da kommt bei elv ein neuer usb-stick, ggf ist da was mit machbar

                wer Schreibfehler findet darf sie behalten … :-(

                Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  schittl
                  wrote on last edited by
                  #8

                  @dondaik:

                  ich glaube den planer würde ich "frei" schreiben und dann die daten zur steuerung schieben, da kommt bei elv ein neuer usb-stick, ggf ist da was mit machbar ` Wie meinst Du "frei" schreiben? Besser belassen auf dem Webserver? Welchen Stick meinst Du von ELV?

                  HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

                  SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    dondaik
                    wrote on last edited by
                    #9

                    diesen https://files.elv.com/Assets/Produkte/1 … usb_um.pdf - mehr in der nächsten ELV

                    mit frei schreibe meine ich das ich da da selber was zusammenprogrammieren würde .. oder wenn da schon was ist - erst einmal belassen.

                    wer Schreibfehler findet darf sie behalten … :-(

                    Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      schittl
                      wrote on last edited by
                      #10

                      @dondaik:

                      diesen https://files.elv.com/Assets/Produkte/1 … usb_um.pdf - mehr in der nächsten ELV ` Link funktioniert leider nicht:(

                      HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

                      SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        dondaik
                        wrote on last edited by
                        #11

                        besser ?

                        https://www.elv.de/controller.aspx?cid= … il2=825583

                        wer Schreibfehler findet darf sie behalten … :-(

                        Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          schittl
                          wrote on last edited by schittl
                          #12

                          @dondaik:

                          besser ?

                          https://www.elv.de/controller.aspx?cid= … il2=825583 ` jetzt ja :)

                          HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

                          SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          284

                          Online

                          32.6k

                          Users

                          82.3k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe