Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Visualisierungs Assistent

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

    [Webserver] - √ - Visualisierungs Assistent

    Hallo,

    nachdem ich nun auch meine ersten Schritte mit dem EibPC mache, habe ich auch schon gleich eine Anfängerfrage zu der ich leider nichts im Handbuch gefunden haben.

    Bei Verwendung des Visualisierungsassistenten wird nach Übertragung an den EibPC darauf hingewiesen, dass noch die Makro-Bibliothek "EnertexWebV2.lib" geladen werden muss um alle Funktionen zu aktivieren.

    Ich kann zwar das Licht im Webserver einwandfrei bedienen, aber die Steckdosen-Auswahl schaltet nicht. Ich habe nun herausgefunden, dass hier scheinbar die Funktionen mpshifter / UmschaltMultiPageButton3fach aus der EnertexWebV2.lib benötigt werden.

    Wie wird das konkret bewerkstelligt, ich habe lediglich
    [INFORMATION]
    [MacroLibs]
    //Makro-Bibliotheken
    MakroLibs-de/Bibliotheken/Enertex.lib
    MakroLibs-de/Bibliotheken/EnertexWebV2.lib
    [/INFORMATION]
    eingefügt, das scheint aber nicht zu reichen. Gibt es zum Visualisierungs-Assi ein Handbuch oder weiss hier jemand wie die EnertexWebV2.lib eingebunden werden muss???

    Gruß
    Franc

    #2
    Visualisierungsassitent

    Hallo Franc,
    du hast die beiden benötigten Bibliotheken korrekt eingebunden.
    Mit der aktuellen EnertexWebV2, die du unter
    http://www.enertex.de/downloads/d-ei...kroLibs-de.zip
    downloaden kannst, funktioniert auch das Schalten der Steckdosen.
    Ich habe es eben nochmal verifiziert.
    Falls eine Bibliothek bzw. ein Makro fehlen würde, dann würdest du schon beim Kompilieren einen Fehler erhalten. Du könntest daher das Programm gar nicht zum EibPC übertragen. Aber das scheint ja bei Dir zu funktionieren.

    Nur der Sicherheit halber: Bist du dir sicher, dass du den Button auf dem Webserver richtig bedienst? Du musst zuerst die Steckdose im Dropdown-Menü wählen und danach durch Drücken auf das Power-Symbol die Steckdose schalten.

    Ein Anleitung bzw. für den Visuassisstenen gibts übrigens nicht. Es war unser Gedanke, dass diese Bedienung auch ohne Anleitung möglich ist.

    Mfg
    Jürgen
    Enertex-Entwickler

    Kommentar


      #3
      Hallo Jürgen,

      habe gerade nochmal die Versionen der WebV2 im link mit der von mir verwendeten verglichen, es sind dieselben ...

      "Du musst zuerst die Steckdose im Dropdown-Menü wählen und danach durch Drücken auf das Power-Symbol die Steckdose" und genauso funktioniert es bei mir nicht - auch wird der Status nicht angezeigt/verändert.
      Der Compile selbst läuft - wie Du richtig annimmst - ohne Fehler durch.

      Ich bin mir sicher, dass das bestimmt wieder ein ganz dummer Fehler ist, ich weiss jetzt aber nicht wo ich noch suchen kann?

      PS: Kann man im Assistenten nicht auch für die Steckdosen denselben Buttontyp wie für die Lichter verwenden (ich weiss das man die manuell umprogrammieren kann, aber das ist mir für den Moment zuviel Arbeit).

      Edit Update: Heute - ohne Veränderung - funktioniert es auf einmal, warum auch immer. Dafür -offtopic- ist mir aufgefallen, dass beim BLACK Design die Achsentemperaturbeschriftung nicht lesbar ist (dunkle Schrift auf dunklem Grund)


      Gruß
      Franc

      Kommentar


        #4
        Visualisierungs Assistent

        Hi Franc,
        freut mich, dass es jetzt geht. Warum jetzt und vorher nicht - ist mir aber auch ein Rätsel. Naja, Schwamm drüber.

        mfg
        Jürgen
        Enertex-Entwickler

        Kommentar


          #5
          Hallo EibPC-Profis,

          nachdem ich jetzt wieder mal das Problem gehabt habe und es auch wieder nach ein paar Tagen zT. verschwunden ist, habe ich noch ein bischen rumprobiert.

          Ergebnis: Es liegt vermutlich irgendwie an der Variablen Initialisierung nach hochladen eines veränderten Webservers (mit Makro EnertexWebV2)?

          Scheinbar überschreibt ein neugestarter EibPC-Webserver Steckdosen-Auswahl-Button nicht einfach den ETS BUS-Wert. Sondern der Web-Button funktioniert erst, wenn expliziert Bus und EibPC gesynct sind.

          Ist das Bug oder Feature?
          Wenn Feature, wie kann ich dann den EibPC veranlassen automatisch alle vorhandenen GAs zu syncen, damit die Visu nach Neustart sofort läuft. Das Handbuch habe ich so verstanden, dass ich im EibPC unter InitGA nur jede GA einzeln, manuell einfügen kann, da war kein Hinweis auf ein */*/*?

          Gruß
          Franc

          Kommentar


            #6
            Hallo Franc,

            Zitat von fbirkholz Beitrag anzeigen
            Ist das Bug oder Feature?
            Feature, nimm InitGA für jede GA einzeln sofern notwendig. Du kannst im Fenster mit den Gruppenadressen nach dem Übersetzungsvorgang übrigens schauen, ob eine GA mit initga innerhalb des Codes abgefragt wird, ob sie explizit in der Initga Section steht, oder ob sie gar nicht initialisiert wird.

            Vielleicht solltest Du aber auch Deine Aktoren in der ETS checken, ob denn Statusänderungen auch automatisch verschickt werden.

            Gruß,
            Bernd

            Kommentar


              #7
              Zitat von bmx Beitrag anzeigen
              Hallo Franc,
              Feature, nimm InitGA für jede GA einzeln sofern notwendig.
              Hallo Bernd,

              vielen Dank für die Bestätigung, ich hatte es fast befürchtet , mit den Aktor-Rückmeldungen scheint alles zu stimmen, weil wenn ich den EibPC einmalig manuell mit den Werten synce alles einwandfrei funktioniert...

              Nochmal zurück, es kann doch nicht sein, dass ich meine rund 300 GAs alle einzeln eintragen muss??? (Ich möchte halt nicht jedesmal nach einem Update, ob in der *.esf oder im Web-Assistenten, noch alle Variablen auf initGA überprüfen muss)
              Hast Du mir hierfür vielleicht einen Tipp oder gibt es hierfür ein Makro "initga" = alle GAs aus der *.esf beim start initialisieren?
              (Ich bin derzeit halt nur Makro-"Anwender" weil ich keine Zeit für mehr tiefen der Programmierung habe.)

              Gruß
              Franc

              Kommentar


                #8
                Moin franc,

                Zitat von fbirkholz Beitrag anzeigen
                es kann doch nicht sein, dass ich meine rund 300 GAs alle einzeln eintragen muss
                Doch und das ist auch gut so. (Stell Dir nur mal vor, Deine Zentralfunktionen werden auch abgefragt und ein alter Aktor ist dabei)

                Aber das ist ja kein Problem, Du brauchst nur in der Liste mit den GA jeweils die GA anklicken die Du in der Init Sektion hast.

                a --> Im Programmcode ist ein initga( GA) vorhanden
                x --> in der initga Sektion ist ein Eintrag für diese Gruppenadresse
                leeres Kästchen --> keine Abfrage

                Gruß,
                Bernd
                initga.bmp

                Kommentar


                  #9
                  Hallo Bernd,

                  Zitat von bmx Beitrag anzeigen
                  Moin franc,
                  Doch und das ist auch gut so. (Stell Dir nur mal vor, Deine Zentralfunktionen werden auch abgefragt und ein alter Aktor ist dabei)
                  Wenn ich das richtig verstehe würde dadurch lediglich der Bus ein wenig belastet und evt. die "Aufstartzeit" des EibPC verlängert oder habe ich nochetwas übersehen. Beides wäre für meine Situation ertragbar im Angesicht von ca. 300 klicks (ein alle GA markieren scheint hier leider nicht zu funktionieren?) und dem ständigen kontrollieren ob neue GAs dazugekommen sind.

                  Aber ist wohl eine System-/Anwendungs-frage und deshalb werde ich jetzt erstmal "nur" den EibPC als Logikbaustein und wenn wieder mehr Zeit ist - und alle GAs angelegt sind - mich dem Webserver widmen.

                  Danke
                  Franc

                  Kommentar


                    #10
                    Zitat von fbirkholz Beitrag anzeigen
                    Nochmal zurück, es kann doch nicht sein, dass ich meine rund 300 GAs alle einzeln eintragen muss???
                    Bei den Makros für den Webserver werden die StatusGAs per initGA quasi automatisch geladen. Der Anwender muss da nichts weiter tun. Man erkennt dies an dem "a" im GAFenster des EibStudios - wenn das die Frage war.
                    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                    Enertex Produkte kaufen

                    Kommentar


                      #11
                      Hallo Franc,

                      Zitat von fbirkholz Beitrag anzeigen
                      Wenn ich das richtig verstehe würde dadurch lediglich der Bus ein wenig belastet und evt. die "Aufstartzeit" des EibPC verlängert oder habe ich noch etwas übersehen.
                      Hm. Die Frage ist, warum Du alle Zustände haben willst?

                      Wenn ich GA in der Visu anzeigen will, dann habe ich da zu 99% ein Makro das diese Aufgabe übernimmt. Wenn Du mal schaust: In den enertex Makros ist für die Status GA ein initga(GA) drin. Diese GA brauchst Du also nicht mehr einzuschalten.

                      Was bleibt also noch an sonstigen GA für initga übrig?

                      Gruß,
                      Bernd

                      Kommentar


                        #12
                        Hallo Bernd,

                        Zitat von bmx Beitrag anzeigen
                        Hallo Franc,
                        Wenn ich GA in der Visu anzeigen will, dann habe ich da zu 99% ein Makro das diese Aufgabe übernimmt. Wenn Du mal schaust: In den enertex Makros ist für die Status GA ein initga(GA) drin. Diese GA brauchst Du also nicht mehr einzuschalten.
                        ... und genau das ist mein Problem, entweder funktioniert das bei dem Visu-Assistent nicht automatisch - dann müßte ich wissen welches Makro ich noch integrieren muss oder ich habe sonst ein Problem?!

                        Noch einmal: Es geht mir nicht nur um die Statusanzeige sondern auch um die Funktion!

                        Wie gesagt, ich habe eine Visu mit dem eingebauten Assistent erstellt. Und wenn ich diese dann Hochlade erhalte ich zB. anhägende Webseite. Drücke ich nun das Einschalt-Symbol der Steckdose (Subwoofer), dann ändert zwar kurzzeitig das Einschalt-Symbol von inaktiv auf aktiv. Danach geht das Symbol auf inaktiv und am Aktor selber (Schalt-GA) passiert gar nichts, auch wird das Einschaltdatum nicht ge-updatet. Abhilfe schafft hier initialisieren der GA danach funktioniert alles wie gewollt (sowohl Status als auch Schalten).

                        Gruß
                        Franc
                        Angehängte Dateien

                        Kommentar


                          #13
                          Hallo Franc,

                          schauen wir uns mal das Enertex-Makro UmschaltMultiPageButton2fach an:

                          [highlight=epc]
                          :begin UmschaltMultiPageButton2fach(ID, PageID, Icon, GA1,StatusGA1, GA2,StatusGA2)
                          :info $Einen seitenbezogenen Multibutton (Elemente: mpbutton, mpshifter) mit einer zweifachen Auswahlbox ansteuern. Die Gruppenadressen müssen Schaltelemente sein, d.h. \\
                          Datentyp b01.$\\
                          :$Zahl zwischen 0 und 39 oder ID-Variable des Elements$\\
                          :$Icon des Elements$Knopfes$\\
                          :$Zahl zwischen 0 und 99 oder ID-Variable der Seite, auf der das Element definiert wurde.$\\
                          :$1. Gruppenadresse des Knopfes (b01)$\\
                          :$1. Status-Gruppenadresse des Knopfes (b01)$\\
                          :$2. Gruppenadresse des Knopfes (b01)$\\
                          :$2. Status-Gruppenadresse des Knopfes (b01)$
                          :shortinfo $Implementierung eines mpbutton oder mpshifter mit zwei GA$
                          //----------------------------------
                          // Implementierung
                          m^ID_^PageID_Text=$AUS$
                          m^ID_^PageID_ICON=Icon
                          m^ID_^PageID_State=ACTIVE
                          m^ID_^PageID_Deko=GREY
                          m^ID_^PageID_Choice=1
                          if mpbutton(ID,1,PageID)==255 then {
                          m^ID_^PageID_Choice=1
                          } endif
                          if mpbutton(ID,2,PageID)==255 then {
                          m^ID_^PageID_Choice=2
                          } endif
                          if mpbutton(ID,3,PageID)==255 then {
                          m^ID_^PageID_Choice=3
                          } endif
                          if change(m^ID_^PageID_ICON) or change(m^ID_^PageID_State) or change(m^ID_^PageID_Deko) or change(m^ID_^PageID_Choice) then {
                          pdisplay(ID,m^ID_^PageID_Text,m^ID_^PageID_ICON,m^ ID_^PageID_State,m^ID_^PageID_Deko,PageID,m^ID_^Pa geID_Choice)
                          } endif

                          if mpbutton(ID,1,PageID)==1 then {
                          write(GA1,!StatusGA1)
                          } endif
                          if mpbutton(ID,2,PageID)==1 then {
                          write(GA2,!StatusGA2)
                          } endif

                          if StatusGA1 and m^ID_^PageID_Choice==1 then {
                          m^ID_^PageID_Text=$ EIN - $+convert(settime(),$$);
                          m^ID_^PageID_Deko=GREEN;
                          m^ID_^PageID_State=ACTIVE
                          } endif
                          if !StatusGA1 and m^ID_^PageID_Choice==1 then {
                          m^ID_^PageID_Text=$ AUS - $+convert(settime(),$$);
                          m^ID_^PageID_Deko=GREY;
                          m^ID_^PageID_State=INACTIVE
                          } endif
                          if StatusGA2 and m^ID_^PageID_Choice==2 then {
                          m^ID_^PageID_Text=$ EIN - $+convert(settime(),$$);
                          m^ID_^PageID_Deko=GREEN;
                          m^ID_^PageID_State=ACTIVE
                          } endif
                          if !StatusGA2 and m^ID_^PageID_Choice==2 then {
                          m^ID_^PageID_Text=$ AUS - $+convert(settime(),$$);
                          m^ID_^PageID_Deko=GREY;
                          m^ID_^PageID_State=INACTIVE
                          } endif
                          //----------------------------------

                          :end
                          [/highlight]

                          Es findet sich hier kein initga im Code. Um kurzfristig Abhilfe zu schaffen, kannst Du initga am Ende einfügen:

                          [highlight=epc]
                          .....
                          m^ID_^PageID_Text=$ AUS - $+convert(settime(),$$);
                          m^ID_^PageID_Deko=GREY;
                          m^ID_^PageID_State=INACTIVE
                          } endif

                          initga(StatusGA1)
                          initga(StatusGA2)
                          // und der vollstaendigkeit halber auch
                          initga(GA1)
                          initga(GA2)
                          //----------------------------------

                          :end
                          [/highlight]

                          Sinngemäß bei den anderen Makros ähnlich. Ansonsten wäre es an Steffi von enertex die initga in die Version 1.017 der Makrolibs einzupflegen (sofern das gewollt ist).

                          Gruß,
                          Bernd

                          Kommentar


                            #14
                            Hallo Bernd,

                            Danke!!! Das war genau das wonach ich gesucht habe. Da ich nur über den Asisstenten gegangen bin, wußte ich nicht genau was, wo, wie da in welchen Makros benutzt wird (bin halt Anfänger). Mit Deinem Tipp sollte das aber leicht zu finden + ergänzen sein.

                            Für andere Anfänger sollte das aber sicher generell mal ergänzt werden. Wer den Assistenten nutzt - und seine Webpage nicht manuell zusammenbaut - erwartet sicher, das hinterher alles funktioniert und nicht noch irgendwelche GAs ge-innit werden müssen.

                            Gruß
                            Franc

                            Kommentar

                            Lädt...
                            X