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. AquaGuard

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    117

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

AquaGuard

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
12 Beiträge 3 Kommentatoren 2.4k 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.
  • S Offline
    S Offline
    schittl
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      dondaik
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        schittl
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          Bradock
          schrieb am zuletzt editiert von
          #4

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

          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            dondaik
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              schittl
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                dondaik
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  schittl
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    dondaik
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      schittl
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        dondaik
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          schittl
                          schrieb am zuletzt editiert von 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 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

                          735

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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