+ Antworten
Seite 1 von 8 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 76
  1. #1
    Registriert seit
    Apr 2007
    Ort
    Oberösterreich
    Beiträge
    630

    Standard Smartmeter auslesen - Verschlüsselung

    Ich versuche mich in meinem Neubau gerade damit meinen Smartmeter auszulesen, was für mich ein Riesenprojekt wird, mangels eingeschränkter Programmierkenntnisse
    Der Zähler hat eine M-BUS Schnittstelle, den Lesekopf dafür habe ich bereits und via RS232 sehe ich auch schon die Suchanfrage des Zählers welche minütlich ausgesendet wird. Soviel dazu.

    Die Kommunikation zum Zähler ist verschlüsselt nach OMS, AES-128, „encryption mode 5“. Eine Schlüssel zum Entschlüsseln habe ich vom EVU bereits bekommen. Meine simple Frage: Das lässt sich aber mit den Boardmitteln grundsätzlich schon lösen, sprich an die Daten zu kommen? Nicht das ich mir hier jetz einen abfummle und dann scheiterts daran
    Geändert von hofimax (19.01.16 um 11:15 Uhr)

  2. #2
    Registriert seit
    Apr 2007
    Ort
    Oberösterreich
    Beiträge
    630

    So, nun brauche ich schon eure Hilfe. Ich habe es bereits geschafft per RS232 ankommende Daten im HEX-Format aus dem Zähler zu sehen. Dieser schickt jede Minute eine Suchanfrage aus, die so aussieht (Debug aus einer RegVar).

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Suchanfrage.PNG 
Hits:	331 
Größe:	2.8 KB 
ID:	32600

    Diese soll ich nun mit einem "E5h" innerhalb von 0,5 sec quittieren bevor ich überhaupt eine Abfrage machen kann. Ich hab schon ein bisschen umherprobiert, erfolglos. Kann mir hier jemand auf die Sprünge helfen wie ich sowas angehe?

    Dank euch!

  3. #3
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,304

    Hi!

    Ich würde es damit machen:
    RegisterVariable — IP-Symcon :: Automatisierungssoftware

    Wenn etwas kommt im Target-Skript der RegVar darauf reagieren. Geht ruck zuck. Und wenn XY kommt, einfach skripten "schick ABC zurück".

    Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  4. #4
    Registriert seit
    Apr 2007
    Ort
    Oberösterreich
    Beiträge
    630

    Genau damit habe ich begonnen, aber ich checke leider nicht genau wie ich den Hex Wert übernehmen muß bzw. die Antwort retour sende, ich stelle hier mal meine ersten Codezeilen ein, aber bitte nicht lachen

    PHP-Code:
     <?
    if ($_IPS['SENDER'] == "RegisterVariable")

    {
    // bereits im Puffer der Instanz vorhandene Daten in $data kopieren
        
    $data  RegVar_GetBuffer($_IPS['INSTANCE']);
        
    // neu empfangene Daten an $data anhängen
        
    $data .= $_IPS['VALUE'];
    // wenn die Zeichen xxx in $data gefunden worden sind
        
    if ($data == '10 40 F0 C1 64 FC')
        {
        
        
    RegVar_SendText(31963,'e5H');
    }
    }

    ?>
    So würde mein Quittierbefehl aussehen, funktioniert halt nicht

  5. #5
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,304

    Gibt nix zu lachen! Du hast es wenigstens selbst versucht und sieht gar nicht schlecht aus Das ist schon weit mehr als andere machen Aber hättest schreiben können, dass du das schon gemacht hast

    Dann öffne mal die RegVar und klicke auf DEBUG. Was passiert da? Wird der Buffer immer weiter gefüllt und nicht geleert?

    Dann bau noch ein "RegVar_SetBuffer($ID, "");" ein, damit der Buffer geleert wird. Ist es das nicht, dann mal bitte die Debug-Ausgabe posten.

    Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  6. #6
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,427

    Ergänzend sei noch gesagt, dass dein Vergleich und auch dein Senden so nicht funktionieren kann.
    Du vergleichst einen String mit Rohdaten aus der RegVar mit einer Zeichenkette von Zahlen/Buchstaben.
    Du musst aber beides im gleichen 'Format' haben.
    Schau dir dazu mal die Funktion PHP: hex2bin - Manual an sowie die Umkehrfunktion.
    Beim senden ist es ähnlich. Bei nur einem Zeichen kannst du z.B. Chr(0xe5) nutzen.
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  7. #7
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,331

    Kannst es ja erst mal so testen.

    PHP-Code:
     <? 
    if ($_IPS['SENDER'] == "RegisterVariable"


    // bereits im Puffer der Instanz vorhandene Daten in $data kopieren 
        
    $data  RegVar_GetBuffer($_IPS['INSTANCE']); 
        
    // neu empfangene Daten an $data anhängen 
        
    $data .= $_IPS['VALUE']; 
    // wenn die Zeichen xxx in $data gefunden worden sind 
        
    if ($data == "\x10\x40\xF0\xC1\x64\xFC"
        { 
         
        
    RegVar_SendText(31963,"\xE5"); 



    ?>
    Immer schön mit Debuggen.
    Geändert von RWN (19.01.16 um 23:46 Uhr)
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  8. #8
    Registriert seit
    Apr 2007
    Ort
    Oberösterreich
    Beiträge
    630

    Hi Rainer!

    Geile Sache, funktioniert nur nicht :-) Bin noch etwas verwirrt wegen der Hex Werte, so wie du das schreibst, da wär ich nicht drauf gekommen.
    Kannst es sein das es nicht funktioniert weil ich die Daten nicht in "einer Zeile" empfange, siehe Screenshot. Das Script läuft auf alle Fälle durch wenn die Daten kommen.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Suchanfrage.PNG 
Hits:	216 
Größe:	12.5 KB 
ID:	32612

  9. #9
    Registriert seit
    Sep 2007
    Ort
    Daisendorf - Bodensee
    Beiträge
    946

    Nein, das Problem ist, dass in deinem Buffer mehr drin steht, als nur das eine Auftreten deiner Hex-Sequenz. Öffne mal das Debug der RegVar, dann siehst Du das. Ich würde hier vltt. mit "preg_match" arbeiten, oder auf das Auftreten des ersten und letzten Hex-Wertes mit "str_pos" prüfen. Und wenn Du die Sequenz "gefunden" hast, muss der Buffer auch wieder geleert werden.
    HM per CCU2 + LAN-Adapter am RasPi | Youless | Hydreon RG-11 | SONOS 2xPlay:1, 1xPlay:5, 3xConnect:AMP | eBus

  10. #10
    Registriert seit
    Apr 2007
    Ort
    Oberösterreich
    Beiträge
    630

    Okay, danke, das mit dem Buffer wer ein guter Tipp und hat mein Verständnis für diesen Buffer erweitert. Ich habe das Script jetzt so abgeändert

    PHP-Code:
     <?
    if ($_IPS['SENDER'] == "RegisterVariable")

    {
    // bereits im Puffer der Instanz vorhandene Daten in $data kopieren
        
    $data  RegVar_GetBuffer($_IPS['INSTANCE']);
        
    // neu empfangene Daten an $data anhängen
        
    $data .= $_IPS['VALUE'];
    // wenn die Zeichen xxx in $data gefunden worden sind
        
    if ($data == "\x40\xF0\xC1\x64\xFC")
        {

        
    RegVar_SendText(31963,"\xe5");
        
    RegVar_SetBuffer(31963"");
    }
    }

    ?>
    dann sprudelts auch schon raus aus dem Zähler Die Daten die da ankommen muß ich jetzt erstmal verstehen, dann kommen bestimmt die nächsten Fragen, speziell auch zur Verschlüsselung und wie ich die HEX Daten dann soweit ausfiltere das mir nur die Zählerdaten übrig bleiben.

Ähnliche Themen

  1. Enocean Verschlüsselung
    Von test2011 im Forum EnOcean
    Antworten: 0
    Letzter Beitrag: 17.06.14, 10:29
  2. Z-Wave Sicherheit / Verschlüsselung
    Von ernie im Forum Z-Wave
    Antworten: 1
    Letzter Beitrag: 09.03.12, 19:43
  3. Homematic Verschlüsselung an/ausstellen
    Von gros_ibou im Forum HomeMatic
    Antworten: 2
    Letzter Beitrag: 12.05.11, 19:28
  4. HM Protokoll / Verschlüsselung
    Von sleepy im Forum HomeMatic
    Antworten: 3
    Letzter Beitrag: 28.06.10, 22:29
  5. [FHZ WLAN] Verschlüsselung abschalten
    Von Silvia im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 18
    Letzter Beitrag: 07.01.09, 06:41