Ankündigung

Einklappen
Keine Ankündigung bisher.

Webserver Fensterkontakte Zustand invertieren

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

    Webserver Fensterkontakte Zustand invertieren

    Hallo zusammen,
    ich habe im Moment nicht soooo viel Zeit, um in die komplette Tiefe der Programmierung einzusteigen, von daher versuche ich mit ach und krach so mit Handbuch und Assistent durchzukommen, bis die Sanierung fertig ist.
    Aber eben dieser Assistent des Webservers, der mir zunächst ausreichen würde, ist schon sehr oberflächlich
    Wie bekomme ich die Anzeige der Fensterkontakte invertiert? D.h. im Moment, wenn das Fenster zu ist, steht in grau "geöffnet", mach ich das Fenster auf, dann in grün "geschlossen".
    Ich will jetzt nicht meine komplette Programmierung ummodeln müssen, dass die Signalisierung selber invertiert wird, da sonst alles passt.
    Nur im Webserver nicht

    Danke Euch

    Ciao
    MArio

    #2
    grün=OK (daher ist geschlossen grün
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #3
      Zitat: mach ich das Fenster auf, dann in grün "geschlossen".

      Kommentar


        #4
        Ich meine irgendwo was gelesen zu haben, dass man im GA Feld was eingeben kann, dass es invertiert wird. Aber ich finds nicht mehr, bzw. inzwischen gar nicht mehr sicher, ob ich nicht schon halluziniere

        Kommentar


          #5
          Hast du die Binäreingänge deiner Fensterkontakte denn richtig rum parametriert?

          Richtig wäre:
          0 = geschlossen
          1 = offen

          Kommentar


            #6
            Ich suche mir gerade nen Wolf... ich habe das ENO 634 und daran SecuSignal Griffe und für die Dachfenster Kontakte mit Solar.
            Ich schalte damit auch die Heizung ab, wenn Fenster geöffnet werden, also gehe damit aufs Sperrobjekt. Von daher gehe ich davon aus, dass eine 1 gesendet wird.
            Lt. Busmonitor kommt auch eine 1 beim Öffnen, und 0 beim Schliessen.
            Anders gesagt: Ich finde auch gar kein Feld, das ich ändern könnte. Weder übers ENO Tool, noch über die ETS

            Kommentar


              #7
              Zitat von Highnoon Beitrag anzeigen
              Wie bekomme ich die Anzeige der Fensterkontakte invertiert? D.h. im Moment, wenn das Fenster zu ist, steht in grau "geöffnet", mach ich das Fenster auf, dann in grün "geschlossen".
              einfach ein !-Zeichen vor die GA im Auswahlfeld. Bei Statusanzeigen sollte das immer gehen.
              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
              Enertex Produkte kaufen

              Kommentar


                #8
                Genau sowas hatte ich in Erinnerung.
                Aber jetzt mal für die ganz dummen... ich hab schon einiges ausprobiert... wie genau sieht das dann im Feld aus?

                Kommentar


                  #9
                  Adresse einfach copy&paste und dann direkt davor ein !
                  Geht nicht
                  Und ich glaube, ich habs jetzt schon überall hin gesetzt

                  Kommentar


                    #10
                    Hi,

                    Du arbeitest mit dem Visu-Assi?

                    [s. Anhang]

                    hier ein "!" vor die GA setzen.

                    Was genau möchtest Du ändern?

                    Im Code ist hinterlegt, dass wenn auf die GA ein EIN Signal kommt, die Anzeige in grün "geschlossen" anzeigt.
                    Kommt ein AUS Signal geht die Anzeige auf rot-blinkend "offen".


                    if StatusGA then {
                    pdisplay(ID,$geschlossen$,WINDOW,INACTIVE,GREEN,Pa geID)
                    } else {
                    pdisplay(ID,$offen$,WINDOW,STATE7,BLINKRED,PageID)
                    } endif

                    Wenn Du nun die GA invertierst geht bei AUS die Anzeige auf grün "geschlossen" und umgekehrt.
                    Wenn Du den Text/Style ändern möchtest, musst Du das im Makro "Fensterkontakte" in der EnertexWebV3.lib ändern (s. Code oben)
                    Angehängte Dateien
                    Zuletzt geändert von SteffiEnertex; 21.08.2015, 14:29.
                    Enertex Bayern GmbH - www.eibpc.com

                    Kommentar


                      #11
                      Hallo Steffi,
                      So wie im Anhang vorgeschlagen, hab ich es schon versucht.
                      Dann kommt beim Versuch des Kompilierens:

                      Syntaxfehler in Makro: "ZweiFensterkontakte" in Zeile [4158] in C:/Program Files/EibStudio-win/epcTemp/libs/EnertexWebV3.lib
                      if !StatusGA1 and m_^ID_^PageID_Choice==1 then { m_^ID_^PageID_Text=$offen$; m_^ID_^PageID_Deko=GREY; m_^ID_^PageID_State=INACTIVE} endif ==> if !!"Arbeitszimmer Dachfenster offen-3/3/8" and m_FensterID_OGArbeitszimmerID_Choice==1 then { m_FensterID_OGArbeitszimmerID_Text=$offen$; m_FensterID_OGArbeitszimmerID_Deko=GREY; m_FensterID_OGArbeitszimmerID_State=INACTIVE} endif in der Datei "C:/Program Files/EibStudio-win/epcTemp/VA_EibPC_Macros.epc" in der Datei "C:/Program Files/EibStudio-win/EibstudioData/tmpApp.txt"
                      Gültig bis Position: {0} STOP--> if !!"Arbeitszimmer Dachfenster offen-3/3/8" and m_FensterID_OGArbeitszimmerID_Choice==1 then { m_FensterID_OGArbeitszimmerID_Text=$offen$; m_FensterID_OGArbeitszimmerID_Deko=GREY; m_FensterID_OGArbeitszimmerID_State=INACTIVE} endif


                      ID:4
                      EibParser wurde mit Fehler beendet.


                      Da im Code schon die Negierung drin ist, kommt dann nochmal eine hinzu, und das mag er wohl nicht

                      D.h. ich müsste wohl doch in die lib eingreifen, was ich eigentlich nicht wollte
                      Aber ich frage mich, warum Ihr das so hinterlegt habt. Sowohl meine SecuSignal Griffe, als auch meine EnOcean Fenster Kontakte liefern bei "offen" eine 1.
                      Und ich kann in der ETS niergends für die beiden Komponenten das Signal invertieren.
                      Natürlich könnte ich jetzt sämtliche Kontakte durch einen Inverter schicken, aber das ist m.E. unnötiger Aufwand.
                      Oder eben den Code ändern.

                      Wie muss das dann genau laufen?
                      In der EnertexWebV3.lib die Passage wie von Dir angegeben entsprechend vertauschen
                      if StatusGA then {
                      pdisplay(ID,$geschlossen$,WINDOW,STATE7,BLINKRED,P a geID)
                      } else {
                      pdisplay(ID,$offen$,WINDOW,INACTIVE,GREEN,PageID)
                      } endif

                      Oder wo anders die Negierung raus nehmen?

                      Also z.B. hier dann vertauschen (beim Makro für mehrere Fensterkontakte):
                      if StatusGA1 and m_^ID_^PageID_Choice==1 then { Hier das ! dazu
                      m_^ID_^PageID_Text=$geschlossen$;
                      m_^ID_^PageID_Deko=GREEN;
                      m_^ID_^PageID_State=INACTIVE
                      } endif
                      if !StatusGA1 and m_^ID_^PageID_Choice==1 then {
                      Hier das ! weg
                      m_^ID_^PageID_Text=$offen$;
                      m_^ID_^PageID_Deko=GREY;
                      m_^ID_^PageID_State=INACTIVE
                      } endif

                      ​Sorry, bin mehr der Anwender als der Programmierer

                      Dank Dir
                      Mario

                      Kommentar


                        #12
                        OK, auf gut Glück hab ichs jetzt mal umgeschrieben

                        if StatusGA1 and m_^ID_^PageID_Choice==1 then {
                        m_^ID_^PageID_Text=$offen$;
                        m_^ID_^PageID_Deko=BLINKRED;
                        m_^ID_^PageID_State=INACTIVE
                        } endif
                        if !StatusGA1 and m_^ID_^PageID_Choice==1 then {
                        m_^ID_^PageID_Text=$geschlossen$;
                        m_^ID_^PageID_Deko=GREEN;
                        m_^ID_^PageID_State=INACTIVE
                        } endif
                        if StatusGA2 and m_^ID_^PageID_Choice==2 then {
                        m_^ID_^PageID_Text=$offen$;
                        m_^ID_^PageID_Deko=BLINKRED;
                        m_^ID_^PageID_State=INACTIVE
                        } endif
                        if !StatusGA2 and m_^ID_^PageID_Choice==2 then {
                        m_^ID_^PageID_Text=$geschlossen$;
                        m_^ID_^PageID_Deko=GREEN;
                        m_^ID_^PageID_State=INACTIVE
                        } endif


                        Musste erst mal schnallen, dass ich die lib im temp Ordner nehmen muss, aber jetzt funktionierts so, wie es soll, d.h. ohne dass ich irgendwas anders parametrisieren musste oder noch inverter mit einbauen musste

                        Aber trotzdem: Mal überlegen, ob man dies nicht als Standard so einführt, oder bin ich der einzige, dessen Kontakte "falsch" laufen

                        Kommentar

                        Lädt...
                        X