Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage Remanente KOs

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

    Frage Remanente KOs

    Hi Christian,

    mir ist zufaellig aufgefallen, dass wenn man:
    -ein "defektes" Projekt aktivieren will und Edomi dann nach der Fehlermeldung pausiert
    -man den Fehler behebt und das Projekt nochmal aktiviert
    alle remanenten KOs undefiniert sind.

    Ist das so beabsichtigt oder nicht? Falls ja, muss ich mein Konzept nochmal generell umdenken, denn ich speichere eigentlich sehr viele "globale" Variablen in remanenten KOs (Beispiel: Geo-Daten, IPs/Zugangsdaten bestimmter Dienste, Zeitzone, blahblahblah). Wie sollte man das in dem Fall am besten abbilden?
    Und Folgefrage: wenn man archivierte Projekte oder Backups einspielt, wie verhaelt sich das dann mit den remanenten Daten?

    gruesse :: Michael

    EDIT: best practice ist natuerlich der init-Wert *facepalm*
    Ich bitte diese konkrete Frage zu ignorieren, irgendwie hatte ich grad nen Tunnelblick
    Also auf eine reine Verstaendnisfrage reduziert...
    Zuletzt geändert von wintermute; 28.02.2016, 14:58.

    #2
    Moinsen!

    Was verstehst Du unter "defektes Projekt"?

    Ein archiviertes(!) Projekt enthält keinerlei Remanent-Daten, da ja nur das "Arbeitsprojekt" (also nicht das Live-Projekt) archiviert wurde. Die Remanent-Daten (also KOs, aber auch alles andere - z.B. Archivdaten, ZSU-Schaltzeiten, etc.) beziehen sich natürlich nur auf das Live-Projekt. Und eben dieses ist nur per (Voll-)Backup zu sichern, denn das macht m.E. am meisten Sinn:

    Wenn z.B. "alles kaputt" ist (oder die Hardware getauscht werden muss), kann man einfach das Backup wieder herstellen und alles ist so wie vorher. Einschließlich aller Systemeinstellungen (EDOMI) etc.

    Unabhängig davon:
    Sobald ein Projekt aktiviert wird, werden natürlich die Daten des Live-Projekts mit denen des zu aktivierenden Projekts abgeglichen (es ist also keine einfache Kopie!). Dies macht natürlich nur Sinn, wenn Arbeitsprojekt und Live-Projekt identisch sind - daher werden die Projekte intern verwaltet. Wenn Du also ein ANDERES Projekt als das dem aktuellen Live-Projekt zugeordnete Projekt aktivierst, sind alle Live-Daten futsch! Dieses Verhalten entspricht übrigens exakt dem Verhalten des HS - vielleicht ist es so besser verständlich

    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

    Kommentar


      #3
      Zitat von gaert Beitrag anzeigen
      Was verstehst Du unter "defektes Projekt"?
      Laesst sich leicht reproduzieren:
      -Logikbaustein oeffnen
      -irgendwo nen Syntax-Fehler reinschreiben
      -abspeichern
      -Fehlermeldung ignorieren
      -Projekt aktivieren

      Das geht natuerlich nicht, wegen des kaputten LBS, also:
      -Logikbaustein oeffnen
      -Syntax-Fehler rausnehmen
      -abspeichern
      -Projekt aktivieren

      Danach haben die remanenten KOs ihre (aktuellen) Werte verloren.
      Das ist beim HS uebrigens anders

      gruesse :: Michael

      Kommentar


        #4
        Sicher?! Denn das sollte natürlich nicht so sein... Muss ich mir mal angucken!

        Du spricht jetzt aber "nur" von KOs - oder sind auch z.B. Achiv-Daten betroffen? (würde mich sehr wundern)

        Ausserdem:
        Ein Projekt mit einem (schon beim Import) erkannten Fehler im LBS kann man nicht aktivieren... Du meinst sicher einen (echten) FatalError?!
        Bildschirmfoto 2016-02-28 um 15.10.30.png


        EDIT:
        Hab's gerade ausprobiert - Du hast Recht:

        Aktivieren geht natürlich nicht (s.o.), also den LBS-Fehler korrigiert, dann das Projekt erneut aktiviert => Remanentwerte (KOs) sind futsch.

        Muss ich mir mal in Ruhe anschauen...
        Zuletzt geändert von gaert; 28.02.2016, 16:24.
        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

        Kommentar


          #5
          Zitat von gaert Beitrag anzeigen
          Sicher?! Denn das sollte natürlich nicht so sein... Muss ich mir mal angucken!
          Hab ich extra fuer dich nochmal ausprobiert
          Ich bastel grad an nem Baustein und laufe regelmaessig da rein. Er hat nen Trigger, das KO ist intern und als remanent markiert, hat aber keinen init-Wert. Ich setz das also irgendwann auf 1 und der Baustein startet (zusammen mit Edomi). Ist nen Syntax-Error irgendwo drin und obiges Szenario laeuft ab, muss ich ihn danach wieder auf 1 setzen, auch auslesen des KOs liefert bis dahin auch keinen Wert.
          Ist das Projekt aber in Ordnung (was natuerlich bei mir eigentlich immer der Fall ist, solange keine Katze aufs Notebook springt ), dann bleibt (wie zu erwarten war) der Wert des KOs erhalten.

          Zitat von gaert Beitrag anzeigen
          Du spricht jetzt aber "nur" von KOs - oder sind auch z.B. Achiv-Daten betroffen? (würde mich sehr wundern)
          Kann ich keine Aussage zu treffen, mir ist das nur bei diesem einen ganz speziellen KO aufgefallen

          Kommentar


            #6
            Sooooo... Problemchen gefunden und gelöst Das war schlicht ein Fehler in der GUI (Projektaktivierung) - dort wurde ein falscher Parameter übergeben, der dafür sorgte, dass alle Live-Daten (auch Archive!) gelöscht werden... Sehr praktisch

            Danke für den Hinweis!
            EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

            Kommentar


              #7
              Wenn Du's bei Dir schonmal ändern willst (etwas schwer zu beschreiben...):

              Datei www/admin/apps/app100.php - ziemlich am Anfang (bei mir Zeile 88 - bei Dir vermutlich um die 130 oder so):


              PHP-Code:
                          } else {
              ?>
                                              n+="<input type='hidden' id='<?echo $winId;?>-fd1' data-type='1' value='1'></input>";
              <?
                              if (getLiveProjektId()===false) {
              ?>
                                              n+="<span style='color:#a0a0a0;'>Aktuell ist kein Live-Projekt vorhanden.</span>";
              <?
                              } else {
              ?>
                                              n+="<span style='color:#e00000;'>Achtung: Das aktuelle Live-Projekt wird vollständig gelöscht! Alle Daten gehen verloren!</span>";
              <?
                              }
                          }
              abändern in

              PHP-Code:
                          } else {
                              if (getLiveProjektId()===false) {
              ?>
                                              n+="<span style='color:#a0a0a0;'>Aktuell ist kein Live-Projekt vorhanden.</span>";
                                              n+="<input type='hidden' id='<?echo $winId;?>-fd1' data-type='1' value='0'></input>";
              <?
                              } else {
              ?>
                                              n+="<span style='color:#e00000;'>Achtung: Das aktuelle Live-Projekt wird vollständig gelöscht! Alle Daten gehen verloren!</span>";
                                              n+="<input type='hidden' id='<?echo $winId;?>-fd1' data-type='1' value='1'></input>";
              <?
                              }
                          }

              PS: Nicht gerade ein Meilenstein der Programmierkunst - aber solche GUI-Teile sind natürlich mit der Zeit "gewachsen"... Daher auch der Fehler, denn die LBS-Prüfung etc. kamen irgendwann erst dazu
              EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

              Kommentar


                #8
                Da schau an ... Hatte schon das Problem das alle Archive leer waren. Und ich hatte ein einziges Mal einen Syntax Fehler. Das wird wohl das gleiche gewesen sein.

                Kommentar


                  #9
                  bedank!

                  Kommentar


                    #10
                    Tut mir leid, liebe Leute... So ist das bei Beta's *heuchel*

                    Ärgerlich vor allem, dass dies nur ein dummer GUI-Fehler war... Wenn's wenigstens ans Eingemachte gehen würde
                    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                    Kommentar


                      #11
                      Beta ist Beta ist Beta ist Beta. Und gut ist es. Dafür investieren wir uns ja alle mit dir, damit du irgendwann eine Entscheidung für version 2.x triffst. Bis dahin: Beta ist Beta ist Beta...

                      ich wünschte, ich wär' so aufmerksam wie wintermute... Bedankt auch dafür...

                      Kommentar

                      Lädt...
                      X