Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Softwareunterstützung für Zustandsübergangsgraphen

    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

    Softwareunterstützung für Zustandsübergangsgraphen

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

      Hi
      meine Verschaltung der Alarmanlage wird nun doch immer komplexer und es ergeben sich typische ungewollte Effeckte wenn man sowas vom Hirn zum Schirm umsetzt und dabei einiges übersieht....

      Graue Zellen wieder aktivieren und möchte mir nun Übersicht schaffen und Zustände definieren der Anlage inkl. markante Trigger/Eingänge für Zustandsänderungen und basierend hierauf die Blocklys später umsetzen.

      Papier und Stift ist gut, frage mich nur ob es hierzu mitlerweile hilfreiche Softwareunterstützung gibt die man nutzen kann um Zustandsübergangsgraphen und ggf. weitere Schritte am Monitor zu entwickeln.

      Habt ihr da einen guten Tip und kennt da etwas?

      Thx!

      Cinimod 1 Reply Last reply Reply Quote 0
      • Cinimod
        Cinimod Most Active @Dieter_P last edited by Cinimod

        @dieter_p

        Es gibt einen Adapter für die selbst gebaute Alarmanlage, weiß jetzt nicht genau wie der heißt, findest du sicher schnell raus. Hatte mir das auch mal ganz kurz angesehen, hatte aber keinen richtigen gefallen daran gefunden. Ich fand meine eigene Blockly Lösung besser, weil ich das auch gern in Homekit integrieren wollte, weiß nicht ob das dort auch irgendwo vorgesehen ist.

        Aber kannst du dir ja mal ansehen ob das für dich vielleicht brauchbar ist.

        Zustände könntest du ja mit "Funktion" ziemlich gut abfragen, ggf. Alias.
        Habe letztlich noch ein Script gesehen welches Fensterzustände im VIS ausgiebt, ähnlich kann man ja auch mit anderen Zuständen/Funktionen hantieren.

        D 1 Reply Last reply Reply Quote 0
        • D
          Dieter_P @Cinimod last edited by Dieter_P

          @cinimod said in Softwareunterstützung für Zustandsübergangsgraphen:

          @dieter_p

          Es gibt einen Adapter für die selbst gebaute Alarmanlage, weiß jetzt nicht genau wie der heißt, findest du sicher schnell raus. Hatte mir das auch mal ganz kurz angesehen, hatte aber keinen richtigen gefallen daran gefunden. Ich fand meine eigene Blockly Lösung besser, weil ich das auch gern in Homekit integrieren wollte, weiß nicht ob das dort auch irgendwo vorgesehen ist.

          Aber kannst du dir ja mal ansehen ob das für dich vielleicht brauchbar ist.

          Danke. Brauchbar ist das mit Sicherheit. Hatte mir dies auch vor Längerem angesehen, aber der Punkt ist dann immer ob man seine hochindividuellen Anforderungen und Wünsche dort abbilden kann oder ob man Kompromisse eingehen muss. Da meine Selbstbau Lösung nicht sooo komplex ist aber schon diverse Individualtäten wie verschiedenen Timer und Verzögerungen basierend auf unterschiedlichere Hardware wie Türkontakte oder BWM berücksichtigt war mir eine Blockly Lösung erst mal lieber.

          Zustände könntest du ja mit "Funktion" ziemlich gut abfragen, ggf. Alias.
          Habe letztlich noch ein Script gesehen welches Fensterzustände im VIS ausgiebt, ähnlich kann man ja auch mit anderen Zuständen/Funktionen hantieren.

          Ich bin mir nicht sicher ob wir das Gleiche meinen. Mit Zustandsgraphen meine ich solche Konstrukte:
          c62c0a4b-1693-4e83-8c4e-851407b8f81b-grafik.png

          Ich kenne sie hauptsächlich aus der Entwicklung für Mealy oder Moore Automaten. Die Zustände beschreiben hier Zustände der Alarmanlage z.B.
          Z0= Anlage Aus
          Z1=Anlage Scharf (kein Alarm)
          Z2=Anlage Scharf (Alarm)
          welche mit diversen Eingängen zB Türkontakt oder Bewegungsmelder oder Knopfdruck A,B,C in andere Zustände überführt werden. Die Zustände selbst können nacher im System zB durch die Kombination verschiedener Datenpunkte (Merker) realisiert sein.

          Daraus wird dann später schnell ersichtlich (in der vereinfachten Schreibweise) welche Trigger/Eingängangsgrößen in welchem Zustand überhaupt Einfluß haben.

          So finde ich es sehr einfach und logisch zu ersehen wie die Blocklys und Verschaltungen dann aufzubauen sind ohne sich irgendwo mit unnötigen Dingen aufzuhalten oder zu verstricken.

          Das Beispiel mit 3 Zuständen ist natürlich recht simpel und durch Timer und Verzögerungen sehe ich bei mir erheblich mehr Zustände, da ein laufender Timer/Verzögerung für mich durchaus einen eigenen Zustand darstellt der entweder bei Ablauf Folgezustände hat, aber auch durch diverse Zwischenereignisse abgebrochen werden kann.

          Beispiel: Die Alarmverzögerung (Alarm ausgelöst) läuft es wird aber eine Anwesenheit detektiert oder jemand schaltet manuell die Anlage noch ab bevor die Sirene quietscht. Hieraus nur andeutungsweise zu erkennen wieviele Optionen es noch gibt.

          Darum würde ich das a) gerne sauber entwickeln wollen um ein positives Ergebnis zu erzielen, aber auch b) eine gute Möglichkeit zu haben die Funktion zu dokumentieren und ggf. mal zu Erweitern bzw. Trouble-Shooten.

          Darum die Frage ob es nur (wie damals) über den Papierweg geht oder es da heute hilfreiche Software-Tools gibt?

          Bei meiner Suche stoße ich nur auf Skriptmaterial diverser Profs aus Universitäten etc.

          Cinimod 1 Reply Last reply Reply Quote 0
          • Cinimod
            Cinimod Most Active @Dieter_P last edited by

            @dieter_p

            Also ich habe bisher nichts vergleichbares hier gesehen, sorry

            D 1 Reply Last reply Reply Quote 0
            • D
              Dieter_P @Cinimod last edited by

              @cinimod said in Softwareunterstützung für Zustandsübergangsgraphen:

              @dieter_p

              Also ich habe bisher nichts vergleichbares hier gesehen, sorry

              Danke Dir.

              Habe in der Zwischenzeit angefangen das mit einer Mindmapper Software zu zeichnen. Den Zweck die Gedanken zu strukturieren und die Entwicklung durchzuführen und alles zu berücksichtigen sowie die Dokumenation für später sind so schon damit erfüllt.

              Aus diesen Graphen nun per Software etwas automatisch zu generieren war ja teil meiner Frage und scheint es nur in Ansätzen zu geben.

              Mir erscheint diese Frage/Anspruch aber mitlerweile so universell, dass eine Software dafür so komplex sein müsste oder einfach nicht funktionieren kann und es sie darum nicht gibt 🙂

              1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer last edited by

                Ich nutze in einem anderen Projekt XState:

                • Docs: https://xstate.js.org/docs/
                • Visualizer: https://stately.ai/viz

                Das dann in Blockly umzusetzen ist aber eine andere Baustelle, da das Projekt eigentlich für die direkte Nutzung in JavaScript gedacht ist.

                D 1 Reply Last reply Reply Quote 0
                • D
                  Dieter_P @AlCalzone last edited by

                  @alcalzone

                  Danke Dir! Die Visualisierung sieht ansprechend für mich aus. Von der JavaScript Programmierung verstehe ich aber überwiegend nur "Bahnhof".

                  Wenn das Tool hyperintuitiv bedienbar wäre, könnte man ja daran denken den Output 1:1 in IObroker zu kopieren aber ich befürchte das wird nicht gut funktionieren ohne JavaScript zu verstehen.

                  AlCalzone 1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer @Dieter_P last edited by

                    @dieter_p Leider nein, das ist eher anders herum. Du definierst die Statecharts in Code (der sich dann auch ausführen lässt) und kannst in der Visualisierung kontrollieren, was du da gerade tust.

                    Ich spiele schon länger mit dem Gedanken, das mit einem einfacheren Editor als weitere Alternative in den Skript-Adapter einzubauen, aber dazu fehlt mir einfach die Zeit...

                    D 1 Reply Last reply Reply Quote 1
                    • D
                      Dieter_P @AlCalzone last edited by Dieter_P

                      @alcalzone

                      Thx, habe mich da gerade zurück gehalten da ich auch den Eindruck hatte Dein Vorschlag funktioniert in die andere (Entwicklungs) Richtung. Nun bin ich happy doch noch ein paar mehr als die grauen Zellen zu haben 🙂

                      Lass es mich selbstkritisch so sagen. Wenn man mit einem Mindmapper mal das Vorhaben strukturiert hat und somit das Chaos im Kopf sortiert hat, ist der Rest auch mit vorhanden Mitteln durchaus gut umsetzbar....aus meiner Sicht.

                      Das Gefühl einen Zettel und Stift auszupacken für diese Sache hat mich nur dazu bewogen Alternativen zu suchen, da ich mir doch sehr "Oldschool" vorkam. Aber wie nicht das erste Mal, hat man erst mal Struktur geschafft, sei es auf dem Papier, lösen sich die Wolken im Kopf und der Rest ist eigentlich recht easy.

                      Für mich als Nicht-Programmierer und eher Automatisierer sind vorhandene Boardmittel also super ausreichend und keep it simple kann auch schön sein 🙂

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      737
                      Online

                      31.8k
                      Users

                      80.0k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      175
                      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