Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Durchfluss von Bier messen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Durchfluss von Bier messen

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Phips_CH last edited by

      Für einen Joke möchte ich ein Durchflussmesser an einer Bierzapfanlage anschliessen und so den Bierkonsum visualisieren.

      Da ich schon mit ioBroker arbeite. bin ich auf die Idee gekommen, ob dies möglich wäre.

      Git es einen Adapter, der mir die Impulse von meinem Durchflussmesser in Liter wandelt wo ich das aktuelle Total anzeigen kann, und wo möglich mit Flot eine Kurve wann welcher Anstieg stad gefunden hat, um zu sehen zu welcher Zeit am meisten konsumiert wurde. 8-)

      Ich habe mir gedacht, dass ich folgenden Durchflussmesser einsetzen möchte.

      https://www.wish.com/product/5798a5c0a3b3070933689a66

      Oder missbrauche ich da ioBroker etwa für meine Anwendung. 😉

      Besten Dank schon jetzt für euer Feedback

      1 Reply Last reply Reply Quote 0
      • M
        Marco.K last edited by

        Hallo Phips,

        eine coole Idee.

        Falls du eine Raspberry Pi mit ioBroker in der Nähe der Zapfanlage laufen hast, könntest du die Raspberry Pi zum zählen der Impulse verwenden.

        http://kampis-elektroecke.de/?page_id=3740.

        Wenn die Zapfanlage weiter weg ist du aber WLAN dort hast, bieten sich ESP8266 oder ESP32 Module mit NodeMCU an.

        In beiden Fällen bekommst du den Zählerstand am einfachsten mittels MQTT in den ioBroker.

        Gruß

        Marco

        1 Reply Last reply Reply Quote 0
        • P
          Phips_CH last edited by

          Ich bin da flexibel und kann den Raspberry Pi neben dem Zapfhahn anbringen.

          Die Impulse sehe ich ja dann im ioBroker an den GPIO.

          sind diese denn auch schnell genug? wie kann ich diese denn als gesamtmenge und Kurve darstellen? ich müsste die Impulse ja zählen.

          1 Reply Last reply Reply Quote 0
          • M
            Marco.K last edited by

            @Phips_CH:

            Die Impulse sehe ich ja dann im ioBroker an den GPIO. `

            Da bin ich überfragt ob die GPIOs der Raspberry im ioBroker abgefragt werden können, falls dem so ist dann sollte das mit Javascript recht einfach umzusetzen sein.

            Beim Flankenwechsel des Impulses (Achtung nur eine Flanke nutzen) ein Javascript auslösen welches in einem Datenpunkt einen Wert hochzählt, ein weiteres Javascript welches regelmässig z.B. jede Minute den Wert aus dem 1. Datenpunkt liest, umrechnet und in einen 2. Datenpunkt schreibt und anschliessend den 1. Datenpunkt zurücksetzt. Den 2. Datenopukt kannst du loggen und später mit Flot einen Graphen daraus bauen.

            Meine Idee war eher mittels Phyton oder einer anderen Programmiersprache die Impulse zu zählen und in Liter/Min umzurechnen. Den errechneten Wert dann mittels MQTT an den ioBroker senden und dort dann den Datenpunkt loggen, dann kannst du dir mit Flot einen Graphen bauen.

            EDIT:

            Gerade den Thread gefunden der beschreibt wie man die GPIO in ioBroker nutzt. viewtopic.php?t=3927 werde ich die Tage wohl ein wenig mit rumspielen. 😉

            1 Reply Last reply Reply Quote 0
            • P
              Phips_CH last edited by

              > Beim Flankenwechsel des Impulses (Achtung nur eine Flanke nutzen) ein Javascript auslösen welches in einem Datenpunkt einen Wert hochzählt, ein weiteres Javascript welches regelmässig z.B. jede Minute den Wert aus dem 1\. Datenpunkt liest, umrechnet und in einen 2\. Datenpunkt schreibt und anschliessend den 1\. Datenpunkt zurücksetzt. Den 2\. Datenopukt kannst du loggen und später mit Flot einen Graphen daraus bauen.

              Kannst du mir dabei behilflich sein, wie ich das in Java machen muss. Habe bis jetzt noch nichts mit Java gemacht. oder geht allenfalls auch mit Blockly?

              1 Reply Last reply Reply Quote 0
              • P
                Phips_CH last edited by

                Ich weiss grad nicht wie ich da weiter komme.

                Wie muss das Blocky oder Java-Skript aussehen, damit ich die Impulse vom Durchflussmesser zählen kann und in Liter anzeigen kann.

                Wie viele impulse ich für einen Liter habe kann ich noch nicht sagen.

                Besten Dank schon jetzt

                1 Reply Last reply Reply Quote 0
                • Thisoft
                  Thisoft last edited by

                  Nur nochmal als Zwischenfrage: Die Impulse vom Durchflussmesser siehst du bereits im ioBroker am entsprechenden GPIO des RPi-Adapters? Wenn ja, dann ist das ja schon mehr als die halbe Miete. Da mach ich dir heute Abend wenn ich am System bin mal ein Beispielscript"chen"…

                  1 Reply Last reply Reply Quote 0
                  • P
                    Phips_CH last edited by

                    @Thisoft:

                    Nur nochmal als Zwischenfrage: Die Impulse vom Durchflussmesser siehst du bereits im ioBroker am entsprechenden GPIO des RPi-Adapters? `

                    Die Impulse so habe ich noch nicht geprüft.

                    Habe aber mal mit einem Datenlogger geschaut und die Impulse gesehen. Müsst also gehen.

                    Die Impulse kommen ja von einem Hallsensor.

                    1 Reply Last reply Reply Quote 0
                    • Thisoft
                      Thisoft last edited by

                      Naja - der Sensor wird schon funktionieren… Die Frage ist, ob die Signale auch bereits im ioBroker ankommen? Das müsste dann in den Objekten ungefähr so aussehen:
                      250_gpio_state.jpg
                      Wobei sich dann der eingerahmte Wert im Rhythmus der Impulse ändern müsste.

                      Wenn du das hast dann ist der Rest relativ einfach, wenn nicht gibt's noch bisschen was zu tun…

                      1 Reply Last reply Reply Quote 0
                      • P
                        Phips_CH last edited by

                        Ich befürchte, dass mein Durchflussmesser nicht mehr funktioniert. denn ich sehe das Signal nicht. Werde morgen mal schauen ob ich das SIgnal mit einem Datenlogger noch sehe.

                        1 Reply Last reply Reply Quote 0
                        • P
                          Phips_CH last edited by

                          Wie befürchtet, hat mein Durchflussmesser aus China den Geist aufgegeben.

                          Nun hab ich mir ein neues bestellt.

                          Nur die schnellen Impulse lassen sich nicht anzeigen. da sie zu schnell für das System sind.

                          Ich habe nun eine Siemens Logo eingesetzt, wo ich die Impulse sehen kann. Da setze ich nach einer gewissen azahl Impulse einen Merker oder einen Ausgang, den ich in ioBroker sehen kann.

                          @Thisoft:

                          Wenn ja, dann ist das ja schon mehr als die halbe Miete. Da mach ich dir heute Abend wenn ich am System bin mal ein Beispielscript"chen"… `

                          Darf ich auf dein Angebot zurückkommen? nun möchte ich einfach die Impulse des Merkers zählen. Ich denke ein Impuls entspricht 0.1Liter Bier. die Skalierung werde ich im Logoprogramm machen.

                          Besten Dank schon jetzt

                          Gruss

                          Philipp

                          1 Reply Last reply Reply Quote 0
                          • Thisoft
                            Thisoft last edited by

                            @Phips_CH:

                            Ich habe nun eine Siemens Logo eingesetzt, wo ich die Impulse sehen kann. Da setze ich nach einer gewissen azahl Impulse einen Merker oder einen Ausgang, den ich in ioBroker sehen kann. `

                            Klingt ja soweit schon ganz gut. Kannst du mal nen Screenshot davon machen was du jetzt im ioBroker siehst?

                            1 Reply Last reply Reply Quote 0
                            • P
                              Phips_CH last edited by

                              Bei Merker 0 steht dann true

                              2604_biermeter.jpg

                              1 Reply Last reply Reply Quote 0
                              • P
                                Phips_CH last edited by

                                Ich habe mit Blockly mal etwas versucht. allerdings nicht sehr erfolgreich.

                                2604_z_hler.jpg

                                Was mache ich falsch?

                                1 Reply Last reply Reply Quote 0
                                • Thisoft
                                  Thisoft last edited by

                                  Hallo Phips_CH,

                                  hab's gestern abend nicht mehr geschafft - hab z.Z. paar zu viele Baustellen;-)

                                  Mit Blockly hab ich's gar nicht so, aber wenn dir das lieber ist als Javascript dann versuchs ruhig damit. Ist ja sowieso besser wenn du zum Schluss was gelernt hast dabei;-)

                                  Was mir an deinem Blockly auffällt ist:

                                  "ist größer als letztes" - das wird so nicht klappen da ein "true" ja nicht zwingend größer ist als ein "false". Ich weiß jetzt nicht was Blockly alles für Auswahlen anbietet… Versuchs mal mit "ist gleich true" oder so ähnlich

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    Phips_CH last edited by

                                    Kein Problem

                                    Für mich ist Blockly etwas verständlicher. (auf den ersten Blick)

                                    Ich habe mal auf "true" gewechselt

                                    Hier mal den Java-Skript aus dem Blockly.

                                    var Biermeter;
                                    
                                    on({id: 's7.0.Inputs.0.4', val: true, ack: true}, function (obj) {
                                      var value = obj.state.val;
                                      var oldValue = obj.oldState.val;
                                      while (Biermeter < 1000000000) {
                                        Biermeter = (typeof Biermeter == 'number' ? Biermeter : 0) + 1;
                                      }
                                    });
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • Thisoft
                                      Thisoft last edited by

                                      Und - tut sich was?

                                      Falls nicht würde ich als erstes mal das "Wiederhole solange Biermeter < 1000000000" weglassen. Weiterhin würde ich "anerkannt ist" erstmal auf "egal" stellen… Und - bitte zuerst mal eine Loggingausgabe mit einbauen (sollte doch in Blockly auch gehen -oder?) die dir jeweils den Wert der Variablen "Biermeter" anzeigt. So wie's jetzt ist kannst du ja gar nicht mitbekommen ob das Script was tut. Später musst du den Wert dann natürlich noch in einen Datenpunkt schreiben...

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        Phips_CH last edited by

                                        Wie mache ich eine Logikausgabe?

                                        Wenn der Merker aktive ist, schaltet in den Objekten der Skript auf rot. Das heisst doch das der Skript gestartet wird.

                                        Aber was er macht, oder wieso er nicht Zählt sehe ich nicht.

                                        Ich habe bei Objekte einen Datenpunkz erstellt. dieser habe ich Biermenge genannt.

                                        1 Reply Last reply Reply Quote 0
                                        • Thisoft
                                          Thisoft last edited by

                                          @Phips_CH:

                                          Ich habe bei Objekte einen Datenpunkz erstellt. dieser habe ich Biermenge genannt. `

                                          Das ist schon mal sehr gut 😉 Nur kann ich dir leider nicht so aus dem Hut sagen wie du den in Blockly mit dem neuen Wert beschreiben musst… Ich mach's deshalb mal als Javascript:

                                          var dpBiermeter = "s7.0.Biermenge"  //hier musst du deinen Datenpunkt eintragen
                                          on({id: 's7.0.Inputs.0.4', val: true}, function (obj) {
                                            setState(dpBiermeter,getState(dpBiermeter).val + 1,true);
                                            //log("Biermenge um 1 hochgezählt"); //wenn die Zeile ins Log geschrieben werden soll kannst du die vorderen beiden // löschen
                                          });
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            Phips_CH last edited by

                                            Hab es hinbekommen.

                                            Ich hatte den Überlegungsfehler drin. dass wenn der Merker true ist. ich eine Schlaufe starte. Das geht natürlich nicht. Bis ich dann geschnallt habe, das ich nur 1 hochzählen muss.

                                            Ist es möglich, die History zu löschen resp. zu leeren?

                                            ich habe jetzt durch das Probieren in Flot schon Werte drin, die ich geleert haben möchte.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            537
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            21
                                            3524
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo