Ankündigung

Einklappen
Keine Ankündigung bisher.

Diskussionsthread EDOMI-Releases/Updates

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

    Ich habe in letzter Zeit diverse Tests mit der Funktion str_replace in Kombination mit der Splitfunktion im Visueditor gemacht. Konkret habe ich da z.B.
    Code:
    {str_replace(split(0)+split(1)+split(2)+split(3)+split(4),"null","")}
    .
    Wenn der String nun leer ist oder nicht genug Elemente enthält soll die von der Splitfunktion zurückgegebene "null" gelöscht werden.

    In einer Edomi-Instanz funktioniert das zuverlässig in einer zweite aber gar nicht.

    Kann es sein das die Funktionen nicht immer zuverlässig von rechts nach links abgearbeitet werden?

    Und könnte die Splitfunktion nicht einfach nichts zurückgeben wenn nichts vorhanden ist (anstatt "null")?

    Gruß Michael

    Kommentar


      Hallo gaert,

      um meine Frage mal zu konkretisieren:
      • ist es möglich das im Beispiel
        Code:
        {str_replace(split(0)+split(1)+split(2)+split(3)+split(4),"null","")}
        in manchen Fällen das str_replace() vor dem split() ausgewertet wird?
      • Wenn ja, kann ich das beeinflussen?
      • Könnte die split()-Funktion nicht einfach "" anstatt "null" ausgeben wenn kein Inhalt da ist?


      Gruß Michael

      Kommentar


        Sorry - habe gerade viel zu tun (in der echten Welt)

        Ich habe die Split-Funktion entsprechend abgewandelt - es wird nun "" anstelle von NULL zurückgegeben.

        Du kannst das auch jetzt schon testen - in der Datei www/shared/js/main.js ca. in Zeile 240:

        Code:
            function str_split(x,pos,sep) {                                                        //Splittet den String x mittels sep (optional) und liefert den Wert mit dem Array-Index pos zurück
                if (!sep) {sep="|";}
                var n=x.split(sep);
                if (pos<n.length) {
                    return n[pos];
                } else {
                    return null;
                }
            }
        
        abändern in
        
            function str_split(x,pos,sep) {                                                        //Splittet den String x mittels sep (optional) und liefert den Wert mit dem Array-Index pos zurück
                if (!sep) {sep="|";}
                var n=x.split(sep);
                if (pos<n.length) {
                    return n[pos];
                } else {
                    return "";
                }
            }
        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

        Kommentar


          Zitat von gaert Beitrag anzeigen
          Ich habe die Split-Funktion entsprechend abgewandelt - es wird nun "" anstelle von NULL zurückgegeben.
          Vielen dank gaert!

          Kommentar


            Bald gibt's mal wieder etwas Neues - eine abgespeckte DVR-Funktion (Digitaler Videorekorder):

            EDOMI nimmt dann auf Wunsch kontinuierlich (und ggf. KO-gesteuert) Kamerabilder auf, z.B. jede Sekunde. Allerdings nur Einzelbilder (max. 1 Frame/s), also keine richtigen Videos.

            Dafür wird dies aber schnell und robust (ohne Datenbank, etc.) über das Dateisystem erledigt, gespeichert werden die Bilder in speziellen Dateien als JPG-Rohdaten. Über einen "Viewer" (den ich noch bauen muss) kann man dann fix durch die Einzelbilder browsen - es sollte sich in Etwa anfühlen wie ein Zeitraffer-Video.

            Gespeichert werden die Bilder unter einem frei wählbaren Pfad - ich nutze hierfür eine externe USB-Platte in meiner Test-VM. Die Dateien werden stundenweise verwaltet und werden nach einer frei definierbaren Zeit gelöscht, so dass man z.B. stets die letzten 24h vorhalten kann.

            Auf der Statusseite sieht's dann in Etwa so aus - mehr gibt es noch nicht zu sehen

            Bildschirmfoto 2018-06-08 um 21.40.24.png

            Das Ganze läuft schon sehr geschmeidig, auch mit 5 Kameras sind kaum CPU-Einbußen feststellbar (ca. 3..4% bei 1 Frame/s in meiner lahmen VM).

            Der Viewer wird auch das Fisheye-Dewarping erlauben - ich arbeite noch daran, den Kram in EDOMI einzubauen. Isoliert funktioniert das Dewarping schon wunderbar, nur die Unterbringung in die GUI/Visu/etc. ist noch nicht ansatzweise erledigt (kompliziert, das).

            Das Dewarping erfordert eine relativ komplexe Mathematik - Pixel für Pixel. Dies wäre natürlich zu langsam, insbesondere für Tablets (Visu). Daher verfolge ich eine andere Strategie: In der GUI stellt man seine "virtuelle Kamera" entsprechend ein und erhält quasi nur eine grobe Vorschau (je nach Leistung des PCs). Dann wird quasi eine Vorberechnung ausgeführt und das Ergebnis in einer Datei gespeichert. In der Visu/etc. wird dann nur noch diese "Matrix" angewendet, was mit ein paar Tricks sehr schnell funktioniert: Ein FullHD-Bild braucht satte 0,5 Millisekunden(!) auf meinem iMac 2007... Allerdings braucht Safari deutlich länger zur Skalierung im Canvas - warum auch immer.

            Ich vermute mal, dass das onboard-dewarping bei einigen Kameras ähnlich funktioniert, denn für komplexe Berechnungen dürften die CPUs wohl zu lahm sein.

            Ihr merkt's also vermutlich schon: Dauert noch ein wenig. Aber dafür erhält man ein relativ brauchbares "VMS" (oder eher Einzelbild-Managment-System) innerhalb von EDOMI

            Von Video-Aufzeichnungen halte ich übrigens nicht sooo viel. Abgesehen von der Komplexität (PHP!) bringt's m.E. wenig Vorteile gegenüber Einzelbildern im 1..5 Sekundentakt. Zwar ist der Wow-Effekt bei Videos größer, aber der Nutzen (im EFH) nicht unbedingt. Wenn doch nur mal jemand einbrechen würde... verdammt...
            Zuletzt geändert von gaert; 08.06.2018, 22:01.
            EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

            Kommentar


              Kann ich damit dann auch bald mein TV-Programm aufnehmen ?
              (da bräucht ich dann aber schon so 24 FPS)

              Gruß Martin
              Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

              Kommentar


                Hier formlos Punkte die mir aufgefallen sind:

                - Datenarchiv von einem beliebigen KO automatisch erstellen (rechtsklick auf KO -> Datenarchiv erstellen oder sowas)
                - im Logikeditor Ein/Ausgänge von Logikbausteinen ein/ausblendbar, würd manches übersichtlicher machen

                Edit (ergänzt):
                - im Logikeditor statt Anzeige der GA bzw. iKO ID an den Eingängen die Bezeichnung und als Tooltip die ID (also genau umgekehrt wie es derzeit ist)
                - Möglichkeit an den Ausgängen direkt GA/iKOs anzugeben, ohne Umweg über Ausgangsbox, analog zu den direkten Eingängen
                - Möglichkeit die Verbindungslinien als "Fahne/Referenz" darstellen
                Zuletzt geändert von Bernator; 12.06.2018, 19:42.

                Kommentar


                  Featurewunsch:
                  Beim Visu- und Logikeditor ist es aktuell so, wenn man mit Shift+Klick ein Objekt markiert hat und danach ohne gedrückte Shift Taste ein anderes Objekt anklickt und z.B. verschiebt ist das 1. Objekt immer noch mit markiert.
                  In fast aller Software die ich kenne, führt ein Klick ohne Shift Taste, wenn vorher etwas markiert war dazu, dass nur noch das neu angeklickte markiert.
                  Das fände ich wesentlich besser, da konsistenter zu anderer Software.
                  Grüße
                  Matze

                  Kommentar


                    gaert magst du was weitergeben zum Stand MDT-Router? Wirst du da was aus den Hinweisen machen?

                    Kommentar


                      Das Problem scheint seitens MDT eingegrenzt zu sein und ist auf meine Liste gewandert - mehr ist noch nicht geschehen, kommt Zeit kommt Rat
                      EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                      Kommentar


                        Alles klar und danke für die Info. Hab nur heute daran denken müssen, als ich wieder mi 20 neuen Fehlern wegen Disconnect begrüßt wurde...

                        Kommentar


                          Stand der Dinge in Sachen DVR: Fast fertig. Sieht unspektakulär aus, klappt aber wunderbar und ich möchte diese Funktion schon jetzt nicht mehr missen! Ist zwar nur ein Einzelbild-DVR, dafür aber sehr resourcenschonend und flott. Und in EDOMI integriert - ist ja auch nicht von Nachteil

                          Bildschirmfoto 2018-06-25 um 07.51.09.png


                          Auszug auf der Live-Projekt-Statistik:

                          Bildschirmfoto 2018-06-25 um 07.55.59.png
                          Zuletzt geändert von gaert; 25.06.2018, 07:57.
                          EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                          Kommentar


                            Dann kann ich bald meine Surveillancestation abschalten ?

                            Sehr gut..
                            Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                            Kommentar


                              Vermutlich schon Natürlich kann so ein Ding wahrscheinlich deutlich mehr (v.a. Videos statt Einzelframes), aber dafür musst Du wieder eine andere Software nutzen und hast einen Kasten mehr im Schrank stehen.

                              Wie schon gesagt: Mir reichen Einzelbilder (aktuell alle 5s) vollkommen - bzw. eigentlich finde ich's sogar besser (Navigation, Speicher, etc.). Nach diversen Experimenten mit Zoneminder & Co. hatte ich dann beschlossen es selbst zu implementieren Und die Aufnahme ist ggf. per KO steuerbar, so dass man ohne Umstände die Aufnahme z.B. per BWM triggern kann.
                              EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                              Kommentar


                                Auch wenn ichs nicht verwenden werden weil syno eeh das ist .. Top Geschichte ​​​​​​
                                Danke fürs teilen
                                Jean-Luc Picard: "Things are only impossible until they are not."

                                Kommentar

                                Lädt...
                                X