FHEM Forum
Allgemeine Informationen => Wiki => Thema gestartet von: franky08 am 01 März 2016, 21:40:11
-
Hier liegt eine Verwechslung zwischen DAC (LTC1257) und ADC (LM358) vor.
Ab hier müsste korrigiert werden:
Anschließend den ADC(/LTC1257) als ECMDDevice definieren
define MEINADC ECMDDevice LTC1257
attr MEINADC room MEINRAUM
Der Befehl zum Setzen eines neuen Spannungswertes lautet:
my $dacValue = 1345;;\
fhem("set MEINADC setDacValue ".$dacValue);;\
und die adc.classdef fehlt.
Hier meine:
get value cmd {"adc get %PortID\n"}
params PortID
get value expect ".*"
get value postproc {\
my $hexval = hex(trim("$_"));\
my $hash = $defs{%NAME};\
readingsSingleUpdate($hash, "state", $hexval, 1);\
readingsSingleUpdate($hexval, 1);\
}
VG
Frank
-
Hallo Frank,
bin im Thema AVR-NET-IO nicht tief genug drin um selbst zu beurteilen, ob das so richtig wäre: Es muss nur das LTC1257 im von Dir zitierten Passus durch LM358 ersetzt werden? Kannst Du noch mal kurz drüberschauen?
Anschließend den ADC(/LM358) als ECMDDevice definieren
define MEINADC ECMDDevice LM358
attr MEINADC room MEINRAUM
Der Befehl zum Setzen eines neuen Spannungswertes lautet:
my $dacValue = 1345;;\
fhem("set MEINADC setDacValue ".$dacValue);;\
Bezüglich adc.classdef: ich sehe im Abschnitt Analoge Eingänge in FHEM einbinden (http://www.fhemwiki.de/wiki/AVR-NET-IO#Analoge_Eing.C3.A4nge_in_FHEM_einbinden) eine (Beispiel?)/etc/fhem.classdef.netio.adc - deckt die die erforderlichen Definitionen nicht ab, d.h., sollte die von Dir gepostete zusätzlich aufgenommen werden?
Peter
-
Ich sehe heute Abend noch mal drüber, bin z.Zt. Noch in der Arbeit.
Die adc.classdef: Bezüglich adc.classdef: ich sehe im Abschnitt Analoge Eingänge in FHEM einbinden eine
bezieht sich speziell auf den Bodenfeuchtesensor.
Die von mir gepostete adc.classdef bezieht sich allgemein auf die Auswertung der analogen Eingänge (in der für den Bodenfeuchtesensor erfolgen noch Umrechnungen für die Feuchte)
ADC mit DAC verwechselt:
Der Befehl zum Setzen eines neuen Spannungswertes lautet:
my $dacValue = 1345;;\
fhem("set MEINADC setDacValue ".$dacValue);;\
müsste MEINDAC lauten.
Hier ebenfalls:
Anschließend den ADC(/LTC1257) als ECMDDevice definieren ==> richtig ..den DAC/LTC1257...
define MEINADC ECMDDevice LTC1257
attr MEINADC room MEINRAUM
bitte ändern in:
Anschließend den DAC(/LTC1257) als ECMDDevice definieren
define MEINDAC ECMDDevice LTC1257
attr MEINDAC room MEINRAUM
Wenn die Leistung der Heizung ausgewertet werden soll dann wird der ADC gebraucht (in der Schaltung mit Messpunkt1 bezeichnet) und auch die von mir gepostete adc.classdef. Eigendlich gehört in die adc.classdef noch die Umrechnung in Prozent Leistung mit hinein, die mache ich bei mir aber in einer sub.
Genauer ist das im Forum erklärt:
http://forum.fhem.de/index.php/topic,13653.msg301432.html#msg301432
P.S. habe hoffendlich nichts übersehen ;)
VG
Frank
VG
Frank
-
Frank, danke für die weiteren Erläuterungen. Ich hoffe, ich hab's jetzt richtig übernommen.
Peter