greenMikeEU / SmartMeterEVNKaifaMA309

Dieses Projekt ermöglicht es den Smartmeter der EVN (Netz Niederösterreich) über die Kundenschnittstelle auszulesen.
GNU General Public License v3.0
46 stars 25 forks source link

Geht leider nicht mehr #16

Closed tonka3000 closed 1 year ago

tonka3000 commented 1 year ago

Hallo @greenMikeEU ,

danke für das tolle Skript. Hat bis gestern perfekt funktioniert. Seit gestern (08.04.2023) 15:00 bekomm ich plöztlich ein anderes xml zurück, wo keine uint32 or uint16 vorkommen.

Geht das bei dir/euch noch oder habt ihr das gleich Problem bzw. eine Idee was man machen kann?

Vielen Dank Michael

hansratzinger commented 1 year ago

Hast du irgend ein Update gemacht? Ich habe seit 9 Monaten nun alles unter Docker laufen und damit alles gekapselt. Wenn das einmal funktioniert läuft das dann ungestört vom übrigen Betriebssystem. Es ist wesentlich einfacher als es sich anhört. Ich habe Anleitung dazu hier veröffentlicht: https://hansratzinger.github.io/smartmeter-docker/

greenMikeEU commented 1 year ago

Hallo @tonka3000,

welchen Pharser hast du verwendet ? html5lib oder lxml? soup = BeautifulSoup(xml, 'lxml') soup = BeautifulSoup(xml, 'hmtl5lib') ich habe den html5lib auf den lxml geändert und dann hat es wieder funktioniert musst noch die Bibliothek installieren mir pip install lxml

tonka3000 commented 1 year ago

Hey @greenMikeEU ,

Ich habe BeautifulSoup mit BeautifulSoup(xml, "html.parser" ) laufen. Mit lxml gings bei mir nicht trotz library installieren. Das komische ist das der xml content gar nicht mehr die Daten enthält die im Script abgefragt werden enthält.

Ein print(xml) vorm BeautifulSoup(xml, "html.parser" ) schaut wie folgt aus

<WiredMBus len="FE" >
<TargetAddress Value="67" />
<SourceAddress Value="1" />
</WiredMBus>
<WiredMBus len="18" >
<TargetAddress Value="67" />
<SourceAddress Value="1" />
<!--
IDIS system title:
Manufacturer Code: KFM
Function type: Disconnector extension, Multi Utility extension
-->
  <GeneralGloCiphering>
    <SystemTitle Value="BBB64D65509A539B" />
    <CipheredService Value="200000...E84DFD42BB68D57...C3AC80" />
  </GeneralGloCiphering>

</WiredMBus>

Inhalte wie CipheredService Value hab ich gekürzt und mit ... ersetzt.

Wenn ich mich richtig erinnere sollte der Inhalt anderes aussehen. Es sie für mich so aus als wäre der content jetzt im CipheredService Value.

@hansratzinger Hab nichts verändert.

greenMikeEU commented 1 year ago

Hallo, hast du einen Test Datensatz für mich und dein Pin? Hier kannst du es testen Daten einfach in Zeile 90 einfügen und den Key in Zeile 43 AusleseSkript.zip

tonka3000 commented 1 year ago

Ist der Datensatz von der Stelle korrekt daten = ser.read(size=282).hex()?

Habs in deine AusleseSkrip eingefügt, bekomm die selbe Fehlermeldung.

greenMikeEU commented 1 year ago

Hallo am besten du schickst mir deine Daten und den Key und ich versuche es nochmal ich weiß nicht genau was du meinst.

Es gibt aber noch einen anderen Weg die Daten rauszusuchen aber dieser ist mühselig und werde ich erst machen wenn es keine Alternative mehr gibt

tonka3000 commented 1 year ago

Ich schick dir Daten per mail

tonka3000 commented 1 year ago

@greenMikeEU Ich hab es jetzt wieder zum Laufen gebracht. Ich habe nochmal den Key angefragt und der war anders 🤪. Mit dem neuen Key geht es wieder ohne Probleme. D.h. wenn die Daten ohne den uint32 und uint16 bekommt hat die Entschlüsselung nicht funktioniert.