Ankündigung

Einklappen
Keine Ankündigung bisher.

Vorstellung Semi|House (Logikeditor, Visueditor, Visu für Windows/Android/IOS)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Vorstellung Semi|House (Logikeditor, Visueditor, Visu für Windows/Android/IOS)

    Hallo,

    ich möchte hier das Projekt Semi|House vorstellen. Es handelt sich um eine Serverapplikation, die über ein Administrationsprogramm remote konfiguriert wird. Über einen Visu-Client kann der Benutzer steuern und überwachen.

    Der Kern des ganzen ist ein Logikeditor. Jeder Block ist stellvertretend für ein Python-Script, die miteinander verbunden sind.

    Ich suche jetzt ein paar wenige Personen, die Lust haben das mal auszuprobieren. Voraussetzung für die Nutzung ist derzeit:
    - KNXnet/IP für den Zugriff auf den KNX-Bus (als ein IP-gateway oder EIBD/KNXD)
    - der Server läuft unter Python 3.5 (keine weiteren Abhängigkeiten, Python 3.6 ist ungetestet)
    - Windows für den Visu Client und das Administrationsprogramm
    - Android für den Visu Client

    Am liebsten wäre mir jemand mit technischen Verständnis, da gerade am Anfang sicher einige Fehler auftreten werden. Von Vorteil wäre natürlich Python-Know-How.

    Derzeit kann der Benutzer selbst den Logikeditor mit eigenen Blöcken sowie die Visu Icons erweitern. Später sollen auch die Widgets und Layouts und Visu Client erweiterbar sein.

    Weitere Informationen finden sich unter: http://semiworks.de/

    Gruß
    Sebastian
    You do not have permission to view this gallery.
    This gallery has 20 photos.
    Zuletzt geändert von semi; 11.05.2017, 19:41.

    #2
    Hallo,

    es gibt eine neue Version. Die wichtigste Änderung ist, dass man nicht mehr abhängig vom EIBD ist, da nun das KnxNET/IP Protokoll implementiert wurde, mit dem man direkt mit einem KNX/IP Interface auf den KNX Bus zugreifen kann. Die Änderungen im Überblick:
    • Fehler #58: shutter control block moves shutter down at 08:43 in the morning
    • Fehler #69: KNX/EIBD transer timeout
    • Feature #36: create logic to switch on/off the living room floor lights
    • Feature #60: new item type: Strom Zählerstand
    • Feature #62: Widget: door state
    • Feature #65: new logic block: and
    • Feature #66: new logic block: or
    • Feature #67: new logic block: zeitschaltuhr
    • Feature #68: simple presence logic
    • Verbesserung #59: access knx bus via KNXnet
    • Verbesserung #61: Android Visu: reliable detect connection lost
    • Verbesserung #63: automatic support for light switch widget
    • Verbesserung #64: improve shutter control block
    • Verbesserung #70: support user images
    • Verbesserung #71: change internal data handling: untyped items


    Viele Grüße
    Sebastian
    Zuletzt geändert von semi; 11.05.2017, 19:42.

    Kommentar


      #3
      Moin Sebastian,

      du hast ja bisher wenig Feedback erhalten.
      Die Screenshots sagen mir sehr zu. Ich nutze Smarthome.py und das hat eine große Nutzerbasis, was mir recht wichtig ist. Ein Umstieg kommt für mich daher erstmal nicht in Frage, so dass ich nicht mehr Feedback geben kann.

      Die Idee von Logikbausteinen schwebt mir für Sh.py auch vor.

      Darf ich fragen, was dich dazu bewogen hat, etwas eigenes zu schreiben, statt an sh.py mitzuarbeiten?

      Gruß,
      Hendrik

      Kommentar


        #4
        Hallo Hendrik,

        sorry für die verspätete Antwort. Ich baue gerade an der nächsten Version.

        Ich hatte mich auch kurz mit SH.py beschäftigt. Mir gefällt gut, dass es weit verbreitet ist und durch die Programmiersprache Python auch gut erweiterbar ist.
        Ich wollte aber ein System, dass man im Grunde ohne Programmierkenntnisse einsetzen kann. Deswegen ist ein grafischer Logikeditor meiner Meinung nach das richtige Mittel.
        Zudem gefallen mir native Apps zur Visualisierung in der Handhabung besser als web-apps. Das ist auch (zumindest meiner Meinung nach) ein Manko von SH.py in Verbindung mit smartvisu.

        Viele Grüße
        Sebastian

        Kommentar


          #5
          Hallo,

          ich bin nun mit der Version 2.0.0 fertig. Die Visu-Applikation steht nun neben Android und Windows auch für iOS zur Verfügung. Weiterhin wurde ein Alexa Modul implementiert, das es ermöglicht über ein Amazon Echo Gerät die KNX-Geräte zu steuern oder Logiken zu triggern. Die Änderungen im Überblick:

          Feature #72: create a new logic block: divide two inputs
          Feature #73: add icons for sunrise and sunset
          Feature #76: save item values persistently after server shutdown or server crash and restore at start
          Feature #77: create a new logic block: 'active_limiter' to limit the on time of a water cycling pump
          Feature #78: add a new widget (simple on/off switch) and an icon to switch on/off power sockets
          Feature #80: support iOS platform by the VISU application, test on iPhone 7
          Feature #81: integrate a http server, that can be reused by other components
          Feature #85: implement a new module to support amazon echo devices
          Verbesserung #74: shutter widget: add button to lock shutter at position 0%
          Verbesserung #75: shutter widget: add buttons to enable/disable auto mode
          Verbesserung #79: introduce a new qml control 'VisuSlider' that can be reused in the VISU widgets
          Verbesserung #83: improve start and shutdown sequence by making it more generic for all software modules
          Verbesserung #86: support enabling/disabling of modules (KNX, Amazon Echo, ...)
          Verbesserung #87: support user implemented blocks located in the project dir
          Verbesserung #90: dependency to python-pkg-resources really necessary?

          https://itunes.apple.com/us/app/semihouse-control/id1232579122?l=de
          https://play.google.com/store/apps/d....control&hl=de
          https://www.amazon.de/dp/B07195DMR7/...ords=semihouse

          Viele Grüße
          Sebastian
          Zuletzt geändert von semi; 11.05.2017, 19:52.

          Kommentar


            #6
            Der Windows Download Link geht nicht...
            Gruß
            Volker

            Wer will schon Homematic?

            Kommentar


              #7
              Hallo zusammen,

              die Files stehen nun zum Download auf der webseite bereit.

              Viele Grüße
              Sebastian

              P.S. Wie kann ich eigentlich den Titel des Threads umbenennen? Immerhin läuft die Visu nun auch auf iOS.

              Kommentar


                #8
                Titel so richtig?
                Gruß Matthias
                EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
                - PN nur für PERSÖNLICHES!

                Kommentar


                  #9
                  Zitat von MatthiasS Beitrag anzeigen
                  Titel so richtig?
                  Prima, danke

                  Kommentar


                    #10
                    Hallo,

                    download links auf der Webseite wurden gefixt. Sorry für die Umstände aber das CMS hat mich ausgetrickst :-(

                    Sebastian

                    Kommentar


                      #11
                      Hallo Sebastian,

                      danke für deine Antwort.
                      Zitat von semi Beitrag anzeigen
                      Ich wollte aber ein System, dass man im Grunde ohne Programmierkenntnisse einsetzen kann. Deswegen ist ein grafischer Logikeditor meiner Meinung nach das richtige Mittel.
                      Persönlich denke ich, dass Logikbausteine sehr wichtig sind. Momentan schreibt sich jeder seine eigene Logik. Gäbe es Logikbausteine, würde man dazu angehalten allgemeiner zu Programmieren und der Code wäre wiederverwendbar.
                      Ein Logikbaustein kann als Code erstellt und genutzt werden, oder als Block, der verknüpft wird. Die Verknüpfung kann mit Linien oder mit Blöcken (Blockly) erfolgen.

                      Blockly gibt es -Beta- für sh.py.

                      Zudem gefallen mir native Apps zur Visualisierung in der Handhabung besser als web-apps. Das ist auch (zumindest meiner Meinung nach) ein Manko von SH.py in Verbindung mit smartvisu.
                      Was ich nicht verstehe:
                      Warum hast du nicht sh.py um eine graphische Programmiermöglichkeit und um eine App erweitert?

                      Gruß,
                      Hendrik

                      Kommentar


                        #12
                        Hallo henfri,

                        Zitat von henfri Beitrag anzeigen
                        Persönlich denke ich, dass Logikbausteine sehr wichtig sind. Momentan schreibt sich jeder seine eigene Logik. Gäbe es Logikbausteine, würde man dazu angehalten allgemeiner zu Programmieren und der Code wäre wiederverwendbar.
                        Ein Logikbaustein kann als Code erstellt und genutzt werden, oder als Block, der verknüpft wird. Die Verknüpfung kann mit Linien oder mit Blöcken (Blockly) erfolgen.

                        Blockly gibt es -Beta- für sh.py.
                        Da stimme ich dir vollständig zu. Ich möchte den Benutzer auch in die Lage versetzen durch das Kombinieren verschiedener vorhandener Logik-Blöcke seine Logiken umzusetzen. Nicht jeder kann sich selbst Logiken in der Programmiersprache x/y umsetzen ... Darüberhinaus kann ein Benutzer (der eben doch programmieren kann) eigene Blöcke implementieren.


                        Zitat von henfri Beitrag anzeigen
                        Was ich nicht verstehe:
                        Warum hast du nicht sh.py um eine graphische Programmiermöglichkeit und um eine App erweitert?
                        Ich habe mir Smarthome.py nur mal kurz angeschaut, so dass ich hier nur gefährliches Halbwissen habe. Ich fand es schwierig für den Benutzer seine Konfiguration und Logiken in Konfigurationsdateien zu hinterlegen. Ich befürchte, dass man da schnell an einen Punkt kommt, bei dem man die Übersicht verliert.
                        Ich möchte es dem Benutzer so einfach wie möglich machen (bzw. so einfach wie es das Thema zulässt). Dazu zählt nicht Konfigurationsdateien zu editieren, Logiken zu programmieren und ein Linux-System zu administrieren wie es bei SH.py der Fall ist.
                        Ich habe diesbezüglich auch noch ein paar Punkte auf meiner TODO-Liste, aber der Anfang ist gemacht.

                        Gruß
                        Sebastian

                        Kommentar


                          #13
                          Hallo zusammen,

                          ich habe gerade die Version 2.1.0 fertiggestellt. Ich habe mich vor allem darauf konzentriert ein Raspberry PI3 Image zu erstellen. Das hat länger gedauert als ich anfangs dachte, aber ich denke es hat sich gelohnt. Herausgekommen ist ein Linux-System, dass ca. 30MB groß ist (gepackt ca. 10MB). Das ganze System lässt sich mit dem Windows-Admin-Tool remote über das Netzwerk updaten. Falls dabei was schief geht, wird automatisch ein zweites recovery System gebootet.

                          Hier die größten Änderungen im Überblick:

                          Fehler #25: Save-As ... does not create a new project uuid
                          Fehler #40: when removing an item from the configuration make sure it is not referenced somewhere
                          Fehler #91: unsubscribe of items not needed anymore does not work as expected
                          Fehler #100: fix setup serial port in serial port logic block
                          Feature #10: request server informations after project upload again
                          Feature #89: support login and editing of account informations at cloud.semiworks.de
                          Feature #92: add function to copy a logic in the logic editor
                          Feature #95: create a minimal linux image for raspberry 3 based on buildroot
                          Feature #98: new logik block: automatik <-> KNX-Zwangsführung
                          Feature #99: new logic block: time delay
                          Feature #104: display actual item values in the admin application
                          Feature #105: load visu widgets from qml files from disk
                          Feature #107: add support for KNX DPT2
                          Verbesserung #102: improve error messages in the visuconnector
                          Verbesserung #106: use python sqlite to store item values

                          Herunterladen kann man alles unter www.semiworks.de

                          Viele Grüße
                          Sebastian

                          Kommentar


                            #14
                            Hallo,

                            ich habe inzwischen die Arbeiten für die nächste Version abgeschlossen. Ich hätte es gern schon etwas eher veröffentlicht, aber die Zertifizierung im App-Store hat sich etwas hingezogen.
                            Dieses Mal habe ich hauptsächlich die Aufzeichnung und Anzeige von historischen Daten umgesetzt. Dazu werden die Daten in einer Datenbank gespeichert und in einem Linechart Widget dargestellt. Horizontales Scrollen ist möglich, dabei werden die Daten dynamisch nachgeladen. Weiterhin habe ich natürlich noch ein paar andere Dinge umgesetzt:

                            Fehler #108: visu: unable to connect to server with socketerror 19 (OperationError)
                            Fehler #113: fix creating startmenu entries in windows installer
                            Fehler #115: fix preview of QML Widgets in Admin application
                            Feature #21: add textboxes to logic's where the user can enter info text
                            Feature #94: implement a chart widget
                            Feature #109: new logic block: negate
                            Feature #110: support user qml widgets placed in project directory
                            Feature #117: send log messages to linux syslog server
                            Feature #122: save historical values of items as timeseries
                            Feature #123: add icons: linechart, binoculars
                            Verbesserung #111: Visu: open sidebar without swiping (add button ...)
                            Verbesserung #112: remove dependency to QtQuick.Controls.Material design template as we are using our own
                            Verbesserung #114: speedup AES encryption/decryption used in communication protocol
                            Verbesserung #116: remove deprecated server-client commands
                            Verbesserung #120: improve styling and function of cloud.semiworks.de frontend
                            Verbesserung #121: add option to deselect an item in the item list (used in logic editor, visu editor and item edit page ...)
                            Verbesserung #124: paint links in logic-editor with rounded corners

                            Ich habe mal versucht den aktuellen Status in ein paar Gif's einzufangen (siehe Anhang).

                            Die neuste Version kann man wie immer von http://semiworks.de runterladen. Der Raspberry PI3 lässt sich einfach über das Admin-Tool updaten.

                            Viele Grüße
                            Sebastian

                            P.S. Hmm ... GIF Animation funktionieren scheinbar nicht bei den Anhängen ?! Hier nochmal Direkt-Links zu den GIF's:

                            http://semiworks.de/files/recording016_optimize.gif
                            http://semiworks.de/files/recording012_optimize.gif
                            http://semiworks.de/files/recording020_optimize.gif
                            You do not have permission to view this gallery.
                            This gallery has 3 photos.
                            Zuletzt geändert von semi; 03.10.2017, 06:14.

                            Kommentar


                              #15
                              Hallo Sebastian,

                              beeindruckend, was du da geschafft hast!
                              Ich habe mir Smarthome.py nur mal kurz angeschaut, so dass ich hier nur gefährliches Halbwissen habe. Ich fand es schwierig für den Benutzer seine Konfiguration und Logiken in Konfigurationsdateien zu hinterlegen. Ich befürchte, dass man da schnell an einen Punkt kommt, bei dem man die Übersicht verliert.
                              Ich möchte es dem Benutzer so einfach wie möglich machen (bzw. so einfach wie es das Thema zulässt). Dazu zählt nicht Konfigurationsdateien zu editieren, Logiken zu programmieren und ein Linux-System zu administrieren wie es bei SH.py der Fall ist.
                              Du hast vollkommen Recht. Das ist die Schwäche von Sh.py. Die ist aber nicht konzeptionell.
                              Es wäre super gewesen wenn du dich um diese Punkte bei Sh.py gekümmert hättest. Die Stärken von SH.py sind eben eine große Community.

                              Gruß,
                              Hendrik

                              Kommentar

                              Lädt...
                              X