ECMD / AVR-NET-IO Relais reagieren aus FHEM nicht mehr! Eingänge gehen aber!

Begonnen von duu75, 27 Juli 2017, 08:20:33

Vorheriges Thema - Nächstes Thema

duu75

Hat sich erledigt!


Bin am verzweifeln und finde nicht die Ursache.
Mein AVR-NET-IO von Pollin mit Ethersex funktioniert seit gestern nachmittag auf einmal mal nicht mehr richtig.
Keine Änderung an FHEM oder sonst irgendwas wurde gemacht. Es war nicht mal einer zuhause in der Zeit wo es passiert sein muss.

Die analogen und digitalen Eingänge, die von FHEM abgefragt werden, funktionieren sauber und  geben auch die richtigen Werte zurück.
Aber die Relais können nicht mehr durch FHEM geschaltet werden.
Man kann sie aber über die Ethersex IO WebGUI schalten, also elektrischer Defekt ist ausgeschlossen!

In FHEM sehe ich keine Auffälligkeiten, alles sieht i.O aus. Status der Relais nach dem Schaltvorgang ist on ok / off ok, wie immer.
Die Kostellation läuft jetzt ohne Probleme seit einigen Jahren und jetzt das.

Das Eigenartige ist, das wenn ich in Ethersex die DDRC Haken rausnehme und ein Relais schalte, verhält sich der AVR zum Teil richtig. Er setzt alle DDRC's, aber der PORTC wird nicht mehr gesetzt.

Hoffe auf schnelle Hilfe, da z.Zt. das System recht viel ausknockt bei mir zuhause.


FHEM 14788
66_ECMD.pm           14495 2017-06-11 05:47:17Z neubert
67_ECMDDevice.pm     12877 2016-12-26 09:15:55Z neubert


AVR-NET-IO Definition:
define AVR ECMD telnet 10.0.0.6:2701
attr AVR classdefs RELAIS=/opt/fhem/relais.classdef:ADC=/opt/fhem/adc.classdef:INPUT=/opt/fhem/input.classdef

exempl. Relais2 Definition:
define Relais2 ECMDDevice RELAIS 02
attr Relais2 IODev AVR


# relais.classdef
# Uebergabeparameter HEX Adresse Port
params RelaisPort
# erst alle Ports PC.. auf Ausgang setzen und dann per Hexcode schalten
set on cmd {"io set ddr 2 ff\n\000io set port 2 %RelaisPort %RelaisPort\n"}
set on expect "OK\n"
set on postproc {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}
set off cmd {"io set ddr 2 ff\n\000io set port 2 00 %RelaisPort\n"}
set off expect "OK\n"
set off postproc {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}


geschaltet wird exemplarisch Relais2 ON/OFF


2017.07.27 08:01:22 4: WEB_10.0.0.254_62498 POST /fhem?cmd.Relais2=set%20Relais2%20on&room=Hardware&XHR=1&fwcsrf=csrf_746169742188293&fw_id=2420; BUFLEN:0
2017.07.27 08:01:22 5: Cmd: >set Relais2 on<
2017.07.27 08:01:22 5: ECMDDevice: Analyze command >{"io set ddr 2 ff\n\000io set port 2 02 02\n"}<
2017.07.27 08:01:22 5: AVR: sending command io set ddr 2 ff\n\000io set port 2 02 02\n (\151\157\040\163\145\164\040\144\144\162\040\062\040\146\146\012\000\151\157\040\163\145\164\040\160\157\162\164\040\062\040\060\062\040\060\062\012)
2017.07.27 08:01:22 5: AVR: write io set ddr 2 ff\n\000io set port 2 02 02\n (\151\157\040\163\145\164\040\144\144\162\040\062\040\146\146\012\000\151\157\040\163\145\164\040\160\157\162\164\040\062\040\060\062\040\060\062\012), expect OK\n
2017.07.27 08:01:22 5: SW: 696f207365742064647220322066660a00696f2073657420706f727420322030322030320a
2017.07.27 08:01:22 5: AVR: read OK\n (\117\113\012)
2017.07.27 08:01:22 5: AVR: received answer OK\n (\117\113\012)
2017.07.27 08:01:22 5: Postprocessing "OK\n (\117\113\012)" with perl command {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}.
2017.07.27 08:01:22 5: Postprocessed value is "ok (\157\153)".
2017.07.27 08:01:22 5: Starting notify loop for Relais2, 2 event(s), first is on: ok
2017.07.27 08:01:22 5: End notify loop for Relais2
2017.07.27 08:01:22 4: WEB: /fhem?cmd.Relais2=set%20Relais2%20on&room=Hardware&XHR=1&fwcsrf=csrf_746169742188293&fw_id=2420 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2017.07.27 08:01:24 4: WEB_10.0.0.254_62498 POST /fhem?cmd.Relais2=set%20Relais2%20off&room=Hardware&XHR=1&fwcsrf=csrf_746169742188293&fw_id=2420; BUFLEN:0
2017.07.27 08:01:24 5: Cmd: >set Relais2 off<
2017.07.27 08:01:24 5: ECMDDevice: Analyze command >{"io set ddr 2 ff\n\000io set port 2 00 02\n"}<
2017.07.27 08:01:24 5: AVR: sending command io set ddr 2 ff\n\000io set port 2 00 02\n (\151\157\040\163\145\164\040\144\144\162\040\062\040\146\146\012\000\151\157\040\163\145\164\040\160\157\162\164\040\062\040\060\060\040\060\062\012)
2017.07.27 08:01:24 5: AVR: write io set ddr 2 ff\n\000io set port 2 00 02\n (\151\157\040\163\145\164\040\144\144\162\040\062\040\146\146\012\000\151\157\040\163\145\164\040\160\157\162\164\040\062\040\060\060\040\060\062\012), expect OK\n
2017.07.27 08:01:24 5: SW: 696f207365742064647220322066660a00696f2073657420706f727420322030302030320a
2017.07.27 08:01:24 5: AVR: read OK\n (\117\113\012)
2017.07.27 08:01:24 5: AVR: received answer OK\n (\117\113\012)
2017.07.27 08:01:24 5: Postprocessing "OK\n (\117\113\012)" with perl command {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}.
2017.07.27 08:01:24 5: Postprocessed value is "ok (\157\153)".
2017.07.27 08:01:24 5: Starting notify loop for Relais2, 2 event(s), first is off: ok
2017.07.27 08:01:24 5: End notify loop for Relais2
2017.07.27 08:01:24 4: WEB: /fhem?cmd.Relais2=set%20Relais2%20off&room=Hardware&XHR=1&fwcsrf=csrf_746169742188293&fw_id=2420 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/






FHEM auf Ubuntu 20.04
RaspberryMatic CCU3 Charly, CUL 868, HUEBridge 2.0, HM-CFG-USB, AVR-NET-IO, Wemos D1 Mini ESP Easy, ESP32-CAM AI-on-the-Edge