10_EnOcean V3227 - Erweiterungen und Überarbeitungen

Begonnen von klaus.schauer, 30 Mai 2013, 07:59:52

Vorheriges Thema - Nächstes Thema

klaus.schauer

In dieser Version sind folgende Ergänzungen, Änderungen und Fehlerbereinigungen enthalten:

1. Das Profil "Shutter" (subType = manufProfile, manufID = 00D) zur Rollosteuerung wurde erweitert und optimiert. Folgende neue oder geänderte Funktionen stehen zur Verfügung:

- Für Lamellenrollos kann jetzt auch der Stellwinkel beim Kommando "position" gewählt werden. Um den Lamellenstellwinkel einzustellen, wird nach dem Anfahren der gewählten Position ein weiterer entgegengesetzter Fahrbefehl zur Winkelverstellung ausgeführt. Um die Winkelverstellung zu aktivieren, ist die Stellzeit zwischen den Minimal- und Maximalposition der Lamellen über das Attribut  angleTime und ggf. auch der Minimal- und Maximalwinkel vorzugeben, siehe commandref. Da die Rolloschalter von Eltako nur Fahrbefehle mit einer Granularität von einer Sekunde erlauben, ist die Stellgenauigkeit leider begrenzt! Der Stellwinkel kann derzeit nur in der Kommandozeile der Weboberfläche eingegeben werden. Zwei Slider für die Position und den Stellwinkel stehen auf der To Do-Liste. Hinweis: Die Steuerungslogik ist nur auf Lamellenrollos ausgelegt, die beim Runterfahren die Lamellen vollständig schließen (z. B. 90°) und beim Hochfahren öffnen (z. B. -90).

- Mit "opens", "closes"  können die Rollos vollständig geöffnet und geschlossen werden. Die Fahrzeit kann über das Attribut shutTimeCloses vorgegeben werden. Falls shutTimeCloses größer als die am Device selbst per Poti eingestellte Fahrzeit ist, wird von bidirektionalen Aktoren z. B. beim FSB61 nach dem Schließen auch ein "B0" empfangen.

- Bei den Befehle "up" und "down" ist jetzt als Parameter die Fahrzeit in s anzugeben. Damit ist eine individuelle Steuerung der Rollos ohne jede Abhängigkeit von Attributen möglich. Mit dem Befehl "position" kann wie bisher eine gewünschte Position angefahren werden.
   
2. Die Skalierungsfunktion für die Profile roomSensorControl.[01|02|05|1F] wurde verbessert. Die Funktion berechnet jetzt die skalierten Werte auf Basis des aktuellen Wertes aus dem Reading setpoint. Weiterhin wird auf x Nachkommastellen gerundet, falls mit dem Attribut scaleDecimals die Dezimalstellen zwischen 0 und 9 vorgegeben werden. Die Ausgabewerte werden jetzt geloggt.
   
3. Aus Version 3205: Bei den Profilen roomSensorControl.[01|02|05|1F] u. a. für die Geräteserie Thermokon SR04 * werden bisher die EEP-Rohwerte des Sollwertstellers im Reading setpoint ausgegeben. Die skalierten Werte sind Hersteller- und Geräteabhängig. Sofern über die Attribute scaleMax, scaleMin die jeweiligen Skalenendwerte der verwendeten Sollwertskala angegeben werden, wird ein skalierter Wert setpointScaled (unformatierte Gleitkommazahl) zusätzlich ausgegeben. Alternativ kann auch das Attribut userReadings zur Skalierung und Formatierung verwendet werden.
   
4. Aus Version 2968: Beim Teach-In wurden manchmal die angelernten Attribute nicht zuverlässig in fhem.cfg gespeichert. Der Fehler ist behoben  (Schorsch M.). Nachtrag: Bei einem Test von tobias6789 wurden die angelernten Attribute nach dem Teach-In dennoch nicht vollständig gespeichert. Wird weiter beobachtet.
   
5. Aus Version 2968: Beim Profil MD15 können jetzt die Geräte durch Fhem gesteuert werden. Die Übertragung  der Isttemperatur von Fhem zum MD15 ist derzeit nicht möglich. Hierzu laufen Tests  (krikan). Zusätzliche Befehle im Service Mode sind verfügbar und zu testen.

Danke für die bisherigen Rückmeldungen und Tests. Viele der neuen Profile sind noch zu testen.  In der commandref sind diese mit "untested" gekennzeichnet. Für mich ist dies wegen der fehlenden Testobjekte nicht möglich. Ich hoffe deshalb auf zahlreiche Unterstützer.

Bitzer

Hallo Klaus,

ich bekomme seit dem letzten Update vom 1.6. das Log mit folgender Fehlermeldung vollgespamt:

2013.06.09 10:25:10 3: notify_HSw_Arbeitszimmer return value: Auf
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
...das geht noch einige Zeilen so weiter....

Weißt Du was es damit auf sich hat?
Hier das zugehörige Notify aus der fhem.cfg:

define notify_HSw_Arbeitszimmer notify HSw_Arbeitszimmer {my $rvar=Value("HSw_Arbeitszimmer");; \
if ($rvar =~ m/A0/) {readingsSingleUpdate($main::defs{Licht_Arbeitszimmer}, 'state', 'on', 1)} \
elsif ($rvar =~ m/AI/) {readingsSingleUpdate($main::defs{Licht_Arbeitszimmer}, 'state', 'off', 1)};; \
if ($rvar =~ m/B0/) {readingsSingleUpdate($main::defs{Rolladen_Arbeitszimmer}, 'state', 'Auf', 1)} \
elsif ($rvar =~ m/BI/) {readingsSingleUpdate($main::defs{Rolladen_Arbeitszimmer}, 'state', 'Zu', 1)}}


Ich aktualisiere damit den Status bei Drücken eines Wandschalters.

Danke und Gruß
Oliver

klaus.schauer

Zitat von: Bitzer schrieb am So, 09 Juni 2013 11:26Hallo Klaus,

ich bekomme seit dem letzten Update vom 1.6. das Log mit folgender Fehlermeldung vollgespamt:

2013.06.09 10:25:10 3: notify_HSw_Arbeitszimmer return value: Auf
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_EnOcean.pm line 1488.
...das geht noch einige Zeilen so weiter....

Weißt Du was es damit auf sich hat?
Hier das zugehörige Notify aus der fhem.cfg:

define notify_HSw_Arbeitszimmer notify HSw_Arbeitszimmer {my $rvar=Value("HSw_Arbeitszimmer");; \
if ($rvar =~ m/A0/) {readingsSingleUpdate($main::defs{Licht_Arbeitszimmer}, 'state', 'on', 1)} \
elsif ($rvar =~ m/AI/) {readingsSingleUpdate($main::defs{Licht_Arbeitszimmer}, 'state', 'off', 1)};; \
if ($rvar =~ m/B0/) {readingsSingleUpdate($main::defs{Rolladen_Arbeitszimmer}, 'state', 'Auf', 1)} \
elsif ($rvar =~ m/BI/) {readingsSingleUpdate($main::defs{Rolladen_Arbeitszimmer}, 'state', 'Zu', 1)}}


Ich aktualisiere damit den Status bei Drücken eines Wandschalters.

Danke und Gruß
Oliver
Ich denke, das hängt mit einem Thermokon SR04, Temperaturfühler o. ä. zusammen, der wahrscheinlich vorhanden ist. Die überarbeitete Skalierungsfunktion scheint einen undef-Wert zurückzuliefern. Bitte mal die Skalierungsfunktion mit min/max-Attributen versorgen. Dann sollte der Fehler weg sein. Werde im nächsten Update den Fehler abfangen. Falls sich der Fehler nicht eingrenzen lässt, bitte mal die fhem.cfg schicken.