Ankündigung

Einklappen
Keine Ankündigung bisher.

Buderus KM200 Kommunikationsmodul an EibPC

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

    [Webserver] Buderus KM200 Kommunikationsmodul an EibPC

    Hallo ,

    ich habe das Buderus KM200 Modul jetzt in Betrieb genommen. Die Daten meiner Heizungsanlage
    kann ich nun mit einem PHP Script, das auf einem Synology NAS läuft, auslesen.

    Wen es interessiert, hier der Link zum Thema.

    http://www.ip-symcon.de/forum/thread...KM200-Reloaded

    Die Daten werden dabei wie folgt ausgegeben:

    /system/brand;Buderus;/gateway/DateTime;2015-03-31T20:55:56;/gateway/versionFirmware;01.09.04;
    /gateway/instAccess;off;/heatingCircuits/hc1/operationMode;auto;/heatingCircuits/hc1/roomtemperature;18;
    /heatingCircuits/hc1/status;ACTIVE;/heatSources/actualPower;0;/heatSources/actualCHPower;0;
    /heatSources/actualDHWPower;0;/heatSources/flameStatus;off;/heatSources/CHpumpModulation;0;
    /heatSources/gasAirPressure;0;/heatSources/systemPressure;1.2;/heatSources/returnTemperature;19.4;
    /heatSources/systemPressure;1.2;/system/healthStatus;ok;/system/sensors/temperatures/outdoor_t1;5.9;
    /system/sensors/temperatures/supply_t1;23.9;/system/sensors/temperatures/hotWater_t1;-3276.8;
    /system/sensors/temperatures/hotWater_t2;59.8;/system/sensors/temperatures/return;19.4;



    Könnt ihr mir bitte Tipps geben, wie ich die Sache mit dem EibPC visualisieren kann !

    Viele Grüße

    René
    Zuletzt geändert von rewe; 31.03.2015, 20:37.

    #2
    Warum bringst Du Deinem PHP Script nicht einfach bei, die relevanten Daten per UDP als Broadcast oder direkt an den EibPC zu senden? Das ist sicher aus Performance Gründen besser als den String oben im EibPC per HTTP zu holen und dann zu zerpflücken ...

    Gruß,
    Bernd

    Kommentar


      #3
      Zitat von rewe Beitrag anzeigen
      Die Daten werden dabei wie folgt ausgegeben:
      /system/brand;Buderus;/gateway/DateTime;2015-03-31T20:55:56;/gateway/versionFirmware;01.09.04;
      Schau Dir mal das Makro für Wunderground in der EnertexV2.lib. Dort wird eine Http-Abfrage empfangen und geparst. Damit kannst Du dann z.B. die Rücklauftemperatur in eine Variable speichern und visualisieren.
      Bei uns hier ist dei Dimplex wie folgt visualisiert.
      forum.png

      Angehängte Dateien
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        Zitat von bmx Beitrag anzeigen
        ... Daten per UDP als Broadcast oder direkt an den EibPC zu senden
        Hallo Bernd, hast du für die Empfängerseite EibPC ein Beispiel oder ein "Stück" Code ?

        Michael, das Macro schau ich mir an.

        Viele Grüße
        René

        Kommentar


          #5
          Zitat von rewe Beitrag anzeigen
          Hallo Bernd, hast du für die Empfängerseite EibPC ein Beispiel oder ein "Stück" Code ?
          Das würde sich fast nicht unterscheiden vom Wettermakro bis auf anstelle readtcp wird readudp verwendet. Allerdings ist UDP tatsächlich etwas schneller
          Allerdings würde ich mit tcp beginnen, weil es direkter ist, hinterher sehr schnell auf udp umgestellt werden kann. Wenn man das so baut, wie im Makro, braucht man nicht allzuviel Angst von der Performance haben.
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #6
            Hab grad nochmal geschaut, was das PHP Script betrifft. Mit stream_socket_sendto sollte da auch was gehen.
            <?php
            $socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
            if ...

            stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
            } while ($pkt !== false);
            ..

            Zuletzt geändert von rewe; 01.04.2015, 19:57.

            Kommentar


              #7
              Zitat von enertegus Beitrag anzeigen
              Bei uns hier ist dei Dimplex wie folgt visualisiert.
              ohne das hier zu kapern, nur ganz kurz: Hast Du noch die "EWPM" dran (dann würde mich Dein Code interessieren) oder bist Du auf "NWPM" umgestiegen?
              ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

              Kommentar


                #8
                Hallo Rewe,
                ich habe auch vor Kurzem mein KM200 Modul in Betrieb genommen und würde jetzt gerne einige Daten visualisieren.
                Das PHP Skript aus deinem Link habe ich auf meinem RasPi laufen. Ich habe Version 1 aus dem Skript versucht, da ich IPS nicht verwende?
                Ein zweites PHP Skript habe ich zum testen laufen: (REST_URL wird über den Browser übergeben)
                <?php
                include 'km200.php';
                echo $_GET["REST"];
                echo km200_GetData($_GET["REST"]);
                ?>
                Aber leider kommt da nichts zurück?
                Vielleicht kannst du mir da weiter helfen, oder vielleicht kurz erklären wie die Abfrage bei dir aussieht?
                Port Nummer ist bei dir auch 80, oder?
                Der Login Name wird in dem AES-Generator nicht abgefragt, wird der also gar nicht benötigt?

                sorry, falls ich mich hier extrem blöd anstelle, aber ich hab noch nie etwas mit php zu tun gehabt.

                Vielen Dank,
                Grüße

                Kommentar


                  #9
                  Das Script läuft so wie im Link angegeben auf dem NAS, Aufruf über http://DEINE_IP/km200.php. Deine Daten musst du auf alle Fälle in der nachfolgenden Form im Script eingeben.

                  // IP Adresse oder DNS-Hostname des KM200
                  define( "km200_gateway_host", 'DEINE_IP', true );
                  // Gerätepasswort. Achtung: Ohne Bindestriche und in ASCII!
                  define( "km200_gateway_password", 'DEIN_PASSWORT', true );
                  // Eigenes Passwort wie in der App vergeben
                  define( "km200_private_password", 'DEIN_APP_PASSWORT', true );
                  ...

                  Gruß René

                  Kommentar


                    #10
                    Das Projekt interessiert mich jetzt auch, jedoch bevor ich mir ein KM200 zulege, würde mich interessieren, was man alles über den EibPC auslesen bzw. noch interessanter, was man alles schalten kann??

                    Vielleicht kann jemand kurz was dazu schreiben...
                    MfG MrKnx

                    Kommentar


                      #11
                      Mit dem EibPC geht leider noch nichts. Du kannst dich hier einlesen...

                      http://forum.fhem.de/index.php/topic,25540.0.html

                      Bei mir läuft bisher das php-Script auf dem Webserver. Mit Wireshark hab ich das hier aktuell ausgelesen, um mit der http-Abfrage vom EibPC beginnen zu können.


                      Hypertext Transfer Protocol
                      GET /km200rw.php HTTP/1.1\r\n
                      Host: 192.168.30.10\r\n
                      Accept-Encoding: gzip, deflate\r\n
                      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
                      User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.5.17 (KHTML, like Gecko) Version/8.0.5 Safari/600.5.17\r\n
                      Accept-Language: de-de\r\n
                      Cache-Control: max-age=0\r\n
                      Connection: keep-alive\r\n
                      \r\n
                      [Full request URI: http://192.168.30.10/km200rw.php]
                      [HTTP request 1/1]
                      [Response in frame: 81]



                      Hier noch die verfügbaren Parameter, die aber abhängig von der jeweiligen Heizungsanlage sind.

                      KM200 - Die Hardwareschnittstelle der Buderus Heizung

                      Die Ansteuerung läuft über eine REST-API. Verfügbare Services sind:
                      /gateway/uuid UUID des Moduls
                      /gateway/versionFirmware Firmwareversion des Moduls
                      /gateway/versionHardware Hardwareversion des Moduls
                      /gateway/DateTime Datum und Uhrzeit des Moduls
                      /gateway/instAccess
                      /gateway/instWriteAccess
                      /system/brand Herstellerbezeichnung
                      /system/systemType Bezeichnung des Gateways
                      /system/bus Bustyp im System
                      /system/healthStatus Gesamtzustand des Systems
                      /system/sensors/temperatures/outdoor_t1 Außentemperatur
                      /system/sensors/temperatures/supply_t1_setpoint Temperaturschwelle für Heizsystem (wird im System selbst als "Kessel-Solltemperatur" angegeben)
                      /system/sensors/temperatures/supply_t1 Vorlauftemperatur
                      /system/sensors/temperatures/hotWater_t1
                      /system/sensors/temperatures/hotWater_t2 Warmwassertemperatur an der Entnahme
                      /system/sensors/temperatures/return Rücklauftemperatur
                      /system/sensors/temperatures/switch
                      /system/sensors/temperatures/chimney Abgastemperatur
                      /system/appliance/actualSupplyTemperature Temperatur des Vorlaufs
                      /system/appliance/powerSetpoint
                      /system/appliance/actualPower aktuelle Systemleistung
                      /system/appliance/CHpumpModulation Modulation der Heizpumpe
                      /system/appliance/numberOfStarts Brennerstarts
                      /system/appliance/gasAirPressure anliegender Gasdruck
                      /system/appliance/systemPressure Druck im Heizkreislauf
                      /system/appliance/ChimneySweeper
                      /system/appliance/workingTime/totalSystem Betriebsstundenzähler (Gesamtsystem)
                      /system/appliance/workingTime/secondBurner
                      /system/appliance/workingTime/centralHeating Betriebsstundenzähler (Heizsystem)
                      /system/appliance/nominalBurnerLoad Nominale Brennerlast
                      /system/heatSources/hs1/energyReservoir
                      /system/heatSources/hs1/reservoirAlert
                      /system/heatSources/hs1/nominalFuelConsumption
                      /system/heatSources/hs1/fuelConsmptCorrFactor
                      /system/heatSources/hs1/actualModulation
                      /system/heatSources/hs1/actualPower aktuelle Leistung im HK1
                      /system/heatSources/hs1/fuel/density Dichte des Brennstoffs
                      /system/heatSources/hs1/fuel/caloricValue
                      /heatingCircuits/hc1/currentRoomSetpoint
                      /heatingCircuits/hc1/actualSupplyTemperature Vorlauftemperatur für HK1
                      /heatingCircuits/hc1/operationMode Betriebsmodus (auto/man)
                      /heatingCircuits/hc1/temperatureRoomSetpoint
                      /heatingCircuits/hc1/manualRoomSetpoint
                      /heatingCircuits/hc1/temporaryRoomSetpoint
                      /heatingCircuits/hc1/roomtemperature Raumtemperatur im Referenzraum für HK1
                      /heatingCircuits/hc1/activeSwitchProgram aktives Heizprogramm (A oder B) für HK1
                      /heatingCircuits/hc1/switchPrograms/A Daten für Programm A
                      /heatingCircuits/hc1/switchPrograms/B Daten für Programm B
                      /heatingCircuits/hc1/temperatureLevels/eco Solltemperatur im Absenkbetrieb
                      /heatingCircuits/hc1/temperatureLevels/comfort2 Solltemperatur für Heizbetrieb
                      /heatingCircuits/hc1/temperatureLevels/day Solltemperatur für Heizbetrieb
                      /heatingCircuits/hc1/temperatureLevels/night Solltemperatur für Absenkbetrieb
                      /heatingCircuits/hc1/pumpModulation Modulation der Heizpumpe für HK1
                      /heatingCircuits/hc1/fastHeatupFactor
                      /heatingCircuits/hc1/status Betriebsanzeige HK1
                      /solarCircuits/sc1/dhwTankTemperature Warmwassertemperatur im Speicher (unten) für SC1
                      /solarCircuits/sc1/solarYield Solarertrag im SC1
                      /solarCircuits/sc1/pumpModulation Modulation der Solarpumpe im SC1
                      /solarCircuits/sc1/collectorTemperature Kollektortemperatur im SC1
                      /solarCircuits/sc1/actuatorStatus
                      /solarCircuits/sc1/status Betriebsanzeige SC1
                      /heatSources/actualPower aktuelle Brennerleistung
                      /heatSources/actualCHPower aktuelle genutzte Leistung des Heizsystems
                      /heatSources/actualDHWPower aktuell genutzte Leistung des Warmwassersystems
                      /heatSources/flameStatus Brennerstatus (Flamme oder nicht)
                      /heatSources/CHpumpModulation Modulation der Heizpumpe
                      /heatSources/actualsupplytemperature Vorlauftemperatur
                      /heatSources/powerSetpoint
                      /heatSources/gasAirPressure anliegender Gasdruck
                      /heatSources/systemPressure Druck im Heizsystem
                      /heatSources/ChimneySweeper
                      /heatSources/powerSetpoint
                      /heatSources/returnTemperature Rücklauftemperatur
                      /heatSources/numberOfStarts Anzahl der Brennerstarts
                      /heatSources/nominalCHPower Nominale Leistung des Heizsystems
                      /heatSources/nominalDHWPower Nominale Leistung des Warmwassersystems
                      /heatSources/workingTime/totalSystem Betriebsstunden (Gesamtsystem)
                      /heatSources/workingTime/secondBurner
                      /heatSources/workingTime/centralHeating Betriebsstunden (Heizsystem)

                      Gruß René

                      Kommentar


                        #12
                        Ich habe nur kurz die Infos hinter der von Dir geposteten URL überflogen.

                        Dort wird mit einem md5 Hash gearbeitet. Das bekommst Du mit dem EibPC nicht nachgebildet.

                        Kommentar


                          #13
                          ...md5 Hash , erklär mir das bitte genauer

                          Kommentar


                            #14
                            Zitat von Jambala Beitrag anzeigen
                            Dort wird mit einem md5 Hash gearbeitet..
                            Doch: Funktion md5sum .... Seite 248, Handbuch
                            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                            Enertex Produkte kaufen

                            Kommentar


                              #15
                              Der verwendete Salt ist doch im php-Script schon mit enthalten.

                              // Salt der MD5-Hashes zur AES-Schlüsselerzeugung
                              $Buderus_MD5Salt = pack(
                              "c*",
                              0x86, 0x78, 0x45, 0xe9, 0x7c, 0x4e, 0x29, 0xdc,
                              0xe5, 0x22, 0xb9, 0xa7, 0xd3, 0xa3, 0xe0, 0x7b,
                              0x15, 0x2b, 0xff, 0xad, 0xdd, 0xbe, 0xd7, 0xf5,
                              0xff, 0xd8, 0x42, 0xe9, 0x89, 0x5a, 0xd1, 0xe4
                              );
                              define( "km200_crypt_md5_salt", $Buderus_MD5Salt, true );
                              // Erste Hälfte des Schlüssels: MD5 von ( Gerätepasswort . Salt )
                              $key_1 = md5( km200_gateway_password . km200_crypt_md5_salt, true );
                              // Zweite Hälfte des Schlüssels - initial: MD5 von ( Salt )

                              Damit wird doch die Hashfunktion bereits im Script abgearbeitet oder sehe ich das falsch ??

                              Gruß René

                              Kommentar

                              Lädt...
                              X