SML Stromzähler per USB Schreib-Lesekopf?

Begonnen von matzefisi, 04 August 2013, 14:14:48

Vorheriges Thema - Nächstes Thema

Tom0711

Hallo zusammen,

Mein Problem ist gelöst.
Das 70_SMLUSB.pm-Modul hatte einen Fehler. Die "hexstr_to_signed32int" hatte einen Fehler bei derUmrechnung von negativen Zahlen.
Außerdem wurde inder Parse-Funktion geprüft, ob die Zahl positiv ist, sonst als unplausibel eingestuft.

Werde meine Änderungen noch etwas aufräumen und dann hier veröffentlichen.

Gruß, Thomas


P.S.: Perl ist furchtbar.....

matzefisi

Hi Tom,

danke für den Hinweis.

Ich hatte gestern leider auch einen Fehler mit dem Modul, den ich noch verifizieren muss:
Use of uninitialized value $scaler in division (/) at ./FHEM/70_SMLUSB.pm line 292.
Illegal division by zero at ./FHEM/70_SMLUSB.pm line 292.


Dadurch ist mein ganzer FHEM Prozess gestorben. Also das schon mal als Hinweis an alle die diese Modul produktiv nutzen.

Mal sehen, vielleicht habe ich diese Woche nochmal etwas Zeit....

MfG
Matthias

Thorsten

Hallo,

ich würde das Modul auch gerne verwenden. Ich lese meinen EDL 300 mit einem VOLTCRAFT-RS-232-Schnittstellenadapter aus. Damit ich Pakete empfangen kann benötige ich 12V zwischen DTR und RTS. In der DevIO.pm gibt es sub DevIo_SetHwHandshake. Wäre es damit irgendwie möglich DTR anzusprechen?

Inputsammler

Servus,

Also ich habe versucht dein Script auf meinen Zähler hinzuzufügen.
Aber leider ohne erfolg.

Ich habe unter Windows den Zähler zum quatschen bekommen. aber unter Linux nicht:

wie hier beschrieben
http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/iskra_mt372

was mache ich falsch damit ich unter Linux den zähler auslesen kann ?
Gruß Gerd
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

dh4736

Hallo Zusammen.

Würde das USBSML Modul auch gerne nutzen - und zwar an einer FritzBox. Habe dazu eine 7390 zu Testzwecken komplett neu mit FHEM aufgesetzt. Also clean install. Der USB IR-Schreib-Lesekopf kommt vom Volkszaehler Projekt und funktioniert auch soweit (getestet mit der Installation unter Debian nach Anleitung des Volkszaehler Projektes). Allerdings hab ich bei der FritzBox unter dev ja leider keine ttyUSBx devices. In diesem Thread habe steht ja ein paar Seiten vorher, dass es an fehlenden Treibern liegen könnte. Also gleiches Problem wie beim User strauch.

Das mit dem "/bin/stty  -F /dev/ttyUSB0 9600 evenp crtscts cs7 inpck parmrk eol 10 icanon" ist mir in dem Zusammenhang auch nicht klar.
Da ich noch nicht so weit in der Materie drin bin, wäre ich über jede Hilfe Dankbar.

Danke  :)

Inputsammler

Servus ,

Mein Stromzähler habe ich jetzt schon überreden können zu arbeiten.
Aber leider versteht mein Zähler nicht SML.

Habe mit eine Script den Zähler ausgelesen.
Jetzt muss ich nur noch versuchen ihn in Fhem zu integrieren

['datum & tijd', 'meter ID', 'Datum', 'Uhr', 'Verbrauch total[kWh]', 'Verbrauch tarif1[kWh]', 'Verbrauch tarif2[kWh]']
['2014-04-22_23:04:04', '12345678', '140422', '230036', '25949.873', '15820.091', '10129.782']
['2014-04-22_22:24:03', '12345678', '140422', '222035', '25949.637', '15820.091', '10129.546']
['2014-04-22_22:25:55', '12345678', '140422', '222227', '25949.646', '15820.091', '10129.555']
['2014-04-22_22:26:08', '12345678', '140422', '222240', '25949.648', '15820.091', '10129.557']
['2014-04-22_23:01:21', '12345678', '140422', '225753', '25949.855', '15820.091', '10129.764']


Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

limats

#111
Hallo zusammen,

ich hab einen Volkszähler-USB-Lesekopf den ich mit SMLUSB eingebunden hab. Das funktioniert zwar, aber das Modul zieht wahnsinnig viel Rechenleistung und treibt meine Load nach oben.
Habt ihr ein ähnliches Verhalten? Kann man das irgendwie optimieren?

Hier mal ein Auszug aus "apptime" nach ca. 60 Sekunden:
                                name             function    max  count    total  average maxDly
                                 CUL             CUL_Read    305      3      726   242.00      0 HASH(0x21e1d8)
                                  HH          SMLUSB_Read     40   3273      535     0.16      0 HASH(0xbf9d30)
                   tmr-SYSMON_Update      HASH(0x152d8a8)    481      1      481   481.00      4 HASH(0x152d8a8)


Wieso wird die Funktion SMLUSB_Read 3200 Mal pro Minute aufgerufen?

Gruß
Leo
Fhem auf BBB:
HM-CFG-USB für div. HM-Sensoren, CUL+WMBUS für EnergyCam, Nanocul für IT, Arduino Mega 2560 als 1-wire-Gateway und für div. digitale Ein-/Ausgänge, Volkszähler-USB-IR-Lesekopf mit SMLUSB, Solarsteuerung über VBUS

limats

Hallo zusammen,

ich versuch es nochmal anders: Ist es möglich, die neue Einlesetechnik von USBEHZ auch ins SMLUSB Modul einzubauen? Dadurch müsste man doch von der großen CPU-Last herunterkommen. Ein paar schnelle Versuche haben bei mir leider nicht zum Erfolg geführt. Darum würde ich die Idee gerne zuerst bestätigt haben, bevor ich weiter herumprobiere.
Ansonsten würde ich mal probieren, die Fileende-Erkennung so abzuändern, dass man nicht bei jedem einzelnen Zeichen die RegEx durchlaufen muss. Hilft vielleicht auch schon ein wenig.

Gruß
Leo
Fhem auf BBB:
HM-CFG-USB für div. HM-Sensoren, CUL+WMBUS für EnergyCam, Nanocul für IT, Arduino Mega 2560 als 1-wire-Gateway und für div. digitale Ein-/Ausgänge, Volkszähler-USB-IR-Lesekopf mit SMLUSB, Solarsteuerung über VBUS

strauch

Also ich komme auf ein Count von 260 ich hab aber auch ein event-min-interval .*:240 so das nur alle 4min Daten fließen. Das Teil selber schickt ja alle paar Sekunden Daten.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

matzefisi

Hallo zusammen,

nach langer Zeit mal wieder ein Lebenszeichen von mir. Ich bin jetzt angefangen das Modul im Wiki zu dokumentieren:

http://www.fhemwiki.de/wiki/SmlUsb

Der nächste Schritt soll dann das einpflegen in das SVN Repository sein. Mal sehen wann ich das schaffe.

MfG
Matthias

Udo1

#115
Zitat von: dh4736 am 22 April 2014, 17:16:35
und zwar an einer FritzBox. Der USB IR-Schreib-Lesekopf kommt vom Volkszaehler Projekt und funktioniert auch soweit dass es an fehlenden Treibern liegen könnte. Also gleiches Problem wie beim User strauch.

Hallo,

ich bin "der" Udo von VZ.
Bitte beachtet den Hinweis bezüglich der Linux-Version auf der VZ-Seite zu dem USB-IR-Kopf: http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-usb-ausgang
Der CP2104 wird zwar von der FritzBox erkannt, aber die Baudratenumschaltung etc. funktioniert aufgrund eines Treiberfehlers der FritzBox nicht.
Ich kann den USB-IR-Kopf auch mit einem FTDI FT232-Chip bauen. Ich muss es nur bei der Bestellung wissen.

Gruß
Udo

micomat

Hallo Udo :)
am RPi laufen deine Koepfe dagegen immer noch super!
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

matzefisi

Hallo Udo,

vielen Dank für den Hinweis! Ich werde den Hinweis gleich mit im Wiki aufnehmen.

MfG
Matthias

limats

Hallo zusammen,

ich versuch es nochmal. Bin ich wirklich der einzige, der Probleme mit der Prozessorlast hat (siehe mein Post vom 27.5.)?
Das Setzen des event-min-interval  bringt bei mir nichts. Ist aber irgendwie auch logisch, da die Aufrufe von SMLUSB_Read ja schon beim Zusammenbauen der Nachricht kommen.
Scheinbar wird SMLUSB_Read wirklich für jedes Zeichen einzeln aufgerufen. Gibt es keine einfache Möglichkeit, den Schnittstellentreiber oder FHEM so zu konfigurieren, dass er zumindest ein wenig puffert und nur jede Sekunde Daten von der Schnittstelle erhält?

Gruß
Leo
Fhem auf BBB:
HM-CFG-USB für div. HM-Sensoren, CUL+WMBUS für EnergyCam, Nanocul für IT, Arduino Mega 2560 als 1-wire-Gateway und für div. digitale Ein-/Ausgänge, Volkszähler-USB-IR-Lesekopf mit SMLUSB, Solarsteuerung über VBUS

matzefisi

Hi Leo,

ich habe bislang noch keine Prozesserlast Probleme bei mir erkennen können. (FHEM läuft bei mir auf nem Raspberry Pi Model B).
Ich habe bei mir Apptime mal nachgeladen und komme auf folgende Werte (Ausschnitt).

               tmr-HTTPMOD_GetUpdate      HASH(0x2aa73d0)     44      1       44    44.00 HASH(0x2aa73d0)
                       power_Zaehler          SMLUSB_Read     24    715      192     0.27 HASH(0x2689280)
             tmr-Jabber_PollMessages      HASH(0x2a4c908)     15      6       79    13.17 HASH(0x2a4c908)

Wenn ich wieder Zeit habe (evtl. nächste Woche) werde ich mir den Code nochmal in ruhe anschauen. Es gibt sicherlich massives Optimierungspotential, da ich A: Kein Programmierer bin und B: Das die erste funktionierende Version des Moduls ist.  :)

MfG
Matthias