Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Bier maischen Script mit Blockly

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Bier maischen Script mit Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • Ralla66
      Ralla66 Most Active last edited by

      Noch einmal angepasst stand Heute.

      Intro geändert,

      Zeitplan eingefügt der alle 59 Sekunden triggert,

      wenn Brauen ist ein wird das Programm ausgeführt.

      nicht mehr per Kessel Temperatur

      Brauen Ein / Aus eingefügt, DP Brauen Ein / Aus angelegt.

      Der Rest wurde Versuchsweise angepasst / optimiert.

      Versuche jetzt erst einmal eine Simulation des Programm zu erreichen.

      Live testen geht ja nicht.

      Wenn die Simu läuft geht es weiter.

      Kann aber dauern.

      Next,

      Thema Sicherheit, Programm startet nur wenn ??

      Hier z.B Stromausfall / Reboot, das Programm darf nie anlaufen.

      Bei triggern automatischer Sicherheitskette ein Erfolgt was ?

      Brauen ein geht nur wenn Biersorte gewählt ist. 😉

      Verbleibe erst einmal so

      Ralla
      5230_15_01_2019_teil_3.jpg
      5230_15_01_2019_teil_2.jpg
      5230_15_01_2019_teil_1.jpg

      1 Reply Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active last edited by

        Hi IOBroker,

        Stück für Stück geht es weiter.

        Visu und Datenpunkte sind minimal angelegt worden.

        Slider zur Simulation habe ich noch eingefügt um den Kesselfühler zu simulieren.

        Erste Test laufen nun aus der VIS heraus um das Programm von Fehlern zu bereinigen.

        Da zu sind zwei Fragen aufgetaucht.

        Die Schleife prüft die Bedingung am Anfang oder Ende der Schleife ?

        Würde das Grundkonzept ja gerne nach Prüfung euch zur Verfügung stellen.

        Der Blockly Code kann ja exportiert werden.

        Mal angenommen jemand importiert diesen.

        Müssen dann die Datenpunkte erst da sein ?

        Ist der Import von Versionen abhängig ?

        Möchte schon das es bis zur Grundversion läuft.

        Gebrauchen kann ich das Programm nicht.

        Ehrgeiz, ja etwas.

        Treibt ja keiner..

        Warum ? Um selbst zu lernen und Spass an der Freude.

        Einen Einblick wie Bier gebraut wird habe ich auch bekommen.

        Prost.

        :mrgreen:

        Danke Ralla
        5230_dp_17012019.jpg
        5230_vis_17012019.jpg
        5230_schleife.jpg

        1 Reply Last reply Reply Quote 0
        • H
          hanzwurzt last edited by

          Hallo Ralla, hallo AlCalzone,

          ihr beide seit echt der Knaller, vielen lieben Dank erstmal für eure Mühen, sich mit so einem Noob abzugeben und so viel Zeit in so ein Projekt zu investieren. da ich leider bis einschließlich heute extrem eingespannt war, bin ich nicht dazu gekommen, hier weiter zu bauen. Aber morgen habe ich was früher frei und es ist endlich Wochenende.

          Ich werde mich umgehend wieder an dieses Hammerscript geben und weiter basteln und euch dann (hoffentlich) positive Auskunft über den Ablauf der Tests am "lebenden Objekt" geben können…

          😉

          [Edit]: wie hast du denn diese grafische Darstellung auf dem mittleren Bild hingekriegt? Ist das auch IOBroker?

          [Edit²]: Ach du liebe Zeit, was hast du denn da alles für Objekte angelegt? Hier steigt mein Verstand jetzt grade komplett aus. Ich habe doch nur 2 Objekte. Die Steckdose und mein Temperaturfühler. Wo kommen die ganzen anderen Dinger denn her und wie soll/ kann ich die in den Instanzen anlegen?

          Ich bin grade komplett verwirrt… :?

          1 Reply Last reply Reply Quote 0
          • Ralla66
            Ralla66 Most Active last edited by

            Mittleres Bild ist aus IoBroker Vis.

            In Vis kannst du Bilder einfügen, Schalter anlegen, Analoge Manometer darstellen usw.

            Die Schalter, Manometer usw. haben eine Verbindung zu deinen Datenpunkten in den Objekten.

            Du kannst Werte abholen oder in den Datenpunkten hinein schreiben.

            Nee, keine Sorge, das Bild wäre eine Endausbaustufe.

            Datenpunkte hast du nicht so viele.

            Brauen ein,

            Biersorte wählen,

            Temperatur

            Funke

            Viel mehr wird das nicht.

            Klöppel dir mal ein Grundgerüst zusammen was du minimum brauchst.

            Kommentare füge ich ein.

            Das wird nicht laufen, ist aber auch nur dafür gedacht das du ein Grundgefühl

            dafür bekommst was du an Parametern brauchst.

            Ralla

            1 Reply Last reply Reply Quote 0
            • Ralla66
              Ralla66 Most Active last edited by

              Jeder hat mal angefangen. 😉

              Anbei die Grundkonfig.

              Wenn du Bierbrauen in Objekte / Datenpunkt auf true setzt wird sofort auf false geschaltet.

              Aber logisch da deine Temperatur nicht eingebunden ist.

              Ralla
              5230_hw_falls_mache.jpg
              5230_hw_v1.jpg

              1 Reply Last reply Reply Quote 0
              • H
                hanzwurzt last edited by

                WOW, also Ralla,

                ich habe das alles mal nachgebaut. Am lebenden Objekt kann ich es erst morgen gegen Mittag testen, da bis dahin die Küche für mich gesperrt ist.

                Ich bin mir aber bei einigen Dingen ncht ganz sicher, ob die so funktionieren können.

                Einmal die ganzen Objekte, bzw. Datenpunkte. Ich habe mal, davon ausgehend, dass ich erst einmal mit nur 3 Stufen ( Einmaischen, Kombirast und Abmaischen) anfange, die entsprechenden Stufen, bzw. Objekte erstellt. Sieht dann so aus: 12588_datenpunkte.jpg

                Kann das so sein, oder müssen da noch Parameter gesetzt werden?

                Das nachgebaute Script wäre ja ungefähr so:
                12588_wohin_damit..jpg

                Und hier kommt mein Dillema. Wenn ich die Logik richtig interpretiere, müsste das Script (für ein einfaches Lager mit einer ganz einfachen Kombirast) ja dann ungefähr so aussehen:
                12588_1.jpg
                12588_3.jpg
                12588_4.jpg
                12588_5.jpg

                ich habe das einfach mal zusammengecopypasted, aber ich denke, ich habe das noch einige Denkfehler, die es zu bereinigen gilt. Ich teste das Ganz mal im Laufe des morgigen Tages, sobald mein Weibchen aus der Küche raus ist.

                Dann sehen wir weiter.

                Aber so weit erst einmal vielen lieben Dank für die Hilfe an diesem Projekt.

                Und keine Sorge, mein Weizen hat alle Rasten durch und ist bei allen bis dato gut angekommen… 😉

                1 Reply Last reply Reply Quote 0
                • Ralla66
                  Ralla66 Most Active last edited by

                  Lege dir noch einen Datenpunkt Runterzähler an.

                  Sieht doch schon ganz gut aus.

                  Kommentar siehe Bilder.

                  Denke du hast noch ein Denkfehler drin.

                  Der Intervall ist dafür Gedacht die Temperatur zu halten in einer gewissen Zeitspanne.

                  Das Aufheizen geschieht wie ?

                  Ist Kombirast nicht Vorheizen auf 70 Grad und halten ?

                  Genauso der Block Einmaischen Halten.

                  Das falls mache für Einmaischen Halten darf erst dann ausgeführt werden wenn die

                  Temperatur Vorheizen > 37 Grad ist.

                  Richtig so ?

                  Genau so zwischen den Halteblöcken.

                  Nach Einmaischen Halten muß der nächste Block aufheizen x Grad sein für den nächsten Block.

                  Dann wieder halten.

                  Ralla
                  5230_hw_v3_teil_2.jpg
                  5230_hw_v3_teil_1.jpg
                  5230_hw_v3_teil_4.jpg

                  1 Reply Last reply Reply Quote 0
                  • Ralla66
                    Ralla66 Most Active last edited by

                    Jeder Block sollte mindestens enthalten, aufheizen, halten.

                    Das löse zuerst.

                    Super einfach kannst du Einmaisch Zeit festlegen als Aufheizzeit + Haltezeit.

                    Wäre dann aber Einmaischen Gesamt Zeit.

                    Eben abhängig davon wie schnell die Heizung die Maische aufheizt.

                    Wenn du Einmaische Gesamt Zeit möchtest ist Haltezeit überflüssig.

                    Geht aber nicht da die chemischen Prozesse nur in einem bestimmten

                    Grad Rahmen statt finden.

                    Dieser kann in der Aufheizphase liegen, muß aber nicht.

                    Deswegen mußt du aufheizen und halten getrennt proggen.

                    Lösung einfach dazu könnte wie im Bild sein.

                    Bestimmt nicht Fehlerfrei, aber ein Schubs in die richtige Richtung.

                    Ralla 😉
                    5230_hw_v1_aufheizen_runterzaehler.jpg

                    1 Reply Last reply Reply Quote 0
                    • H
                      hanzwurzt last edited by

                      Hey Ralla,

                      erstmal vielen lieben Dank für deine schier endlose Geduld!!! 😄

                      Ich habe heute den ganzen Nachmittag mit basteln verbracht. Alles was ich ausprobierte, hat irgendwie nicht gefunzt.

                      Nach deiner letzten Anweisung habe ich das Script jetzt exakt so gebastelt:

                      12588_1.jpg
                      12588_2.jpg
                      12588_3.jpg
                      12588_4.jpg
                      12588_5.jpg

                      Es passiert aber beim Start genau gar nix. Es wird die Funke nicht ein einziges Mal eingeschaltet.

                      Ich glaube, wir denken zu kompliziert. Nochmal die Grundbedingungen:

                      1. Wenn <startsignal>dann starte Aufheizvorgang auf Temperatur X (skalierbar je nach Biersorte)

                      2. Wenn <temperatur aufheizen="">erreicht, dann halte für X Minuten (skalierbar je nach Biersorte (Aufheizen und Einmaischen könnte hier dasselbe sein, da es sich ja im Prinzip um den selben Vorgang handelt)

                      3. Sobald <x minuten="">abgelaufen, starte wieder Aufheizvorgang auf Temperatur Y (auch wieder skalierbar)

                      4. Wiederholung im Prinzip von Schritt 2 bis 4 je nach Biersorte mit unterschiedlichen Zeiten und Temperaturen

                      5. Nach Ablauf des letzten Schrittes (Abmaischen bei 78°C, nicht skalierbar, da für alle Biersorten gleich)) Script Ende und Funke aus

                      Wahrscheinlich ist es alles wesentlich einfacher, als wir es hier momentan sehen. Ich komme nur nicht drauf, wie…

                      Und ich will doch nur eine Bierbrauautomatik bauen...Schnief</x></temperatur></startsignal>

                      1 Reply Last reply Reply Quote 0
                      • Ralla66
                        Ralla66 Most Active last edited by

                        Auf die schnelle, siehe Bild.

                        Morgen mehr zur Fehlersuche.

                        Ralla
                        5230_hw_v6.jpg

                        1 Reply Last reply Reply Quote 0
                        • H
                          hanzwurzt last edited by

                          OK, vielen Dank dafür, Ralla. Ich habe es in den einzelnen Stufen abgeändert, jedoch ohne Erfolg.

                          Ich habe auch ein wenig mit dem "Urscript" von AlCalszone rumexperimentiert. Bis zu diesem Punkt 12588_1.jpg hat es ja funktioniert.

                          Allerdings kann ich im Folgeverlauf abändern was ich will, es funktioniert danach nichts mehr.

                          Vielleicht müssen wir anfangen zu kombinieren, oder irgendwie zusammenzuscripten. Ich bin raus für heute. Ich verstehe es auch nicht. Meine Herren, wenn ich das vorher gewusst hätte… :roll:

                          :? GN8 und vielen lieben Dank für die Mühe mit einem Vollnoob wie mir...

                          1 Reply Last reply Reply Quote 0
                          • Ralla66
                            Ralla66 Most Active last edited by

                            Das sieht doch alles recht gut aus.

                            Jetzt mußt du locker bleiben.

                            Machen wir mal eine Fehlersuche.

                            Erstelle dir mal einen Datenpunkt mit Name "Test".

                            Im Programm füge ein -> aktuallisiere Test mit dem Text Programm läuft.

                            Siehe Bild.

                            Wenn du jetzt Bierbrauen auf wahr stellst sollte unter Objekte im Datenpunkt

                            Test nach 15 Sekunden Programm läuft stehen.

                            Denke an die 15 Sekunden warten.

                            Wenn nicht wird das Programm nicht gestartet,

                            dann sehen wir weiter.

                            Teste mal.

                            Ralla
                            5230_hw_debug_v2.jpg
                            5230_hw_debug_v1.jpg

                            1 Reply Last reply Reply Quote 0
                            • H
                              hanzwurzt last edited by

                              Tja, ich habe es noch einmal hin und her geschoben, deaktiviert und wieder aktiviert, ich kann es drehen und wenden wie ich will, es geht nicht. Es wird nichts angesteuert. Vielleicht liegt es an meinen Datenpunkten:
                              12588_datapoints.jpg

                              Was mir aber dann jetzt aufgefallen ist, am Anfang steht ja Falls <wert>von Objekt <bierbrauen>ist gleich <wahr>dann mache…

                              Wie wird denn der Wert von diesem Objekt gesteuert? Ich habe mal eine Variable erstellt und diese so davor gesetzt:
                              12588_1.jpg

                              aber leider auch ohne Erfolg. So langsam bin ich mit meinem Latein am Ende… :(</wahr></bierbrauen></wert>

                              1 Reply Last reply Reply Quote 0
                              • Ralla66
                                Ralla66 Most Active last edited by

                                Lege dir ein Datenpunkt Test an.

                                Sonst sehen wir nicht ob das Programm bis dahin läuft.

                                Ralla
                                5230_hw_20_01_v1.jpg
                                5230_hw_20_01_test_v1.jpg

                                1 Reply Last reply Reply Quote 0
                                • Ralla66
                                  Ralla66 Most Active last edited by

                                  Bei mir rennt das jetzt bis zum Hauptprogramm.

                                  Bilder anbei.

                                  Läuft bei mir aus der Visu heraus.

                                  Kürze das noch ein damit du das übernehmen kannst.

                                  Ralla 😉
                                  5230_ralla_v10_v2.jpg
                                  5230_ralla_v10_v1.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • Ralla66
                                    Ralla66 Most Active last edited by

                                    Sodele was zum Testen für dich.

                                    Unter Objekte legst du an Datenpunkt Test und Runterzaehler.

                                    Genau so nachbauen.

                                    Wenn du Brauen einschaltest muß der DP Runterzaehler abwärst zählen.

                                    Bei Runterzaehler 0 wird der Text ausgegeben.

                                    Jetzt sollten sich erste Erfolge einstellen. :mrgreen:

                                    Tipp, nicht so viel verschiedenes probieren.

                                    Lieber ein Projekt und darin den Fehler suchen.

                                    Also probiere es.

                                    Ralla
                                    5230_hw_test_20012019_v1.jpg

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      hanzwurzt last edited by

                                      Hallo Ralla,

                                      vielen Dank für deine Tipps. Leider liege ich im Moment krankheitsbedingt flach. Werde mich aber ASAP an die U Setzung machen, sobald ich wieder einigermaßen fit bin. Melde mich dann mit (hoffentlich) ersten Erfolgen… 😐

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        hanzwurzt last edited by

                                        Hallo Ralla,

                                        ich habe jetzt zum testen mal dein Script nachgebaut. Und zwar exakt so:
                                        12588_1.png
                                        also genau nach Vorgabe. Es passiert aber exakt gar nichts wenn ich es starte.

                                        Wenn es also bei dir funktioniert und bei mir nicht, obwohl beide Scripte exakt gleich sind, dann kann es ja eigentlich nur an den Datenpunkten liegen, oder? Hier nochmal so, wie sie bei mir aussehen:
                                        12588_2.png
                                        Fällt dir hierzu etwas auf? Soll ich sie alle nochmal löschen und neu anlegen, oder woran hängt es.

                                        Danke für deine Gedult… :?

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          RappiRN Most Active last edited by

                                          Wahrscheinlich liegt es daran, dass du deine Objekte unter vis.0 angelegt hast!

                                          Eigene Objekte bitte immer unter javascript.0 bzw in eigene Ordner!

                                          Enrico

                                          1 Reply Last reply Reply Quote 0
                                          • Ralla66
                                            Ralla66 Most Active last edited by

                                            So wie Enrico empfiehlt ausführen.

                                            Bierbrauen hast du state switch.

                                            Ist bei mir state level.

                                            Somit wird Bierbrauen einmal getriggert.

                                            Der Runterzähler läuft dann ab.

                                            Am Ende des Programms wird Bierbrauen auf false gesetzt.

                                            Einmaschaie Zeit und Grad würde ich noch einen Datenpunkt anlegen

                                            um zu sehen ob Zeit und Grad in die Var geschrieben wird.

                                            Ralla
                                            5230_25012019.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            973
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            101
                                            6680
                                            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