Ankündigung

Einklappen
Keine Ankündigung bisher.

HS Logik Generator und Debugger

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

    #46
    Da muss man halt in der Logikgen.py die Zeit bis zum Autoschließen verlängern.
    Gruß Matthias
    EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
    - PN nur für PERSÖNLICHES!

    Kommentar


      #47
      Erst einmal ein großes Lob an NilsS. Der Debugger hat mir schon viel Zeit gespart und mir geholfen Fehler zu identifizieren, die ich sonst niemals gefunden hätte.

      Eine Frage habe ich allerdings zu den Zeitspeichern. Werden die genauso behandelt wie auf dem Homeserver?
      Wenn ich in die Formel für den Zeitspeicher "0" schreibe, wird mir zwar angezeigt, dass der Zeitspeicher gelöscht wurde, aber er ist weiterhin vorhanden (mit show) und wird auch ausgelöst.

      Habe ich hier ein Verständnisproblem? Wie kann ich denn die Ausführung des Zeitspeichers verhindern?

      MfG

      Jörn

      Kommentar


        #48
        Hallo,

        habs auch soweit geschafft das ich die hsl-datein per kontextmenü debuggen kann.
        Aber ich verstehe das nicht ganz mit dem KO-Gateway. Habe in der LogikGen.config alles eingetragen:

        [10000]
        name:10000
        EN[1]:"021956020" <- Was bedeutet das???

        [10000]
        autorun:0
        EN[1]:$IKO$100/4/200
        AN[1]:$IKO$100/4/100

        Im Experten habe ich das KO-Gateway aktiviert, IP von meinem Lokalen PC eingetragen und Haken bei Empfangen und Senden von allen Kommunikationobjekten gesetzt.

        Wenn ich jetzt auf dem Quadclient eine 1 auf die Gruppenadresse 100/4/200 setzte bleibt im python script alles unverändert.

        Kann mir jemand helfen?

        Danke & LG

        Daniel

        Kommentar


          #49
          Version aktualisiert.

          Es wird jetzt bei
          Code:
          show
          die Ausführungszeit, dei Startzeit und die restlichen Sekunden des Timers angezeigt.

          https://github.com/knxuf/HS-Logikdebugger
          Nils

          aktuelle Bausteine:
          BusAufsicht - ServiceCheck - Pushover - HS-Insight

          Kommentar


            #50
            weiteres Update

            Es wird jetzt überprüft ob alle angegebenen Ein- und Ausgänge so wie auch Speicher vorhanden sind.

            Also wenn eine 500[2,3,4]er Zeile fehlt, zuviel ist oder doppelt ist.
            Nils

            aktuelle Bausteine:
            BusAufsicht - ServiceCheck - Pushover - HS-Insight

            Kommentar


              #51
              https://github.com/knxuf/HS-Logikdeb...er/LogikGen.py

              Auf vielfachen Wunsch, aktualisiere ich mal auf Version 2.019. Der Baustein sollte jetzt keine Probleme mehr mit §202a haben.

              * farbliche Ausgabe (benötigt https://pypi.python.org/pypi/colorama )
              * formel (zeigt Logik oder Quelltext (nur bei base64)) optional kann eine Zeilennummer angegeben werden
              * diverses
              Nils

              aktuelle Bausteine:
              BusAufsicht - ServiceCheck - Pushover - HS-Insight

              Kommentar


                #52
                kompilierte Version für Windows ist hochgeladen und wartet auf Genehmigung.

                https://www.virustotal.com/de/file/8...is/1468492300/
                Nils

                aktuelle Bausteine:
                BusAufsicht - ServiceCheck - Pushover - HS-Insight

                Kommentar


                  #53
                  Zitat von NilsS Beitrag anzeigen
                  kompilierte Version für Windows ist hochgeladen und wartet auf Genehmigung.

                  https://www.virustotal.com/de/file/8...is/1468492300/
                  NilsS Wo? Hier Im Forum? Ich seh nix im Upload....

                  Kommentar


                    #54
                    Habs nochmal hochgeladen. 8.3MB als ZIP sind doch kein Problem oder?
                    Hab auf jedenfall keine Fehlermeldung bekommen.
                    Nils

                    aktuelle Bausteine:
                    BusAufsicht - ServiceCheck - Pushover - HS-Insight

                    Kommentar


                      #55
                      Schick mir das mal per Mail!

                      Kommentar


                        #56
                        Guten Abend
                        Ich bekomme beim Aufruf der 2019 immer diese Fehlermeldung.

                        Code:
                        C:\Python26>logikgen.py
                          File "C:\Python26\LogikGen.py", line 967
                            console_code("{0:<6} {1}".format(_blinenum + 1,_blines[_blinenum]),color=(Fore.GREEN if (_blinenum + 1) <> _limit else Fore.RED))
                                                                                                                  ^
                        SyntaxError: invalid syntax
                        
                        C:\Python26>

                        Kommentar


                          #57
                          Ich könnte mir vorstellen das ... https://www.python.org/downloads/release/python-2712/ das Problem behebt.
                          2.6 tut nicht not.

                          Habe ich nicht mal für die Bytecode2.6er Bausteine verwendet.
                          Nils

                          aktuelle Bausteine:
                          BusAufsicht - ServiceCheck - Pushover - HS-Insight

                          Kommentar


                            #58
                            Ich bekomme den Debugger nicht mehr zum Laufen..Hilfe.

                            Und wie funktioniert die kompilierte Version?
                            Gruß Matthias
                            EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
                            - PN nur für PERSÖNLICHES!

                            Kommentar


                              #59
                              Bei mir funktioniert der Debugger.

                              - Python 2.6 installiert
                              - colorama via pip installiert
                              - debugger mit python 2.6 gestartet (LogikGen.py V2.019)

                              Betriebssystem Windows 10 Pro.

                              c:\python26\python LogikGen.py -d -i meinbaustein.hsl
                              Grüße
                              Markus

                              Kommentar


                                #60
                                Sorry für keine Antworten und so ... manchmal bin ich Offline xD

                                ## 2.021 * PREEXEC für hsb hinzugefügt
                                ## * TagList.GrpListAll hinzugefügt
                                ## * iko Standalone + Attribute wie name,endpoint_description ...
                                ##
                                ## 2.020 * fix _hslparser 5012 regex include spaces
                                ##
                                ## 2.019 * hsl20 Support
                                ##

                                oh und im Changelog ganz vergessen. Ein neues Logikbaustein Format .hsb ... ich erstelle damit eigentlich fast alle Bausteine, da Syntaxhighlighting des Editors funktioniert, ich diverse Variablen nutzen kann, aber auch Code vor dem eigentlich ausführen in den Kontext laden kann.

                                wichtigsten Parameter beim Aufruf
                                Code:
                                        console_info("-d (--debug) startet den Debugger (immer benutzen)")
                                        console_info("-i xxxxx_logik.hsl (--import=) importiert eine .hsl Datei")
                                        console_info("-o logik.hsb (--open=) läd eine .hsb Datei")
                                        console_info("-a [0|1] (--autorun=) startet die Ausführung automatisch (ohne run)")
                                        console_info("-l logfile.txt (--log=) schreibt die Ausgabe des Programms in eine Textdatei")
                                und auch die Hilfe intern ist erweitert (doof wenn man selbst nicht mehr weiß wie der Befehl gerade noch hieß)

                                Code:
                                elif _lcmd.startswith("help") or _cmd.startswith("hilfe"):
                                console("\n")
                                console_info("Logik Debugger Hilfe")
                                console_info("--------------------\n")
                                console_info("'quit' oder 'exit' zum beenden")
                                console_info("'save' generiert ein .hsb File aus der aktuellen Logik")
                                console_info("'build' generiert ein .hsl File aus der aktuellen Logik")
                                console_info("'show' um die Variablen anzuzeigen")
                                console_info("'names [suchstring ... mit ! negiert]' zeigt die Namen der Ein-/Ausgänge/Speicher an")
                                console_info("'files [-t (filetype) /-s (Größe)] [suchstring]' zeigt den Inhalt des ExtDatUrl (/opt) an")
                                console_info("'cat Filename zeigt den Inhalt des unter ExtDatUrl (/opt) liegen Files an")
                                console_info("'formel [linenumber] zeigt die Formeln an")
                                console_info("'run' um die Logik auszuführen")
                                console_info("'autorun [0/1]' autorun ein/aus")
                                console_info("'debug [0/1]' schaltet Debugmeldungen ein/aus")
                                console_info("'timer 1' lässt Timer OC[1]/ON[1] ablaufen")
                                console_info("'connect' verbinden zum definierten KO Gateway")
                                console_info("'disconnect' verbinden zum definierten KO Gateway trennen")
                                console_info("'exec code' ausführen von python Code innerhalb der Logik")
                                console_info("'-- print und import können auch ohne vorangestelltes exec ausgeführt werden")
                                console_info("'EN[1]=23' um Eingang 1 den Wert 23 zu setzen")
                                console_info("-- es können EI,EN,SN,AN,ON sowie EC,SC,AC,OC als auch EA,SA,AA")
                                console_info("-- geändert werden. Bei den ersten wird automatisch das jeweilige xC gesetzt")
                                console_info("-- kann auch mit en1= abgekürzt werden")
                                console("\n")
                                Das Generieren von .hsb Files aus einer .hsl ist noch ein wenig verbesserbar (da ist viel unnötig in der Descripton)

                                wenn man nur noch mit .hsb Files arbeitet (sorry Gira .. no hsl2 for me :-) ) kann man mit build die .hsl schnell generieren

                                ich hänge mal dir hsb für OWFS an, dort ist z.B. auch das Beispiel mit dem PREEXEC drin

                                Oh und zu den internen Variablen im hsb.
                                LOGIKDEBUG=1 Debug aktiv (heißt .. im Quelltext wird überall ###DEBUG### entfernt .. wenn also eine Zeile ###DEBUG###console_debug("sometext") irgendwo steht wird der code ausgeführt
                                LOGIKDEBUG=-1 Debug wird entfernt, die Zeile die mit ###DEBUG### startet wird komplett entfernt

                                LOGIKDEBUG=0 ###NODEBUG### wird falls vorhanden ausgeführt, damit kann z.B. zum Testen einen ###DEBUG### und eine ###NODEBUG### Zeile eingetragen werden die dann je nach Bedarf ausgeführt wird

                                LOGIKCOMPILE=1 Base64
                                LOGIKCOMPILE=2 Base64/ZLIB
                                LOGIKCOMPILE=3 Bytecode
                                LOGIKCOMPILE=4 Bytecode/ZLIB

                                EDIT:
                                um eine .hsl in eine .hsb umzuwandeln
                                python LogikGen.py -d -i xxxxx_meinehsl.hsl -a 0 ## autostart aus
                                und dann im Prompt einfach save

                                EDIT2:
                                Wer es der .hsb im Anhang nicht entnommen hat.
                                um mehrzeiligen Bytecode in einer 5012er Zeile unterzubringen.

                                Code:
                                5012|0|"EI"|"@BYTECODE@"|""|0|0|0|0
                                @BYTECODESTART@
                                AN[1]="test"
                                AC[1]=1
                                @BYTECODEEND@
                                Viel Spaß damit.

                                PS:
                                Wem es nützt .. https://www.paypal.com/cgi-bin/websc...=VY33EH7CBR6LW
                                Danke
                                Angehängte Dateien
                                Zuletzt geändert von NilsS; 25.09.2018, 11:54.
                                Nils

                                aktuelle Bausteine:
                                BusAufsicht - ServiceCheck - Pushover - HS-Insight

                                Kommentar

                                Lädt...
                                X