Neues Modul für Geräte mit Modbus Schnittstelle über RS232 bzw. RS485

Begonnen von StefanStrobel, 12 Juli 2014, 14:50:22

Vorheriges Thema - Nächstes Thema

Marie

Guten Morgen,

bei der Implementation eines UMG96 (mit Arduino nano) bin ich dann auf dieses FHEM-Modul gestossen. Naja, geladen und ausprobiert, Definition klappt, sowohl der RS485 Device (/tty/USB0@19200) als auch die Geräte Definition via ModbusAttr sehen gut aus. Bei beiden wird als state "opened" angezeigt.
Bei Verbose 5 wird im Log das "getupdate" angezeigt, es kommen aber keine Daten.
Ein Oszillsokopeinsatz direkt auf der RS485 - Leitung zeigt, das kein Abfragen an den Slave geschickt werden. Verwendet wird ein USB zu RS485 Adapter der günstigen Sorte, mit CH341-Chip und MAX485. Stellt sich die Frage ob das mit dem Adapter geht oder wird eins mit FTDI - Chip benötigt? Der MAX benötigt ja zum Senden ein High-Level am DE/RE  Pin. Ich habe noch nicht kontrolliert, ob dieses Signal generiert wird.
Die Konfiguration sieht wie folgt aus:


define ModbusRS485 Modbus /dev/ttyUSB0@19200
attr ModbusRS485 room System
attr ModbusRS485 verbose 5

define Power ModbusAttr 105 5
attr Power userattr IODev obj-h100-reading obj-h101-reading obj-h102-reading obj-h106-reading obj-h107-reading obj-h108-reading obj-h109-reading obj-h110-reading obj-h111-reading obj-h200-reading obj-h40101-reading verbose
attr Power IODev ModbusRS485
attr Power obj-h101-reading Spannung_L2
attr Power obj-h102-reading Spannung_L3
attr Power obj-h106-reading Strom_L1
attr Power obj-h107-reading Strom_L2
attr Power obj-h108-reading Strom_L3
attr Power obj-h109-reading W_Leistung_L1
attr Power obj-h110-reading W_Leistung_L2
attr Power obj-h111-reading W_Leistung_L3
attr Power obj-h200-reading Spannung_L1
attr Power room System
attr Power verbose 5


Ein Auszug as dem Log:


2015.05.29 11:20:23 5: Power: GetUpdate objects from attributes: h107 h111 h102 h101 h106 h108 h200 h110 h109
2015.05.29 11:20:23 5: Power: GetUpdate full object list: h101 h102 h106 h107 h108 h109 h110 h111 h200
2015.05.29 11:20:23 5: Power: GetUpdate check h101 => Spannung_L2, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate check h102 => Spannung_L3, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate check h106 => Strom_L1, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate check h107 => Strom_L2, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate check h108 => Strom_L3, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate check h109 => W_Leistung_L1, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate check h110 => W_Leistung_L2, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate check h111 => W_Leistung_L3, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate check h200 => Spannung_L1, poll = 0, last = 0
2015.05.29 11:20:23 5: Power: GetUpdate tries to combine read commands
2015.05.29 11:20:23 5: Power: GetUpdate called


Nach Lesen des Threads und des WIKI's denke ich alles richtig gemacht zu haben. Oder habe ich etwas übersehen?

Ein Tip wäre sehr hilfreich... :-)

Liebe Grüße

Marie

PS EDIT: Das Ganze läuft übrigens mit einem BANANAPI und LUBUNTU. Ich hab da mal gemessen, scheinbar ist das ein Treiber Problem. Auch wenn der Chip auf USB zwar erkannt wird, irgendwie wird er nicht angesprochen.
Hat trotzdem jemand einen Tip? Oder hat jemand rein zufällig solch eine Kombination? Angeblich soll der Stick auf einem Raspi laufen....

PPS: Hab spontan mal den Stick auf das Produktivsystem mit Raspberry gesteckt --> genau dieselbe Reaktion....
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Marie

Noch als Nachtrag:

auf dem Raspberry läuft der Treiber für ch341 .... lsmod bestätigt dies.

Hab ich irgendetwas übersehen???

LG

Marie 
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Marie

äh, ok,

ich beantworte mal meine Frage selber...


attr Power dev-h-defPoll 1


hilft....nun heisst es noch Werte skalieren, in Grafiken einfügen und gut....

LG

Marie
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Marie

So,

für alle die auch mal Probleme haben, bei mir läuft es so:



define ModbusRS485 Modbus /dev/ttyUSB0@19200
attr ModbusRS485 room System
attr ModbusRS485 verbose 0

define Power ModbusAttr 105 5
attr Power userattr IODev dev-h-combine dev-h-defPoll dev-i-defFormat obj-h100-reading obj-h101-reading obj-h102-reading obj-h106-reading obj-h107-reading obj-h108-reading obj-h109-reading obj-h110-reading obj-h111-reading obj-h200-expr obj-h200-len obj-h200-reading obj-h201-expr obj-h201-len obj-h201-reading obj-h202-expr obj-h202-len obj-h202-reading obj-h206-expr obj-h206-reading obj-h207-expr obj-h207-reading obj-h208-expr obj-h208-reading obj-h209-expr obj-h209-reading obj-h21-expr obj-h210-expr obj-h210-reading obj-h211-expr obj-h211-reading obj-h279-expr obj-h279-reading obj-h280-expr obj-h280-reading obj-h281-expr obj-h281-reading obj-h40101-reading verbose
attr Power IODev ModbusRS485
attr Power dev-h-combine 20
attr Power dev-h-defPoll 5

attr Power obj-h206-expr ($val/100)*4
attr Power obj-h206-reading Strom_L1
attr Power obj-h207-expr ($val/100)*4
attr Power obj-h207-reading Strom_L2
attr Power obj-h208-expr ($val * 4) /1000
attr Power obj-h208-reading Strom_L3
attr Power obj-h209-expr ($val * 4) / 1000
attr Power obj-h209-reading W_Leistung_L1
attr Power obj-h210-expr ($val * 4) / 1000
attr Power obj-h210-reading W_Leistung_L2
attr Power obj-h211-expr ($val * 4) / 1000
attr Power obj-h211-reading W_Leistung_L3
attr Power obj-h279-expr ($val * 4) / 100
attr Power obj-h279-reading Wirkleistung_gesamt
attr Power room System,Verbräuche
attr Power verbose 0



LG

Marie
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Ppunk

Hallo Marie

Habe es nach deiner Anleitung gemacht, ich sehe das der rpi sendet und ich denke der Zähler antwortet,leider weiß ich nicht wie ich das überprüfen kann. Wie kann ich mir die antworten ansehen bzw. loggen? bin sehr unerfahren.

Marie

Dann müsstest du im fhem bei Deinem Device readings sehen....

LG

Marie

Melde mich morgen noch einmal, haben gerade heute eine kleine Feier.....
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Ppunk

Danke Marie

ich glaube das die eingestelten Verzeichniss Adessen falsch sind. Sehe ich das richtig (obj-h279-expr) ist der auf ruf der Adresse 279?

Anbei Modbus Dokumentation von janitza zähler

My-FHEM

Hallo,

beim define: define Mod485 Modbus /dev/ttyUSB1@9600
erhalte ich : Cannot load module Modbus  als Antwort.

Im Log bekomme ich folgende Meldung:


2015.05.31 08:29:32 1: reload: Error:Modul 98_Modbus deactivated:
Type of arg 1 to values must be hash (not hash element) at ./FHEM/98_Modbus.pm line 170, near "}) "
Type of arg 1 to keys must be hash (not hash element) at ./FHEM/98_Modbus.pm line 277, near "}) "
Type of arg 1 to keys must be hash (not private variable) at ./FHEM/98_Modbus.pm line 282, near "$parseInfo) "
BEGIN not safe after errors--compilation aborted at ./FHEM/98_Modbus.pm line 315.

2015.05.31 08:29:32 0: Type of arg 1 to values must be hash (not hash element) at ./FHEM/98_Modbus.pm line 170, near "}) "
Type of arg 1 to keys must be hash (not hash element) at ./FHEM/98_Modbus.pm line 277, near "}) "
Type of arg 1 to keys must be hash (not private variable) at ./FHEM/98_Modbus.pm line 282, near "$parseInfo) "
BEGIN not safe after errors--compilation aborted at ./FHEM/98_Modbus.pm line 315.


Fhem Version ist aktueller update stand. Die Modbus Module sind vom


-rw-r--r-- 1 fhem fhem 60549 May 18 17:51 /opt/fhem-cvs/FHEM/98_Modbus.pm
-rw-r--r-- 1 fhem fhem 14916 May 14 07:54 /opt/fhem-cvs/FHEM/98_ModbusAttr.pm
-rw-r--r-- 1 fhem fhem 13983 Mar 24 11:05 /opt/fhem-cvs/FHEM/98_ModbusSET.pm


Hat jemand eine Idee wo ich suchen muss?



Marie

Zitat von: Ppunk am 30 Mai 2015, 22:25:17
Danke Marie

ich glaube das die eingestelten Verzeichniss Adessen falsch sind. Sehe ich das richtig (obj-h279-expr) ist der auf ruf der Adresse 279?

Anbei Modbus Dokumentation von janitza zähler

Hallo,

Ja für deinen Zähler sind die Adressen anders, 4267 wäre die erste für die Spannung. Einfach eintragen falls du  das noch nicht getan hast....

LG

PS: und du solltest natürlich die richtige Modbusadresse deines Zählers einsetzen. Meine war 105, aber auch nur weil ich die Profibus mal so konfiguriert hatte. Bei deinem ist die Standardmäßig 1.
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

StefanStrobel

Hallo My-FHEM,

Welche Perl-Version verwendest Du denn?

Gruß
     Stefan

My-FHEM

Hallo  Stefan,

perl -V sagt folgendes:


This is perl, v5.10.1 (*) built for arm-linux-gnueabi-thread-multi

Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
   
  Platform:
    osname=linux, osvers=2.6.32, archname=arm-linux-gnueabi-thread-multi
    uname='linux antheil 2.6.32 #1 fri jan 20 18:19:54 utc 2012 armv5tel gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=arm-linux-gnueabi -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.1 -Dsitearch=/usr/local/lib/perl/5.10.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.1 -Dd_dosuid -des'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.4.5', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/libc-2.11.3.so, so=so, useshrplib=true, libperl=libperl.so.5.10.1
    gnulibc_version='2.11.3'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_ITHREADS
                        USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
  Locally applied patches:
        DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts
        DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable.
        DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
        DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
        DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
        DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.
        DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
        DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes
        DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
        DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
        DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
        DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
        DEBPKG:debian/m68k_thread_stress - http://bugs.debian.org/495826 Disable some threads tests on m68k for now due to missing TLS.
        DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
        DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy
        DEBPKG:debian/perl_synopsis - http://bugs.debian.org/278323 Rearrange perl.pod
        DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
        DEBPKG:debian/use_gdbm - Explicitly link against -lgdbm_compat in ODBM_File/NDBM_File.
        DEBPKG:fixes/assorted_docs - http://bugs.debian.org/443733 [384f06a] Math::BigInt::CalcEmu documentation grammar fix
        DEBPKG:fixes/net_smtp_docs - http://bugs.debian.org/100195 [rt.cpan.org #36038] Document the Net::SMTP 'Port' option
        DEBPKG:fixes/processPL - http://bugs.debian.org/357264 [rt.cpan.org #17224] Always use PERLRUNINST when building perl modules.
        DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
        DEBPKG:fixes/pod2man-index-backslash - http://bugs.debian.org/521256 Escape backslashes in .IX entries
        DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib
        DEBPKG:fixes/kfreebsd_cppsymbols - http://bugs.debian.org/533098 [3b910a0] Add gcc predefined macros to $Config{cppsymbols} on GNU/kFreeBSD.
        DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default.
        DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl.
        DEBPKG:fixes/kfreebsd-filecopy-pipes - http://bugs.debian.org/537555 [16f708c] Fix File::Copy::copy with pipes on GNU/kFreeBSD
        DEBPKG:fixes/anon-tmpfile-dir - http://bugs.debian.org/528544 [perl #66452] Honor TMPDIR when open()ing an anonymous temporary file
        DEBPKG:fixes/abstract-sockets - http://bugs.debian.org/329291 [89904c0] Add support for Abstract namespace sockets.
        DEBPKG:fixes/hurd_cppsymbols - http://bugs.debian.org/544307 [eeb92b7] Add gcc predefined macros to $Config{cppsymbols} on GNU/Hurd.
        DEBPKG:fixes/autodie-flock - http://bugs.debian.org/543731 Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
        DEBPKG:fixes/archive-tar-instance-error - http://bugs.debian.org/539355 [rt.cpan.org #48879] Separate Archive::Tar instance error strings from each other
        DEBPKG:fixes/positive-gpos - http://bugs.debian.org/545234 [perl #69056] [c584a96] Fix \G crash on first match
        DEBPKG:debian/devel-ppport-ia64-optim - http://bugs.debian.org/548943 Work around an ICE on ia64
        DEBPKG:fixes/trie-logic-match - http://bugs.debian.org/552291 [perl #69973] [0abd0d7] Fix a DoS in Unicode processing [CVE-2009-3626]
        DEBPKG:fixes/hppa-thread-eagain - http://bugs.debian.org/554218 make the threads-shared test suite more robust, fixing failures on hppa
        DEBPKG:fixes/crash-on-undefined-destroy - http://bugs.debian.org/564074 [perl #71952] [1f15e67] Fix a NULL pointer dereference when looking for a DESTROY method
        DEBPKG:fixes/tainted-errno - http://bugs.debian.org/574129 [perl #61976] [be1cf43] fix an errno stringification bug in taint mode
        DEBPKG:fixes/safe-upgrade - http://bugs.debian.org/582978 Upgrade Safe.pm to 2.25, fixing CVE-2010-1974
        DEBPKG:fixes/tell-crash - http://bugs.debian.org/578577 [f4817f3] Fix a tell() crash on bad arguments.
        DEBPKG:fixes/format-write-crash - http://bugs.debian.org/579537 [perl #22977] [421f30e] Fix a crash in format/write
        DEBPKG:fixes/arm-alignment - http://bugs.debian.org/289884 [f1c7503] Prevent gcc from optimizing the alignment test away on armel
        DEBPKG:fixes/fcgi-test - Fix a failure in CGI/t/fast.t when FCGI is installed
        DEBPKG:fixes/hurd-ccflags - http://bugs.debian.org/587901 Make hints/gnu.sh append to $ccflags rather than overriding them
        DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
        DEBPKG:fixes/lc-numeric-docs - http://bugs.debian.org/379329 [perl #78452] [903eb63] LC_NUMERIC documentation fixes
        DEBPKG:fixes/lc-numeric-sprintf - http://bugs.debian.org/601549 [perl #78632] [b3fd614] Fix sprintf not to ignore LC_NUMERIC with constants
        DEBPKG:fixes/concat-stack-corruption - http://bugs.debian.org/596105 [perl #78674] [e3393f5] Fix stack pointer corruption in pp_concat() with 'use encoding'
        DEBPKG:fixes/cgi-multiline-header - http://bugs.debian.org/606995 [CVE-2010-2761 CVE-2010-4410 CVE-2010-4411] CGI.pm MIME boundary and multiline header vulnerabilities
        DEBPKG:fixes/casing-taint-cve-2011-1487 - http://bugs.debian.org/622817 [perl #87336] fix unwanted taint laundering in lc(), uc() et al.
        DEBPKG:fixes/safe-reval-rdo-cve-2010-1447 - [PATCH] Wrap by default coderefs returned by rdo and reval
        DEBPKG:fixes/encode-heap-overflow - [PATCH] Fix decode_xs n-byte heap-overflow security bug in
        DEBPKG:fixes/digest_eval_hole - Close the eval "require $module" security hole in
        DEBPKG:fixes/unregister_signal_handler - [PATCH] main: Unregister signal handler before destroying my_perl
        DEBPKG:fixes/CVE-2012-5195 - avoid calling memset with a negative count
        DEBPKG:fixes/CVE-2012-5526 - [PATCH 1/4] CR escaping for P3P header
        DEBPKG:fixes/storable-security-warning - [PATCH] add a note about security concerns in Storable
        DEBPKG:fixes/maketext-code-execution - Fix misparsing of maketext strings.
        DEBPKG:fixes/CVE-2013-1667 - [PATCH] Prevent premature hsplit() calls, and only trigger REHASH
        DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.10.1-17squeeze5 in patchlevel.h
  Built under linux
  Compiled at Mar  6 2013 19:03:50
  @INC:
    /etc/perl
    /usr/local/lib/perl/5.10.1
    /usr/local/share/perl/5.10.1
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.10
    /usr/share/perl/5.10
    /usr/local/lib/site_perl


Debian squeeze

Gruß


Ppunk

habe das soweit abgeändert es kommt nichts an.
define Power ModbusAttr 1 5
attr Power userattr IODev dev-h-combine dev-h-defPoll dev-i-defFormat obj-h100-reading obj-h101-reading obj-h102-reading obj-h106-reading obj-h107-reading obj-h108-reading obj-h109-reading obj-h110-reading obj-h111-reading obj-h200-expr obj-h200-len obj-h200-reading obj-h201-expr obj-h201-len obj-h201-reading obj-h202-expr obj-h202-len obj-h202-reading obj-h4279-expr obj-h4279-reading obj-h4281-expr obj-h4281-reading obj-h4283-expr obj-h4283-reading obj-h4151-expr obj-h4151-reading obj-h4153-expr obj-h4153-reading obj-h4155-expr obj-h4155-reading obj-h4157-expr obj-h4157-reading obj-h280-expr obj-h280-reading obj-h281-expr obj-h281-reading obj-h40101-reading verbose
attr Power IODev ModbusRS485
attr Power dev-h-combine 20
attr Power dev-h-defPoll 5
attr Power obj-h4279-expr ($val/100)*4
attr Power obj-h4279-reading Strom_L1
attr Power obj-h4281-expr ($val/100)*4
attr Power obj-h4281-reading Strom_L2
attr Power obj-h4283-expr ($val * 4) /1000
attr Power obj-h4283-reading Strom_L3
attr Power obj-h4151-expr ($val * 4) / 1000
attr Power obj-h4151-reading W_Leistung_L1
attr Power obj-h4153-expr ($val * 4) / 1000
attr Power obj-h4153-reading W_Leistung_L2
attr Power obj-h4155-expr ($val * 4) / 1000
attr Power obj-h4155-reading W_Leistung_L3
attr Power obj-h4157-expr ($val * 4) / 100
attr Power obj-h4157-reading Wirkleistung_gesamt
attr Power room System,Verbräuche
attr Power verbose 5



und den log dazu:
2015.05.31 11:38:01 5: Power: GetUpdate called
2015.05.31 11:38:01 5: Power: GetUpdate objects from attributes: h4153 h4279 h4155 h4157 h4283 h4281 h4151
2015.05.31 11:38:01 5: Power: GetUpdate full object list: h4151 h4153 h4155 h4157 h4279 h4281 h4283
2015.05.31 11:38:01 5: Power: GetUpdate check h4151 => W_Leistung_L1, poll = 5, last = 0
2015.05.31 11:38:01 5: Power: GetUpdate will request W_Leistung_L1
2015.05.31 11:38:01 5: Power: GetUpdate check h4153 => W_Leistung_L2, poll = 5, last = 0
2015.05.31 11:38:01 5: Power: GetUpdate will request W_Leistung_L2
2015.05.31 11:38:01 5: Power: GetUpdate check h4155 => W_Leistung_L3, poll = 5, last = 0
2015.05.31 11:38:01 5: Power: GetUpdate will request W_Leistung_L3
2015.05.31 11:38:01 5: Power: GetUpdate check h4157 => Wirkleistung_gesamt, poll = 5, last = 0
2015.05.31 11:38:01 5: Power: GetUpdate will request Wirkleistung_gesamt
2015.05.31 11:38:01 5: Power: GetUpdate check h4279 => Strom_L1, poll = 5, last = 0
2015.05.31 11:38:01 5: Power: GetUpdate will request Strom_L1
2015.05.31 11:38:01 5: Power: GetUpdate check h4281 => Strom_L2, poll = 5, last = 0
2015.05.31 11:38:01 5: Power: GetUpdate will request Strom_L2
2015.05.31 11:38:01 5: Power: GetUpdate check h4283 => Strom_L3, poll = 5, last = 0
2015.05.31 11:38:01 5: Power: GetUpdate will request Strom_L3
2015.05.31 11:38:01 5: Power: GetUpdate tries to combine read commands
2015.05.31 11:38:01 5: Power: GetUpdate: combine for h is 20
2015.05.31 11:38:01 5: Power: GetUpdate combines W_Leistung_L1 / h4151 with W_Leistung_L2 / h4153, span = 3, dropping read for h4153
2015.05.31 11:38:01 5: Power: GetUpdate combines W_Leistung_L1 / h4151 with W_Leistung_L3 / h4155, span = 5, dropping read for h4155
2015.05.31 11:38:01 5: Power: GetUpdate combines W_Leistung_L1 / h4151 with Wirkleistung_gesamt / h4157, span = 7, dropping read for h4157
2015.05.31 11:38:01 5: Power: GetUpdate cannot combine W_Leistung_L1 / h4151 with Strom_L1 / h4279, span would be 129
2015.05.31 11:38:01 5: Power: GetUpdate: combine for h is 20
2015.05.31 11:38:01 5: Power: GetUpdate combines Strom_L1 / h4279 with Strom_L2 / h4281, span = 3, dropping read for h4281
2015.05.31 11:38:01 5: Power: GetUpdate combines Strom_L1 / h4279 with Strom_L3 / h4283, span = 5, dropping read for h4283
2015.05.31 11:38:01 5: ModbusRS485: Send adds fcode 3 for Strom_L1 to queue: 010310b70005312f pdu 0310b70005
2015.05.31 11:38:01 5: ModbusRS485: Send adds fcode 3 for W_Leistung_L1 to queue: 010310370007b106 pdu 0310370007
2015.05.31 11:38:06 5: Power: GetUpdate called
2015.05.31 11:38:06 5: Power: GetUpdate objects from attributes: h4153 h4279 h4155 h4157 h4283 h4281 h4151
2015.05.31 11:38:06 5: Power: GetUpdate full object list: h4151 h4153 h4155 h4157 h4279 h4281 h4283
2015.05.31 11:38:06 5: Power: GetUpdate check h4151 => W_Leistung_L1, poll = 5, last = 0
2015.05.31 11:38:06 5: Power: GetUpdate will request W_Leistung_L1
2015.05.31 11:38:06 5: Power: GetUpdate check h4153 => W_Leistung_L2, poll = 5, last = 0
2015.05.31 11:38:06 5: Power: GetUpdate will request W_Leistung_L2
2015.05.31 11:38:06 5: Power: GetUpdate check h4155 => W_Leistung_L3, poll = 5, last = 0
2015.05.31 11:38:06 5: Power: GetUpdate will request W_Leistung_L3
2015.05.31 11:38:06 5: Power: GetUpdate check h4157 => Wirkleistung_gesamt, poll = 5, last = 0
2015.05.31 11:38:06 5: Power: GetUpdate will request Wirkleistung_gesamt
2015.05.31 11:38:06 5: Power: GetUpdate check h4279 => Strom_L1, poll = 5, last = 0
2015.05.31 11:38:06 5: Power: GetUpdate will request Strom_L1
2015.05.31 11:38:06 5: Power: GetUpdate check h4281 => Strom_L2, poll = 5, last = 0
2015.05.31 11:38:06 5: Power: GetUpdate will request Strom_L2
2015.05.31 11:38:06 5: Power: GetUpdate check h4283 => Strom_L3, poll = 5, last = 0
2015.05.31 11:38:06 5: Power: GetUpdate will request Strom_L3
2015.05.31 11:38:06 5: Power: GetUpdate tries to combine read commands
2015.05.31 11:38:06 5: Power: GetUpdate: combine for h is 20
2015.05.31 11:38:06 5: Power: GetUpdate combines W_Leistung_L1 / h4151 with W_Leistung_L2 / h4153, span = 3, dropping read for h4153
2015.05.31 11:38:06 5: Power: GetUpdate combines W_Leistung_L1 / h4151 with W_Leistung_L3 / h4155, span = 5, dropping read for h4155
2015.05.31 11:38:06 5: Power: GetUpdate combines W_Leistung_L1 / h4151 with Wirkleistung_gesamt / h4157, span = 7, dropping read for h4157
2015.05.31 11:38:06 5: Power: GetUpdate cannot combine W_Leistung_L1 / h4151 with Strom_L1 / h4279, span would be 129
2015.05.31 11:38:06 5: Power: GetUpdate: combine for h is 20
2015.05.31 11:38:06 5: Power: GetUpdate combines Strom_L1 / h4279 with Strom_L2 / h4281, span = 3, dropping read for h4281
2015.05.31 11:38:06 5: Power: GetUpdate combines Strom_L1 / h4279 with Strom_L3 / h4283, span = 5, dropping read for h4283
2015.05.31 11:38:06 5: ModbusRS485: Send adds fcode 3 for Strom_L1 to queue: 010310b70005312f pdu 0310b70005
2015.05.31 11:38:06 5: ModbusRS485: Send adds fcode 3 for W_Leistung_L1 to queue: 010310370007b106 pdu 0310370007


StefanStrobel

Hallo My-FHEM,

Ich glaube 5.10 ist aus 2009. Leider verwende ich im Modul ein paar Dinge, die erst mit 5.14 oder neueren Perl-Versionen funktionieren. Bei Gelegenheit werde ich mir mal ansehen, wie ich das umbauen kann. Kurzfristig könntest Du versuchen Dein Perl zu updaten.

Gruß
     Stefan

StefanStrobel

Hallo Ppunk,

Dein Gerät scheint auf die Anfragen nicht zu antworten. Das kann daran liegen, dass die Modbus-Adresse nicht stimmt oder dass die Register-Adressen nicht zum Gerät passen. Manchmal liegt es auch an der Verkabelung oder am USB-Adapter ...
Leider kenne ich Deinen ECS3-63 nicht.

Gruß
     Stefan

Marie

Moin,

attr Power userattr IODev dev-h-combine dev-h-defPoll dev-i-defFormat obj-h100-reading obj-h101-reading obj-h102-reading obj-h106-reading obj-h107-reading obj-h108-reading obj-h109-reading obj-h110-reading obj-h111-reading obj-h200-expr obj-h200-len obj-h200-reading obj-h201-expr obj-h201-len obj-h201-reading obj-h202-expr obj-h202-len obj-h202-reading obj-h4279-expr obj-h4279-reading obj-h4281-expr obj-h4281-reading obj-h4283-expr obj-h4283-reading obj-h4151-expr obj-h4151-reading obj-h4153-expr obj-h4153-reading obj-h4155-expr obj-h4155-reading obj-h4157-expr obj-h4157-reading obj-h280-expr obj-h280-reading obj-h281-expr obj-h281-reading obj-h40101-reading verbose

da würde ich mal alle Readings rausschmeißen, die nicht nicht zu deinem Zähler passen....müsste dann so aussehen:


attr Power userattr IODev dev-h-combine dev-h-defPoll obj-h4279-expr obj-h4279-reading obj-h4281-expr obj-h4281-reading obj-h4283-expr obj-h4283-reading obj-h4151-expr obj-h4151-reading obj-h4153-expr obj-h4153-reading obj-h4155-expr obj-h4155-reading obj-h4157-expr obj-h4157-reading obj-h280-expr obj-h280-reading obj-h281-expr obj-h281-reading obj-h40101-reading verbose


Dann weiss ich ja nicht ob die Skalierungen mit den expr. so bei Dir hinkommen, musst Du testen, also evtl erst einmal die Umrechnungen rausschmeissen .

attr Power room System,Verbräuche

kann auch raus, das sind ja meine Räume, da solltest Du Deine eigenen einsetzen....

2015.05.31 11:38:01 5: Power: GetUpdate cannot combine W_Leistung_L1 / h4151 with Strom_L1 / h4279, span would be 129
2015.05.31 11:38:01 5: Power: GetUpdate: combine for h is 20


aus deinem Log heisst ja nur, das er die Reading nicht in einem Block abholen kann, da sie zu weit auseinander liegen...So wie ich das sehe macht das Modul dann einen neuen Abruf selbsttätig passend...

attr Power dev-h-combine 20

definiert, wieviele aufeinanderfolgende Readings er zusammenfassen soll... muss angepasst oder rausgelassen werden....

und Du solltest natürlich auch das prüfen was Stefan gerade geschrieben hat.... :) ;)

LG

Marie
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.