Ankündigung

Einklappen
Keine Ankündigung bisher.

Entwicklung: xxAPI² HTML5 Client

Einklappen
Das ist ein wichtiges Thema.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Ist es sinnvoll, wenn eine Modulsession besteht und das Modul NICHT mit einer XXMARK Seite aufgerufen wird, sondern über ein "Seite aufrufen" Verweis, dass das Modul die zuletzt geöffnete Seite zeigt?


    EDIT: Funktioniert eigentlich Prima


    Also nochmal genau beschrieben.

    Wenn ich ein Modul auf einer Webseite folgendermaßen definiere.
    XXMODUL*TOPRIGHT mit Aktion "Seite aufrufen" -> Modulseite
    dann wird das Modul wenn noch keine Session besteht mit der angegebenen Seite geladen.
    Wenn ich danach allerdings wieder auf eine Seite komme auf der TOPRIGHT geladen wird, dann wird die zuletzt in dem Modul angezeigte Seite geladen.

    Wenn ich allerdings das Modul auf einer Webseite folgendermaßen definiere oder den dynamischen Text ändere
    XXMODUL*TOPRIGHT*WETTERSTATION
    dann wird IMMER das Modul Wetterstation geladen.
    Nils

    aktuelle Bausteine:
    BusAufsicht - ServiceCheck - Pushover - HS-Insight

    Kommentar


      Hallo Nils,

      hier der Aufruf:


      XXREGICON*I293853*XXMODULCLICK**GQTL*revoxGQTL*GQTR*revoxFGQTR*GQDR*revoxFGQDR

      Gruß
      Hans-Peter
      Angehängte Dateien

      Kommentar


        Kannst du mal in der XXAPICOFIG (strg + shift + x) Debuglevel 3 anmachen und in der Konsole nach dem Klick auf den Button das Objekt und darin item hinter check_click aufmachen und den Inhalt posten?
        Nils

        aktuelle Bausteine:
        BusAufsicht - ServiceCheck - Pushover - HS-Insight

        Kommentar


          Hallo Nils,


          ich habe in der XXAPICONFIG den Debuglevel auf 3 gestellt, die Konsole geöffnet und den Revox-Button geklickt.
          In der ersten Zeile check-click habe ich hinter item auf Objekt geklickt. Daraufhin hat sich das abgebildete Fenster geöffnet. Habe ich das so richtig verstanden?

          Gruß
          Hans-Peter
          Angehängte Dateien

          Kommentar


            Lieber Nils,

            ein Feedback und einiger Input zur Ideenfindung.

            Zitat von NilsS Beitrag anzeigen
            Deine Einstellungen sind ja fast die selben, wie meine. (Kein Wunder ich hab es ja auch von Dir kopiert xD).

            Es gab dort aber irgendwo einen Fehler das es sich auf kleineren Geräten nicht auf Originalgröße skalieren ließ wenn ich mich richtig errinere.
            Hier bei quirksmode.org sind diese Themen am besten beschrieben, aber die Seite kennst du wahrscheinlich eh schon.

            Anmerkung: Fotonummerierung fängt bei Nummer 4 an, daher in Beschreibung von 4 bis 19 (in Klammer von 1 bis 15).

            a) Nochmals die Ergebnisse bei meinen Einstellungen (iPhone 6 plus). Ist bei iPAD air 2 identisch.

            Foto 4 (1): alte xxAPI (linksbündig)
            Foto 5 (2): neue xxAPI2 (zentriert waagrecht)
            Foto 6 (3): neue xxAPI2 (zentriert Porträt).

            Was Du bei den Multimedia-Einstellungen siehst, ist dass die Lautsprechereinstellungen nur wenn das Gerät eingeschaltet ist, sichtbar und bedienbar sein sollen (siehe mein vorheriges Posting).

            b) Fehler (Werte von zamg.at), bei Grad-Anzeige bei neuem xxAPI:

            Foto 7 (4): alte xxAPI
            Foto 8 (5): neue xxAPI

            IDEEN für grafische Elemente (Punkt c) und g) ). Wollte von meiner Seite einige Ideen reinbringen, die heute schwer realisierbar sind. Überhaupt muß man diskutieren, wie man daraus einfach handbare (das wäre das wichtigste) "Packages" zur Verfügung stellen könnte.

            c) Beispiele aus alter xxAPI die ich gerne als slider hätte. Bei der alten xxAPI wird ab dem 2. Popup auch der Hintergrund (nur des aktuellen iFrames) verloren. Wäre schön wenn die neuen Popup "gestapelt" werden. Beispiel Foto 12 und 13, wenn Sollwertverschiebung bei Heizung aufgerufen wird. Weiters sollte das POPUP in der Nähe (links, rechts, oben, unten) in der Nähe des aufrufenden Elementes liegen.
            Weiters möchte ich ein Popup nur einmal designen und z.B. für Dimmen immer das gleiche Element (parametrierbar) aufrufen. Habe meine Applikation total umgebaut, weil mir das nachträgliche Ändern ziemlich auf die Nerven gegangen ist.

            ab Foto 9 (6) bis 13 (9)


            d) Foto 14 (10) bis 17 (13)

            Zeigt bei Multimedia ein Popup im Wohnzimmer an

            Foto 14 (10): Ausgeschaltet, Hintergrund rot
            Foto 15 (11): Eingeschaltet, Hintergrund schwarz, Sanduhr für Fernseher
            Foto 16 (12): Eingeschaltener Radio (geht natürlich auch für Fernseher), 2. Zeile aufrufbare Sender
            Foto 17 (13): Wie 16, Ikone von aufrufenden "Knopf" hat Senderlogo (geht jetzt erst nach Beenden des Popups), weiters ein grüner Rahmen wenn mehrere Geräte oder Sender zur Auswahl stehen. In diesem Beispiel ist analoger Radio und Sender ORF1 eingeschaltet.

            e) animierte GIFs als Hintergrund
            Oder animiertes GIF als Hintergrund bei Regen oder Schnee. Siehe Bild 18 (14), ganz oben bei den Karteien) oder Bild 19 (15) mit animierten Regentropfen vom oberen Rand.

            f) Heizungssimulation animiert
            Heizungssimulation. Bild 19 (15). Ist heute nur mit extremen Aufwand realisierbar, überhaupt mit animierten GIFs.

            g) Uhr oder andere Maschinen animiert und steuerbar mit Parameter-Variablen.
            Uhr (siehe alle Bilder, rechts unten).

            Gruss HANS
            Angehängte Dateien
            Hans

            Kommentar


              @Hans

              a) https://github.com/knxuf/xxAPI2/comm...f7d6bf1941a6cd sollte das doch eigentlich gefixed haben

              b) hmm, ja ich schreibe die Werte in .text und nicht in .html. Das war ja damals ein Problem wegen dem HTML4 mit iso8559, sollte am besten Bausteinseitig im HS geändert werden. Der Text sieht im HS-Client ja genauso aus. (oder mit XXHTML* prefixen)

              c) Slider wirds geben, da spricht eigentlich nichts mehr gegen, aber bei den Popups. Derzeitiger Plan ist, das ein Popup sich als neue Session vor die Visu legt und die Visu auch weiter refreshed wird. Ein Popup auf dem Popup könnte evtl..... mal sehen.

              d + e) Hintergrundbild kann auch jetzt schon geändert werden. (Darf aber kein Fragezeichen enthalten weil ich ? in " wandele da man es sonst nicht im Experten eingeben kann)
              Code:
              XXEXECUTE*item.page.object.css(?background-image?,?url(http://ip/somepath/jpg)?);
              f +g) canvas könnte man evtl nutzen, aber auch CSS transform
              Nils

              aktuelle Bausteine:
              BusAufsicht - ServiceCheck - Pushover - HS-Insight

              Kommentar


                @Hans-Peter
                Das sieht eigentlich alles gut aus, keine Ahnung warum der Befehl da nicht ausgeführt wird.

                Vielleicht kannst du sonst nochmal auf Debuglevel 4 gehen und dann nach "do_command" gucken. Wenn das ausgeführt wird (und es keine Error in der Konsole gibt), dann setzt die Visu das auf jedenfall an den HS ab.
                Nils

                aktuelle Bausteine:
                BusAufsicht - ServiceCheck - Pushover - HS-Insight

                Kommentar


                  Zitat von NilsS Beitrag anzeigen
                  Text auf
                  Code:
                  XXEXECUTE*item.css({?pointer-events?,?none?});
                  und zum Sperren wieder auf
                  Code:
                  XXEXECUTE*item.css({?pointer-events?,?auto?});
                  das war natürlich Unsinn

                  Code:
                  XXEXECUTE*item.customcss = {?pointer-events? : ?auto?};
                  XXEXECUTE*item.customcss = {?pointer-events? : ?none?};
                  muss es natürlich heißen
                  Nils

                  aktuelle Bausteine:
                  BusAufsicht - ServiceCheck - Pushover - HS-Insight

                  Kommentar


                    Hintergrund auf Gifs wechseln ist gefixed.

                    Code:
                    XXEXECUTE*item.page.object.css(?background-image?,?url(http://images2.layoutsparks.com/1/165475/blue-lightning-flash-sky.gif)?);
                    XXEXECUTE*item.page.object.css(?background-image?,?url(https://4.bp.blogspot.com/-YPmQcxA0eho/U0LbtD3YiVI/AAAAAAAABP8/B3UDPXFVQ1A/s1600/rain-fall-animation.gif)?);
                    sind jetzt nicht unbedingt die schönsten aber es geht.

                    Das laden könnte man evtl. noch optimieren
                    Nils

                    aktuelle Bausteine:
                    BusAufsicht - ServiceCheck - Pushover - HS-Insight

                    Kommentar


                      Zur Info:

                      Hallo Nils,

                      das Aufrufen und Ausblenden des Plug-in´s funktioniert jetzt. Ich habe den Revox-Button dupliziert und so eine neue Bild-ID-Nr. bekommen. Mit dieser oder einer anderen funktioniert es, mit der ursprünglichen nicht, warum auch immer.

                      XXREGICON*I315687*XXMODULCLICK**INFO*Menueinfo*GQTR*revoxFGQTR*GQDR *revoxFGQDR

                      Im Quadranten QTR rufe ich da Plug-In verkleinert über ein Textfeld (XXMODULCLICK**GQTR*revoxGQTR*GQDR*revoxPR99*) auf, da geht es nicht, da funktionieren aber auch 1bit-Rückmeldesymbole nicht mit XXMODULCLICK. Da bin ich noch am testen.

                      Gruß
                      Hans-Peter

                      Kommentar


                        Hallo Nils,
                        Kommando zurück, es geht doch nicht richtig.

                        Beschreibung:
                        Der Revox-Button befindet sich im Menü auf GQDL mit IP-Befehl (_QL_M233 einblenden dunkelgrau 230)
                        zum Einblenden vom Plug-In in GQDL.


                        Seitenaufruf in GQDL, GQTR und GQDR über Bild-ID

                        XXREGICON*I315696*XXMODULCLICK**INFO*Menueinfo*GQTR*pr99GQTR*GQDR*p r99GQDR*GQTL*revoxGQTL*


                        Die Seiten werden aufgerufen, der IP-Befehl bleibt wirkungslos.



                        Befindet sich der Button jedoch außerhalb von GQDL, werden sowohl die Seiten aufgerufen als auch das Plug-In.

                        Gruß
                        Hans-Peter
                        Angehängte Dateien

                        Kommentar


                          Lieber Nils,

                          danke für den Vorschlag. Trotzdem einige Zusatzfragen:

                          Zitat von NilsS Beitrag anzeigen
                          @Hans
                          Wenn du dir folgendes in die custom.js kopierst kommt deine Uhr wieder.

                          Code:
                          hs.functions.element_loader("js/station-clock.js");
                          setTimeout(function () {
                              var _canvas = $("<canvas />",{
                                  "id"     : "bahnhofsuhr_canvas",
                                  "width"  : "146px",
                                  "css"    : {
                                      "position"  : "absolute",
                                      "top"       : "696px",
                                      "left"      : "953px",
                                      "border"    : "0px",
                                  },
                              });
                              $("body").append(_canvas);
                              var _clock = new StationClock("bahnhofsuhr_canvas");
                              _clock.body = StationClock.SmallWhiteBody;
                              _clock.dial = StationClock.SwissStrokeDial;
                              _clock.hourHand = StationClock.PointedHourHand;
                              _clock.minuteHand = StationClock.PointedMinuteHand;
                              _clock.secondHand = StationClock.HoleShapedSecondHand;
                              _clock.boss = StationClock.NoBoss;
                              _clock.minuteHandBehavoir = StationClock.BouncingMinuteHand;
                              _clock.secondHandBehavoir = StationClock.BouncingSecondHand;    
                          
                              setInterval(function() {
                                  _clock.draw();
                              },500);
                          },1000);
                          Einige prinzipielle Verständnisfragen (ich bin auch den ganzen Thread durchgegangen, hab aber nichts gefunden):

                          1. gehört die custom.js in das Stammverzeichnis (meine damit das Verzeichnis von xstart.htm) ?
                          2. Ist "js/station-clock.js" <stammdir>/js/station-clock.js ?
                          3. muss ich setinterval() im body aufrufen ?

                          Gruss HANS
                          Hans

                          Kommentar


                            Ergänzung:

                            Aufruf in_1(Menüleiste): Aktion wird durchführt (Bild3, Plug-In blau umrahmt)

                            Aufruf in_2,4-6: IP-Befehl schlägt fehl

                            Aufruf_3:Seitenaufruf in Button aktiviert, der Rest über
                            XXREGICON*I315696*XXMODULCLICK**INFO*Menueinfo*GQT R*pr99GQTR*GQDR*pr99GQDR*
                            ohne GQTL. Es erscheint nur GQTL (Bild_2) allein zentriert.

                            Grüsse
                            Hans-Peter
                            Angehängte Dateien

                            Kommentar


                              @Hans-Peter
                              Prima mit den Screenshots kann ich mir mehr darunter vorstellen.
                              Tritt das Problem auch auf wenn die Visu gerade mit F5 refreshed wurde? oder nur im Alltagsgebrauch (evtl. ein Timeout in einer der Sessions) gibt es irgendwelche Error/Warning in der Konsole?

                              @Hans
                              zu 1) custom.js und custom.css befinden sich im gleichen Pfad wie die [x]start.htm. Über diese Dateien solltest du alle Änderungen durchführen und die .htm unberührt lassen.
                              zu 2) ja die basedir des HTML wird nach dem laden der xxapi2 wieder auf den Pfad der [x]start.htm zurückgesetzt, sodass sich alle URLs relativ zum Ordner der [x]start.htm befinden.
                              zu 3) Nein du musst nur diesen Codeschnippsel in die custom.js einfügen, der Interval wird aus der anonymen Funktion aufgerufen. Ich habe die Funktion mit dem setTimeout von der eigentlich xxAPI entkoppelt, damit bei einem Fehler innerhalb der Funktion der Rest der xxAPI nicht betroffen ist.

                              EDIT: du kannst auch statt $("body").append(_canvas); ein $("#VISU").append(_canvas); nehmen
                              Nils

                              aktuelle Bausteine:
                              BusAufsicht - ServiceCheck - Pushover - HS-Insight

                              Kommentar


                                Zitat von HAPE Beitrag anzeigen
                                XXREGICON*I315696*XXMODULCLICK**INFO*Menueinfo*GQT R*pr99GQTR*GQDR*pr99GQDR*
                                [COLOR=DarkOrange] [COLOR=Black]
                                Alle Clicks innerhalb der Module die durch den XXMODULCLICK geändert werden funktionieren anscheinend nicht.

                                Muss ich mal nachbauen.

                                EDIT: Das Tonband ist in der mitte durchgeschnitten und füllt die zwei Module GQTR und GQDR?
                                Nils

                                aktuelle Bausteine:
                                BusAufsicht - ServiceCheck - Pushover - HS-Insight

                                Kommentar

                                Lädt...
                                X