Ankündigung

Einklappen
Keine Ankündigung bisher.

HSMonitor - Aktualisierung

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

    #61
    nein, gibt es nicht.
    Gruß Matthias
    EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
    - PN nur für PERSÖNLICHES!

    Kommentar


      #62
      ok, dann muss ich halt die ajax.js durchsuchen.
      danke für deine infos.

      Kommentar


        #63
        In gewissen maße geht das schon.

        Lies dir die ajax.js durch. Da ist alles drin was du dafür brauchst.

        Der Zugriff ist dadurch aber nur möglich auf das was in der Visu auch angelegt ist. Siehe Logikbaustein 12251_Proxy aus dem hsfusion Bereich.

        Der macht nämlich genau das.

        Login in die HS-Visu mittels Python. Ist aber genauso schon in der ajax.js und sollte eigentlich auch in jede andere Programmiersprache implemtiert werden können.
        Code:
                    ##### AUTH #####
                    self.nGlobTAN2=0
                    self.sGlobKey1=""
                    self.sGlobKey2=""
                    for i in range(0,64-len(self.user.UserPW)):
                        self.user.UserPW+=chr(0)
                    for i in range(64):
                        self.sGlobKey1+=chr(ord(self.user.UserPW[i])^0x5c)
                        self.sGlobKey2+=chr(ord(self.user.UserPW[i])^0x36);
         
         
                def doLogin(self):
                    self.nGlobTAN2=0
                    if self.failedLogins<3:
                        self.failedLogins+=1
                        ## Init und TAN holen
                        uri="/hsgui?cmd=init&user=%s&cid=%s&ref=%s&temp=%d" % (self.user.UserName,self.design,self.ref,self.timeStamp())
                        result = __import__('re').findall(r"<HND>(\d+)</HND><TAN>(\d+)</TAN><POS>(\d+)</POS>", self.receive(uri))
                        if not result:
                            self.LoggedIn=False
                            return
         
                        [(self.handle,self.sGlobTAN1,self.nGlobKeyPos )] = result
                        self.nGlobKeyPos=int(self.nGlobKeyPos)*1+1
         
                        ## Login
                        uri="/hsgui?%s" % (self.encodeurl(0,"cmd=login"),)
                        data=self.receive(uri)
                        if data:
                            #print repr(__import__('re').findall(r'<USR.*\svis="(\d+)".*', data))
                            try:
                                startPage = int(__import__('re').findall(r'<USR.*\svis="(\d+)".*', data)[0])
                                if startPage>0:
                                    self.LoggedIn=True
                                    self.failedLogins=0
                                    self.getPage(str(startPage),self.user.UserName.upper())
                                    return
                            except IndexError:
                                pass
                        self.LoggedIn=False
                    else:
                        raise "Login Error"
         
                def encodeurl(self,isCam,url):
                    if isCam==0:
                        self.nGlobTAN2+=1;
                    urlpos=url.find("?")+1
                    pathurl=''
                    if urlpos>0:
                        pathurl=url[:urlpos]
                        url=url[urlpos:]
         
                    url+="&hnd="+self.handle;
         
                    if url.find("cmd=login")==0:
                        key1=__import__('md5').new(self.sGlobKey2+self.sGlobTAN1+str(self.nGlobTAN2)+url).hexdigest()
                        key1=key1.upper()
                        key2=__import__('md5').new(self.sGlobKey1+key1).hexdigest()
                        key2=key2.upper()
                        url+="&code="+key2[self.nGlobKeyPos-1:self.nGlobKeyPos+9]
                    else:
                        if self.LoggedIn:
        "CNT:"+str(self.nGlobTAN2)
                            url+="&code=XX"+self.sGlobTAN1+str(self.nGlobTAN2);
                        else:
                            self.doLogin()
                    return pathurl+url
         
         
                def timeStamp(self):
                    self.TimeStamp=long(__import__('time').time()*1000)
                    return self.TimeStamp



        EDIT: Sorry Makki das ist natürlich mal wieder völlig OT
        Nils

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

        Kommentar


          #64
          hi nils,
          danke auch dir. ich werde mal sehen was sich draus machen lässt.

          Kommentar


            #65
            sorry wenn es wirklich komplett am thema vorbeiging. aber um das thema abschließend zu beantworten:
            ich hab mir den experten nochmal genauer angesehen. die archive/listen kann ich ja per z.b. http-abruf abrufen. und für den zeitschaltuhrersatz kann man ja die externen schaltlisten nutzen. ich denke alles andere mit anmeldung uns sonstigen über den homeserver wäre wirklich durchs auge in die brust.

            also ist eine externe visu mit nachfolgenden elementen umsetzbar:
            - ko-gateway
            - archive per z.b. http-abruf
            - externe schaltlisten

            Kommentar


              #66
              Mit dem Thema HS-Monitor fürs KO-GW hats natürlich herzlich wenig zu tun, aber

              Zitat von NilsS Beitrag anzeigen
              EDIT: Sorry Makki das ist natürlich mal wieder völlig OT
              Ach ich bin da schmerzbefreit

              Jedenfalls, für eine externe Visu (dafür hab ich das ganze u.a. eigentlich geschrieben, auch wenns nichts mitm Thread-Thema zu tun hat):
              Die HS-Archive sind ja eh unbrauchbar, zumindest wenn man externe Alternativen hat.
              Für eine externe Visu, die auch iKOs des HS darstellen/steuern soll ist das KO-GW ja genau das richtige; das QC oder HTTP(AV/xxAPI) dafür zu Missbrauchen lohnt kaum: Realtime-Statusupdates <1sek und clientvertägliches Verhalten bekommt man AFAIK nur mit dem KO-GW..

              Also am besten wäre einer schreibt den parser in effizient (der qHSMon ist zwar 10x schneller als der orginal HS-Monitor aber auch ganz sicher nochmal Faktor 10 vom optimum entfernt - mir stellt sich aktuell nur nicht die Notwendigkeit)

              Makki
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar


                #67
                Ich habe die Windows-exe jetzt mal in die Forum-Downloads, damit die leichte Schnitzeljagd im 5seitigen Thread entfällt.. Scheint ja hinreichend stabil..

                Source immernoch hier zu haben, ich checke das aber jetzt auch mal gleich ins interne SVN ein.

                Edit: Source ist jetzt erstmal im WG-trac/SVN (nachdem ich am Mi. grosse Teile anderer Entwicklungsarbeit der letzten Monate spontan dank Seagehtodersiegehtnicht verloren habe - besser ist das..)

                Makki
                EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                -> Bitte KEINE PNs!

                Kommentar


                  #68
                  Mayday - ich bin blind - und finde es im Forums-Download auch nicht!
                  Wo ist es denn einsortiert?

                  Gruß
                  Thorsten

                  Kommentar


                    #69
                    Muss noch freigegeben werden..
                    Edit: die Mods waren schon fleissig, ist jetzt freigegeben

                    Und damit der Post nicht umsonst ist hänge ich noch die frische gebaute Ubuntu 10.10-Binary an (sollte von Debian 5.0 bis Windows 10.04 auch gehen)

                    Makki
                    Angehängte Dateien
                    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                    -> Bitte KEINE PNs!

                    Kommentar


                      #70
                      Nebenbei: (weiterführend vom anderen Thread) nochmal, wenn es jemand schafft, sich QT4 und nen gcc(g++) noch aufm Mac zu installieren und ne binary für OSX zu machen, kann man bestimmt Freunde gewinnen Würde bestimmt gerne gesehen..
                      Ausserdem wäre es ein schöner Showcase, warum QT - wo für jedes OS eine nativ gutaussehende Anwendung mal eben so "rausfällt" - einfach das "richtigere" ist.. Was mich wiederum freuen würde..
                      Falls es in diesem Fall probleme gibt, würde ich *ausnahmsweise* (!?!) sogar für OSX was fixen (glaube ich aber nicht, ich habe - auch wenn ich keinen blassen Dunst von C++ habe - peinlichst genau darauf geachtet absolut keine plattformspezifische Sonderlocke zu verwenden..)

                      Makki
                      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                      -> Bitte KEINE PNs!

                      Kommentar


                        #71
                        Hallo,

                        versuche gerade den qhsmon auszuprobieren. Die GAs werden auch entsprechend angezeigt, aber danach regt sich nichts mehr - die Spalten Count, Time, Value bleiben leer.

                        Hat einer eine Idee, woran des liegen könnte.

                        Danke
                        Ralf

                        Kommentar


                          #72
                          Unten in der Statuszeile sagt es eigentlich ggfs. wo es hängt.

                          - Haken gesetzt? siehe Anhang
                          - Bilder+Daten+Ansagen übertragen
                          - richtiger Port/IP
                          - ggfs. mal den Schlüssel (Secret) rausnehmen, hab ich seit ewig nicht mehr mit getestet.

                          Makki
                          Angehängte Dateien
                          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                          -> Bitte KEINE PNs!

                          Kommentar


                            #73
                            Hat den qHSMon schonmal jemand mit aktueller FW (2.8/2.10) ausprobiert?
                            Nur so gefragt, in den Releasenotes steht was von KO-GW, ich bleibe mangels jeglicher notwendiger Features mal weiter auf 2.5

                            Makki

                            P.S.: Nur nochmal zur Erinnerung: Aktuelle Windows-EXE hier in den Downloads, Link zum Source dort im Text, läuft auch unter Ubuntu problemlos (Ubuntu-User schaffen das alleine; qmake; make) und theoretisch OSX - wenn sich jemand findet ders dort kompilieren kann
                            EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                            -> Bitte KEINE PNs!

                            Kommentar


                              #74
                              geht mit 2.8 wie vorher (windows)
                              Gruß
                              T.

                              Kommentar


                                #75
                                Dann ist ja gut, Danke, also nicht alles falsch gemacht

                                Mich wundert nur das geringe Feedback immer wieder, beim original muss man ohne starke Drogen ja Lähmungserscheinungen bekommen, wenn man mehr als 10 GA's hat.. Aber vielleicht funktionierts einfach auch nur zu gut

                                Wer kompiliert das Ding jetzt mal endlich unter OSX, um das eigentliche Killerfeature davon (Qt) darzustellen?

                                Makki
                                EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                                -> Bitte KEINE PNs!

                                Kommentar

                                Lädt...
                                X