NEWS
Adapter "smartmeter"
-
Hi zusammen,
ich habe mir den folgenden Schreib/Lesekopf organisiert (https://www.photovoltaikforum.com/thread/145886-habe-lesköpfe-mit-usb-über/?pageNo=1)
Als Stromzähler ist bei mir ein Apator 12ec3g verbaut (allerdings kann ich das Modell nicht auf der Seite des Herstellers finde, was ich wiederum sehr merkwürdig finde oder ich einfach nur nicht gucken kann gG)Laut meinem Netzbetreiber brauche ich keinen PIN für das Gerät, der Dude von der Hotline wollte das aber nochmal abklären und es soll sich jemand bei mir melden...ich bin mal gespannt ^^
Weil ich ja dann doch ungeduldig war habe ich mir zum Testen das Tool EMLog von Weidmann Elektronik geladen und damit den Lesekopftest und die 4 anderen Tests gemacht.
Lesekopftest = bestanden
Test 1-3 = keine Daten
Test 4 300 Baud 7E1 bidirektional = bestanden (wenn ich den Hexcode richtig entschlüsselt habe wird /?! gesendet)und in dem Tool bekomme ich dann auch meinen korrekten Gesamtzählerstand angezeigt. Ich bin neu in dem Thema aber ich hatte gedacht/gehofft man kann noch mehr auslesen (aktueller Verbrauch, History Werte über Wochen Tage etc.) oder benötigt man dafür dann wieder den PIN?
Meine IOBroker Instanz läuft als Docker Container und ich habe den Lesekopf als /dev/lesekopf0 im Container gemountet auf dem Raspbi 4 Host läuft er unter ttyUSB0.
Na ja soweit erstmal zur "Vorgeschichte". Ich hole ein bisschen aus um nach Möglichkeit alle Infos zu liefern.
Frohen Mutes wollte ich nun den Smartmeter Adapter in Betrieb nehmen.
Und habe folgendes konfiguriert:
Ich frage mich, was ich tun muss um die Namen der Schnittstellen angezeigt zu bekommen und diese nicht von Hand eintragen zu müssen? Liegt hier ein Bug vor oder ist es ein Anwenderfehler durch mich?
Nach dem klick auf speichern&schließen bekomme ich fogenden Output (Adapter auf debug level gestellt) im Log:
Die Instanz bleibt Gelb:
ich habe den Lesekopf mit CAT unter "Beobachtung" sowohl auf dem Raspberry als auch im Dockercontainer
Raspberry cat /dev/ttyUSB0
Allerdings ändert sich die Ausgabe hier ein paar Beispiele von anderen restarts des Adapters:
Shell im Docker Container caz /dev/lesekopf0
und auch hier ist die Ausgabe unterschiedlich, aber auch nicht identisch mit der vom Raspberry
Ich bin nicht sicher in wieweit das alles relevant ist, aber ich versuche alles was mir auffällt aufzuschreiben
Im Log folgen dann weitere Meldungen:
Ich bin leider mit meinem Latein an Ende (ist auch leider nicht so viel KnowHow vorhanden, aber es wird hoffentlich besser xD) und bräuchte eure Hilfe.
Ich habe auch noch den einen oder anderen alten Raspbi hier rumfliegen, falls es an der Konstellation mit Docker liegt, allerdings wäre es mir lieber wenn ich es so mit einem Gerät hinbekommen würde
Gruß
Wurmi -
besteht die Mögliochkeit den eBZ Zähler Typ DD3 zu implementieren?
Danke
Gruß
Leachim -
@Wurmi Das /?! als Signon ist D0 Standard, also bitte rausnehmen aus der Konfig, weil wie Du im Log siehst hättest Du nur ? eingeben brauchen weil / und ! austomatisch genommen wird. Fixe das mal, dann sehen wir weiter AUch sonst "Überschreiben Baudrate änderung ... weg bitte. Lasst das doch bitte erstmal Standard. Viele der Einstellungen sind standard vollkommen korrekt und sid nur für sonderfälle da. Wenn DU Default nicht mehr kennst ... Instanz löschen und neu anlegen
-
@leachim Was sollte dazu denn implementiert werden? Wenn der Zähler den OBIS Punkt zurückliefert ist er da, wenn nicht dann nicht. Der Adapter arbeitet hier sehr generisch.
Was genau tut denn nicht? -
Danke für deine Antwort. Ich habe den Adapter gelöscht und neu installiert. Folgendes habe ich nun eingestellt:
Einträge im Log:
Instanz Status:
Cat auf dem Raspberry USB0:
Cat im Docker Container lesekopf0:
Falls es hilft hier noch die Einstellungen, die ich per Minicom auf dem Raspberry gemacht habe:
Nach weiterer Recherche habe ich nun doch endlich das Datenblatt zu meinem Zähler gefunden.
Und nochmal die Aussage von meinem Versorger, dass mein Zähler keinen PIN-Schutz hat.
Update 15:22 Uhr:
Habe den Adapter mal laufen lassen und es ist immer mal wieder was in der CAT Ausgabe zu sehen:
Aber an der Instanz ändert sich nichts und es werden auch keine Objekte angelegt.
Gruß
Wurmi -
@Wurmi Ich hoffe du lässt das cat nicht die ganze zeit laufen ... das Blockt nämlich ggf. ALso am ende antwotet der Zähler nicht so wirklich ... Bitte nochmal den Kopf prüfen und so... Und ja ggf per Minicom mal alles einzeln prüfen. Auch Google hat zu dem Zähler irgendwie nichts gefunden. ggf braucht es noch einen Speziellen Abfrage-Code?
-
ENDLICH xD
Ich spoilere gleich mal das Ergebnis und dann hole ich ein bisschen aus um zu Ergründen wie ich es nach ewigen Stunden geschafft habe ^^
Auf meinem Zähler steht zwar Apator 12ec3g aber dazu findet man nicht wirklich was, als ich durch Zufall über eine Amazon Bewertung auf einen anderen Namen gestoßen bin (pafal 12ec3g) habe ich meinen Zähler gefunden und auch mehr Infos. Und wieder über zig Umwege (bin nicht Vertraut mit dem Thema ist alles Neuland für mich und viele habe ich sicher auch noch nicht versatnden^^) bin ich dann auf diesen Post (sogar aus dem Beitrag hier ^^) gestoßen:
cat /dev/ttyUSB0
echo -n -e '\x2F\x3F\x21\x0D\x0A' > /dev/ttyUSB0
echo -n -e '\x06\x30\x30\x30\x0D\x0A' > /dev/ttyUSB0Das habe ich ausprobiert und dann auch den gewünschten Output bekommen Allerdings dann immer nur per Hand in der Shell und nicht im Adapter und Objekte waren auch noch lange keine da.
Also habe ich mich wieder dem Adapter zugewendet und mit den Werten in D0: Kommando SignOn-Nachricht experimentiert.
Nach etwas hin und her habe ich dann folgendes Eingetragen:?,063030300D0A\r\n
Der letzte Funken zum Buschbrand war dann dein Hinweis das ich das cat nicht die ganze Zeit laufen lassen soll gg Dann wurde es auch Grün und ich war Mega Happy
Vielen Dank für die Hilfe. Ich hoffe meine (eventuell auf Grund der vorangeschrittenen Zeit etwas wirren) Aufzeichnungen können dem einen oder anderen helfen
Ich werde mich jetzt hinhauen, denn um 6 Uhr ist die Nacht wieder vorbei
Gruß
Wurmi -
@Wurmi sagte in Adapter "smartmeter":
Cool, und danke für die Infos helfenbestimmt mal anderen.
Eine Bitte: versuch mal ob es ohne das \r\n auch geht, weil das sollte so sein weil das eh so wie du es angegeben hast als zeichen rausgehen würde undnicht als Steuerzeichen wie sie gemeint wären ... -
@apollon77 sagte in Adapter "smartmeter":
@Wurmi sagte in Adapter "smartmeter":
Cool, und danke für die Infos helfenbestimmt mal anderen.
Eine Bitte: versuch mal ob es ohne das \r\n auch geht, weil das sollte so sein weil das eh so wie du es angegeben hast als zeichen rausgehen würde undnicht als Steuerzeichen wie sie gemeint wären ...Habe es angepasst und es funzt immer noch
Gruß
Wurmi \m/ -
Ich habe allerdings nochmal eine Frage:
Sind die Error und die warn Meldung noch eine Config Problem auf meiner Seite und wenn ja was könnte ich machen um sie loszuwerden um das Log schlank zu halten?
Gruß
Wurmi \m/ -
@Wurmi Am Ende heisst der Fehler das keine Antwort vom gerät kommt.
-
@apollon77 Und da stehe ich gerade auf dem Schlauch ob und wenn ja mit welchem Wert ich was dagegen machen kann Sry falls es vlt. offensichtlich ist, aber ich komme gerade nicht drauf.
Gruß
Wurmi \m/ -
@Wurmi Am Ende musst du den Grund finden. Sitzt der Kopf gerade drauf? Ansonsten mal Debug Log und laufen lassen und schauen was passiert in dem Fehlerfall ... bekommt er überhaupt Daten oder nicht.
-
@apollon77 ja Daten kommen an. Er macht einen Durchgang findet die 7 values und 1 Update (Zählerstand). Dann kommt noch ein Durchlauf, in dem ist der letzte Degub Logeintrag : (31996) MATCH-RESULT DATA: "\u0006000\r\n" -> null
Dann nach 2 Minuten geht es wieder von vorne los.
Die Daten sind wie gesagt ok, nur war meine Überlegung, die Meldungen aus dem Log zu bekommen bzw. den Grund dafür zu finden und abzustellen.
Warum überhaupt so schnell der zweite Durchlauf? Der Abfrage Intervall steht auf 300 Sekunden.Gruß
Wurmi\m/ -
@Wurmi dann bitte mal volles debug log als Text (nicht Grafik) aus der iobroker log Datei auf Platte (nicht Admin) posten
-
Smartmeter ist absolut genial! Ich bin froh, dass es da ist.
Inzwischen nutze ich 3 Instanzen. Jede braucht ca. 3,5% CPU, relativ viel verglichen mit allen anderen iobroker Instanzen.
Kann ich irgendwas tun, um das zu reduzieren? -
@Matis Abtastintervall verlängern? Welche Einstellung nutzt Du?
-
@Matis D0 oder SML? Abfrageintervalle? Baudrate und und und .. so viele Fragen. Andererseits 10,5% CPU (von was auch immer einem Host ... Raspi? Oder was? Welcher?) ... so what?!
Wenn der Adapter Daten empfängt muss er nach jedem neuen datenblock schauen ob eine Nachricht vollständig geworden ist. Das wird also immer wieder geprüft. Wenn vollständig dann wird diese geparst - je nach Protokoll. Damit passiert halt wenn er empfängt (abfrageintrvall) immer etwas und das kostet natürlich.
-
@apollon77 sagte in Adapter "smartmeter":
@Wurmi dann bitte mal volles debug log als Text (nicht Grafik) aus der iobroker log Datei auf Platte (nicht Admin) posten
Sorry habe es gestern nicht geschafft, aber nun hier das Log.
Gruß
Wurmi \m/ -
@Wurmi Ha, ich habs ... das ist alles "wie gewollt". DU hast bei der D0 SignOnMessage das hier angegeben: "?,063030300D0A" ... er macht also einmal eine Anfrage mit "/?!" und direkt 1s später eine mit "/063030300D0A?" ... und die zweite wird (weil das "Blödsin ist") vom Zähler nicht beantwortet was zu dem Fehler führt.
also mach die D0SignonMessage leer (oder nur "?" rein) und alles ist gut