Ankündigung

Einklappen
Keine Ankündigung bisher.

Assistent?

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

    #31
    Hi henfri ,

    welches Tool hast Du genutzt um Deine Demo, "Wie es sein soll", aufzuzeichnen (Video), würde das auch gerne nutzen um mal den Entwicklungsstand zu dokumentieren und das als Diskussionsbasis zur Verfügung zu stellen. Das ist denke ich besser als Screenshots.

    Inhaltlich hat sich heute nichts getan, morgen vielleicht wieder :-(

    Gruss Andre

    Kommentar


      #32
      ja das stimmt. Die css und js in den pages-Unterverzeichnissen werden nur in den jeweils zugehörigen Seiten geladen. Das steuert die root.html abhängig von der Konfiguration. Ansonsten wird alles geladen, was in den einschlägigen Verzeichnissen ist (dropins, widgets ...).

      Besonderheit ist aber, dass die quad.css und quad.js in der root.html immer geladen werden, auch wenn das Quad-Design nicht verwendet wird. Das frisst unnötig Ressourcen und sollte geändert werden. Deshalb "Baustelle".

      Gruß
      Wolfram

      Edit: hat sich mit Onkelandys Antwort überschnitten

      Kommentar


        #33
        Das Quad Design ist ohnehin so ein Zwitter irgendwie.. Es ist ja in den Widgets mit drin - insofern bräuchte es den expliziten Link zum quad.js im root.html eh nicht, das File wird aber immer geladen. Wir hatten damals beschlossen, dass es ob der vielen anderen Widgets, die man ja vielleicht auch nicht braucht und trotzdem importiert hat, kein wirkliches Ding ist. Aber sollten sich mal weitere "Designs" dazu gesellen, wäre eine sauberere Aufdröselung wünschenswert.
        Imho aber sehr low prio.

        Kommentar


          #34
          Zitat von AndreK Beitrag anzeigen
          Hi henfri ,

          welches Tool hast Du genutzt um Deine Demo, "Wie es sein soll", aufzuzeichnen (Video), würde das auch gerne nutzen um mal den Entwicklungsstand zu dokumentieren und das als Diskussionsbasis zur Verfügung zu stellen. Das ist denke ich besser als Screenshots.

          Inhaltlich hat sich heute nichts getan, morgen vielleicht wieder :-(

          Gruss Andre
          Code wäre noch besser zur Dokumentation Ansonsten kannst zum Videoaufzeichnen zB https://obsproject.com/de nutzen. In Windows 10 gibt es im "Game Center" auch ein Bordmittel zum Aufzeichnen, unter Mac könnte das der Quicktime Player.

          Kommentar


            #35
            Zitat von AndreK Beitrag anzeigen
            Hi henfri
            welches Tool hast Du genutzt um Deine Demo, "Wie es sein soll", aufzuzeichnen (Video)
            https://www.cockos.com/licecap/

            Ist für diese Zwecke echt ideal. Erzeugt eine animierte GIF.

            Gruß,
            Hendrik

            Kommentar


              #36
              Zitat von henfri Beitrag anzeigen

              https://www.cockos.com/licecap/

              Ist für diese Zwecke echt ideal. Erzeugt eine animierte GIF.

              Gruß,
              Hendrik
              Sehr genial in der Tat. Danke.

              Kommentar


                #37
                Hallo,

                hier mal ein kurzer "Spoiler".
                Wie soll ich für ein erstes Upload vorgehen. Direkt ins Git der SmartVisu auf den Develop-Branch pullen ?
                Ich würde das ganze dann in der Config unterm Template-Checker einbauen. (Für den ersten Pull)
                Steht dann sicherlich noch alles zur Diskussion
                Bitte kurze Info - sobald ich dann ein kleines Stück weiter bin gibts auch den ersten Code.
                Im Moment fehlt dann noch die korrekte Verarbeitung von "geschachtelten Widgets" - das wollte ich auf jeden Fall auch noch einbauen
                z:b.: {{ basic.symbol('', 'bath.light.switch', '', icon.light('','','bath.light.value') ) }}

                Beispiel mit dem "quad.playercontrol", das hat sage und schreibe 22 Parameter, wenn ich richtig gezählt habe.

                Gruss Andre

                P.S. Zum Live-Preview hab ich so eine Idee, muss aber noch testen ob das funktioniert.

                henfri : Danke für den Tipp mit LiceCap :-)
                spoiler.gif

                Kommentar


                  #38
                  Ziemlich cool! Unterhalb des Template Checkers auf jeden Fall gut positioniert! Als PR im develop Branch auch richtig, denke ich. Alternativ im new-stuff repo, das soll wvhn festlegen.

                  Kommentar


                    #39
                    Da es sicher eine Reihe von Interessenten für den Test geben wird, macht ein Pull Request ins develop mehr Sinn, als das newstuff repo.
                    Ich bin gespannt. Wird sicher eine tolle Sache!

                    Gruß
                    Wolfram

                    Kommentar


                      #40
                      Wow, klasse! Ich bin mal wieder beeindruckt!
                      Ich hätte im Leben nicht gedacht, sowas nur 11 Tage nach meiner Idee zu sehen. Hut ab!


                      Ich würde das ganze dann in der Config unterm Template-Checker einbauen. (Für den ersten Pull)
                      Später dann auch in der Docu zu jedem Widget?

                      Zum Live-Preview hab ich so eine Idee, muss aber noch testen ob das funktioniert.
                      Super, ich bin gespannt!

                      Danke für den Tipp mit LiceCap :-)
                      Freut mich, dass es dir gefällt.

                      Gruß,
                      Hendrik

                      Kommentar


                        #41
                        Hallo,

                        ich bin "ein Kleines Stück" weiter. Heute wird nicht gespoilert, heute wird "gepulled". PR ist gestellt

                        Ich sehe das als "Proof of Concept". Bitte testen und gerne auch weiterentwickeln.

                        Ich habe das Konzept nochmals geändert. Das mit dem Assistant als Widget geht spätestens in der Doku schief. Hier wird mit dem Offline-Treiber gearbeitet.
                        Die Items sind nun als Datei unter "/var/www/html/smartvisu/lib/widget_constructor" mit dem Name "masteritem.json" abzuspeichern.

                        Der Inhalt der Datei ist ein json-Array

                        Sollte so aussehen :

                        Code:
                        ["Alexas", "Alexas.EchoDotKueche", "Alexas.EchoDotKueche.playerInfo",.......]
                        Der folgende Code als Logik erstellt diese Datei aus smarthomeNG heraus.

                        !! Achtung - bitte zunächst dafür Sorge tragen, dass das Verzeichnis existiert und smarthomeNG darauf Schreibrechte hat !!

                        Code:
                        #!/usr/bin/env python3
                        # create_master_item.py
                        import json
                        from lib.item import Items
                        items = Items.get_instance()
                        items_sorted = sorted(items.return_items(), key=lambda k: str.lower(k['_path']), reverse=False)
                        item_list = []
                        for item in items_sorted:
                          item_list.append(item._path)
                        f = open("/var/www/html/smartvisu/lib/widget_constructor/masteritem.json", "w")
                        f.write(json.dumps(item_list))
                        f.close()
                        Als Trigger für die Logik verwende ich
                        Code:
                        env.system.start
                        Der Widget-Constructor ist dann auf der Config-Seite unter dem Template-Checker zu finden.

                        Ich habe das Autocomplete-Dictionary noch um die Icons (smartvisu/icons/ws/*.*) erweitert. Die braucht man ja für fast alle Widgets

                        Im Autocomplete-Dict sind dann alle Widgets, Items, Icons.
                        Beim Laden der Seite ist das komplette Dict aktiv.
                        Man kann innerhalb des Code-Mirrors das Dict wie folgt umschalten (das "Aktive" sieht man rechts, unterhalb des Code-Mirrors)
                        Code:
                        STRG+1 => nur Items im Dict
                        STRG+2 => nur Widgets im Dict
                        STRG+3 => nur Icons im Dict
                        STRG+4 => alles im Dict
                        STRG+5 => nur Color (lt. Netscape [URL="https://wiki.selfhtml.org/wiki/Grafik/Farbpaletten#Farbnamen"]websichere Farben[/URL]) inkl. icon0/icon1
                        Wenn man sein Widget, hoffentlich korrekt zusammengestellt hat kann man das Widget dann "live" rendern. (Render ME)

                        Es wird serverseitig via php eine neue Seite erzeugt und geladen. (die landet als "construct.html" im "/smarvisu/pages/base"-Ordner (damit sie auch gefunden werden kann)

                        Es empfiehlt sich die Option "render in new Window" zu verwenden. Wenn "Inline" auf der Seite gerendert wird, was zwar funktioniert, wird die "Index.php" zerschossen
                        und die Navigation funktioniert nicht mehr (Wechsel auf eine andere Seite der VISU) - Hier habe ich noch keine Lösung gefunden. Ich habe es aber drin gelassen
                        damit noch jemand anders eine Lösung finden kann.

                        Wenn in einem externen Fenster gerendert werden soll (=default) wird automatisch ein neues Fenster mit der URL der Seite geöffnet.
                        Diese Seite enthätl dann ein JS-Script welches jede Sekunde prüft ob die Seite sich geändert hat. Falls die Seite aktualisiert wurde (erneutes "Render ME") wird
                        automatisch neu geladen. (Das ist nur bei "render in new Window" so "inline" wird das Aktualisierungs-Script nicht ausgeführt.)
                        Wenn einmal ein "neues Fenster" geöffnet wurde wird der Widget-Constructor kein weiteres Fenster öffnen. Sollte man dies geschlossen haben
                        kann man die Seite manuell aufrufen (<your_ip>/smartvisu/index.php?page=construct). Diese wird dann auch automatisch aktualisiert.

                        Das gerenderte Widget ist, sofern es denn korrekt erstellt wurde, komplett funktionsfähig. Man kann schalten, regeln usw.

                        Offen sind noch die "geschachtelten Widgets"

                        Nachtrag :

                        Für Icons gibt es jetzt einen Preview im Tool-Tip-Fenster, ebenso für Farben (Dict = Colors (STRG+5)
                        Die 16 Standardfarben + icon0 + icon1 sind jetzt im Gesamt-Dict fürs Autocomplete

                        Viel Spass beim Testen

                        Gruss Andre

                        P.S.: Wer auf das Mergen des Pulls nicht warten kann/möchte findet den letzten Stand auf meinem Git-Account unter "smartVISU" im develop-Branch widget_constructor.jpg
                        Zuletzt geändert von AndreK; 24.04.2020, 14:11.

                        Kommentar


                          #42
                          Vielen Dank für die coole Arbeit! Ich würde vorschlagen, konkrete Fixes etc. gleich auf github zu diskutieren/festzuhalten. Also im PR hier als Kommentar: https://github.com/Martin-Gleiss/smartvisu/pull/329

                          Kommentar


                            #43
                            Wow, Klasse!

                            Kommentar


                              #44
                              Ja, funktioniert echt schon sensationell. Ich hab mal einen Kommentar zum PR eingefügt, auch wenn vermutlich eh das Meiste "known issue" sein dürfte. Sicher ist sicher.

                              Kommentar


                                #45
                                Onkelandy ,

                                Habs mir doch fast gedacht, dass ich was vergessen hab "codemirror" ist in neuem PR drin. Ich habe eine Kopie der Version des codemirror von shng verwendet.
                                Ich glaube die Version ist etwas älter. Damit sollte "codemirror files missing. Downloaded v5.52.2 manually, works. However not all files seem to be necessary." erledigt sein.

                                Ich glaube "the line number in the widget constructor is displayed as overlay and therefore covering up the widget text" ist mit der Version von Codemirror auch erledigt.

                                "using a dynamic icon within a widget makes problems" ich denke damit sind die "geschachtelten" Widgets gemeint, oder ? Das ist noch offen !

                                "colours should be auto-put into '...'", kein Problem, dann schick mir mal einer alle Farben als Array, besten Dank

                                "defining "icon0" as color shouldn't bring up the icon dropdown" - das wird schwierig, entweder "icon0" + "icon1" auch ins dict oder das autocomplete ganz abschalten ?
                                Wie ist hier die Meinung ?

                                Bin mal auf weitere Rückmeldungen gespannt.

                                Gruss Andre

                                Kommentar

                                Lädt...
                                X