Hallo, mir ist bewusst das es zu diesem Thema bereits eine ganze Menge an Beiträgen gibt, aber leider hat mir keiner Wirklich weiter geholfen. Daher wollte ich es einfach mal versuchen mein Problem zu formulieren. Generell würde ich gerne meinen DTZ541-ZDBA über die IR-Schnittstelle auslesen. Hierzu habe ich mir bei Amazon einen IR-Lesekopf bestellt und über einen FDTI Adapter an einen Raspberry Pi angeschlossen. Ich empfange auch Daten (ich denke es sind SML Daten in HEX) kann diese aber nicht decodieren. Wenn ich im Netzt nach der Spezifikation suche kommen ich immer nur die Version 1.0 --> (Technische Richtlinie BSI TR-03109-1) ist aber die Version 1.0 In dem Handbuch zu meinem digitalen Stromzähler steht das die Version 1.04 verwendet wird. Ich würde hier im 1. Schritt ungern den kompletten Datenstrom rein kopieren da ich nicht genau weiß was da alles an Daten drin enthalten ist. Ich hoffe ihr habt dafür Verständnis. Ich Empfange aber so etwas 1b1b1b1b1a63.... oder 77070100010802... scheint also nicht kompletter Müll zu sein. Denke ich zumindest. Baudrate ist 96008N1 Kann mir jemand helfen? Danke & Grüße
:
Bearbeitet durch User
Sieht doch richtig aus, 1.04 etc ist dort verlinkt: https://de.wikipedia.org/wiki/Smart_Message_Language
Vielen Dank! Ich schau mir das einmal an. Ich hoffe falls sich Fragen ergeben darf ich mich noch mal hier melden. Grüße und noch eine schöne Restwoche
Hallo, Bei der SML Nachricht in der es um die Zaehler ID geht bekomme ich zumindest ab und zu einmal den erwarteten Wert und die erwartete Struktur der Nachricht. Daher glaube ich das ich anhand dieser Nachricht meine ersten Fragen am besten formulieren kann. 76 01 01 07 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 01 01 1. Die 0x76 Ich meine verstanden zu haben das die 0x76 angibt das eine Liste kommt, welche mit 6 Elemente enthält. richtig? (Wird dieses Element bereits mitgezählt oder nicht?) 2. Welches Element gibt nun an das dies die Nachricht für die Zähler ID ist? Steht das dann in einer anderen Norm/Definition? 3. Mir ist auch nicht wirklich klar wie und wo es steht wie die Daten der Nachricht genau zu interpretieren sind, also ob es integer8, integer16 oder integer32 sind. Tatsächlich habe ich diese Nachricht auch nur einmal in dieser Form erhalten. Ansonsten bekomme ich ähnliche Nachrichten welche aber gefühlt immer Datenfehler/Übertragungsfehler enthalten. Ist das bei euch auch so? Als das ca. nur jede 30. Nachricht sauber und ordentlich ist? Vielen Dank & Gruß
Lars schrieb: > Ich meine verstanden zu haben das die 0x76 angibt das eine > Liste kommt, welche mit 6 Elemente enthält. richtig? Richtig. Lars schrieb: > Welches Element gibt nun an das dies die Nachricht für die Zähler ID > ist? Wenn du aus dem Datenstrom irgendwo einen Ausschnitt herausgreifst, dann kannst du den nicht mehr definitiv mit der ASN.1-Grammatik korrelieren. Deine 0x76 ist wahrscheinlich der Beginn einer Liste mit 6 Elementen, wahrscheinlich eine SML_PublicOpen.Res innerhalb eines SML_MessageBody einer SML_Message. Aber die 0x76 könnte auch eine andere Liste sein, zum Beispiel die SML_Message selbst, oder sogar Teil der Nutzdaten. Du musst immer vom Beginn der Nachricht an das Binary Encoding auseinanderpfriemeln, und dabei Schritt für Schritt die Dekodierung der Datentypen parallel zur Grammatik durchführen. Lars schrieb: > Mir ist auch nicht wirklich klar wie und wo es steht wie die Daten > der Nachricht genau zu interpretieren sind, > also ob es integer8, integer16 oder integer32 sind. Das gibt schon das TL-Feld an. Siehe https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03109/TR-03109-1_Anlage_Feinspezifikation_Drahtgebundene_LMN-Schnittstelle_Teilb.pdf?__blob=publicationFile&v=1, "Kodierung der Datentypen", 6.2.2. Lars schrieb: > Tatsächlich habe ich diese Nachricht auch nur einmal in dieser Form > erhalten. Ansonsten bekomme ich ähnliche Nachrichten welche aber gefühlt > immer Datenfehler/Übertragungsfehler enthalten. Ist das bei euch auch > so? Als das ca. nur jede 30. Nachricht sauber und ordentlich ist? Nein. Bei mir sind alle Nachrichten sauber. LG, Sebastian
:
Bearbeitet durch User
Hallo, zum Auslesen meines digitalen Stomzählers, der mir wegen der PV-Anlage eingebaut wurde habe ich mir eine kleine Schaltung aufgebaut, mit einem Atmega8 als Controller und einer Basic-Software, die mir die im SML-Teleramm codierbaren Daten auf einem 2x16 LCD-Display anzeigt. Das schaltbild und auch die Software versuche ich mal hier zu posten, wenns denn klappt.. lg, Manfred
Hallo, Meine Software habe ich mit dem Bascom-Compiler geschrieben, das liest sich einfach und bedarf wenig Erklärung. lg, Manfred
Manfred schrieb: > Das schaltbild Wenn das nicht irgendwie versteckt durch Netz-Label passiert, fehlt eine Verbindung zwischen VCC und AVCC. Der Mega8 braucht AVCC, auch wenn der ADC nicht verwendet wird. Ohne die Verbindung wird PortC irgendwie undefiniert parasitär versorgt, unschön.
Nach meinen Unterlagen beginnt ein Telegramm mit "1B, 1B, 1B, 1B, 1, 1, 1, 1" und endet mit "1B, 1B, 1B, 1B, 1A" gefolgt von der CRC16 Prüfsumme. Wenn du stumpf nach 400 Bytes den Anker wirfst, kann bei unpassendem Timing dein Programm in den Wald gehen. Es ist auch suboptimal, das Telegramm mit festen Positionen für die Daten auszuwerten. Sinnvoller wäre es, das Telegramm von vorn nach hinten aufzudröseln und die Message Typen auszuwerten. Eine schöne ausführliche Definition des SML Protokolls findest du beim BSI Technische Richtlinie BSI TR-03109-1 Anlage IV: Feinspezifikation „Drahtgebundene LMN-Schnittstelle“ Teil b: „SML – Smart Message Language“
Hallo Ernst, Hallo Georg, Ja, die vergessene Drossel ist wohl ein Zeichenfehler, und der Rest funktioniert einfach so. Die Startsequenz geht auch mit allen 8 Bytes ,ich hatte das auch in anderen Versionen laufen, im Prinzip ist es ja das Gleiche. Bislang ist mir noch nicht aufgefallen, dass die Informationen an anderen Speicherstellen erscheinen, aber ich werde das mal beobachten.. Danke fürs kommentieren, man kann ja immer nochmal was lernen .. vG, Manfred
Hallo, hier steht eine ganze Menge über die Auslesung von Stromzählern. Beitrag "Digitale Stromzähler auslesen und in DB speichern" Gruß Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.