Rolladen Steuerung mittels MCP23017 und Taster

Begonnen von IPPhoner2b, 09 November 2014, 15:27:10

Vorheriges Thema - Nächstes Thema

klausw

#75
Zitat von: IPPhoner2b am 17 Dezember 2014, 17:44:56
Das mit den Timern kann gut hinkommen, sind ja JE ROLLO 4 Stück, habe diese aber alle anders benannt, dass es wenigstens von der Seite aus keine Probleme geben sollte.
Was mich halt nur verwundert, wenn ich diese knappe sekunden abwarte, dass sozusagen die 2. Led des jeweiligen Rollos angeht (also die Fahrbewegung) dann läuft alles glatt, also müsste er ja beim Timer Kontrollieren/Löschen durcheinander kommen.

ABER:
Wenn ich das ganze über die GPIO PIns ansteuer, kann ich schalten wie ein Irrer, und die Teile laufen in aller Seelenruhe, wie es gewollt ist.
Mhh, das rückt das MCP Modul natürlich in den Focus.
Ist sonst alles gleich? also auch alle readingsproxy?

Zitat von: IPPhoner2b am 17 Dezember 2014, 17:44:56
:EDIT:
Nach was anderes, ihr sagt ja, dass ich den 3,3V Ausgang nur mit 50mA belasten darf. Kann ich denn meine Schalter mit 5V beaufschlagen, und am Ende in die Leitung einfach einen Widerstand schalten? So ein 1k Widerstand sollte doch eigentlich auch funktionieren, oder?

Dann kann ich meine Schalter nämlich direkt über das 5V Netzteil speisen. Da ich nur grade nicht weiß, was für ein Strom dafür über den Schalter fließen würde, sind die 1k Ohm auch mehr geraten als alles andere, aber so sollte jedenfalls nichts durchbrennen.
Redest du über die Schalter für die GPIO's?
Die können nur 3,3V ... denke nicht mal dran die, über was für einen Widerstand auch immer, an eine höhere Spannung anzuschließen. Es gibt sicherlich einige Kombinationen die klappen, aber dann betreibst du das IC ausserhalb der Spec und kannst irgendwelche Seiteneffekte bekommen.
Folgendes würde ich empfehlen:
GPIO mit 22k oder so gegen 3,3V
Taster schließt GPIO gegen Masse (so benötigst du keine weitere Spannung ausserhalb).
Zur Sicherheit kannst du noch 1k in Serie zum Taster machen (dann geht er auch nicht kaputt wenn der GPIO fälschlicherweise als Ausgang geschaltet wird).
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

IPPhoner2b

So, ich habe mir heute einen Spannungswandler von 5 auf 3,3V bestellt, wenn dieser ankommt, dann werden die Eingänge über den Wandler mit Strom versorgt, dann brauche ich auch den Pi nicht mehr über die Stelle zu belasten. Gestern hat sich noch ein weiteres Problem aufgetan, aber das liegt nur an der verwendeten Relaisplatine, diese sollten mit einem ULN2803 angesteuert werden, bei dem einen Typ Platine klappt das auch wunderbar, nur die Platine mit den Solid-State-Relais muss über 5V angesteuert werden, habe dann noch einen UDN2981 mitgeordert, der eben nicht nach Masse, sondern zur VCC durchschaltet. Mit viel Glück klappt es ja noch zu Weihnachten *g*

Wegen dem Lichtorgel Problem, die Defines sind komplett die gleichen, ausser das eben statt auf den MCP auf den GPIO zugegriffen wird.

IPPhoner2b

Habe da noch ein neues Problem, welches ich vorher noch nicht hatte,
Habe wo ich alles abgeklemmt habe noch ein Update gemacht, allerdings ist da wohl irgendwas mit der Datei 33_readingsproxy oder wie auch immer passiert,
Folgender Text stand heute in der log Datei:
2014.12.27 20:46:27 1: Including ./log/fhem.save
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3375.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 295) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 169.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 296) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 297) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 298) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 307) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 308) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 309) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 310) line 1.


Und die Log Datei musste ich vorher löschen, weil diese in nur 2 Tagen auf über 16 MEGABYTES angewachsen war, und absolut nicht mehr lesbar war.
Da stand überall alles mit den Fehlermeldungen voll. Kann es sein, dass ich die Datei zerstört habe? Habe noch ein Update und ein Update Force probiert, aber die Datei wächst immer rasant an.

Während der ganzen testzeit wüsste ich nicht, dass ich solche Probleme hatte.

IPPhoner2b

Anbei mal der Log-Text, der heute morgen nur durch das Fahren des Küchenrollos erzeugt wurde:

2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 169, <GEN4> line 32.
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3375, <GEN4> line 32.
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 895) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
    fhem ("delete kre_down") if (Value("kre_down") ne "");
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");
fhem "set akref off";
if ("$EVENT" eq "runter") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 30";
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";
    fhem "setreading Rollokre state runterfahren";
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "hoch") {
my $svar = ReadingsVal("skrer","state","off");
    if ($svar eq "off") {
    fhem "set akref,akrew off";
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";
fhem "setreading Rollokre state hochfahren";
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "30") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "50") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "stop") {
    fhem "set akref off";
fhem "define kre_down at +00:00:01 set akrew off";
    fhem "setreading Rollokre state gestoppt";
}
}
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 896) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
    fhem ("delete kre_down") if (Value("kre_down") ne "");
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");
fhem "set akref off";
if ("$EVENT" eq "runter") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 30";
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";
    fhem "setreading Rollokre state runterfahren";
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "hoch") {
my $svar = ReadingsVal("skrer","state","off");
    if ($svar eq "off") {
    fhem "set akref,akrew off";
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";
fhem "setreading Rollokre state hochfahren";
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "30") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "50") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "stop") {
    fhem "set akref off";
fhem "define kre_down at +00:00:01 set akrew off";
    fhem "setreading Rollokre state gestoppt";
}
}
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 897) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
    fhem ("delete kre_down") if (Value("kre_down") ne "");
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");
fhem "set akref off";
if ("$EVENT" eq "runter") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 30";
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";
    fhem "setreading Rollokre state runterfahren";
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "hoch") {
my $svar = ReadingsVal("skrer","state","off");
    if ($svar eq "off") {
    fhem "set akref,akrew off";
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";
fhem "setreading Rollokre state hochfahren";
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "30") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "50") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "stop") {
    fhem "set akref off";
fhem "define kre_down at +00:00:01 set akrew off";
    fhem "setreading Rollokre state gestoppt";
}
}
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 898) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
    fhem ("delete kre_down") if (Value("kre_down") ne "");
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");
fhem "set akref off";
if ("$EVENT" eq "runter") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 30";
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";
    fhem "setreading Rollokre state runterfahren";
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "hoch") {
my $svar = ReadingsVal("skrer","state","off");
    if ($svar eq "off") {
    fhem "set akref,akrew off";
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";
fhem "setreading Rollokre state hochfahren";
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "30") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "50") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "stop") {
    fhem "set akref off";
fhem "define kre_down at +00:00:01 set akrew off";
    fhem "setreading Rollokre state gestoppt";
}
}
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 907) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
    fhem ("delete kre_down") if (Value("kre_down") ne "");
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");
fhem "set akref off";
if ("$EVENT" eq "runter") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 30";
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";
    fhem "setreading Rollokre state runterfahren";
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "hoch") {
my $svar = ReadingsVal("skrer","state","off");
    if ($svar eq "off") {
    fhem "set akref,akrew off";
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";
fhem "setreading Rollokre state hochfahren";
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "30") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "50") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "stop") {
    fhem "set akref off";
fhem "define kre_down at +00:00:01 set akrew off";
    fhem "setreading Rollokre state gestoppt";
}
}
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 908) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
    fhem ("delete kre_down") if (Value("kre_down") ne "");
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");
fhem "set akref off";
if ("$EVENT" eq "runter") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 30";
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";
    fhem "setreading Rollokre state runterfahren";
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "hoch") {
my $svar = ReadingsVal("skrer","state","off");
    if ($svar eq "off") {
    fhem "set akref,akrew off";
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";
fhem "setreading Rollokre state hochfahren";
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "30") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "50") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "stop") {
    fhem "set akref off";
fhem "define kre_down at +00:00:01 set akrew off";
    fhem "setreading Rollokre state gestoppt";
}
}
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 909) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
    fhem ("delete kre_down") if (Value("kre_down") ne "");
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");
fhem "set akref off";
if ("$EVENT" eq "runter") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 30";
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";
    fhem "setreading Rollokre state runterfahren";
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "hoch") {
my $svar = ReadingsVal("skrer","state","off");
    if ($svar eq "off") {
    fhem "set akref,akrew off";
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";
fhem "setreading Rollokre state hochfahren";
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "30") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "50") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "stop") {
    fhem "set akref off";
fhem "define kre_down at +00:00:01 set akrew off";
    fhem "setreading Rollokre state gestoppt";
}
}
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 910) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
    fhem ("delete kre_down") if (Value("kre_down") ne "");
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");
fhem "set akref off";
if ("$EVENT" eq "runter") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 30";
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";
    fhem "setreading Rollokre state runterfahren";
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "hoch") {
my $svar = ReadingsVal("skrer","state","off");
    if ($svar eq "off") {
    fhem "set akref,akrew off";
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";
fhem "setreading Rollokre state hochfahren";
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "30") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "50") {
my $svar = ReadingsVal("skreh","state","off");
    if ($svar eq "off") {
fhem "set akrew on-for-timer 22";
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";
fhem "setreading Rollokre state auf 50% fahren";
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";
    }
    else {
    fhem "setreading Rollokre state Schalter betätigt";
}
} elsif ("$EVENT" eq "stop") {
    fhem "set akref off";
fhem "define kre_down at +00:00:01 set akrew off";
    fhem "setreading Rollokre state gestoppt";
}
}
2014.12.28 06:45:36 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 169, <GEN4> line 33.
2014.12.28 06:45:36 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3375, <GEN4> line 33.
2014.12.28 06:45:36 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 916) line 1, <GEN4> line 33.

IPPhoner2b

Mein Fehler, Klaus, da brauchst du nichts mehr machen. Habe den mcp 24 noch in einer config für die Ausgänge  gehabt, obwohl ich ihn beim initialisieren deaktiviert hatte.

Nur eine verständliche Fehlermeldung wäre da etwas hilfreich gewesen  ::)

Gruß und vielen Dank für die Hilfe.

klausw

Zitat von: IPPhoner2b am 29 Dezember 2014, 18:08:20
Mein Fehler, Klaus, da brauchst du nichts mehr machen. Habe den mcp 24 noch in einer config für die Ausgänge  gehabt, obwohl ich ihn beim initialisieren deaktiviert hatte.

Nur eine verständliche Fehlermeldung wäre da etwas hilfreich gewesen  ::)

Gruß und vielen Dank für die Hilfe.
Super, Naja auf diese Fehlermeldung habe ich leider keinen Einfluss. 8)
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280