Voltcraft CO-20 USB-Luftqualitätssensor

Begonnen von C64Emulator, 04 Juni 2013, 10:50:06

Vorheriges Thema - Nächstes Thema

mrbreil

Ich versuche das an meinem Raspberry Pi zum laufen zu kriegen.
Leider wird mir immer gesagt: Cannot load module CO20 .
Kann mir da einer bitte helfen.

MfG Breil

justme1968

du musst Device::USB perl modul installieren. entweder per 'sudo apt-get install libdevice-usb-perl' oder mit 'cpan install Device::USB.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mrbreil

Vielen Dank, jetzt steht kein Fehler mehr da.
Aber mir wird als STATE angezeigt disconnected angezeigt und Daten sammelt das Ding auch nicht.
Bin erst seit einer Woche begeisterter FHEM Nutzer, habe also noch nicht so richtig nen Plan.


  • Ich habe die 38_CO20.pm erstellt
  • airquality.gplot erstellt
  • define co20 CO20 in fhem.cfg eingefügt
  • attr co20 event-min-interval 1 eingetragen um erstmal zum testen schneller veränderungen festzustellen

Meine Eintrag in der fhem.cfg

#######################################################################
#
#  CO2 Messung
#
define co20 CO20
attr co20 alias Luftqualität 450 bis 1000 ist gut, 1001 bis 1500 mittelmäßig, darüber schlecht
attr co20 event-min-interval 1
attr co20 room Plots
define FileLog_co20 FileLog ./log/airquality.livingroom-%Y.log airquality.livingroom
attr FileLog_co20 logtype airquality:airquality,text
define weblink_co20 SVG FileLog_co20:airquality:CURRENT
#


Muss ich noch was machen oder habe ich einen Denk und/oder Copy&Paste Fehler?
Vielen Dank für eure Mühe.

Gruss Breil

justme1968

die event-min-interval zeile ist falsch. damit hast du alle events abgeschaltet weil dir syntax nicht stimmt und außerdem kannst du damit das device nicht dazu bringen schneller events zu liefern als es will.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Spiff

Hallo!

Ich habe den Stick auch gerade bei Conrad besorgt. Leider habe ich auch den Fehler:
Zitat von: mrbreil am 04 November 2013, 18:35:41
Cannot load module CO20

Da ich fhem aber auf einem Windows-Rechner laufen lasse, kann ich mit
Zitat von: justme1968 am 04 November 2013, 18:40:50
du musst Device::USB perl modul installieren. entweder per 'sudo apt-get install libdevice-usb-perl' oder mit 'cpan install Device::USB.
nichts anfangen.

Hat jemand eine Idee, was für Windows hier fehlt?
Ich benutze ActivePerl 5.16.3 32 bit.

Danke & Gruß
Spiff

justme1968

da ich (gott sei dank) kein windows verwende kann ich dir hier leider nicht weiter helfen.

aber schau mal hier http://search.cpan.org/~gwadej/Device-USB-0.36/lib/Device/USB.pm#LIMITATIONS. da gibt es einen kurzen verweis wie es eventuell unter windows gehen könnte.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Spiff

#21
Hi Andre,

danke für den Tipp! Ich habe es nach einer schlaflosen Nacht hinbekommen. Es gab ein paar Hürden, über die ich gestolpert bin, deswegen versuche ich mal, das hier zusammenzufassen. Es kann sein, dass ein paar Schritte überflüssig sind, das kann ich allerdings nicht mehr nachvollziehen, weil ich sehr viel herumprobiert habe.

Edit: Wenn bei "install now" ein Fehler wegen fehlender administrativen Rechte kommt, funktioniert folgender Weg:
Über den Gerätemanager unter Eingabegeräte (HID) das richtige USB-Eingabegerät identifizieren (z.B. über Eventghost, bei dem ein Event ausgelöst wird, wenn man den Stick aus- und einsteckt, dort ist die VID und PID zu sehen, die man dann im Gerätemanager unter Details -> Eigenschaften -> Hardware-ID herausfinden kann)
Für dieses Gerät den generierten libusb-Treiber überbügeln.
  • Gerät "iAQ-Stick" auswählen
  • im Gerätemanager gibt es jetzt eine Kategorie "libusb-win32 devices", in der sich der "iAQ-Stick" befindet.
    Man kann jetzt schonmal testen, ob alles bis hierher geklappt hat:
    libusb-win32-bin-1.2.4.0\bin\x86\testlibusb-win.exe sollte folgendes ausgeben:
DLL version: 1.2.4.0
Driver version: 1.2.4.0

bus/device  idVendor/idProduct
bus-0/\\.\libusb0-0001--0x03eb-0x2013     03EB/2013
- Manufacturer : AppliedSensor
- Product      : iAQ Stick
bLength:             18
bDescriptorType:     01h
bcdUSB:              0200h
bDeviceClass:        00h
bDeviceSubClass:     00h
bDeviceProtocol:     00h
bMaxPacketSize0:     20h
idVendor:            03EBh
idProduct:           2013h
bcdDevice:           1000h
iManufacturer:       1
iProduct:            2
iSerialNumber:       0
bNumConfigurations:  1
  wTotalLength:         41
  bNumInterfaces:       1
  bConfigurationValue:  1
  iConfiguration:       0
  bmAttributes:         80h
  MaxPower:             50
    bInterfaceNumber:   0
    bAlternateSetting:  0
    bNumEndpoints:      2
    bInterfaceClass:    3
    bInterfaceSubClass: 0
    bInterfaceProtocol: 0
    iInterface:         0
      bEndpointAddress: 81h
      bmAttributes:     03h
      wMaxPacketSize:   16
      bInterval:        10
      bRefresh:         0
      bSynchAddress:    0
      bEndpointAddress: 02h
      bmAttributes:     03h
      wMaxPacketSize:   16
      bInterval:        10
      bRefresh:         0
      bSynchAddress:    0



Damit sind die Vorbereitungen getroffen und es kann die Perl-Installation angepasst werden:
  • MinGW installieren
    über cmd: "ppm install MinGW"
C:\>ppm install MinGW
Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
Syncing site PPM database with .packlists...done
Downloading MinGW-5.1.4.1...done
Downloading dmake-4.11.20080107...done
Unpacking MinGW-5.1.4.1...done
Unpacking dmake-4.11.20080107...done
Generating HTML for MinGW-5.1.4.1...done
Generating HTML for dmake-4.11.20080107...done
Updating files in site area...done
1070 files installed

  • Ich habe jetzt inline::makemaker installiert, kann aber sein, dass man das nicht benötigt
  • Inline::C installieren
    über cmd: "cpan Inline::C"


  • Device::USB installieren
    Zunächst die Pfade zu libusb angeben (Pfad anpassen!):
    über cmd:
    "set LIBUSB_INCDIR=\libusb-win32-bin-1.2.4.0\include"
    "set LIBUSB_LIBDIR=\libusb-win32-bin-1.2.4.0\lib\gcc"
    "cpan Device::USB"
C:\tmp>cpan Device::USB
Set up gcc environment - 3.4.5 (mingw-vista special r3)
CPAN: Term::ANSIColor loaded ok (v4.02)
CPAN: Storable loaded ok (v2.34)
Reading 'C:\Perl\cpan\Metadata'
  Database was generated on Tue, 05 Nov 2013 20:53:02 GMT
Running install for module 'Device::USB'
Running make for G/GW/GWADEJ/Device-USB-0.36.tar.gz
CPAN: Digest::SHA loaded ok (v5.84)
CPAN: Compress::Zlib loaded ok (v2.06)
Checksum for C:\Perl\cpan\sources\authors\id\G\GW\GWADEJ\Device-USB-0.36.tar.gz
ok
CPAN: Archive::Tar loaded ok (v1.90)
Device-USB-0.36/
Device-USB-0.36/t/
Device-USB-0.36/t/TestTools.pm
Device-USB-0.36/t/11-usb-device-methods.t
Device-USB-0.36/t/16-usb_dev_interface.t
Device-USB-0.36/t/06-list_devices.t
Device-USB-0.36/t/03-list_busses.t
Device-USB-0.36/t/04-find_device.t
Device-USB-0.36/t/05-find_device_if.t
Device-USB-0.36/t/07-list_devices_if.t
Device-USB-0.36/t/12-constants.t
Device-USB-0.36/t/00-load.t
Device-USB-0.36/t/18-usb_device-configurations.t
Device-USB-0.36/t/15-usb_dev_configuration.t
Device-USB-0.36/t/13-bus_find_device_if.t
Device-USB-0.36/t/17-usb_dev_endpoint.t
Device-USB-0.36/t/01-create-usb.t
Device-USB-0.36/t/02-find_busses_devices.t
Device-USB-0.36/t/14-bus_list_devices_if.t
Device-USB-0.36/t/08-get_busses.t
Device-USB-0.36/t/10-usb-device-accessors.t
Device-USB-0.36/t/09-usb-bus.t
Device-USB-0.36/lib/
Device-USB-0.36/lib/Device/
Device-USB-0.36/lib/Device/USB.pm
Device-USB-0.36/lib/Device/USB/
Device-USB-0.36/lib/Device/USB/DevInterface.pm
Device-USB-0.36/lib/Device/USB/Bus.pm
Device-USB-0.36/lib/Device/USB/DevEndpoint.pm
Device-USB-0.36/lib/Device/USB/FAQ.pod
Device-USB-0.36/lib/Device/USB/Device.pm
Device-USB-0.36/lib/Device/USB/DevConfig.pm
Device-USB-0.36/USB.pm
Device-USB-0.36/README
Device-USB-0.36/META.json
Device-USB-0.36/dump_usb.pl
Device-USB-0.36/Changes
Device-USB-0.36/Makefile.PL
Device-USB-0.36/META.yml
Device-USB-0.36/MANIFEST
Device-USB-0.36/xt/
Device-USB-0.36/xt/boilerplate.t
Device-USB-0.36/xt/pod.t
Device-USB-0.36/xt/pod-coverage.t
Device-USB-0.36/MANIFEST.SKIP
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.4404)
CPAN: CPAN::Meta loaded ok (v2.120921)
CPAN: Module::CoreList loaded ok (v2.80)

  CPAN.pm: Building G/GW/GWADEJ/Device-USB-0.36.tar.gz

Set up gcc environment - 3.4.5 (mingw-vista special r3)
Checking if your kit is complete...
Looks good
Writing Makefile for Device::USB
Writing MYMETA.yml and MYMETA.json
cp USB.pm blib\lib\Device\USB.pm
cp lib/Device/USB/DevEndpoint.pm blib\lib\Device\USB\DevEndpoint.pm
cp lib/Device/USB/Device.pm blib\lib\Device\USB\Device.pm
Skip blib\lib\Device\USB.pm (unchanged)
cp lib/Device/USB/Bus.pm blib\lib\Device\USB\Bus.pm
cp lib/Device/USB/FAQ.pod blib\lib\Device\USB\FAQ.pod
cp lib/Device/USB/DevInterface.pm blib\lib\Device\USB\DevInterface.pm
cp lib/Device/USB/DevConfig.pm blib\lib\Device\USB\DevConfig.pm
cp dump_usb.pl blib\lib\Device\dump_usb.pl
C:\Perl\bin\perl.exe -Mblib -MInline=NOISY,_INSTALL_ -MDevice::USB -e1 0.36 blib
\arch
validate Stage
Starting Build Preprocess Stage
get_maps Stage
Finished Build Preprocess Stage

Starting Build Parse Stage
Finished Build Parse Stage

Starting Build Glue 1 Stage
Finished Build Glue 1 Stage

Starting Build Glue 2 Stage
Finished Build Glue 2 Stage

Starting Build Glue 3 Stage
Finished Build Glue 3 Stage

Starting Build Compile Stage
  Starting "perl Makefile.PL" Stage
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Writing Makefile for Device::USB
Writing MYMETA.yml and MYMETA.json
  Finished "perl Makefile.PL" Stage

  Starting "make" Stage
Set up gcc environment - 3.4.5 (mingw-vista special r3)
C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp  -typemap "C:\Perl\lib\ExtUtils
\typemap"  USB.xs > USB.xsc && C:\Perl\bin\perl.exe -MExtUtils::Command -e mv --
USB.xsc USB.c
C:\Perl\site\bin\gcc.exe -c  -I"C:/Perl/cpan/build/Device-USB-0.36-UOfRGu" -I"\t
mp\include"     -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS
-DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_
USE_32BIT_TIME_T -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -O2
  -DVERSION=\"0.36\"    -DXS_VERSION=\"0.36\"  "-IC:\Perl\lib\CORE"   USB.c
Running Mkbootstrap for Device::USB ()
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 USB.bs
C:\Perl\bin\perl.exe -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"Device::USB\", 'DLBASE' => 'USB', 'DL_FUNCS' => {
}, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
Set up gcc environment - 3.4.5 (mingw-vista special r3)
C:\Perl\site\bin\dlltool.exe --def USB.def --output-exp dll.exp
C:\Perl\site\bin\g++.exe -o blib\arch\auto\Device\USB\USB.dll -Wl,--base-file -W
l,dll.base -mdll -L"C:\Perl\lib\CORE" USB.o   C:\Perl\lib\CORE\perl516.lib \tmp\
lib\gcc\libusb.a C:\Perl\site\lib\auto\MinGW\lib\libmsvcrt.a C:\Perl\site\lib\au
to\MinGW\lib\libkernel32.a C:\Perl\site\lib\auto\MinGW\lib\libuser32.a C:\Perl\s
ite\lib\auto\MinGW\lib\libgdi32.a C:\Perl\site\lib\auto\MinGW\lib\libwinspool.a
C:\Perl\site\lib\auto\MinGW\lib\libcomdlg32.a C:\Perl\site\lib\auto\MinGW\lib\li
badvapi32.a C:\Perl\site\lib\auto\MinGW\lib\libshell32.a C:\Perl\site\lib\auto\M
inGW\lib\libole32.a C:\Perl\site\lib\auto\MinGW\lib\liboleaut32.a C:\Perl\site\l
ib\auto\MinGW\lib\libnetapi32.a C:\Perl\site\lib\auto\MinGW\lib\libuuid.a C:\Per
l\site\lib\auto\MinGW\lib\libws2_32.a C:\Perl\site\lib\auto\MinGW\lib\libmpr.a C
:\Perl\site\lib\auto\MinGW\lib\libwinmm.a C:\Perl\site\lib\auto\MinGW\lib\libver
sion.a C:\Perl\site\lib\auto\MinGW\lib\libodbc32.a C:\Perl\site\lib\auto\MinGW\l
ib\libodbccp32.a C:\Perl\site\lib\auto\MinGW\lib\libcomctl32.a C:\Perl\site\lib\
auto\MinGW\lib\libmsvcrt.a dll.exp
C:\Perl\site\bin\dlltool.exe --def USB.def --base-file dll.base --output-exp dll
.exp
C:\Perl\site\bin\g++.exe -o blib\arch\auto\Device\USB\USB.dll -mdll -L"C:\Perl\l
ib\CORE" USB.o   C:\Perl\lib\CORE\perl516.lib \tmp\lib\gcc\libusb.a C:\Perl\site
\lib\auto\MinGW\lib\libmsvcrt.a C:\Perl\site\lib\auto\MinGW\lib\libkernel32.a C:
\Perl\site\lib\auto\MinGW\lib\libuser32.a C:\Perl\site\lib\auto\MinGW\lib\libgdi
32.a C:\Perl\site\lib\auto\MinGW\lib\libwinspool.a C:\Perl\site\lib\auto\MinGW\l
ib\libcomdlg32.a C:\Perl\site\lib\auto\MinGW\lib\libadvapi32.a C:\Perl\site\lib\
auto\MinGW\lib\libshell32.a C:\Perl\site\lib\auto\MinGW\lib\libole32.a C:\Perl\s
ite\lib\auto\MinGW\lib\liboleaut32.a C:\Perl\site\lib\auto\MinGW\lib\libnetapi32
.a C:\Perl\site\lib\auto\MinGW\lib\libuuid.a C:\Perl\site\lib\auto\MinGW\lib\lib
ws2_32.a C:\Perl\site\lib\auto\MinGW\lib\libmpr.a C:\Perl\site\lib\auto\MinGW\li
b\libwinmm.a C:\Perl\site\lib\auto\MinGW\lib\libversion.a C:\Perl\site\lib\auto\
MinGW\lib\libodbc32.a C:\Perl\site\lib\auto\MinGW\lib\libodbccp32.a C:\Perl\site
\lib\auto\MinGW\lib\libcomctl32.a C:\Perl\site\lib\auto\MinGW\lib\libmsvcrt.a dl
l.exp
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod -- 755 blib\arch\auto\Device\U
SB\USB.dll
C:\Perl\bin\perl.exe -MExtUtils::Command -e cp -- USB.bs blib\arch\auto\Device\U
SB\USB.bs
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 blib\arch\auto\Device\U
SB\USB.bs
  Finished "make" Stage

  Starting "make install" Stage
Files found in blib\arch: installing files in blib\lib into architecture depende
nt library tree
Installing C:\Perl\cpan\build\Device-USB-0.36-UOfRGu\blib\arch\auto\Device\USB\U
SB.bs
Installing C:\Perl\cpan\build\Device-USB-0.36-UOfRGu\blib\arch\auto\Device\USB\U
SB.dll
  Finished "make install" Stage

  Starting Cleaning Up Stage
  Finished Cleaning Up Stage

Finished Build Compile Stage

  GWADEJ/Device-USB-0.36.tar.gz
  C:\Perl\site\bin\dmake.exe -- OK
CPAN: YAML::XS loaded ok (v0.39)
Running make test
C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib',
'blib\arch')" t/*.t
t/00-load.t ....................... 1/1 # Testing Device::USB 0.36, Perl 5.01600
3, C:\Perl\bin\perl.exe
t/00-load.t ....................... ok
t/01-create-usb.t ................. ok
t/02-find_busses_devices.t ........ ok
t/03-list_busses.t ................ ok
t/04-find_device.t ................ ok
t/05-find_device_if.t ............. ok
t/06-list_devices.t ............... ok
t/07-list_devices_if.t ............ ok
t/08-get_busses.t ................. ok
t/09-usb-bus.t .................... ok
t/10-usb-device-accessors.t ....... ok
t/11-usb-device-methods.t ......... ok
t/12-constants.t .................. ok
t/13-bus_find_device_if.t ......... ok
t/14-bus_list_devices_if.t ........ ok
t/15-usb_dev_configuration.t ...... skipped: No devices found.
t/16-usb_dev_interface.t .......... skipped: No devices found.
t/17-usb_dev_endpoint.t ........... skipped: No devices found.
t/18-usb_device-configurations.t .. ok
All tests successful.
Files=19, Tests=102,  4 wallclock secs ( 0.03 usr +  0.05 sys =  0.08 CPU)
Result: PASS
  GWADEJ/Device-USB-0.36.tar.gz
  C:\Perl\site\bin\dmake.exe test -- OK
Running make install
Prepending C:\Perl\cpan\build\Device-USB-0.36-UOfRGu/blib/arch C:\Perl\cpan\buil
d\Device-USB-0.36-UOfRGu/blib/lib to PERL5LIB for 'install'
Files found in blib\arch: installing files in blib\lib into architecture depende
nt library tree
Installing C:\Perl\site\lib\auto\Device\USB\USB.bs
Installing C:\Perl\site\lib\auto\Device\USB\USB.dll
Installing C:\Perl\html\site\lib\Device\dump_usb.html
Installing C:\Perl\html\site\lib\Device\USB.html
Installing C:\Perl\html\site\lib\Device\USB\Bus.html
Installing C:\Perl\html\site\lib\Device\USB\DevConfig.html
Installing C:\Perl\html\site\lib\Device\USB\DevEndpoint.html
Installing C:\Perl\html\site\lib\Device\USB\Device.html
Installing C:\Perl\html\site\lib\Device\USB\DevInterface.html
Installing C:\Perl\html\site\lib\Device\USB\FAQ.html
Installing C:\Perl\site\lib\Device\dump_usb.pl
Installing C:\Perl\site\lib\Device\USB.pm
Installing C:\Perl\site\lib\Device\USB\Bus.pm
Installing C:\Perl\site\lib\Device\USB\DevConfig.pm
Installing C:\Perl\site\lib\Device\USB\DevEndpoint.pm
Installing C:\Perl\site\lib\Device\USB\Device.pm
Installing C:\Perl\site\lib\Device\USB\DevInterface.pm
Installing C:\Perl\site\lib\Device\USB\FAQ.pod
Appending installation info to C:\Perl\lib/perllocal.pod
  GWADEJ/Device-USB-0.36.tar.gz
  C:\Perl\site\bin\dmake.exe install  -- OK


Jetzt sollte der CO20 in fhem integrierbar sein.

Viele Grüße
Spiff

Quellen:
http://code.google.com/p/perl-device-usb/wiki/StrawberryPerlInstallation
http://www.activestate.com/blog/2009/01/ppm-install-mingw
http://search.cpan.org/~sisyphus/Inline-0.53/
http://search.cpan.org/~gwadej/Device-USB-0.36/

Spiff

Jetzt, wo alles funktioniert, kommen trotzdem die ersten Probleme:

a) Hin und wieder kommt folgender Fehler und legt den Stick innerhalb fhem lahm (er liefert keine neuen Werte mehr) und fhem muss neu gestartet werden:
Use of uninitialized value in addition (+) at ./FHEM/38_CO20.pm line 169.

b) ich habe verstanden, dass die event-min-interval-Definition sozusagen dem eigentlichen Auslesen nachgeschaltet ist. Aber trotzdem: wie kann man denn den Auslese-Intervall verändern? Man kann ihn ja auch über "get co20 update" anstoßen, einen neuen Wert zu liefern. Lässt sich das vielleicht in das Modul als Einstellung einbringen?

Danke & Grüße
Spiff

justme1968

du kannst das attribut intervall setzen. in sekunden.

oder disable setzen und per notify ein get update machen wenn du es komplizierter brauchst.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Spiff

Hi,

das funktioniert nicht.

define co20 CO20
attr co20 intervall 30
attr co20 room Arbeitszimmer


co20: unknown attribute intervall, choose one of verbose:0,1,2,3,4,5 room group comment alias eventMap userReadings disable:1 event-on-change-reading event-on-update-reading event-min-interval stateFormat devStateIcon devStateStyle fp_Groundfloor icon onDevice sortby webCmd or use attr global userattr intervall

Ich benutze
# $Id: 32_CO20.pm 3931 2013-09-20 10:48:35Z justme1968 $

Gibt es eine neuere Version?

Gruß
Spiff

justme1968

sehr komisch. in der version oben fehlt die eine zeile mit der attribut definition. der restliche code ist aber da.

aber egal. hier noch mal vollständig.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Spiff

Perfekt, danke!

Use of uninitialized value in addition (+) at ./FHEM/38_CO20.pm line 169.
kam bis jetzt auch nicht wieder vor. Vielleicht lag es daran.  ::)

maddin

Ich habe gestern mal meinen Kamin angeworfen und da sind die Werte komplett durch die Decke gegangen (Maximum um 2800). Da die Werte stundenlang über 2000 lagen kam natürlich nix mehr im Log an (bei -v wirft er ja 0 aus und das wird vom send2fhem.sh ignoriert). Daher habe ich mir die airsensor.c noch mal runtergeladen und auf range <= 3001 gepatcht....ich weiß ist außerhalb des gültigen Messbereichs des Sensors, aber lieber ungenaue Werte als gar keine.

Lange Rede kurzer Sinn: Kann das in die 'offizielle' airsensor.c Version integriert werden? Meinetwegen auch bei -o -v als Ausgabe ' $Wert out of range!'?

Dann zeigt der Graph das richtig an, aber im Log und im dummy Device sieht man dann das es ungenaue Werte sind?

justme1968

hast du mal das fhem modul oben zum vergleich probiert? da ist die limitierung auf 2000 nicht drin. und es geht eigentlich auch ressourcen schonender mit dem usb bus um weil nicht für jede abfrage das device gesucht und neu geöffnet wird.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

maddin

Hatte ich noch nicht eingerichtet, habe ich jetzt aber mal eben gemacht. Sieht danach aus, aber da momentan wieder die Luft gut ist kann ich es nicht zu 100% sagen...