[gelöst] Setzen eines DAC Value, ethersex LTC1257 in fhem geht nicht, warum?

Begonnen von franky08, 27 April 2015, 23:05:04

Vorheriges Thema - Nächstes Thema

franky08

Hallo, ich habe über AVRNETIO ein ECMD Device, ONEWIRE funktioniert ohne Probleme. An dem Atmel mit Ethersex hängt ein LTC1257 DAC, der lässt sich über Telnet problemlos steuern, ltc1257_set ... setzt den DAC auf die angegebene Spannung nur über fhem funktioniert das Ganze nicht. In fhem ist eine ltc1257.classdef angelegt:

# Umsetzung in ECMD Befehle
# Ein Uebergabeparameter -> Sollwert
set setDacValue params dacValue
set setDacValue cmd {"ltc1257_set %dacValue"}
# Keine Uebergabeparameter
set init cmd {"ltc1257_init"}


In fhem angelegt:
define AVRNETIO ECMD telnet 192.168.2.111:2701
attr AVRNETIO DbLogExclude .*
attr AVRNETIO classdefs ONEWIRE=/opt/fhem/onewire.classdef:LTC1257=/opt/fhem/ltc1257.classdef
attr AVRNETIO room HM-Adapter,System
define HZ_Vorlauf ECMDDevice ONEWIRE 10cdd9e702080075
attr HZ_Vorlauf DbLogExclude .*
attr HZ_Vorlauf IODev AVRNETIO
attr HZ_Vorlauf room Heizung
attr HZ_Vorlauf stateFormat temp °C
define 1Wire_HZ_Vorlauf at +*00:01:00 set HZ_Vorlauf messen;; sleep 2;; get HZ_Vorlauf temp
attr 1Wire_HZ_Vorlauf DbLogExclude .*
attr 1Wire_HZ_Vorlauf alignTime 00:00:00
attr 1Wire_HZ_Vorlauf room Unsorted
define HZ_Ruecklauf ECMDDevice ONEWIRE 100eaae702080090
attr HZ_Ruecklauf DbLogExclude .*
attr HZ_Ruecklauf IODev AVRNETIO
attr HZ_Ruecklauf room Heizung
attr HZ_Ruecklauf stateFormat temp °C
define 1Wire_HZ_Ruecklauf at +*00:01:00 set HZ_Ruecklauf messen;; sleep 2;; get HZ_Ruecklauf temp
attr 1Wire_HZ_Ruecklauf DbLogExclude .*
attr 1Wire_HZ_Ruecklauf alignTime 00:00:00
attr 1Wire_HZ_Ruecklauf room Unsorted
define DAC ECMDDevice LTC1257
attr DAC DbLogExclude .*
attr DAC IODev AVRNETIO
attr DAC room Heizung

Starte ich telnet, kann ich mit ltc1257_set <value> den Spannungswert neu setzen, mache ich das in fhem mit set DAC setDacValue <value> funktioniert das Ganze leider nicht.
Das Ganze dient der Heizungssteuerung, siehe http://www.fhemwiki.de/wiki/Junkers_Therme_Stetigregelung

Ich suche und probiere jetzt schon eine Woche an der Sache rum und komme jetzt nicht weiter, denn auch in dem WIKI Beitrag sind Fehler auf die man erst mal kommen muss (pinning und statt  ltc1257_set 2000 für die maximale Spannung muss es  ltc1257_set 4000 sein )

Ich hoffe es kann mich einer erlösen  :'(

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

franky08

Hat sich erledigt, die classdef war fehlerhaft mit:

# Umsetzung in ECMD Befehle
# Ein Uebergabeparameter -> Sollwert
set setDAC params dacValue
set setDAC cmd {"ltc1257_set %dacValue\n"}
set setDAC expect "OK\n"
# Keine Uebergabeparameter
set init cmd {"ltc1257_init\n"}
set init expect "OK\n"
#


lässt sich der LTC1257 jetzt setzen.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

kpwg

Das hab ich doch glatt im Wiki überlesen  ::)
Habe Deine Version mal auf die Seite übernommen- nun sollte es klappen.

Viele Grüße, Ricardo