Luxtronik WP Steuerung auslesen (Alpha Innotec, Novelan, evtl. auch Buderus)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Matti
    LoxBus Spammer
    • 25.08.2015
    • 265

    #16
    Hi,

    habe nach dem Urlaub an meinem WP Script ein paar Werte ergänzt nach der TXT Liste dann waren alle Werte die Empfangen wurden nur noch 0!
    Leider habe ich mir den funktionierenden Code vorher nicht kopiert...
    Habe mittlerweile alles probiert... habe jetzt mal auf nur drei Werte reduziert um es etwas übersichtlicher zu halten.

    Gleiches Ergebnis!

    Habe eine AI WP Luxtronik 2 Ver 1.76

    mit folgendem Code im Lox Prog. Baustein:

    #define BUFF_SIZE 1500
    #define RD_BLOCK_SIZE 4


    char szTmpBuffer;
    int nCnt;
    int nBytesReceived = 0;
    int i = 0;
    unsigned char szBuffer[1500];
    int nLen;
    int wert1;
    int wert2;
    int wert3;
    int wert4;
    float Temperatur_TVL;
    float Temperatur_TRL;
    float Temperatur_TA;


    while(TRUE)
    {
    STREAM* stream = stream_create("/dev/tcp/192.168.123.123/8888",0,0);
    if (stream != NULL)
    {
    i=0;
    printf("Novelan READ");
    szBuffer[0] = 0x00;
    szBuffer[1] = 0x00;
    szBuffer[2] = 0x0b;
    szBuffer[3] = 0xbc;
    stream_write(stream,szBuffer,4);
    stream_flush(stream);
    printf("Stream 3004");
    szBuffer[0] = 0x00;
    szBuffer[1] = 0x00;
    szBuffer[2] = 0x00;
    szBuffer[3] = 0x00;
    stream_write(stream,szBuffer,4);
    stream_flush(stream);
    printf("Stream 0");
    nLen = stream_read(stream,szBuffer,4,1000);
    printf("Read Feedback");
    printf("Novelan Len=%d",nLen);
    nLen = stream_read(stream,szBuffer,4,1000);
    printf("Read Status");
    printf("Novelan Len=%d",nLen);
    nLen = stream_read(stream,szBuffer,4,1000);
    printf("Read Länge");
    printf("Novelan Len=%d",nLen);


    nLen = stream_read(stream,szBuffer,sizeof(szBuffer),1000) ;
    printf("Novelan Len=%d",nLen);
    stream_close(stream);
    printf("Novelan 40=%d",szBuffer[40]);
    szTmpBuffer=(szBuffer[40]);
    wert1=(szTmpBuffer);
    printf("Novelan 41=%d",szBuffer[41]);
    szTmpBuffer=(szBuffer[41]);
    wert2=(szTmpBuffer);
    printf("Novelan 42=%d",szBuffer[42]);
    szTmpBuffer=(szBuffer[42]);
    wert3=(szTmpBuffer);
    printf("Novelan 43=%d",szBuffer[43]);
    szTmpBuffer=(szBuffer[43]);
    wert4=(szTmpBuffer);
    Temperatur_TVL=(wert1*256*256*256+wert2*256*256+we rt3*256+wert4)*0.1;
    printf("Novelan Temperatur_TVL=%f",Temperatur_TVL);

    printf("Novelan 44=%d",szBuffer[44]);
    szTmpBuffer=(szBuffer[44]);
    wert1=(szTmpBuffer);
    printf("Novelan 45=%d",szBuffer[45]);
    szTmpBuffer=(szBuffer[45]);
    wert2=(szTmpBuffer);
    printf("Novelan 46=%d",szBuffer[46]);
    szTmpBuffer=(szBuffer[46]);
    wert3=(szTmpBuffer);
    printf("Novelan 47=%d",szBuffer[47]);
    szTmpBuffer=(szBuffer[47]);
    wert4=(szTmpBuffer);
    Temperatur_TRL=(wert1*256*256*256+wert2*256*256+we rt3*256+wert4)*0.1;
    printf("Novelan Temperatur_TRL=%f",Temperatur_TRL);

    printf("Novelan 60=%d",szBuffer[60]);
    szTmpBuffer=(szBuffer[60]);
    wert1=(szTmpBuffer);
    printf("Novelan 61=%d",szBuffer[61]);
    szTmpBuffer=(szBuffer[61]);
    wert2=(szTmpBuffer);
    printf("Novelan 62=%d",szBuffer[62]);
    szTmpBuffer=(szBuffer[62]);
    wert3=(szTmpBuffer);
    printf("Novelan 63=%d",szBuffer[63]);
    szTmpBuffer=(szBuffer[63]);
    wert4=(szTmpBuffer);
    Temperatur_TA=(wert1*256*256*256+wert2*256*256+wer t3*256+wert4)*0.1;
    printf("Novelan Temperatur_TA=%f",Temperatur_TA);


    setio("VI16",Temperatur_TVL);
    setio("VI17",Temperatur_TRL);
    setio("VI22",Temperatur_TA);
    setio("VI2",1);

    }
    else
    {
    printf("Novelan no connection");
    setio("VI2",0);
    }
    sleeps(60); // wait 60 second
    }


    Im Log bekomme ich dann überall nur 0 zurück.
    VI2 ist aber 1 was auf eine funktionierende Verbindung deuten lässt!

    Vielleicht kennt jemand die Ursache?!?



    Grüße

    Matthias
    gemischte KNX- und Loxoneinstallation im EFH Neubau

    Kommentar

    • Matti
      LoxBus Spammer
      • 25.08.2015
      • 265

      #17
      Habe den Fehler gefunden:

      In der Luxtronik 2 ab der V 1.76 wurde der Port verändert auf nun 8889.
      Jetzt klappt es mit dem auslesen!

      Grüße

      Matthias
      gemischte KNX- und Loxoneinstallation im EFH Neubau

      Kommentar

      • Gast

        #18
        Hallo,

        Benötige eure Unterstützung

        Ich habe den Code soweit bei mir am Laufen, im Loxone Log bekomme ich auch alle 60s neue Werte von der WP. Meine Frage ist wie bekomme ich die Werte z.B. (vorlauf) in den Virtuellen Eingang. Wenn ich es richtig verstanden habe, hat das was mit den VI1 auf sich? oder

        Kommentar

        • Gast

          #19
          Hallo,

          Habe es hinbekommen.
          Fehler von mir habe beim Virtuellen Eingang. den Hacken als Digitaleingang vervenden drin gehabt.

          Kommentar

          • Gast

            #20
            Servus Zusammen,

            da mir eine SD Karte abgeraucht ist, hab ich mein gesamtes Programm etwas entmüllt! Unter anderem auch das PicoC für die Luxtronik, die Einträge ins Logfile habe ich alle entfernt...

            Code funktioniert bei mir soweit...
            Angehängte Dateien

            Kommentar

            • Bouni
              LoxBus Spammer
              • 01.09.2015
              • 291

              #21
              Guten Morgen,

              ich hab bei Mir auch eine Alpha Innotec Wasser-Wasser Wärmepumpe im Einsatz und wollte auf die Daten zugreifen.
              Leider klappt das nicht so ganz.

              Wenn ich ein nmap auf die IP der Pumpe mache, sehe ich folgendes:
              Code:
              sudo nmap -T4 -A -v  192.168.88.11
              
              Starting Nmap 7.40 ( https://nmap.org ) at 2016-12-22 06:41 CET
              NSE: Loaded 143 scripts for scanning.
              NSE: Script Pre-scanning.
              Initiating NSE at 06:41
              Completed NSE at 06:41, 0.00s elapsed
              Initiating NSE at 06:41
              Completed NSE at 06:41, 0.00s elapsed
              Initiating ARP Ping Scan at 06:41
              Scanning 192.168.88.11 [1 port]
              Completed ARP Ping Scan at 06:41, 0.07s elapsed (1 total hosts)
              Initiating Parallel DNS resolution of 1 host. at 06:41
              Completed Parallel DNS resolution of 1 host. at 06:41, 0.04s elapsed
              Initiating SYN Stealth Scan at 06:41
              Scanning 192.168.88.11 [1000 ports]
              Discovered open port 22/tcp on 192.168.88.11
              Discovered open port 8888/tcp on 192.168.88.11
              Discovered open port 80/tcp on 192.168.88.11
              Completed SYN Stealth Scan at 06:41, 0.45s elapsed (1000 total ports)
              Initiating Service scan at 06:41
              Scanning 3 services on 192.168.88.11
              Completed Service scan at 06:41, 21.24s elapsed (3 services on 1 host)
              Initiating OS detection (try #1) against 192.168.88.11
              NSE: Script scanning 192.168.88.11.
              Initiating NSE at 06:41
              Completed NSE at 06:41, 1.09s elapsed
              Initiating NSE at 06:41
              Completed NSE at 06:41, 0.02s elapsed
              Nmap scan report for 192.168.88.11
              Host is up (0.0074s latency).
              Not shown: 997 closed ports
              PORT     STATE SERVICE         VERSION
              22/tcp   open  ssh             Dropbear sshd 0.51 (protocol 2.0)
              | ssh-hostkey:
              |   1024 fa:cf:dd:a9:ab:d0:2b:54:d0:83:f2:34:83:44:ec:f0 (DSA)
              |_  1040 1f:36:cb:77:65:ff:64:8d:6e:48:fa:53:94:36:cd:f3 (RSA)
              80/tcp   open  http            BusyBox httpd 1.13
              | http-methods:
              |_  Supported Methods: GET HEAD
              |_http-title: WEBSERVER - W\xE4rmepumpe - Heatpump - Pompe \xE0 chaleur
              8888/tcp open  sun-answerbook?
              MAC Address: 40:EC:F8:07:2D:44 (Siemens AG)
              Device type: general purpose
              Running: Linux 2.6.X
              OS CPE: cpe:/o:linux:linux_kernel:2.6
              OS details: Linux 2.6.32 - 2.6.35
              Uptime guess: 221.905 days (since Sat May 14 09:58:25 2016)
              Network Distance: 1 hop
              TCP Sequence Prediction: Difficulty=261 (Good luck!)
              IP ID Sequence Generation: All zeros
              Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
              
              TRACEROUTE
              HOP RTT     ADDRESS
              1   7.36 ms 192.168.88.11
              
              NSE: Script Post-scanning.
              Initiating NSE at 06:41
              Completed NSE at 06:41, 0.00s elapsed
              Initiating NSE at 06:41
              Completed NSE at 06:41, 0.00s elapsed
              Read data files from: /usr/bin/../share/nmap
              OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
              Nmap done: 1 IP address (1 host up) scanned in 25.16 seconds
                         Raw packets sent: 1020 (45.626KB) | Rcvd: 1016 (41.350KB)
              Gut zu sehen ist das die Ports 22, 80 und 8888 offen sind.

              Wenn ich die Magic Bytes an den Port 8888 sende bekomme ich zwar die z.B. 3004 zurück, aber Status und Länge sind 0.

              Kurzerhand hab ich mir die Sache mit Wireshark angeschaut und in einer VM mit IE + Java das normale Webinterface aufgemacht.
              Dort sehe ich das das Java Applet auf Port 8889 connected!? Wie ist das möglich, wenn ich das Script auf Port 8889 einstelle baut er nicht mal Verbindung auf.

              Wenn ich im Webinterface schaue, wird Mir als SW Stand V3.78 angezeigt, der Typ ist MSW 6.

              Kann da jemand für Erhellung sorgen? :-)

              Edit:
              Interessanterweise konnte ich grade eben via telnet auf den Port 8889 connected. Sehr komische Sache.

              Edit2:
              Ich weiss nicht warum, aber jetzt tuts wenn ich auf Port 8889 connecte :-)
              Zuletzt geändert von Bouni; 22.12.2016, 12:23.

              Kommentar

              • bdaenzer
                Smart Home'r
                • 28.08.2015
                • 92

                #22
                scheinbar hat es mit einem alpha innotec firmware upgrade eine portumstellung von 8888 auf 8889 gegeben, glaube gelesen zu haben ab version 1.76
                bei unserer AI SWC100 / Luxtronik 2 ist die version 1.73 drauf und noch auf dem alten port.

                Kommentar


                • Bouni
                  Bouni kommentierte
                  Kommentar bearbeiten
                  Hatte ich gelesen, allerdings war beim Port Scan nur der offene 8888 Port zu sehen.
              • Gast

                #23
                Servus Zusammen,

                hat zufällig jemand noch Zugriff auf das "alte" Loxone Forum? Ich bin auf der Suche nach den Infos zum Befehle schicken an die Luxtronik...

                Kommentar

                • Frank71
                  Extension Master
                  • 25.08.2015
                  • 110

                  #24
                  Hi,

                  Steht das nicht alles im Wiki ?

                  Gruß Frank


                  Gesendet von iPhone mit Tapatalk Pro

                  Kommentar

                  • Gast

                    #25
                    Hoi,

                    leider nicht in dem Umfang, dass ich damit was anfangen könnte!

                    Da war schon mal ein fertiges PicoC Script im Umlauf, wäre prima wenn das noch jemand hat...

                    Kommentar

                    • Bouni
                      LoxBus Spammer
                      • 01.09.2015
                      • 291

                      #26
                      Gast

                      War das nicht sogar von Dir !?

                      Kommentar

                      • Gast

                        #27
                        Hoi,r
                        habs nur modifiziert und hier rein kopiert! Leider aber nur die relevanten Dinge fürs auslesen, jetzt hab ich allerdings ein paar Ideen fürs Befehle senden. Dazu gabs fertige Programme/Scripte im "alten" Forum...

                        Kommentar

                        • Gast

                          #28
                          Hallo Niggo,

                          Besten Dank für Deinen Beitrag, das hat mich auf die Idee gebracht, meine AIT WP ins Loxone System zu integrieren. Das klappte auch problemlos. Nachdem ich das Programm in den Miniserver gespeichert habe kamen auch alle Werte korrekt an. Doch sie aktualisieren sich nicht. Ich habe die 60 Sekunden Sleep drin gelassen, so müsste das Programm ja nach Ablauf wieder zur Zeile mit "while" springen und ein weiteres Mal durchlaufen. Ob das geschieht weiss ich nicht. Auf alle Fälle aktualisieren sich die Werte danach nicht mehr.
                          Nach einem Neustart werden die aktuellen Werte aus der WP wieder eingelesen.

                          Müsste man irgendwas bei den virtuellen Eingängen noch definieren, das wäre das einzge was ich nicht sicher bin. Das Programm aber müsste loopen...

                          Gruss
                          Reto

                          PS: Ich weiss zwar nicht was ich gemacht habe, aber das Problem ist behoben. Ich habe nur den sleeps durch sleep ersetzt und anstelle 60 natürlich 60'000ms eingegeben. Also sollte das genau dasselbe bewirken. Keine Ahnung warum es nun funktioniert.
                          Zuletzt geändert von Gast; 29.03.2017, 15:53.

                          Kommentar

                          • Bouni
                            LoxBus Spammer
                            • 01.09.2015
                            • 291

                            #29
                            Hallo allerseits,

                            an alle die eine Luxtronik haben und die in Ihre Loxone integriert haben, ein Wort der Warnung. Mit dem Update auf Version 3.81 hat Alpha Innotec das Webinterface von Java Applet auf ein WebSockets basierendes Protokoll umgestellt. Somit gibts keine Daten mehr auf Port 8889.

                            Artikel im Loxwiki


                            Ich hab schon angefangen ein node-red modul zu bauen das das anspricht und das klappt auch wunderbar, aber das ganze ist eben nicht mehr direkt aus der Loxone heraus verwendbar, es sei denn jemand macht sich die Mühe Websockets direkt in PicoC zu implementieren :-)

                            Kommentar


                            • Benjamin Jobst
                              Benjamin Jobst kommentierte
                              Kommentar bearbeiten
                              Das war absolut absehbar, da diese "Schnittstelle" von alpha innotec überhaupt nicht vorgesehen war, das war nur ein Leak, verursacht durch die Arbeitsdateien des Java-Webservers...
                              Mit der neuen FW wurde auf einen neuen, nicht-Java-Webserver umgestellt und entsprechend dieses leak geschlossen.
                              Es wird gewünscht, dass die Kommunikation nur noch über die offiziellen, standardisierten Schnittstellen abläuft, also BACnet oder Modbus/TCP mit der GLT-Lizenz.
                          • Gast

                            #30
                            Hallo

                            Das war wohl abzusehen. Ich habe eine ältere Firmware. gehe mal davon aus, ca. 2 Jahre. Und seit dieser Zeit, war es unmöglich auf dei WP direkt mit einem Browser zu connecten. Alles mögliche versucht, verschiedene Browser, Java Sicherheit ausgeschaltet etc... kam immer ein Sicherheitsfehler...Aber dann kam der Tipp hier, mit dem Auslesen der Daten per Loxone. Das klappte bis jetzt bestens. Also überleg ich mir den Upgrade. die WP funktioniert ja mit der alten FW, und Loxone auch, also lassen wir das mal so, ausser es gibt wirklich einmal eine coole Lösung mit neurere Firware. Leider kann ich da nicht mittun, bin nicht der coder.

                            Gruss
                            Sigma

                            Kommentar

                            Lädt...