Im Modul I2C_MCP23017 ist zu begin
##############################################################################
# $Id: 52_I2C_MCP23017.pm 19551 2019-06-04 20:10:50Z klausw $
##############################################################################
# Modul for I2C GPIO Extender MCP23017
#
# contributed by Klaus Wittstock (2013) email: klauswittstock bei gmail
##############################################################################
package main;
use strict;
use warnings;
use SetExtensions;
SetExtensions definiert. Beim Versuch "set mc17_io PortA0 on-for-timer 12" zu setzen wird dies mit
wrong value: on-for-timer for "set mc17_io PortA0" use one of: off,on
abgelehnt. Funktionieren hier die SetExtensions nicht oder muss der Code noch erweitert werden?
Ideen?
Internals:
DEF 0x20
FUUID 5dab37bd-f33f-6f28-51e5-51a7cadcac778bce
I2C_Address 32
IODev myi2c_0
NAME mc17_io
NR 15
STATE Ok
TYPE I2C_MCP23017
myi2c_0_SENDSTAT Ok
READINGS:
2019-10-19 18:57:51 PortA0 on
2019-10-19 18:26:17 PortA1 off
2019-10-19 18:26:17 PortA2 off
2019-10-19 18:26:17 PortA3 off
2019-10-19 18:26:17 PortA4 off
2019-10-19 18:26:17 PortA5 off
2019-10-19 18:26:17 PortA6 off
2019-10-19 18:26:17 PortA7 off
2019-10-19 18:20:13 PortB0 off
2019-10-19 18:20:13 PortB1 off
2019-10-19 18:20:13 PortB2 off
2019-10-19 18:20:13 PortB3 off
2019-10-19 18:20:13 PortB4 off
2019-10-19 18:20:13 PortB5 off
2019-10-19 18:20:13 PortB6 off
2019-10-19 18:20:13 PortB7 off
2019-10-21 21:22:47 state Ok
Attributes:
IODev myi2c_0
OutputPorts A0,A1,A2,A3,A4,A5,A6,A7
Pullup A0,A1,A2,A3,A4,A5,A6,A7
room io
Gruß
"use SetExtensions;" reicht nicht, man muss SetExtensions() anstelle von "Unknown argument $a[1], choose one of..." aufrufen.
Danke für den Hinweis. Schade ich hatte gehofft, das es funktioniert.
Leider reichen meine Möglichkeiten in Perl wahrscheinlich nicht aus, dies zu erweitern.
Vielleicht würde ein konkreterer Hinweis es für mich möglich machen dahinzukommen.
" man muss SetExtensions() anstelle von "Unknown argument $a[1], choose one of..." aufrufen."
sagt mir erstmal nicht viel.
Danke für die Hilfe.
Ergänzend vielleicht noch: Selbst wenn die SetExtensions korrekt implementiert wären (ggf. mal nachsehen, ob man ein Attribut setzen muß): Das wirkt sich pro Gerät maximal auf einen Kanal aus.
Du scheinst aber sowieso mehrere Aktor-Kanäle nutzen zu wollen. Dann würde ich empfehlen, für jeden Aktorkanal einen ReadingsProxy anzulegen. Der kann das dann jeweils mit den SetExtensions ;) .
Viel Dank, die readingsproxy Lösung tut was es soll.