Voltcraft CO-20 USB-Luftqualitätssensor

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

Vorheriges Thema - Nächstes Thema

miktin

Keine Ahnung wie oft ich schon rebootet habe. Will nicht, ist und bleibt disconnected. Unter Windows läuft er und bringt Daten mit der Rehau Software.

justme1968

was gibt lsusb als root?

wenn dein fhem nicht als root läuft musst du die device rechte z.b. per udev regel anpassen. in der commandref ist ein link wie das geht.

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

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

miktin

Gehe von aus das du das meinst. create the udev rule as above. Wie stelle ich das an?

willybauss

Zitat von: miktin am 13 August 2016, 12:42:56
Gehe von aus das du das meinst. create the udev rule as above. Wie stelle ich das an?
Wenn da steht "... as above", dann sollte ja weiter oben stehen wie es geht.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

miktin

#589
Ich bin begeistert.......

PumpkinEater

Hallo zusammen,
ich verwende momentan das Programm airsensor.c (ohne fhem) zum Auslesen der Sensorwerte. Ich möchte nun im laufenden Betrieb zwischendurch mal die Baseline resetten (rekalibrieren). Im fhem-Modul ist dies ja implementiert, wobei ich den Code dazu nicht komplett verstehe.

Ich suche den Befehlsstring, den ich für das Rekalibrieren an den Sensor schicken muss, ähnlich wie dies in airsensor.c für das Abfragen der Messwerte gemacht wird:

memcpy(buf, "\x40\x68\x2a\x54\x52\x0a\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40", 0x0000010);
ret = usb_interrupt_write(devh, 0x00000002, buf, 0x0000010, 1000);

Gruß
Peter



Markus M.

Zitat von: PumpkinEater am 23 August 2016, 10:07:29Ich suche den Befehlsstring, den ich für das Rekalibrieren an den Sensor schicken muss, ähnlich wie dies in airsensor.c für das Abfragen der Messwerte gemacht wird:
memcpy(buf, "\x40\x68\x2a\x54\x52\x0a\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40", 0x0000010);
ret = usb_interrupt_write(devh, 0x00000002, buf, 0x0000010, 1000);

Naja, aus Hex Code übersetzt heisst das in etwa "@h*TR\n@@@@@@@@@"
Möchtest du airsensor erweitern? Der größte Unterschied zum Modul ist, dass ich wo immer möglich die Characters lesbar in den Code geschrieben habe und die Kommandos 1:1 aus der Windows App übernommen sind.
Für den Reset musst du statt "TR" bzw. "TRF?" "FLAGSET;RESET BASELINE=" schicken, vorher noch ein bisschen passenden Krempel, nachher auch :)
Einfach die Funktion CO20_dataset einmal von oben nach unten durchgehen, dann hast du's.
Aktuell weder Smarthome noch FHEM vorhanden

PumpkinEater

Hi Markus,
danke fir die Info.

puh, Perl  ;)
Müsste dann ungefähr so lauten:

"@gTRF?\n@@@@@@@@@" (erstes Write)
"@0001FLAGSET;RESET BASELINE=\n@@@" (zweites und drittes Write a 16 Byte)

Vielleicht installiere ich Dein Modul testweise mal in FHEM und logge dann die resultierenden Strings, bevor ich etwas zerschieße ...

Gruß
Peter

Markus M.

Mach das doch am besten einfach über das Modul.


Sent from my iPhone using Tapatalk
Aktuell weder Smarthome noch FHEM vorhanden

willybauss

Habe diese Woche mal wieder ein Update gemacht. Und wie das letzte mal war wieder anschließend das Logfile voll mit

2016.09.16 17:31:48 3: Wohnzimmer_co20: disconnected
2016.09.16 17:31:48 3: Wohnzimmer_co20: CO20 device found
2016.09.16 17:31:48 3: Wohnzimmer_co20: CO20 device opened
2016.09.16 17:34:27 3: Zuluft_co20: disconnected
2016.09.16 17:34:27 3: Zuluft_co20: CO20 device found
2016.09.16 17:34:27 3: Zuluft_co20: CO20 device opened
2016.09.16 17:39:58 3: Schlafzimmer_co20: disconnected
2016.09.16 17:39:58 3: Schlafzimmer_co20: CO20 device found
2016.09.16 17:39:58 3: Schlafzimmer_co20: CO20 device opened
2016.09.16 17:43:37 3: Zuluft_co20: disconnected
2016.09.16 17:43:37 3: Zuluft_co20: CO20 device found
2016.09.16 17:43:37 3: Zuluft_co20: CO20 device opened
2016.09.16 17:44:29 3: Wohnzimmer_co20: disconnected
2016.09.16 17:44:29 3: Wohnzimmer_co20: CO20 device found
2016.09.16 17:44:29 3: Wohnzimmer_co20: CO20 device opened


Und wie das letzte mal habe ich anschließend das upgedatete Modul durch dieses ersetzt:
https://forum.fhem.de/index.php/topic,13166.msg461408.html#msg461408

Das Problem ist dadurch schlagartig beseitigt.
Da es hier nach wie vor keine Lösung gibt habe ich nun das co20-Modul auf die exclude_from_update Liste gesetzt.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

sasasch

Hallo zusammen,
bin neu hier und auf FHEM gestoßen seitdem ich unsere KWL Miefabhängig steuern will.
Ich nutze meinen alten Raspberry PI. Habe einen Rehau Airmonitor. Die KWL wird über Fritzbox Dect geschaltet. Soweit ist schon mal alles eingebunden.
Nun würde ich etwas Starthilfe bei der weiteren Programmierung benötigen.
Könntet ihr mir mal die Syntax für eine einfache Bedingung geben bitte?
Z.b falls voc > 1000 schalte FB_Dect12 aus, das ganze alle 5 Minuten prüfen. Wie fange ich an?
Vielen Dank scho mal


Gesendet von iPhone mit Tapatalk

willybauss

Hi sasasch,

ich habe das ganze schon hinter mir - mit einer Tecalor THZ. Das ist ein Kombigerät mit Heizungswärmepumpe und integrierter KWL. Den Code meiner Lösung (mit 2 CO20-Sensoren in Wohn- und Schlafzimmer) findest Du hier:
https://forum.fhem.de/index.php/topic,33452.msg458926.html#msg458926
Die Lösung funktioniert ganz ordentlich. Wahrscheinlich musst Du noch ein bisschen an den Parametern spielen - bei welchen Mief-Werten wird zwischen den Stufen umgeschaltet usw.

Das kannst Du mal als Einstiegshilfe nehmen und für Deine Bedingungen anpassen. Falls Dir da was fehlt ist es evtl. in den Konfigurationsbeispielen der THZ enthalten, die ich im ersten Beitrag dieses Threads angehängt habe.

Viel Spaß damit.
Willy
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

sasasch

Super vielen Dank. Das ist für den generellen Einstieg schon mal ne Menge Code.
Würde mich über einen Einzeiler für die vorhin gestellte Bedingung trotzdem freuen, taste mich da erst step Byte step ran um es einfach besser verstehen zu können.
Gruß


Gesendet von iPhone mit Tapatalk

willybauss

#598
Den kannst Du Dir aus dem genannten Code basteln.

Aus dem
define extraVent_Wohnzimmer DOIF (    ([Wohnzimmer_co20:voc_avg] > 3600)\
...
        (set extraVent_Wohnzimmer_value 3, {Log 1,"extraVent_Wohnzimmer set to level 3"}) \
...


musst Du die "(set ..." Zeile ersetzen durch

sowas ähnliches

set Mythz p07FanStageDay 3


Wie der Code für Dein FBDect aussieht weiß ich aber nicht. Ich gehe davon aus, dass Du das selbst im Griff hast.

Dann halt noch die öffnenden und schließenden Klammern abgleichen. Wenn Du magst passt das  - der Unübersichtlichkeit zuliebe -  in eine Zeile.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

sasasch

Ok super vielen Dank


Gesendet von iPhone mit Tapatalk