Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000145 - Beschattungssteuerung-NG

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

    Kurzes Update Meinerseits. Bei E36/37 = 1 soll er nur größere Werte zulassen. In der früh, als nach Dämmerung klappt das auch, aber am Abend klappt das leider nicht. Da fährt er einfach nicht zu. Der LBS (andere Instanz) mit E36/37 = 0 fährt am Abend bei Dämmerung auch nicht auf 255, aber dafür in der früh auf den eingestellten Wert "nach Dämmerung".
    Jetzt fällt mir was auf. Da beim LBS nur die Dämmerungssteuerung aktiv ist. ändern sich die Werte für Höhe und Winkel (Am Ausgang) unter tags eigentlich nicht.
    Ich bräuchte den Sonderfall bei Ist 100 soll auch ein Soll 100 den Ausgang triggern. Ich habe jetzt mal testweise die Höhe "nach Dämmerung" auf 99 geändert.

    Da eine Änderung an E 9 und 10 den LBS sperren habe ich diese aktuell nicht angeschlossen. Ich müsste während der Sperre mitbekommen, dass sich der Behang-Zustand ändert und damit die Sperre aufheben.
    ---
    Martin

    Kommentar


      Hallo Yves,

      Gibt es einen Grund warum Du den SendByChange Funktionsaufruf bei A8 nicht machst?

      Das löst aber mein Toggelproblem leider noch nicht...
      Gruß
      Andi

      Kommentar


        so nach langem Suchen habe ich was gefunden: An A8 kommt leider nicht wie in der Hilfe angegeben immer nur eine 0 oder 1 sondern wenn man über E13 sperrt eine 2! Damit geht meine Timerlogik leider nicht mehr.

        das kommt wohl durch dieses define:

        define("LB_LBSID_LOCKSTATE__LOCKED_WITH_FORCED_POS ITION", 2);

        ist das noch ein Überbleibsel der V3.12 oder ist das bewusst so gemacht? Falls bewusst: Dann müsste man das in der Beschreibung von A8 anpassen...

        Ich habe das define mal auf 1 geändert (ich vermute dieser Zustand kann komplett entfallen, da ich keine Stelle im Code fand die aus meiner Sicht relevant wäre, vielleicht habe ich aber auch eine Codestelle irgendwo übersehen...) und zusätzlich den SBC an A8 eingebaut.

        Bisher läuft das erstmal ohne weitere Probleme.

        Anbei mal mein geänderter LBS, den ich RC21 getauft habe:

        5.5.18: gelöscht, da nicht zielführend.
        Zuletzt geändert von tger977; 05.05.2018, 18:46. Grund: Code gelöscht
        Gruß
        Andi

        Kommentar


          jetzt dachte ich ich kann die SBC ohne Init alle noch rausnehmen, da ja ein SBC im LBS nun drin ist, allerdings toggelt es dann wieder überall direkt nach Projektneustart. Mache ich sie wieder rein ist nach Projektaktivierung wieder Ruhe.

          Vermutlich liegt da das Problem: Man muss wohl die interne SBC Funktion auch auf SBC ohne Init umstellen um eine saubere Initialisierung hinzubekommen. Versuche ich morgen oder am WE mal hinzubekommen.
          Gruß
          Andi

          Kommentar


            Hi Andi

            Zitat von tger977 Beitrag anzeigen
            Gibt es einen Grund warum Du den SendByChange Funktionsaufruf bei A8 nicht machst?
            Ich meine, dass es dafür einen Grund gab, welcher mir im Moment nicht in den Sinn kommt. Vielleicht fällt's mir zuhause wieder ein, wenn ich an der Dev-Umgebung drehen kann...


            Zitat von tger977 Beitrag anzeigen
            so nach langem Suchen habe ich was gefunden: An A8 kommt leider nicht wie in der Hilfe angegeben immer nur eine 0 oder 1 sondern wenn man über E13 sperrt eine 2! Damit geht meine Timerlogik leider nicht mehr.
            Bist Du Dir da sicher? LB_LBSID_LOCKSTATE__LOCKED_WITH_FORCED_POSITION wird nirgendwo auf einen Ausgang geschrieben.

            Aber anyway, das ist sicher noch ein Überbleibsel der vorherigen Version mit drei verschiedenen Status an dieser Stelle. Danke für's finden, ich werd's korrigieren.


            Zitat von tger977 Beitrag anzeigen
            das kommt wohl durch dieses define:

            define("LB_LBSID_LOCKSTATE__LOCKED_WITH_FORCED_POS ITION", 2);

            ist das noch ein Überbleibsel der V3.12 oder ist das bewusst so gemacht?
            Beides.

            Intern ist relevant, auf welche Art und Weise der LBS gesperrt ist, für A8 macht das aber keinen Unterschied.


            Zitat von tger977 Beitrag anzeigen
            Ich habe das define mal auf 1 geändert (ich vermute dieser Zustand kann komplett entfallen, da ich keine Stelle im Code fand die aus meiner Sicht relevant wäre, vielleicht habe ich aber auch eine Codestelle irgendwo übersehen...) und zusätzlich den SBC an A8 eingebaut.
            Nach einem Blick auf Deinen Change: Das Problem liegt nicht am Wert von LB_LBSID_LOCKSTATE__LOCKED_WITH_FORCED_POSITION, da dieser nicht auf den Ausgang geschrieben sondern nur intern vermerkt wird. Anyway, ich muss es mir in Gänze anschauen...

            Zitat von tger977 Beitrag anzeigen
            Bisher läuft das erstmal ohne weitere Probleme.
            Das ist schonmal gut zu wissen!


            Zitat von tger977 Beitrag anzeigen
            jetzt dachte ich ich kann die SBC ohne Init alle noch rausnehmen, da ja ein SBC im LBS nun drin ist, allerdings toggelt es dann wieder überall direkt nach Projektneustart. Mache ich sie wieder rein ist nach Projektaktivierung wieder Ruhe.

            Vermutlich liegt da das Problem: Man muss wohl die interne SBC Funktion auch auf SBC ohne Init umstellen um eine saubere Initialisierung hinzubekommen. Versuche ich morgen oder am WE mal hinzubekommen.
            Darüber bin ich mir noch nicht so recht im klaren. Insbesondere weil ich überhaupt keine weiteren SBCs verwende und keine derartigen Probleme habe...

            Aber wie gesagt, erstmal im Detail anschauen...
            Kind regards,
            Yves

            Kommentar


              Man kann den LBS im allgemeinen das Berechnen bei der Initialisierung mit
              PHP-Code:
              if (getSysInfo(1)==1) {
                          
              Initialisierungsphase,mach nix
                      
              } else {   
                          
              tu was
              abgewöhnen

              Kommentar


                Hi Micha,

                bzgl. getSysInfo(...) ist in der Doku aber explizit nur vom Exec-Teil die Rede. Hast Du das auch im nicht-Exec-Teil in Verwendung? Gibt's irgendwelche Issues bspw. mit der Performance? Es könnte aber auch sein, dass ich den Doku-Abschnitt falsch interpretiere...
                Kind regards,
                Yves

                Kommentar


                  Ich denke nicht das es im LBS Bereich funktioniert, denn dazu müsste der LBS ja erstmal aufgerufen werden. Das EXEC Skript läuft ja unabhängig und somit auch schon während der Initphase des LBS. Dort kann man den Status entsprechend unterscheiden. Habe es aber auch noch nicht explizit ausprobiert.

                  Kommentar


                    Ja habe ich ausprobiert. Funktioniert. Ich habe da eine modifizierte Version des "sbc ohne init" in der Hinterhand....

                    Kommentar


                      Zitat von starwarsfan Beitrag anzeigen
                      Nach einem Blick auf Deinen Change: Das Problem liegt nicht am Wert von LB_LBSID_LOCKSTATE__LOCKED_WITH_FORCED_POSITION, da dieser nicht auf den Ausgang geschrieben sondern nur intern vermerkt wird.
                      Hi Yves,

                      ja Du hast recht, in Deiner RC2 ist das in der Tat nicht so wie von mir geschrieben. Das war wohl schon in einer von mir gepatchten Version in der ich leider auf dem Output den falschen Wert verwendet hatte (klassicher Copy Paste Fehler)

                      Alles in allem habe ich leider immernoch Probleme im Betrieb, daher sind meine Änderungen doch noch nicht der Weisheit letzter Schluß. Ich versuche mal weiterzukommen...

                      P.S. Wenn man sich mit Deinem Code auseinandersetzt wird schnell klar wie komplex der LBS tatsächlich ist. Trotzdem echt gut gemacht der Code, das versteh sogar ich so einigermaßen. Respekt für diese Arbeit...

                      Gruß
                      Andi

                      Kommentar


                        so, ich habe nun meine Logik um den LBS herum komplett umgebaut (und damit auch meine ganzen Visuobjekte...):
                        - Einführung strikte Trennung von Status Sperre und Trigger für Sperren (war bisher ein und dasselbe KO und sorgt ggf. für eine "Schleife" obwohl mir nicht klar ist warum das mit den Vorgänger LBS Versionen problemlos ging)
                        - Entfall der SBC direkt nach dem Ausgang A8

                        Unbenannt.PNG

                        Im LBS habe ich nur noch die SBC Funktionsaufrufe anstatt der direkten Ausgabe drin. Ansonsten entspricht er komplett der RC2.

                        Ich teste das nun mal das Wochenende über und gebe dann Feedback.
                        Im Moment gibt es jedenfalls nach Projektaktivierung erstmal keine Probleme mit Toggeln und auch die neue "Türfunktion" scheint erstmal zu funktionieren.
                        Gruß
                        Andi

                        Kommentar


                          N'abend miteinander

                          Zitat von tger977 Beitrag anzeigen
                          so, ich habe nun meine Logik um den LBS herum komplett umgebaut
                          ...
                          Im LBS habe ich nur noch die SBC Funktionsaufrufe anstatt der direkten Ausgabe drin. Ansonsten entspricht er komplett der RC2.
                          Feinfein


                          Zitat von tger977 Beitrag anzeigen
                          Ich teste das nun mal das Wochenende über und gebe dann Feedback.
                          Im Moment gibt es jedenfalls nach Projektaktivierung erstmal keine Probleme mit Toggeln und auch die neue "Türfunktion" scheint erstmal zu funktionieren.
                          Freut mich zu hören, ich bin gespannt.

                          Allerdings habe ich schon wieder einige Fehler und Kleinigkeiten gefunden und entsprechend umgebaut, von daher wird's in den nächsten Tagen noch einiges zu testen geben...
                          Kind regards,
                          Yves

                          Kommentar


                            Unbenannt.jpg Warum werden an der Klemme keine Werte übergeben, bzw. nur "0" Unbenannt.jpg

                            Kommentar


                              Um 8:15 wäre was ausgegeben worden...

                              P.S. Dein post ist etwas dünn mit Infos. Daher die Antwort auch...
                              Gruß
                              Andi

                              Kommentar


                                Hier mal ein Zwischenfazit:

                                die Toggelei hat ein Ende! Bisher funktioniert alles ohne Toggeln.

                                Was mir noch auffällt:
                                wenn ich über E13=0 die Sperre aufhebe wird offensichtlich nur die geänderte Höhe ausgegeben, der Lamellenwinkel jedoch nicht wenn er sich nicht ändert. Das führt dann dazu daß die Jalousie leider nur die Höhe ändert und den eigentlichen Lamellenwinkel nicht mehr einstellt. In meinem Fall bleibt die Jalousie dann zu. Kann man nun auch diskutieren ob das korrekt auf Aktorseite ist, aber den Aktor zu ändern ist wohl aussichtslos. Daher: Könntest Du wenn über E13=0 die Sperre aufgelöst wird und sich Höhe oder Lamellenwinkel ändert immer beides ausgeben (wenn sich keins von beidem ändert dann muss/soll auch nichts ausgegeben werden)? Dann fährt der Aktor auf jeden Fall immer sauber auf Zielposition.
                                Gruß
                                Andi

                                Kommentar

                                Lädt...
                                X