[OBIS V2] - Jetzt auch mit SML-Unterstützung

Begonnen von Icinger, 08 April 2016, 19:54:44

Vorheriges Thema - Nächstes Thema

Decki

Hallo zusammen,
habe ungefähr das gleiche Problem, die SML-Daten zu übertragen.
Hier noch ein weiterer Ansatz:
https://www.jurasz.de/de/jarek/z%C3%A4hler

Auch fürs Wiki interessant.
Raspi 2 im Schaltschrank, USB IR Lesekopf am EHz21, Gaszähler mit Reedkontakt, Jeelink,  16 FS20 Aktoren,  3 Ufos für LED, 11 FS20 Rolladenaktore, AMAD 4.0 mit Sprachausgabe, Esp12 mit EspEasy

viegener

Zitat von: Stromzähler am 18 Dezember 2020, 17:18:15
Sorry, wenn meine nachfolgende Frage Off Topic sein sollte, aber hier sind ja viele SML Experten zugange...

Ich habe jetzt auch eine sog. "Intelligente Messeinrichtung" bekommen, die spontan SML über IR sendet. Allerdings ist der Zähler sehr weit weg von meinem FHEM-Server. Serielle Kabel und WLAN scheiden damit aus, LAN wäre aber möglich.

Kennt jemand hier einen "Lesekopf", der sich unmittelbar an's Ethernet anschließen lässt und könnte OBIS damit etwas anfangen? Wenn ich das richtig verstehe, erwartet OBIS die SML-Daten bit/byteweise (UART, USB) und dekodiert diese dann!?

Im "Netz" wird dagegen ein Eigenbau angeboten, der den SML-Stream bereits "parsed" und dann per MQTT publiziert. Könnte dieser "fertige" SML-String dann an OBIS übergeben werden?

Alternativ könnte ich mir nur noch eine extra FHEM-Instanz z.B. auf einem Raspberry vorstellen, right?

Danke und ich bitte um Nachsicht, wenn das hier schon beantwortet worden sein sollte ...

Ich vermute Ethernet heisst auch, dass Strom vorhanden ist.

Bei mir läuft der Lesekopf an einem Arduino, der über einen ESP ins WLAN geht (Der ESP-würde nicht benötigt, aber ich die entsprechende Komponente war bereits fertig).
WLAN nach Ethernet wird bei mir über einen separaten WLAN-Accesspunkt gemacht.
Wie auch schon früher im Thread beschrieben funktioniert das Modul ja auch mit einem per Netz angekoppelten Lesekopf.

Wenn direkt Ethernet gebraucht wird, lässt sich natürlich auch ein Arduino per Ethernet koppeln - das erfordert allerdings etwas Programmierung

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Fakenius

#992
Danke ür die Antwort. Ja, Strom ist natürlich vorhanden.

ZitatWie auch schon früher im Thread beschrieben funktioniert das Modul ja auch mit einem per Netz angekoppelten Lesekopf.
So wie ich das verstehe, reicht diese Arduino-ESP-Lösung den Bytestream vom Lesekopf "unbearbeitet" durch? Das Netz transportiert bei einem Spontanleser also ununterbrochen Pakete, die erst in Fhem ausgewertet werden und das eben nur alle 30 Sekunden oder so?

Da hätte ich die Idee, dem Arduino etwas mehr zuzutrauen und ihn die Vorarbeit (vorparsen) machen zu lassen und dann eben nur in festgelegten Intervallen zu senden. In dieser ersten Stufe kämen dann "fertige" SmlFiles in Fhem an, die dort allerdings dann weiter "zerlegt" werden müssten. Ideal wäre natürlich im Arduino bis zu den einzelnen Readings (Power etc.) zu parsen.

Kann das OBIS-Modul schon komplette SmlFiles übernehmen? Ich habe das so nicht verstanden ...

Edit: einen ersten Machbarkeitserfolg habe ich: das SmlFile hat mein Arduino per MQTT an Fhem übertragen. Siehe Anhang ...
FS20, Homematic (DebMatic), Zigbee (deCONZ), LaCrosse, selbstgebaute Sensoren und Aktoren via MQTT
 (CUL, HB-RF-USB-2, Jeelink, SIGNALDuino, ConBee III)

viegener

Zitat von: Stromzähler am 20 Dezember 2020, 10:57:12
Danke ür die Antwort. Ja, Strom ist natürlich vorhanden.
So wie ich das verstehe, reicht diese Arduino-ESP-Lösung den Bytestream vom Lesekopf "unbearbeitet" durch? Das Netz transportiert bei einem Spontanleser also ununterbrochen Pakete, die erst in Fhem ausgewertet werden und das eben nur alle 30 Sekunden oder so?

Da hätte ich die Idee, dem Arduino etwas mehr zuzutrauen und ihn die Vorarbeit (vorparsen) machen zu lassen und dann eben nur in festgelegten Intervallen zu senden. In dieser ersten Stufe kämen dann "fertige" SmlFiles in Fhem an, die dort allerdings dann weiter "zerlegt" werden müssten. Ideal wäre natürlich im Arduino bis zu den einzelnen Readings (Power etc.) zu parsen.


Natürlich kann man das auf hundert verschiedene Arten lösen - es ging mir nur um eine mögliche Lösung

Mehr im Arduino zu machen Das ist sicher möglich, aber wofür?
"Ununterbrochen Pakete" ist bei 9600 Baud ja selbst bei schlechter WLAN-Verbindung von 20 Mbit  eine Auslastung von grob 0,1%

Wie oft im Modul aktualisiert wird - hängt davon ab, wie oft ein vollständiger Datensatz überkommt.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

gvzdus

@Stromzähler: Wenn es 1-2 Tage sauber läuft und Du magst, beschreib' doch mal Deine Gesamtlösung. Packe ich dann ins Wiki.

Was m.E. für "lokales Dekodieren" spricht, ist die Anzahl der Pakete. Ich wäre interessiert, ob mal jemand mit ser2net schreiben kann, wie viele TCP-Pakete da in etwa je Aktualisierung generiert werden. Denn die Buffersize ist ja mutmaßlich sehr niedrig. Das OBIS-Modul ist nicht extrem effizient im Zusammensetzen der Pakete.

Fakenius

ZitatNatürlich kann man das auf hundert verschiedene Arten lösen -
Das stimmt sicher und wird daher langsam Off Topic. Ich werde "meine" Lösung, die ich jetzt zuerst einmal mit einem WeMos über WLAN gemacht habe (mangels Ethernet Shield), besser in einem eigenen Thread beschreiben.
FS20, Homematic (DebMatic), Zigbee (deCONZ), LaCrosse, selbstgebaute Sensoren und Aktoren via MQTT
 (CUL, HB-RF-USB-2, Jeelink, SIGNALDuino, ConBee III)

cs-online

Zitat von: viegener am 20 Dezember 2020, 22:44:33
Natürlich kann man das auf hundert verschiedene Arten lösen - es ging mir nur um eine mögliche Lösung

Mehr im Arduino zu machen Das ist sicher möglich, aber wofür?
"Ununterbrochen Pakete" ist bei 9600 Baud ja selbst bei schlechter WLAN-Verbindung von 20 Mbit  eine Auslastung von grob 0,1%

Wie oft im Modul aktualisiert wird - hängt davon ab, wie oft ein vollständiger Datensatz überkommt.

...also mein EMH-Zähler, angebunden über den Volkslesekopf von Udo mit TTL an Wemos mit ESPLink drauf wird vom Modul ca. alle 1-2s empfangen. Traffic auf dem WLAN und Auslastung des RPI4 durchdas Modul nahezu NULL :-)
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

hdgucken

Meine Lösung für Ethernet ist folgende:

Lesekopf mit TTL Ausgang / Eingang hängt an einem X-Port von LANTRONICS als Wandler von seriell nach Ethernet, funktioniert tadellos und ist super simpel.

Gruß Thomas



AxelSchweiss

Zitat von: michael.winkler am 28 Dezember 2020, 11:44:28
Ich habe meinen Sensor über eine ESP8266 gebaut.

https://mwinkler.jimdo.com/smarthome/aktoren-sensoren/stromz%C3%A4hler-digital/
Hi
So habe ich das auch gemacht.
Aber da mir Kabel lieber ist ...
Wäre es auch möglich diese "Schaltung" an den LANTRONICS Wandler anzuschliesen ?

gandi1791

Zitat von: Icinger am 13 März 2019, 18:30:25
Nein, kann man nicht einstellen, ist der erste Zähler, von dem ich höre, dass der ein anderes CRC hat.
Du kannst mal zum testen die Zeile 758
return $crc2==$crc ? 1 : 0;
durch ein einfaches
return 1;
ersetzen.

Damit werden die Daten ausgewertet, egal, ob CRC richtig oder falsch ist.

lg, Stefan



Vielen Dank.
Ich habe auch einen Holley Zähler.
Ich hatte auch nur CRC Fehler.
Nachdem Ändern des Scripts bekomme ich nun auch Daten.
fhem auf proxmox container
minicul>ESP-01>868>MAX!; minicul>ESP-01>433>SignalDuino>RSL/Jaro/IT
ESP-01>HM-MOD-RPI-PCB>HM
MySensorsGW>NodeMCU>Sensoren, Aktoren, div.
Broadlink RM Pro+ >433 Steckdosen, IR TV/Receiver; Hue, Alexa Echo Plus, div.Dot 2/3/4;DVB-T Stick>mqtt>TFA 30.3180

hdgucken

Zitat von: AxelSchweiss am 28 Dezember 2020, 11:50:42
Hi
So habe ich das auch gemacht.
Aber da mir Kabel lieber ist ...
Wäre es auch möglich diese "Schaltung" an den LANTRONICS Wandler anzuschliesen ?

Ja, am XPORT hast Du Rx und Tx mit 3,3V, sind aber auch 5V tolerant. Also kannst Du jeden Zählerkopf anschließen, der mit 3,3V oder 5V Signalpegel arbeitet.

Gruß Thomas

assi05

#1002
Hallo zusammen,

ich bekomme es leider nicht ans fliegen und brauche Hilfe.

Idee: D0-Lesekopf vom ISKRA MT681, der SML spricht auf der TX-Leitung anzapfen und mitlesen, was er an den SunnyHomeManager liefert. (Wenn man nach D0 Sunny Home Manager und Schnüffelstück googelt findet man ein Schaubild, das jemand in 2017 erstellt hat)

Modul ist definiert, alle möglichen Settings habe ich durch, es kommt nur unlesbarer Datenmüll, aber keine Readings. (8N1 laut Datenblatt)

Bin mir nicht sicher, ob "Update" überhaupt versucht zu lesen, da ich im Log nichts sehe. State ist connected, Datenmüll im Buffer ist zu sehen, keine Readings)

Kann ich denn die TX- und GND-Leitung direkt an UART 0 am Raspi klemmen? (Spannungsproblem wegen der 8Volt für den Lesekopf?)
Ich besitze so einen FTDI-RS232 Adapter - hier habe ich TX- und GND belegt und versuche über /dev/ttyUSB0 auszulesen, bisher auch nur mit mäßigem Erfolg.
Im Internet finde ich Schaltpläne, bei denen die TX-/RX-Leitungen des Adapters auf die UART-GPIO gesteckt wurden. Denke ich zu kompliziert? Ich habe am Lesekopf keinen USB-Anschluss ...will ja eben die TX-Leitung einfangen, also schließe ich den Adapter nicht am UART vom Raspi an, sondern am Lesekopf. FTDI-Adapter hängt korrekt am USB0.

Ach ja: 3.3 oder 5V am FTDI-Adapter? Ist das lesend? Also welches Gerät bekommt wie die 3.3 oder 5Volt? Vermutlich liegt hier mein Problem?!? Unterschiedliche Spannungsquellen - ich (BWLer;) dachte, die 8 Volt vom SHM aktivieren den Lesekopf, zurück kommen aber nur Impulse, die ich seriell ganz einfach mitlesen kann?!?

Danke für jeden Hinweis vorab!

cs-online

Du hast also TX vom Lesekopf an TX vom USB-Adapter gelegt ? ....wenn du am FTDI-Adapter mal den RX nehmen würdest für Eingang Richtung USB, bringt das dann eine Änderung ? Also TX vom Lesekopf an RX vom USB-Adapter, würde ich mal probieren
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

assi05

#1004
Guten Abend!

Ich hab beide Varianten probiert - laut Anleitung die TX-Leitung des Sensors (Also Sensor --> SHM) auf die RX-Leitung vom Adapter und um keinen falschen Fehler zu machen, auch andersrum.

Mittlerweile hab ich das Gefühl, dass evtl. mein FTDI-Adapter nen Schuss hat. Gestern kam mein ESP32, den ich heute geflashed habe - bisher aber mit:

Internals:
   CFGFN     
   DEF        192.168.178.77:23 SML
   DeviceName 192.168.178.77:23
   FUUID      5fec7728-f33f-bc2d-f147-c023326e0f191a35
   MeterType  SML
   NAME       ZAEHLER
   NEXT_OPEN  1609356311.26502
   NR         140
   PARTIAL   
   STATE      disconnected
   TYPE       OBIS
   READINGS:
     2020-12-30 20:24:11   state           disconnected
   helper:
     EoM        -1
     SPEED      5
     TRIGGERTIME 1609332520.90889
     DEVICES:
       
       -1
       
Attributes:
   room       Zähler


Leider ein "disconnect". Als MQTT-Device sehe ich den ESP32 mittlerweile.

Warum der ESP nicht erkannt wird, kapiere ich noch nicht - IP-Adresse ist korrekt, der Port offenbar der zu verwendende...

Neue FTDI-Adapter kommen morgen.