Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zum LBS19001260 Buderus Gateway KM200/100

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

    #31
    mit auskommentieren kenn ich mich nun garnicht aus.

    wo muss die Raute hin?



    define( "km200_gateway_host", $ipaddress, true );
    define( "km200_crypt_key_private", hextobin($private_key_hex));

    ### notifications ###
    $data = km200_GetData('/notifications');

    if ($curl_errno == 0) {
    if (count($data['values']) > 0)
    logic_setOutput($id,1,1);
    else
    logic_setOutput($id,1,0);

    ### system ###
    $data = km200_GetData('/system/healthStatus');
    logic_setOutput($id,3,$data['value']);

    $data = km200_GetData('/system/sensors/temperatures/outdoor_t1');
    logic_setOutput($id,4,$data['value']);

    $data = km200_GetData('/system/sensors/temperatures/supply_t1_setpoint');
    logic_setOutput($id,5,$data['value']);

    $data = km200_GetData('/system/sensors/temperatures/supply_t1');
    logic_setOutput($id,6,$data['value']);

    $data = km200_GetData('/system/sensors/temperatures/return');
    logic_setOutput($id,7,$data['value']);

    $data = km200_GetData('/system/sensors/temperatures/switch');
    logic_setOutput($id,8,$data['value']);

    $data = km200_GetData('/system/appliance/actualSupplyTemperature');
    logic_setOutput($id,9,$data['value']);

    $data = km200_GetData('/system/appliance/powerSetpoint');
    logic_setOutput($id,10,$data['value']);


    grüße

    Kommentar


      #32
      Hab vermutlich die Raute falsch gesetzt oder es ein wenig übertrieben. Habe alle Fehlereinträge mit einem Raute vor versehen. Nun startet der LBS und wird nach 7 sek wieder beendet.

      Kommentar


        #33
        Du musst vor die Einträge, welche mit "$data = km200_GetData" beginnen und den Pfad enthalten, welcher im Fehler Log aufgeführt sind, jeweils eine Raute setzen damit diese Zeile nicht ausgeführt bzw. interpretiert wird.
        Dann am besten noch vor das darunter stehende "logic_setOutput" auch eine Raute damit dieser Ausgang nicht gesetzt wird.
        Ich weiß gerade nicht, ob es ansonsten noch zu einem Fehler kommen könnte.

        Wenn Du das bereits gemacht hast und keine Fehlermeldungen mehr erscheinen, ist das Ziel erreicht.
        Es kann sein und ist auch richtig so, dass der LBS nur wenige Sekunden lang läuft.
        Er läuft halt so lange, wie er zum Auslesen der Anlagendaten benötigt.

        Kommentar


          #34
          Na das ist doch mal ein kleiner Erfolg, dann werde ich mich am We mal mit den aausgangsboxen beschäftigen. Mal sehen was dort raus kommt. Kann es ja dann mit den Werten aus der App vergleichen. Danke erstmal für deine Unterstützung.

          Kommentar


            #35
            Zitat von Glotzkowski Beitrag anzeigen
            Mir schwebte da eher vor, dass der LBS initial automatisch ermittelt, welche Pfade/Attribute die Anlage liefert und diese dann in einer Text-Datei oder so abspeichert, um bei dem nächsten Durchlauf nur die verfügbaren Pfade/Attribute auszulesen.
            mir geht es um zwei Punkte:

            - es gibt wahrscheinlich ne ganze Menge mit dem LBS kompatible Anlagen, die alle etwas unterschiedliche Parameter haben. Und wir kennen die ja nicht mal alle. D.h. kommt übermogen einer mit einer uns heute noch unbekanten Anlage, so müsste man ggf. wieder den LBS erweitern.

            - Jeder Datenpunkt wird einzeln abgefragt und das dauert doch ne ganze Zeit. Ich möchte ungern 40 Datenpunkte abfragen, wenn ich tatsählich nur 4 brauchen kann. Habe den Eindruck, dass das Gateway auch mal überlasten kann - ich polle minütlich aktuell.

            Zitat von Glotzkowski Beitrag anzeigen
            Das hatte ich bereits vor längerer Zeit getestet aber bisher nicht vollendet, das Ergebnis ist bisher lediglich das Script (noch kein LBS), welches in Post #22 zu sehen ist.
            Ich nutze dafür das Script von Kunigunde auf meinem Webserver: https://knx-user-forum.de/forum/%C3%...ndalone-script

            Zitat von Glotzkowski Beitrag anzeigen
            Das mit dem Schreiben von Werten habe ich auch vor Monaten und diese Woche nochmal getestet, leider ohne Erfolg.
            Dabei scheitert es aber bereits an "nicht-LBS-Scripten".
            Die Encryption scheint dabei das Problem zu sein oder ich weiß noch nicht, wie man die Pfade und Werte beim Schreiben korrekt nutzen muss...
            Schade. Ich hab damit noch nichts gemacht.

            Zitat von Glotzkowski Beitrag anzeigen
            Anbei das Test-Script zum Schreiben, klappt das bei Dir?
            Ich bekomme leider immer "HTTP/1.0 500 Internal Server Error" zurück.
            Hatte auch schon ein Packet-Capture gemacht, wenn ich per Buderus-App den Wert ändere.
            Dabei unterscheidet sich die codierte Nachricht von der App leider von der codierten Nachricht per Script, auch wenn ich die selben Attribute/Pfade und Werte beschreiben möchte...
            Kann ich beizeiten mal testen. Die App ist der totale Müll gewesen, aktuell finde ich sie auch gar nicht mehr im PlayStore. Nutze daher Remote www.buderus-connect.de um z.B. die Raumsoll-Temp zu ändern.
            Die App hat bei mir entgegen der Aussagen im Manual auch nie funktioniert, wenn ich der WP (RC300 mit integ. KM200) die Internet-Verbindung verboten hatte.

            Zitat von Glotzkowski Beitrag anzeigen
            Meinst Du bzgl. der Modulation und Power hs_actualModulation und hs_actualPower?
            hs_actualPower wechselt bei mir auch immer nur zwischen 0 und 24 und ich hab ne 11kW-Anlage...
            ja genau die zwei Werte.
            Ich habe eine modulierende WP, hs_actualModulation geht also auch auf Werte wie 20, 25, .... 100. hs_actualPower ist dann eigentlich immer hs_actualModulation / 100 * 24.
            OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

            Kommentar


              #36
              Zitat von SirSydom Beitrag anzeigen
              D.h. kommt übermogen einer mit einer uns heute noch unbekanten Anlage, so müsste man ggf. wieder den LBS erweitern.
              Genau das möchte ich ja vermeiden, der LBS soll selbstständig ermitteln, welche Werte vorhanden sind und diese Inormation zwischenspeichern, die Wurzel-Pfade sind bisher bei allen Anlagen gleich und unterscheiden sich in den tieferen Ebenen.

              Zitat von SirSydom Beitrag anzeigen
              Ich möchte ungern 40 Datenpunkte abfragen
              Das kann ich nachvollziehen und finde es auch sinnvoll, da fällt mir vielleicht auch noch was zu ein.
              Vielleicht wäre es eine Lösung in einem Eingang alle evtl. gewünschten Werte mit einem Separator anzugeben und nur diese werden nach dem initialen Abfragen aller Werte überhaupt abgefragt und ausgegeben.
              Dabei würde es dann aber auch nur einen Ausgang geben an dem die Werte mit einem Separator ausgegeben werden und man muss die Werte dann mit einem weiteren LBS (String zerteilen oder so) separieren, um die Werte an Ausgangsboxen zu leiten.
              Wir würdest Du das mit den Ausgängen machen bei Deinem Vorschlag machen?

              Zitat von SirSydom Beitrag anzeigen
              Die App ist der totale Müll gewesen, aktuell finde ich sie auch gar nicht mehr im PlayStore.
              Ich finde es geht einigermaßen, es geht aber sicherlich noch viel besser. Die App wurde vor einiger Zeit umbenannt und heißt nun "Buderus MyDevice".
              Dass Du mit der App nicht auf die Anlage kommst, wenn der Internetzugang für das Gateway gesperrt ist, ist meiner Information nach korrekt, da die App nicht direkt die Anlage steuert, sondern in der Buderus-Cloud die Werte für Deine Anlage ändert und diese dann erst an die Anlage übertragen werden.
              Es gibt zwar in der App die Option sich nur lokal mit der Anlage zu verbinden aber dies funktioniert glaube ich erst seit den letzten Updates und auch nur, wenn die Anlage im gleichen Netz (VLAN) hängt, wie das Smartphone mit der App. Da ich solche Geräte in einem IoT-VLAN isoliere konnte ich das mit der lokalen Verbindung noch nicht testen.


              Zitat von SirSydom Beitrag anzeigen
              Ich habe eine modulierende WP
              Das sagte mein Heizungsbauer auch zu meiner...

              Kommentar


                #37
                Zitat von Glotzkowski Beitrag anzeigen
                Anbei das Test-Script zum Schreiben, klappt das bei Dir?
                #!/usr/bin/php array(1) { [0]=> string(23) "HTTP/1.0 204 No Content" } NULL

                Wert wird korrekt übernommen! Funzt also. Scheint an deiner Anlage zu liegen?
                OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                Kommentar


                  #38
                  Zitat von Glotzkowski Beitrag anzeigen
                  Das sagte mein Heizungsbauer auch zu meiner...
                  sollte laut Buderus Homepage auch eine sein... was liest du denn für Werte aus für actualModulation? nur 0 und 100 ??
                  OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                  Kommentar


                    #39
                    Zitat von Glotzkowski Beitrag anzeigen
                    Wir würdest Du das mit den Ausgängen machen bei Deinem Vorschlag machen?
                    so hab ich mir das gedacht. Wobei der Prototyp jetzt nur eine Url abfragt. Das müsse man dann halt erweitern auf z.B. 30. Ungenutzte "Päärchen" bleiben dann halt ungenutzt.

                    Code:
                    ###[DEF]###
                    [name                = Buderus Connect                        ]
                    
                    [e#1    important    = trigger        #init=0                    ]
                    [e#2    important    = IP-address                            ]
                    [e#3    important    = Private-Key (Hex)                        ]
                    
                    [e#10                = RestUrl01                                ]
                    
                    
                    [e#50                = Loglevel #init=8                        ]
                    
                    
                    [a#1                = notifications                            ]
                    
                    [a#10                = Data01                                ]
                    
                    
                    [v#100                = 0.01 ]
                    [v#101                 = 19001625 ]
                    [v#102                 = Buderus Connect ]
                    [v#103                 = 0 ]
                    
                    ###[/DEF]###
                    
                    ###[HELP]###
                    Mit diesem LBS kann man Werte einer Buderus Heizungsanlage (mit EMS plus Bus), über das Buderus Gateway Logamatic web (KM50/KM100(KM200), auslesen.
                    Dieser LBS wurde bisher allerdings lediglich mit dem KM200 an einer Wärmepumpe vom Typ WPLS .2 getestet, laut Buderus sind die Funktionen der unterschiedlichen Gateways aber identisch und nur für unterschiedliche Anlagen-Typen vorgesehen.
                    Die Eingänge ab e#29 werden noch nicht beachtet, da der Fokus zunächst auf das Auslesen und nicht das Ändern von Werten gerichtet war.
                    Je nach Anlagen-Typ liefern auch nur bestimmte Ausgänge überhaupt Daten.
                    Es gibt auch noch die Möglichkeit PV-Daten auszulesen, wenn die Anlage über ein entsprechendes Modul verfügt.
                    Dies konnte allerdings noch nicht getestet werden.
                    
                    Erarbeitet wurde diese Möglichkeit ursprünglich von einem Benutzer aus dem SYMCON-Forum:
                    https://www.symcon.de/forum/threads/25211-Buderus-Logamatic-Web-KM200-Reloaded
                    Die dort vorhandenen Scripte wurden zu diesem LBS zusammengesetzt.
                    Hier im Forum gibt es ebenfalls einen Thread dazu:
                    https://knx-user-forum.de/forum/supportforen/eibpc/823726-buderus-km200-kommunikationsmodul-an-eibpc
                    
                    Die Kommunikation mit dem Gateway erfolgt mit verschlüsseltem Payload (kein TLS), welcher über mcrypt mit dem Gateway-Passwort, dem Benutzer-Passwort und einem von Buderus definierten "Salt" (alles zusammen bildet dann den private key an e#3) verschlüsselt wird.
                    Den für den LBS benötigten private key an e#3 kann man über die folgende Webseite (vom Ersteller des Threads im SYMCON-Forum) generieren lassen:
                    https://ssl-account.com/km200.andreashahn.info/
                    Da mcrypt kein Bestandteil der PHP-Installation von EDOMI ist, muss dieses nachträglich installiert werden.
                    Die Funktion mycrypt ist schon etwas betagt bzw. überholt, daher muss die Installaion aus Dritt-Repositories erfolgen, eine Migration zu OpenSSL ist leider noch nicht gelungen.
                    Evtl. kann ein "Kryptografie-Experte" aus dem KNX-UF etwas dazu beisteuern? :)
                    
                    
                    Ein- und Ausgänge
                    
                    E1: Trigger, um die Daten einmalig auszulesen
                    E2:    IP Adresse des Buderus Gateway Logamatic web (KM50/KM100/KM200)
                    E3: Private-Key (in Hex)
                    
                    E10: abzufragende Url Ausgabe auf Axx
                    
                    A10: ausgelesener Wert zu Exx
                    
                    
                    V100: Version
                    V101: LBS Number
                    V102: Log file name
                    V103: Log level
                    
                    Changelog:
                    ==========
                    v0.01: initiale Test-Version
                    
                    ###[/HELP]###
                    
                    
                    ###[LBS]###
                    <?
                    function LB_LBSID($id) {
                        if ($E=logic_getInputs($id)) {
                            setLogicElementVar($id, 103, $E[50]['value']); //set loglevel to #VAR 103
                            if ($E[1]['refresh'] == 1 && $E[1]['value'] == 1) {
                                callLogicFunctionExec(LBSID, $id);
                            }
                        }
                    }
                    ?>
                    ###[/LBS]###
                    
                    
                    ###[EXEC]###
                    <?
                    require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
                    sql_connect();
                    set_time_limit(60);
                    
                    $curl_errno = 0;
                    
                    logging($id, "Buderus Connect gestartet");
                    
                    if ($E = logic_getInputs($id)) {
                        
                        $ipaddress = $E[2]['value'];
                        $private_key_hex = $E[3]['value'];
                    
                        define( "km200_gateway_host", $ipaddress, true );
                        define( "km200_crypt_key_private", hextobin($private_key_hex));
                    
                        ### notifications ###
                        $data = km200_GetData('/notifications');
                        
                        if ($curl_errno == 0) {
                            if (count($data['values']) > 0)
                                logic_setOutput($id,1,1);
                            else
                                logic_setOutput($id,1,0);
                    
                            ### system ###
                            $data = km200_GetData($E[10]['value']);
                            logic_setOutput($id,10,$data['value']);
                    
                            
                        }
                    }
                    
                    logging($id, "Buderus Connect beendet");
                    sql_disconnect();
                    
                    function myErrorHandler($errno, $errstr, $errfile, $errline)
                    {
                        global $id;
                        logging($id, "File: $errfile | Error: $errno | Line: $errline | $errstr ");
                    }
                    
                    function error_off()
                    {
                        $error_handler = set_error_handler("myErrorHandler");
                        error_reporting(0);
                    }
                    
                    function error_on()
                    {
                        restore_error_handler();
                        error_reporting(E_ALL);
                    }
                    
                    function logging($id,$msg, $var=NULL, $priority=8)
                    {
                        $E=getLogicEingangDataAll($id);
                        $logLevel = getLogicElementVar($id,103);
                        if (is_int($priority) && $priority<=$logLevel && $priority>0)
                        {
                            $logLevelNames = array('none','emerg','alert','crit','err','warning','notice','info','debug');
                            $version = getLogicElementVar($id,100);
                            $lbsNo = getLogicElementVar($id,101);
                            $logName = getLogicElementVar($id,102) . ' --- LBS'.$lbsNo;
                            strpos($_SERVER['SCRIPT_NAME'],$lbsNo) ? $scriptname='EXE'.$lbsNo : $scriptname = 'LBS'.$lbsNo;
                            writeToCustomLog($logName,str_pad($logLevelNames[$logLevel],7), $scriptname." [v$version]:\t".$msg);
                            
                            if (is_object($var)) $var = get_object_vars($var); // transfer object into array
                            if (is_array($var)) // print out array
                            {
                                writeToCustomLog($logName,str_pad($logLevelNames[$logLevel],7), $scriptname." [v$version]:\t================ ARRAY/OBJECT START ================");
                                foreach ($var as $index => $line)
                                    writeToCustomLog($logName,str_pad($logLevelNames[$logLevel],7), $scriptname." [v$version]:\t".$index." => ".$line);
                                writeToCustomLog($logName,str_pad($logLevelNames[$logLevel],7), $scriptname." [v$version]:\t================ ARRAY/OBJECT END ================");
                            }
                        }
                    }
                    
                    function km200_Decrypt( $decryptData )
                    {
                        $decrypt = (mcrypt_decrypt( MCRYPT_RIJNDAEL_128, km200_crypt_key_private, base64_decode($decryptData), MCRYPT_MODE_ECB, '' ) );
                        // remove zero padding
                        $decrypt = rtrim( $decrypt, "\x00" );
                        // remove PKCS #7 padding
                        $decrypt_len = strlen( $decrypt );
                        $decrypt_padchar = ord( $decrypt[ $decrypt_len - 1 ] );
                        for ( $i = 0; $i < $decrypt_padchar ; $i++ )
                        {
                            if ( $decrypt_padchar != ord( $decrypt[$decrypt_len - $i - 1] ) )
                            break;
                        }
                        if ( $i != $decrypt_padchar )
                            return $decrypt;
                        else
                            return substr(
                                $decrypt,
                                0,
                                $decrypt_len - $decrypt_padchar
                            );
                    }
                    
                    function km200_GetData( $REST_URL )
                    {
                      global $id, $curl_errno;
                      error_off();
                     
                      $ch = curl_init();
                      curl_setopt($ch, CURLOPT_URL, 'http://' . km200_gateway_host . $REST_URL);
                      curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
                      curl_setopt($ch, CURLOPT_USERAGENT,'TeleHeater/2.2.3');
                      curl_setopt($ch, CURLOPT_HEADER, 1);
                      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                      $output = curl_exec($ch);
                     
                      $curl_errno = curl_errno($ch);
                     
                      $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
                      $header = substr($output, 0, $header_size);
                      $body = substr($output, $header_size);
                     
                      if (empty($output) or $curl_errno != 0) {
                        logging($id, 'Fehler: ' . curl_error($ch));
                      } else {
                        $info = curl_getinfo($ch);
                    
                        if ($info['http_code'] != 200) {
                            if (empty($info['http_code'])) {
                                logging($id, "HTTP Fehler (ohne Code) beim Aufruf der URL " . $info['url']);
                            } else {
                                logging($id, "HTTP Fehler-Code " . $info['http_code'] . " beim Aufruf der URL " . $info['url']);
                            }
                        } else {
                              return json_decode(
                                km200_Decrypt(
                                  $body
                                ),
                                true //Achtung! Hier das true (und drüber das Komma) macht aus dem decodierten Objekt ein Array zur weiteren Bearbeitung)
                              );
                        }
                      }
                     
                      curl_close($ch);  
                    
                      error_on();
                    }
                    
                    function km200_Encrypt( $encryptData )
                    {
                        // add PKCS #7 padding
                        $blocksize = mcrypt_get_block_size(
                            MCRYPT_RIJNDAEL_128,
                            MCRYPT_MODE_ECB
                        );
                        $encrypt_padchar = $blocksize - ( strlen( $encryptData ) % $blocksize );
                        $encryptData .= str_repeat( chr( $encrypt_padchar ), $encrypt_padchar );
                        // encrypt
                        return base64_encode(
                            mcrypt_encrypt(
                                MCRYPT_RIJNDAEL_128,
                                km200_crypt_key_private,
                                $encryptData,
                                MCRYPT_MODE_ECB,
                                ''
                            )
                        );
                    }
                    
                    function km200_SetData( $REST_URL, $Value )
                    {
                        $content = json_encode(
                            array(
                                "value" => $Value
                            )
                        );
                        $options = array(
                            'http' => array(
                               'method' => "PUT",
                                'header' => "Content-type: application/json\r\n" .
                                            "User-Agent: TeleHeater/2.2.3\r\n",
                                'content' => km200_Encrypt( $content )
                            )
                        );
                        $context = stream_context_create( $options );
                        @file_get_contents(
                            'http://' . km200_gateway_host . $REST_URL,
                            false,
                            $context
                        );
                    }
                    
                    function hextobin($hexstr)
                    {
                        $n = strlen($hexstr);
                        $sbin="";  
                        $i=0;
                        while($i<$n)
                        {      
                            $a =substr($hexstr,$i,2);          
                            $c = pack("H*",$a);
                            if ($i==0){$sbin=$c;}
                            else {$sbin.=$c;}
                            $i+=2;
                        }
                        return $sbin;
                    }
                    
                    ?>
                    ###[/EXEC]###
                    Zitat von Glotzkowski Beitrag anzeigen
                    Dass Du mit der App nicht auf die Anlage kommst, wenn der Internetzugang für das Gateway gesperrt ist, ist meiner Information nach korrekt, da die App nicht direkt die Anlage steuert, sondern in der Buderus-Cloud die Werte für Deine Anlage ändert und diese dann erst an die Anlage übertragen werden.
                    Es gibt zwar in der App die Option sich nur lokal mit der Anlage zu verbinden aber dies funktioniert glaube ich erst seit den letzten Updates und auch nur, wenn die Anlage im gleichen Netz (VLAN) hängt, wie das Smartphone mit der App. Da ich solche Geräte in einem IoT-VLAN isoliere konnte ich das mit der lokalen Verbindung noch nicht testen.
                    Ich meine in der Manual der Anlage gelesen zu haben dass das geht (vor >2 Jahren). Aber es ging nicht.
                    Ich probiere mal die myDevice App aus.

                    Was mir besonders aufstößt an der App und am Gateway, dass es viiiiiele Daten gibt, an die ich gar nicht rankomme.
                    z.B. die ganzen Daten unter Info, aufgenommen elektrische Energie, erzeugte Wärme etc....
                    Aber auch Abtaustatus, Schalstatus div. Ausgänge z.B. Wannenheizung.
                    Außerdem fehlt mir z.B. die Möglichkeit die WW-Zirkulation anzutriggern.
                    Zuletzt geändert von Ing-Dom; 11.01.2019, 10:49.
                    OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                    Kommentar


                      #40
                      Zitat von SirSydom Beitrag anzeigen
                      Wert wird korrekt übernommen! Funzt also. Scheint an deiner Anlage zu liegen?
                      Wieso geht das bei meiner Anlage nicht!?!?!?!?
                      Problematisch wird hier sicher sein, dass dem Installateur oder dem Kundendienst zu melden, da sicher kein Support für die EDOMI-Anbindung geleistet wird.
                      Mal gucken, ob ich da den Fehler finde...

                      Zitat von SirSydom Beitrag anzeigen
                      was liest du denn für Werte aus für actualModulation? nur 0 und 100 ??
                      Seit jeher entweder 0 oder 100, da KM200 wurde allerdings nachgerüstet, vielleicht sollte ich da nochmal schauen, vielleicht hängt es am falschen EMS-Bus-Port...

                      Ja, da gebe ich Dir mit den Daten sehr Recht, ich würde mir auch wünschen an alle verfügbaren Daten zu kommen, verstehe auch nicht was das soll, nur einen Teil darüber verfügbar zu machen.
                      Bzgl. der Zirkulation war ich auch enttäuscht, die lässt sich ja noch nicht mal per App im Zeitprogramm verändern, sondern nur am Gerät selber.
                      Da hatte ich aber auch mal ein Statement irgendwo gelsesen, dass das Absicht ist, da es bei falscher Steuerung ansonsten Probleme bei Frost geben soll...
                      Wäre ja nicht so also ob man das nicht programmatisch in der Anlage hätte abfangen können, wenn es wirklich soweit kommen sollte.

                      Kommentar


                        #41
                        Zitat von Glotzkowski Beitrag anzeigen
                        Mal gucken, ob ich da den Fehler finde...
                        Viel Erfolg! Andererseits ist das Schreiben auch nicht sooo entscheidend. Viel geht ja eh nicht

                        Zitat von Glotzkowski Beitrag anzeigen
                        Seit jeher entweder 0 oder 100, da KM200 wurde allerdings nachgerüstet, vielleicht sollte ich da nochmal schauen, vielleicht hängt es am falschen EMS-Bus-Port...
                        Sehr merkwürdig. Deine WP aber moduliert? Bei mir merkt man das deutlich am Lüfter - und man siehts an den Werten:
                        WP.JPG

                        Zitat von Glotzkowski Beitrag anzeigen
                        Bzgl. der Zirkulation war ich auch enttäuscht, die lässt sich ja noch nicht mal per App im Zeitprogramm verändern, sondern nur am Gerät selber.
                        Da hatte ich aber auch mal ein Statement irgendwo gelsesen, dass das Absicht ist, da es bei falscher Steuerung ansonsten Probleme bei Frost geben soll...
                        Was soll die WW-Zirkulation mit Frost zu tun haben? Ich mir maximal vorstellen dass hier die Heizkreispumpe gemeint war, und das gilt aber auch nur bei einer Monoblock-WP wie meiner, bei einer Split-Anlage wie deiner ist ja draußen kein Wasser, nur Kältmittel.

                        Ich werde wenn ich etwas Muße habe die Zirkulationspumpe fürs WW einfach auf einen Schaltaktor hängen und per KNX steuern...
                        OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                        Kommentar


                          #42
                          image_80004.png
                          Zitat von SirSydom Beitrag anzeigen
                          Deine WP aber moduliert?
                          Da moduliert schon was, wenn man meinen Diagrammen glauben möchte, ich glaube aber nur CHpumpModulation.

                          Kommentar


                            #43
                            So der LBS ist neu gemacht, siehe HIER, habe dann doch prinzipiell Ing-Doms Idee bzgl. der frei wählbaren URLs übernommen und noch ein Bonbon mit den Abfragbaren URLs eingebaut, ich hoffe das klappt bei Dir/Euch auch?
                            Den Fehler bzgl. Schreiben habe ich auch gefunden.
                            Ich hatte bei Tests einen Temperaturwert geschrieben dabei als Datentyp "String" anstantt "Integer" verwendet und das mag die Anlage nicht.
                            Das Script, welches ich hier für den Schreibtest hochgeladen hatte funktionierte auch auf Anhieb bei mir, hatte wohl Tomaten auf den Augen...

                            Kommentar


                              #44
                              Klasse Danke das sind prima Neuigkeiten. Dann bin ich gespannt. Sobald Edomi auf PHP 7 ist kann man auch auf OpenSSL statt mycrypt umstellen und dann bin ich dabei.

                              Kommentar


                                #45
                                klingt super! Werde ich die Tage mal testen!
                                OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                                Kommentar

                                Lädt...
                                X