Ankündigung

Einklappen
Keine Ankündigung bisher.

EIBpc und Fritzbox Steckdosen Schalten

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

    EIBpc und Fritzbox Steckdosen Schalten

    Moin,
    hat jemand schon die Fritz Steckdosen mit dem EIBpc geschaltet? gibt es schon ein Macro Bibliothek?
    Zuletzt geändert von PharaDOS; 15.08.2019, 10:55.

    #2
    Keiner :-(

    Kommentar


      #3
      ich habe ein Verständnis problem

      ich möchte "http://192.168.1.1/login_sid.lua" an die Fritzbox senden

      wäre das der code?
      sendtcparray(80,192.168.1.1,$GET /login_sid.lua HTTP/1.1$+CRLF,size(länge));

      oder reicht das
      sendtcparray(80,192.168.1.1,$
      /login_sid.lua$+CRLF
      ,size(länge));

      da ein upload an meinen EIBpc immer mehrere Minuten dauert ist das nicht immer einfach zu testen. (ein VM in EIBVisu wäre toll :-) )

      Kommentar


        #4
        Code:
        FritzBoxConnect=9u08
        FritzBoxIP=192.168.178.1
        FritzBoxPort=80u16
        FritzBoxResult=$ $c1400
        FritzBoxChallenge=$1234567z$c08
        FritzBoxChallengeUTF16=$31003200330034003500360037007a00$c32
        //FritzBoxChallengeResponse=FritzBoxChallenge + MD5SUM(FritzBoxChallengeUTF16 + FritzBoxPasswortUTF16)c1400
        FritzBoxSID=$0000000000000000$c16
        FritzBoxBlockTime=0u16
        FritzBoxCommand1=$GET $ + $/login_sid.lua$ + $ HTTP/1.1$+CRLF
        FritzBoxTemp=$$c1400
        FritzBoxPasswort=$äbc$c14
        FritzBoxPasswortUTF16=$äbc$c14
        FritzBoxCheck=$$c14
        
        if pbutton(FritzBoxConnectButton,FritzBoxConnectButton_P)==1 then {
            if FritzBoxConnect>5 then {
                FritzBoxConnect=connecttcp(FritzBoxPort,FritzBoxIP);
                vmDebugUDP($Verbunden$);
                }endif;
        }endif
        
        if change(FritzBoxConnect) and FritzBoxConnect == 0 then {
            sendtcparray(FritzBoxPort,FritzBoxIP,FritzBoxCommand1,size(FritzBoxCommand1));
            vmDebugUDP($Ich war hier$);
            vmDebugUDP(FritzBoxCommand1);
           
        }endif
        sendtcparray(FritzBoxPort,FritzBoxIP,FritzBoxCommand1,size(FritzBoxCommand1));
        if event(readtcp(FritzBoxPort,FritzBoxIP,FritzBoxTemp)) then {
            FritzBoxResult=FritzBoxTemp;
            XMLParse(FritzBoxResult,SID,0,FritzBoxSID);
            XMLParse(FritzBoxResult,Challenge,0,FritzBoxChallenge);
            XMLParse(FritzBoxResult,BlockTime,0,FritzBoxBlockTime);
        }endif
        Die eine frage hat sich erledigt:-) aber leider sendet der EIBPC nix.
        FritzBoxConnect geht auf 0 und die if abfrage wird ausgeführt aber nix kommt auf ins netz (mit Wireshark) abgefragt.

        Was mach ich falsch?

        Kommentar


          #5
          auch wenn ich hier der einzige bin der schreibt versuche ich es trotzdem :-)

          obwohl in readtcp die IP Adresse der Pritzbox angegeben ist bekomme ich auf den beiden variablen die HUE antworten???
          FritzBoxResult und FritzBoxTemp

          Wieso gebe ich beim Readtcp befehl den Adresse und port an und er nimmt alles was auf den ethernet kommt?

          Code:
          sendtcparray(FritzBoxPort,FritzBoxIP,FritzBoxCommand1,size(FritzBoxCommand1));
          if event(readtcp(FritzBoxPort,FritzBoxIP,FritzBoxTemp)) then {
              FritzBoxResult=FritzBoxTemp;
              XMLParse(FritzBoxResult,SID,0,FritzBoxSID);
              XMLParse(FritzBoxResult,Challenge,0,FritzBoxChallenge);
              XMLParse(FritzBoxResult,BlockTime,0,FritzBoxBlockTime);
          }endif

          Kommentar


            #6
            ist so - steht auch im Handbuch, schau' dir einmal ein Beispiel an - da siehst du wie es geht:
            du musst den empfangenen String prüfen ob Port & IP-Adresse passen

            Das Problem - an dem ich gescheitert bin - ist die Kommunikation mit der FB...
            Suche einmal im Forum, da habe ich meinen (nicht funktionierenden) Code eingestellt - ev. hilft es dir ja
            EPIX
            ...und möge der Saft mit euch sein...
            Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

            Kommentar


              #7
              Zitat von EPIX Beitrag anzeigen
              ist so - steht auch im Handbuch, schau' dir einmal ein Beispiel an - da siehst du wie es geht:
              du musst den empfangenen String prüfen ob Port & IP-Adresse passen

              Das Problem - an dem ich gescheitert bin - ist die Kommunikation mit der FB...
              Suche einmal im Forum, da habe ich meinen (nicht funktionierenden) Code eingestellt - ev. hilft es dir ja
              aha danke, aber wieso geb ich dann readtcp(Port, IP,... den port und die IP an das macht für mich erstmal kein sinn :-)

              lese ip1 und prüfe ob ip1 auch ip1 ist ! :-)???? (Vielleicht erklärt uns das enertex.) :-)

              der telnet source? den schau ich mir mal an. aber das mit login_lua ist glaube ich die offizielle version nun von AVM, ist eigentlich sehr gut dokumentiert.mir fehlt nur noch etwas Kenntnis mit dem eibpc und ein paar http basics.

              aber vielleicht bekommt man das hier im forum ja hin das wir eine MacroLibary für die Fritzbox bauen können wo zumindest der login ist danach ist das schalten der Steckdosen glaube ich sehr einfach. da nur noch ein string geschickt werden muss mit entsprechenden SID.
              Zuletzt geändert von PharaDOS; 22.08.2019, 13:11.

              Kommentar


                #8
                Zitat von PharaDOS Beitrag anzeigen
                aha danke, aber wieso geb ich dann readtcp(Port, IP,... den port und die IP an das macht für mich erstmal kein sinn :-)
                lese ip1 und prüfe ob ip1 auch ip1 ist ! :-)????
                die Argumente von readtcp ist sozusagen ein call by reference. Es nicht eine Funktion, die bei Aktivierung eine bestimmte IP auswertet, sondern einfach alle Anfragen annimmt und dann muss der Anwender selbst die Auswertung machen.
                der telnet source, den schau ich mir mal an. aber das mit login_lua ist glaube ich die offizielle version nun von AVM, ist eigentlich sehr gut dokumentiert.
                mir fehlt nur noch etwas Kenntnis mit dem eibpc und ein paar http.
                In der nächsten Version (nur noch EibPC²) werden wir für REST APIs da eine einfache Möglichkeit einbauen, dass man solche "Treiber" ohne Probleme und ohne readtcp etc. direkt und einfach erstellen kann.
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar


                  #9
                  Zitat von enertegus Beitrag anzeigen
                  In der nächsten Version (nur noch EibPC²) werden wir für REST APIs da eine einfache Möglichkeit einbauen, dass man solche "Treiber" ohne Probleme und ohne readtcp etc. direkt und einfach erstellen kann.
                  das hört sich sehr gut an, nur schade das ich noch den V1 habe :-( vielleicht macht ihr ein Angebot zum Upgrade :-) (Weil Weihnachten bald ist oder wir im norden immer so schlechtes wetter haben) :-)
                  gibt es schon einen Zeitplan ?

                  Kommentar


                    #10
                    Zitat von enertegus Beitrag anzeigen
                    In der nächsten Version (nur noch EibPC²) werden wir für REST APIs da eine einfache Möglichkeit einbauen, dass man solche "Treiber" ohne Probleme und ohne readtcp etc. direkt und einfach erstellen kann.
                    Wäre es nicht schön wenn ihr das irgendwie pushed das mehr Libarys (auch von den Usern online gestellt werden?
                    Ich habe gerade durch Zufall eine den Code für euer Powersupply 960 gefunden. Warum bindet ihr sowas nicht ein? oder macht eine Download Rubrik?
                    So bastelt jeder User an den gleichen Problemen.

                    Ich würde z.b. gerne Miele@home, Fritzbox, Hue (mehr als 10 Lampen) einbinden. Eventuell auch den Homee (hier bin ich noch in Gesprächen mit den Stadtwerken bei uns) da die den homee gerade testen für entkunden.

                    Hier hättet dann eine schoene "Treiber Datenbank" bzw. api zu div. geräten.
                    Finde euro Produkte echt cool, habe mir schon viel geholt, Router, Meta, Powersupply und EIBpc.


                    Kommentar


                      #11
                      Das mit der Visu für die PS960 wird eine Vorlage werden. Die Treiberdatenbank muss halt auch sauber gepflegt werden, wenn Sie von uns kommt.
                      Das müssen wir nach der Erstellung der REST API mal genauer untersuchen. Soll aber nicht so enden, wie auf dem Stammtischvortrag neulich: "Unsere Software hat 200 verschiedene Treiberanbindungen, von denen 50 sicher gehen sollten"...
                      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                      Enertex Produkte kaufen

                      Kommentar


                        #12
                        Zitat von enertegus Beitrag anzeigen
                        Das mit der Visu für die PS960 wird eine Vorlage werden. Die Treiberdatenbank muss halt auch sauber gepflegt werden, wenn Sie von uns kommt.
                        Das müssen wir nach der Erstellung der REST API mal genauer untersuchen. Soll aber nicht so enden, wie auf dem Stammtischvortrag neulich: "Unsere Software hat 200 verschiedene Treiberanbindungen, von denen 50 sicher gehen sollten"...
                        Powersupply Vorlage Cool !

                        Da gebe ich dir recht, aber man kann es ja deutlich kenntlich machen das es einer "not supportet" Treiber Datenbank ist eben von Usern. und die die ihr als "wertig" betrachtet könnt ihr ja dann in euren "Golden Circle" aufnehmen. sozusagen "Enertex Proofed" :-)

                        Kommentar


                          #13
                          Zitat von enertegus Beitrag anzeigen
                          die Argumente von readtcp ist sozusagen ein call by reference. Es nicht eine Funktion, die bei Aktivierung eine bestimmte IP auswertet, sondern einfach alle Anfragen annimmt und dann muss der Anwender selbst die Auswertung machen.

                          In der nächsten Version (nur noch EibPC²) werden wir für REST APIs da eine einfache Möglichkeit einbauen, dass man solche "Treiber" ohne Probleme und ohne readtcp etc. direkt und einfach erstellen kann.
                          ach jetzt hab ich es verstanden, es ist ein Ausgang und die gibt eben die daten nach Außen, ich dachte immer es ist ein Eingang und ich geb die Adresse und port an auf die er hören soll.

                          Kommentar


                            #14
                            also irgendwie glaube ich bin ich zu bloed


                            Code:
                            #define DEBUG_FUNCTIONS_HUE
                            #define DEBUG_FUNCTIONS_GLOBAL
                            
                            FritzBoxConnect=9u08
                            FritzBoxIP=192.168.178.1
                            FritzBoxPort=80u16
                            FritzBoxResult=$ $c1400
                            FritzBoxChallenge=$1234567z$c08
                            FritzBoxChallengeUTF16=$31003200330034003500360037007a00$c32
                            //FritzBoxChallengeResponse=FritzBoxChallenge + MD5SUM(FritzBoxChallengeUTF16 + FritzBoxPasswortUTF16)c1400
                            FritzBoxSID=$0000000000000000$c16
                            FritzBoxBlockTime=0u16
                            FritzBoxCommand1=$GET $ + $/login_sid.lua$ + $ HTTP/1.1$+CRLF
                            FritzBoxTemp=$$c1400
                            FritzBoxPasswort=$äbc$c14
                            FritzBoxPasswortUTF16=$äbc$c14
                            FritzBoxCheck=$$c14
                            Port=0u16
                            IP=0u32
                            Data=$$
                            
                            if pbutton(FritzBoxConnectButton,FritzBoxConnectButton_P)==1 then {
                                if FritzBoxConnect>5 then {
                                    FritzBoxConnect=connecttcp(FritzBoxPort,FritzBoxIP);
                                    vmDebugUDP($Verbunden$);
                                    }endif;
                            }endif
                            
                            if change(FritzBoxConnect) and FritzBoxConnect == 0 then {
                                sendtcp(80u16, 192.168.178.1, FritzBoxCommand1);
                                vmDebugUDP(FritzBoxCommand1);
                            }endif
                            
                            if event(readtcp(Port,IP,Data)) and  (IP == FritzBoxIP) and (Port == FritzBoxPort) then {
                                FritzBoxResult=Data;
                                XMLParse(FritzBoxResult,SID,0,FritzBoxSID);
                                XMLParse(FritzBoxResult,Challenge,0,FritzBoxChallenge);
                                XMLParse(FritzBoxResult,BlockTime,0,FritzBoxBlockTime);
                            }endif
                            per Wireshark habe ich keine Transfer oder receive auf dem eibPC oder der fritzbox ???

                            bekomme jetzt auf dem
                            FritzBoxResult folge eingang

                            Kommentar

                            Lädt...
                            X