Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem - Telnet gesteuerte Switch An/Aus

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

    HS/FS Problem - Telnet gesteuerte Switch An/Aus

    Hallo zusammen,
    dies wird mein erstes Thema und hoffe nicht sofort geköpft zu werden.

    Nun um es sachlich zu halten zu meinem Problem.
    Ich habe ein HP 1910-8 JG537A (jedoch unabhängig vom modell möchte ich dieses problem behandeln)

    da ich etwas frischer in der Homeserver programmierung bin möchte ich eigendlich nur folgendes:

    • Manche Switche werden über PoE betrieben und ich möchte z.b. das ein Taster beim Betätigen -> den Telnet Befehl Lan-Port 3 deaktiviert.


    Im HP Switch ist es möglich über das Webinterface einzelne LAN-Ports zu Deaktivieren.

    Nun ist meine Frage ist das möglich ? Wenn ja wie ?

    Nebeninfos
    • Homeserver Gira 3
    • KNX Gira Taster 3
    • ETS4
    • Der Experte 4.2


    Würde mich auf konstruktive Kritik und Anregungen freuen.

    #2
    Mit HS Bordmitteln nicht möglich.
    Gruß Matthias
    EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
    - PN nur für PERSÖNLICHES!

    Kommentar


      #3
      Wirklich keine möglichkeiten?
      es ist doch auch möglich sich über Telnet auf eine Fritzbox zu verbinden.

      Würde es den funktionieren mit irgent eine art Aktor ? oder modul?
      Da ich nicht den PoE switch ganz offline nehmen möchte sondern Expliziete ports Deaktivieren

      Kommentar


        #4
        Ich schrieb: mit Bordmitteln.

        Fritzbox ist ein Spezialbaustein, der eine TCP Verbindung erstellt.
        Gruß Matthias
        EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
        - PN nur für PERSÖNLICHES!

        Kommentar


          #5
          Danke für dein Schnelles antworten.
          das heißt die HS mögen kein Telnet sondern nur normal TCP

          mhm also über Webinterface zu arbeiten wäre eine idee leider ebensowenig mit gearbeitet.

          Kommentar


            #6
            Der HS kann keine TCP Verbindung halten. Alle Bordmittel wie Webabfragen bauen Verbindung auf und nach Ausführung wieder ab. man kann also keine zwei Abfragen auf eine bestehende Verbindung senden.

            Deswegen eben die Spezialbausteine wie Squeeze oder Fritzbox oder die Ansteuerungen von Hifi-Komponenten, die in einem speziellen Logikbaustein eine komplette eigenständige Kommunikation abbilden.
            Gruß Matthias
            EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
            - PN nur für PERSÖNLICHES!

            Kommentar


              #7
              Hallo nochmal,
              Da ich nun endlich die passenden Telnet Befehle gefunden habe und ich mich selbst an einem Logikbaustein versuche, würde ich es hier gerne Posten.

              Natürlich wäre ich über Hilfe oder Versuchsaufbauten anderer eines Logikbausteine super erfreut. Zudem würde dieser dann mit in den Download bereich für andere zur verfügung stehn.

              Nun in meinem Beispiel der Switch HP 1910-JG537A

              Telnet:
              1. IP: 192.168.0.102
              • Username:admin
                • Passwort:Passwort

              2.Befehl:
              • _cmdline-mode on
                • Passwort: 512900

              • system-view
              • interface eth 1/0/3
                • shutdown (Deaktivieren)

                • default (Aktivieren)


              (zu beachten ist das im Webinterface Telnet aktiviert sein muss um dementsprechenden zugriff über telnet zu erhalten.
              Sollte es zu Fehlern kommen wie "Es wurde kein Benutzer gemacht" obwohl
              einer erstellt wurde schaut auf welcher Firmware der Switch läuft und macht notfalls eine vollständige "Default Wiederherstellung".)




              Da ich leider weniger ahnung habe was Python angeht erhoffe ich mir hier den einen oder anderen tipp oder gar aktive Hilfe.

              Kommentar


                #8
                Wende dich mal an tbi
                Gruß Matthias
                EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
                - PN nur für PERSÖNLICHES!

                Kommentar


                  #9
                  Hallöle,

                  Na, dann melde ich mich mal.

                  Also es gibt schon einige Bausteine, die eine Telnet Verbindung aufbauen.

                  Der Squeeze ist so einer. Dort werden alle Zeichen die man als Text rein gibt auf die <IP>:<port> ausgegeben. Wenn man in config sendall2a3=true setzt werden alle Ausgaben, die empfangen werden, direkt auf dem Ausgang A3 ausgegeben.

                  Also damit gibt es schon mal Ein sowie Ausgabe auf einen Telnet port (Telnet ist immer port 23).

                  Das ist aber dann immer erstmal nur das Interface.

                  Nun kann man sich einen eigenen Baustein schreiben oder es sich etwas leichter machen und versuchen nur die Befehle in HS Logik so wie Du es beschrieben hast abzusetzten und den Squeeze verwenden.

                  Die Herausforderung liegt eher in der Testumgebung als in der Logik selbst.

                  Ich könnet das hier alles aufschreiben, aber ich bin da zu Faul.

                  Ich mache dann lieber eine Teamviewer Sitzung und dann läuft es auch bei Dir.

                  Wie Tief willst Du denn einsteigen? Kannst Du programmieren ?

                  HS ist neu, gut. Aber was hast Du für Vorkenntnisse ?

                  Tbi

                  Kommentar


                    #10
                    Nun zu meinen Fähgikeiten:
                    ich selbst programmiere gelegentlich in VB/vb.net oder C#
                    doch python habe ich noch nie angefasst.

                    Da google unser Freund ist habe ich schon Python-telnet Libs gefunden.
                    Aber es ist für mich genau so wie Italiensich zu Latein.
                    Man kann einiges Erraten und nachvollziehn. Dennoch ist die syntax eine andere.

                    Besitze Teamviewer - spezifische infos bitte dann per PN
                    (testmöglichkeiten wären von 9-17uhr)

                    In meinem Testaufbau nutze ich gerade vor ort ein Gira 2 Homeserver.
                    Dennoch sind alle anderen daten identisch. Das müsste dennoch keine änderen der probleme führen. (nur das der server etwas langsam ist)

                    Nun ich mache demnäachst meine KNX prüfung bei der Handwerkskammer.

                    In der zeit versuche ich mir mal den Squeeze Logikbaustein genauer anzuschauen.

                    Zu deiner Frage, wie tief ich einsteigen möchte ist nur zu sagen.
                    Sehr tief. Da ich wenn ich das hier drauf hab gerne anderen ebenso helfen will. Kunden spezifische Logikbausteine dann gerne hier im forum zur verfügung stelle.

                    Aber das dauert leider noch etwas.

                    Kommentar


                      #11
                      Tut mir leid für den Doppelpost,

                      Habe mich selbst mal dran gesetzt.
                      So habe ich mal versucht mein eigenen Baustein zu bauen.

                      Dieser simple mit der Telnetlib arbeitet und die befehle durchschickt.
                      Da leider tbi sich noch nicht gemeldet hatte (was keineswegs ein vorwurf sein soll), habe ich ein kleines weiteres problem.

                      im Grafischen Logikeditor habe ich also

                      Eingang (Schalter) ----> Baustein -----> Ausgang ?

                      Also wie ihr seht hab ich da so meine kleinen problemchen.
                      Mein derzeitiger versuch war Folgendes:
                      Ausgang (+) dann auf "neu"
                      Befehlstyp : IP/EIB -Telegramm'Befehlstelnet' senden
                      Modus IP/EIB -Telegramm versenden
                      IP/EIB -Telegramm: -> musste ich ein neuen Empfänger hinzufügen
                      ____________________________
                      (X) Daten an ip-Emfpänger
                      IP-Telegramm-typ : ???????(UDP ?)
                      IP : 198.168.0.167 (Switch)
                      IP Port: 23 (Telnet)
                      ____________________________

                      Ich will lediglich Wissen ob ich den Ausgang richtig gesetzt habe?

                      Damit ich das auschließen kann und mich nochmal an den code setzten kann.

                      Kommentar


                        #12
                        Da es mich bis heute immer noch nicht los gelassen hat.

                        Wollte ich euch mal das ganze Posten:
                        Also ich habe mir ein Beispiel von 12298_Marantz und habe das ganze versucht zu coden.

                        Wärend des ladens gibt es keinerlei Probleme, (im Debug vom Hslist des servers).

                        Da die Debug möglichkeiten leider noch fachchinesisch ist. und der HSmon nicht so will wie ich . habe ich also keinerlei anderen möglichkeit als immer Neu ein Baustein zu kompilieren und reinzuladen und testen.

                        ##Baustein Overlay .hsl##
                        Code:
                        #5000|"Text"|Remanent(1/0)|Anz.Eingänge|.n.|Anzahl Ausgänge|.n.|.n.
                        #5001|Anzahl Eingänge|Ausgänge|Offset|Speicher|Berechnung bei Start
                        #5002|Index Eingang|Default Wert|0=numerisch 1=alphanummerisch
                        #5003|Speicher|Initwert|Remanent
                        #5004|ausgang|Initwert|runden binär (0/1)|typ (1-send/2-sbc)|0=numerisch 1=alphanummerisch
                        #5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang
                        
                        
                        5000|"www.knx-user-forum.de\Lunar"|0|4|"E1 IP-Addr"|"E2 Port|"E3 Interface"|"E4 Trigger hier ansetzen"|2|"A1 Ausgang"|"A2 Trigger Status"|"V1.0"
                        
                        5001|4|2|1|1|1
                        
                        # EN[x]
                        5002|1|"192.168.0.123"|1
                        5002|2|"23"|1
                        5002|3|"1/0/3"|1
                        5002|4|0|0  #Kanal zum Triggern
                        
                        5003|1||0
                        
                        #Sende Befehle Ausgang
                        5004|1|""|0|1|1
                        #Status Triggern
                        5004|2|0|1|1|0
                        
                        ## Klasse auf SN1
                        
                        5012|1|"EI"|"1"|"20"|0|1|0|0
                        5012|0|"(EA!=EN) or EI"|"eval(__import__('marshal').loads(__import__('base64').decodestring('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')))"|""|0|0|0|0
                        
                        5012|0|"EI"|"Telnet_Port(EN[1],EN[2],EN[3])"|""|0|0|1|0
                        ##Python Code##
                        Code:
                        import sys
                        import os
                        import base64
                        import marshal
                        import re
                        import md5
                        import inspect
                        import socket
                        import time
                        import tempfile
                        import popen2
                        import zlib
                        import zipfile
                        
                        code = """
                        ## Eigener Code ##
                        
                        
                        if EI:
                            global re,md5,socket,time,threading,sys,traceback,select,base64,marshal,zlib,codecs
                            import re
                            import md5
                            import socket
                            import time
                            import threading
                            import sys
                            import traceback
                            import select
                            import base64
                            import marshal
                            import zlib
                            import codecs
                            class Telnet_Port:
                                def __init__(self,ip,port,interface):
                                    self.__ip = ip
                                    self.__port = port
                                    self.__interface = interface
                                    
                                    self.__ControlMutex = threading.Condition()
                                    self.maxWaitTime = 120
                                    
                                    
                                    self.__thread = threading.Thread(target=self.__loop,name='Telnet_Port'+"192.168.0.167")
                                    self.__thread.setDaemon(True)
                                    self.__thread.start()
                                    
                                def control(self,mode):
                                    try:
                                        self.__ControlMutex.acquire()
                                        if mode == 1:
                                            self.__TCPisrunning = 1
                                            self.connectFail = 0
                                            self.__ControlMutex.notify()
                                        else:
                                            
                                            self.__TCPisrunning = 0
                                    finally:
                                        self.__ControlMutex.release()
                                    
                                def __loop(self):
                                    timeout = { 0:0, 1:0, 2:10, 3:10, 4:30, 5:60, 6:120 }
                                    connectFail = 0
                                    
                                    
                                    while True:
                                        try:
                                            if not self.__TCPisrunning:
                                                try:
                                                    
                                                    self.__ControlMutex.acquire()
                                                    
                                                    while not self.__TCPisrunning:
                                                        self.__ControlMutex.wait()
                                                finally:
                                                    self.__ControlMutex.release()
                                            
                                            else:
                                                
                                                wtime = timeout.get(connectFail,self.maxWaitTime)
                                                
                                                time.sleep(wtime)
                                                
                                            
                                            self.sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
                                            
                                            try:
                                                
                                                self.sock.connect("192.168.0.167", 23)
                                                
                                                self.ConnectLog('success')
                                                
                                                
                                                connectFail = 0
                                                
                                                
                                                
                                                
                                                time.sleep(1)
                                                
                                                
                                            except socket.error:
                                                self.ConnectLog('socketerror')
                                                continue
                                            
                                            except:
                                                
                                                self.ConnectLog('connectionlost')
                                                continue
                                    
                                            while self.__TCPisrunning:
                                                try:
                                                    
                                                    try:
                                                        r,w,e = select.select([self.sock],[],[self.sock],2)
                                                    except:
                                                        
                                                        break
                                                    
                                                    if self.sock in r:
                                                        try:
                                                            
                                                            data = self.sock.recv(2048)
                                                            
                                                            if not data:
                                                                break
                                                                
                                                            for temp in data.splitlines():
                                                                if len(temp) > 0:
                                                                    print " ", temp
                                                                    self.__parse(temp)
                                                                
                                                        except socket.error, EOFError:
                                                            break
                                                        
                                                        except:
                                                            print "Wrong Socket from select"
                                                            break
                                                    else:
                                                        
                                                        if r:
                                                            print "Wrong Socket from select"
                                                            break
                                                        
                                                    
                                                    if e:
                                                        print "Wrong Socket from select"
                                                        break
                                                except:
                                                    print "Wrong Socket from select"
                                                    break
                                            
                                            
                                            if self.__TCPisrunning:
                                                self.ConnectLog('connectionlost')
                                                
                                            
                                        finally:
                                            self.ConnectLog('closed')
                                            self.sock.close()
                                            self.sock = None
                                            connectFail += 1
                                            
                                def __parse(self,data):
                                    if data.find('Username:') > 0 :
                                        self.sock.sendall('Test' + chr(10))
                                        self.sock.sendall('start123' + chr(10))
                                        self.sock.sendall('_cmdline-mode on' + chr(10))
                                        self.sock.sendall('Y' + chr(10))
                                        self.sock.sendall('512900' + chr(10))
                                        self.sock.sendall('system-view' + chr(10))
                                        self.sock.sendall('interface eth 1/0/3' + chr(10))
                                        self.sock.sendall('shutdown' + chr(10))
                                        
                                    return
                        
                        """
                        
                        print code
                        data=compile(code,"<string>","exec")
                        
                        data=marshal.dumps(data)
                        #print data
                        formel = "5012|0|\"(EA!=EN) or EI\"|\"eval(__import__('marshal').loads(__import__('base64').decodestring('"+re.sub("\n","",base64.encodestring(data))+"')))\"|\"\"|0|0|0|0"
                        open('HSLogik.out.hsl','w').write(formel+"\n")
                        Nur zur info für jede die den Code verstehn.
                        Ich habe absichtlich nicht die baustein IP /Port / Interface benutzt
                        Damit ich es so statisch wie möglich und fehler quellen von vorn herrein ausgeschlossen werden.

                        Jedoch WAS mache ich falsch.
                        Wäre sehr verbunden wenn einer den fehler finden könnte
                        Angehängte Dateien

                        Kommentar

                        Lädt...
                        X