Hauptmenü

AVR Netio Board

Begonnen von manny59, 16 Juli 2015, 10:33:43

Vorheriges Thema - Nächstes Thema

manny59

Hallo zusammen
wer kann mir weiterhelfen. Ich habe ein AVR Board mit Ethersex geflasht und lt. Fhem Wiki AVR NETIO die Einträge für Onewire, Relais, Analog Eingänge und Contacts kopiert und als onewire.classdefin  usw  in dem Verzeichnis cd /opt/fhem abgespeichert. Auch die Gruppe und Rechte sind angepasst.
Die Onewire Abfragen und das Schalten der Relais funktioneren einwandfrei.
Nur bei dem Versuch Analog Eingänge anzulegen oder Digital Eingänge abzufragen / anzulegen kommt nach dem Eintrag
define Netzspg ECMDDevice adc 4 in der Fhem Eingabezeile folgende Meldung
ECMDDevice Netzspg error: unknown class adc (I/O device is NETIO_02) .

Wo liegt mein Fehler, zudem dies schon mal alles funktioniert hat , hab leider kein Backup erstellt - Learning by Doing ..

Danke schon mal im voraus für Eure Mithilfe

manny59

franky08

Hallo, poste mal deine adc.classdef und list von deinem NETIO Board.

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

manny59

Hallo Frank
danke für Deine rasche Antwort - hier meine adc.classdef

# Uebergabeparameter Portnummer des Analogeingangs wie auf der Platine aufgedruckt
params PortID

# Umsetzung in ECMD Befehle
# value = Rückgabewert in 0-100%, je nach eingestelltem Referenzwert im Attribut "Referenz"
# portvalue = originaler Rückgabewert des NET-IO in Dec umgerechnet um einen Referenzwert ermitteln zu können


get value cmd {"adc get %PortID"}
get value postproc {\
   my $hexval = hex("$_");\
   my $refval = AttrVal("%NAME","status",1024);\
   my $retval = $hexval*100/$refval;\
   $retval;\
}

get portvalue cmd {"adc get %PortID"}
#get portvalue postproc{hex("$_")}

und hier das List von NETIO_02

Internals:
   DEF        telnet 192.168.1.85:2701
   DeviceName 192.168.1.85:2701
   FD         4
   NAME       NETIO_02
   NR         30
   PARTIAL
   Protocol   telnet
   STATE      opened
   TYPE       ECMD
   Readings:
     2015-07-16 10:18:14   state           opened
   Fhem:
     Classdefs:
       Adc:
         filename   /opt/fhem/adc.classdef
         params     PortID
         Gets:
           Portvalue:
             cmd        {"adc get %PortID"}
           Value:
             cmd        {"adc get %PortID"}
             postproc   {   my $hexval = hex("$_");   my $refval = AttrVal("%NAME","status",1024);   my $retval = $hexval*100/$refval;   $retval;}
       Contact:
       Onewire:
         filename   /opt/fhem/onewire.classdef
         params     devID
         Gets:
           Temp:
             cmd        {"1w get %devID\n"}
             expect     \d+.\d\n
         Sets:
           Messen:
             cmd        {"1w convert\n"}
             expect     OK\n
       Relais:
         filename   /opt/fhem/relais.classdef
         params     RelaisPort
         Sets:
           Off:
             cmd        {"io set ddr 2 ff\n\000io set port 2 00 %RelaisPort\n"}
             expect     OK\n
             postproc   {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}
           On:
             cmd        {"io set ddr 2 ff\n\000io set port 2 %RelaisPort %RelaisPort\n"}
             expect     OK\n
             postproc   {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}
       Adc:
       Contact:
       Ip01:
       Netio:
Attributes:
   classdefs  ADC=/opt/fhem/adc.classdef:ONEWIRE=/opt/fhem/onewire.classdef:RELAIS=/opt/fhem/relais.classdef
   room       AVR Board

... das war´s - bin schon gespannt auf Deine Antwort

manny59

franky08

Probier mal die adc.classdef von mir. Im Netz kursieren einige Varianten die nicht funktionieren, ich hab damals auch ewig drann rumprobiert.

gegebenfalls den Namen anpassen und dann aber fhem shutdown restart, da die geänderte classdef sonst nicht geladen wird!

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);\
}

VG
Frank

P.S. Da ist jetzt aber keine Umrechnung /1024 mit drinn
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

manny59

Hallo Frank
hab Deine adc.classdef eingefügt - raspi mit shutdown restart neu gestartet , Analogeingang definiert ..
Ergebnis :
ECMDDevice Netzspg error: unknown class adc (I/O device is NETIO_02).

... das macht mich noch ganz irre !

trotzdem schonmal Danke für Deine Bemühungen

manny59

LuckyDay

classdefs  ADC

schreib mal ADC groß bei deiner definition

Zitatdefine Netzspg ECMDDevice adc 4

franky08

Stimmt! Das gehört natürlich Groß geschrieben, ist mir erst gar nicht aufgefallen.

define Netzspg ECMDDevice ADC 4

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

manny59

Hallo harry, Hallo Frank

Danke für Eure Unterstützung - jetzt klappt´s wieder  - Danke.
War schon am Verzweifeln - wo war der Fehler in der classdef - nur so zum Verständnis ..
Und habt Ihr auch eine classdef für die digitalen Eingänge für mich parat - grins ..

Danke nochmals - super Forum, tolle und hilfsbereite MItglieder .

manny 59

franky08

#8
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

manny59

Danke Frank
dafür muss ich aber das AVR NETIO nochmals mit Ethersex "bearbeiten" - hat asich ber früher auch ohne diese "Watch io changes and react" Einstellung nutzen lassen ..

Trotzdem Danke , vielleicht gibt es ja andere User bei denen dies klappt und welche die digtialen Ports nutzen

manny59

franky08

Hallo manny59

Du könntest dich an den User kpwg wenden, er arbeitet an der Sache oder mach unter Automatisierung mal einen neuen Thread auf, hier im Anfängerbereich ließt das sonst keiner von den richtigen Leuten.

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

LuckyDay

ZitatWar schon am Verzweifeln - wo war der Fehler in der classdef - nur so zum Verständnis ..

Wie man aus deinem List erkennen kann ....
ZitatAttributes:
   classdefs  ADC=/opt/fhem/adc.classdef:ONEWIRE=/opt/fhem/onewire.classdef:RELAIS=/opt/fhem/relais.classdef

manny59

Hallo zusammen
ich wollte nur noch berichten, dass die Analogdaten nun seit Tagen einwandfrei ankommen und sich dementsprechend auswerten und anwenden lassen.
Vielen Dank nochmals an Hary und Frank

P.S. die Sache mit den Digitaleingängen hab ich einstweilen als "Analogeingang" gelöst - funktioniert auch so .

manny59