Rademacher DuoFern USB Stick

Begonnen von Telekatz, 16 August 2015, 16:19:46

Vorheriges Thema - Nächstes Thema

octek0815

Hallo Peter,

ich habe gar nix mit stateFormat gemacht.

Folgende devStateIcon definition:

2:shutter_1 4:shutter_1 6:shutter_1 8:shutter_2 1\d.*:shutter_2 2\d.*:shutter_2 3\d.*:shutter_3 4\d.*:shutter_4 5\d.*:shutter_5 6\d.*:shutter_6 7\d.*:shutter_7 8\d.*:shutter_7 9\d.*:shutter_7 opened:shutter_open closed:shutter_closed

Vielleicht musst Du ein wenig mit den Werten rumspielen da ich die Gurtwickler von Rademacher einsetze und die Positionswerte nicht wirklich passen.

und folgende DOIF definition fürs öffnen und schließen:

([HWR1_EG_Fensterrollladen:state] ne "opened" and [HWR1_EG_Fensterrollladen:manualMode] eq "on" and [{sunrise_abs(rand(600)-300,"06:00","08:30")}|12345] or [{sunrise_abs(rand(600)-300,"09:00","10:00")}|06])(set HWR1_EG_Fensterrollladen up) DOELSEIF ([HWR1_EG_Fensterrollladen:state] ne "closed" and [HWR1_EG_Fensterrollladen:manualMode] eq "on" and [{sunset_abs(rand(600)-300,"16:00","21:00")}|01234] or [{sunset_abs(rand(600)-300,"16:00","22:00")}|56])(set HWR1_EG_Fensterrollladen down)

Grüße
Olli



Gorean

#181
Hi Olli,

danke für die schnelle Antwort. Deine Definition geht davon aus, dass von 10-19, 20-29, etc. ein anderes Icon gesetzt wird. Nur wie muss man das schreiben, wenn man 15-24, 25-34, etc. braucht? Danke für den Tip wie es ohne stateFormat geht ;)

Wofür verwendest Du eigentlich die ersten Statements (2:shutter_1 4:shutter_1 6:shutter_1 8:shutter_2). Der Rest ist nachvollziehbar...

Die DOIF kommt auch in die fhem.cfg, richtig? Muss mir die heute Abend mal ansehen und versuchen sie zu verstehen :)

VG,
Peter

Telekatz

Zitat von: octek0815 am 09 Januar 2016, 19:54:09
und folgende DOIF definition fürs öffnen und schließen:

([HWR1_EG_Fensterrollladen:state] ne "opened" and [HWR1_EG_Fensterrollladen:manualMode] eq "on" and [{sunrise_abs(rand(600)-300,"06:00","08:30")}|12345] or [{sunrise_abs(rand(600)-300,"09:00","10:00")}|06])(set HWR1_EG_Fensterrollladen up) DOELSEIF ([HWR1_EG_Fensterrollladen:state] ne "closed" and [HWR1_EG_Fensterrollladen:manualMode] eq "on" and [{sunset_abs(rand(600)-300,"16:00","21:00")}|01234] or [{sunset_abs(rand(600)-300,"16:00","22:00")}|56])(set HWR1_EG_Fensterrollladen down)
Wozu soll die Überprüfung auf  [HWR1_EG_Fensterrollladen:manualMode] eq "on" gut sein? Das wiederspricht irgendwie den Sinn des manualMode, wenn dann doch von FHEM automatisch Befehle ausgeführt werden. Und die Überprüfung, ob der Rollladen bereits geschlossen bzw. offen ist, ist meiner Meinung nach auch unnötig.

octek0815

Zitat von: Telekatz am 09 Januar 2016, 20:30:03
Wozu soll die Überprüfung auf  [HWR1_EG_Fensterrollladen:manualMode] eq "on" gut sein? Das wiederspricht irgendwie den Sinn des manualMode, wenn dann doch von FHEM automatisch Befehle ausgeführt werden. Und die Überprüfung, ob der Rollladen bereits geschlossen bzw. offen ist, ist meiner Meinung nach auch unnötig.

Ich nutze das wenn ich im Urlaub bin, da stelle ich alle Gurtwickler per script auf AUTO um um die Timerfunktion der Gurtwicker zu nutzen. Ist aber sicherlich Geschmackssache.

Gorean

#184
Hallo,

die Anzeige der Stellung meiner Rollos mit devStateIcon ist gelöst seitdem ich die korrekten RegEx eingetragen habe. :)

Als nächstes soll je nachdem ob meine Gurtwickler auf Automatik oder Manuell stehen ein anderes Standard-Icon angezeigt werden. Das funktioniert mit folgendem Statement:

define WZ_Fenster_Icon DOIF ([WZ_Fenster:manualMode] eq "on") (attr WZ_Fenster icon fts_shutter_manual) DOELSEIF ([WZ_Fenster:manualMode] eq "off") (attr WZ_Fenster icon fts_shutter_automatic)
attr WZ_Fenster_Icon do always

Leider war ich gestern zu ungeduldig und hatte schon vermutet, dass das so nicht geht. Anscheinend braucht es aber 1-2 Minuten, bevor FHEM das Statement ausführt. Danach funktioniert alles wie gewünscht.

Evtl. hilft das ja anderen Anfängern wie ich einer bin ;)

VG
Peter

choenig

Hi Telekatz,

vielen Dank für das Einpflegen (und fixen) vom Rauchmelder :-)

Ich würde gerne noch mehr contributen, und möchte dazu mit Dir klären, wie wir mit den events umgehen. Ich habe eine Liste der Events, die die Sensoren auslösen und bin mir nicht sicher, wie ich sie einbauen soll:

Auf
Stop
Ab
Ein
Aus
Button gedrückt
Einzelschritt Auf
Einzelschritt Ab
Abenddämmerung
Morgendämmerung
Regen: Start
Regen: Stop
Sonne: Start
Sonne: Stop
Temperatur: Start
Temperatur: Stop
Wind: Start
Wind: Stop
Bewegung erkannt: Start
Bewegung erkannt: Stop
Rauch: Erkannt
Rauch: nicht erkannt


Ich hab gesehen, dass Du die events "Rauch: Erkannt" und "Rauch: nicht erkannt" als "state: on" und "state: off" eingepflegt hast. Ich hätte eher erwartet, dass man es entweder als "state" oder "event" "smokeDetected" bzw. "smokeNotDetected" benennt.

Im Umweltsensor kann man pro "Eventart" jeweils 5 verschiedene Einstellungen vornehmen, die der UWS dann als Kanalnummer an den Homepilot sendet. Am Beispiel für Abenddämmerung/dusk:


2016.01.15 16:43:38 4: [...]: rx  -> 0fff070901ff90000000000000001369xxxx6fyyyy00
2016.01.15 16:54:57 4: [...]: rx  -> 0fff070901ff88000000000000001369xxxx6fyyyy00
2016.01.15 17:02:28 4: [...]: rx  -> 0fff070901ff84000000000000001369xxxx6fyyyy00
2016.01.15 17:06:37 4: [...]: rx  -> 0fff070901ff82000000000000001369xxxx6fyyyy00
2016.01.15 17:14:08 4: [...]: rx  -> 0fff070901ff81000000000000001369xxxx6fyyyy00


Eingestellt habe ich 50Lux, 40Lux, 30Lux, 20Lux und 10Lux.

Die Kanalnummer wird als gesetztes Bit im 7. Byte codiert.

Ich könnte mir jetzt vorstellen, das ganze als "event: dusk_3" zu generieren. Gleiches gilt für die Sonnenfunktion. Auch hier sendet er die Kanalnummer mit, so dass die Readings dann z.B. "event: beginSun_2" und "event: endSun_2" heissen könnten.

Was meinst Du?

LG
Christian

Telekatz

Hallo Christian,

Die Ereignisse für die Tasten Auf, Stop, Ab, Ein, Aus, Button gedrückt, Einzelschritt Auf und Einzelschritt Ab müssten schon alle implementiert sein.

Für die Events, die bei erkannt und nicht erkannt jeweils eine Nachricht senden (Regen, Sonne, Temperatur, Wind, Bewegung und Rauch), würde ich jeweils ein Reading pro Kanal anlegen, dessen Wert einheitlich zwischen on und off wechselt (z.b wind1: on).

Und für Morgendämmerung und Abenddämmerung wie bisher über das Reading event.

Gruß
Alex

choenig

Hi Alex,

danke für den Input, hab das jetzt mal so umgesetzt, wie Du vorgeschlagen hast. Das werde ich mal ein paar Tage testen, und dann gebe ich Dir 'nen patch. :)

LG
Christian

homeboy

Mein Rolladenmotor läuft nun wunderbar mit dem USB Radermacher stick
Vielen Dank dafür

Habe aber nun ein Problem mit dem Update:
2016-01-19 16:13:58 Global global UPD FHEM/10_DUOFERNSTICK.pm
2016-01-19 16:13:58 Global global open ./FHEM/10_DUOFERNSTICK.pm failed: Permission denied, trying to restore the previous version and aborting the update

Auch wenn ich den Stick lösche kommt die gleich Fehlermeldung ??

Telekatz


Franki112

Hallo zusammen,

Wenn ich die Daten des Umweltsensors auslese, wird unter Wind: als 10er Stelle z.B. 53 ausgegeben.

Laut Hersteller ist die Auflösung 1m/s - 35m/s.

Der angezeigte Wert 53 müsste dann 5,3m/s entsprechen.

Gibt es eine Möglichkeit, im Log einen weiteren Wert mitzuführen z.B. Wind_m/s, bei dem der Wert Wind durch 10 geteilt ist.

Grüße
Frank

choenig

Hi Franki112,

ich hab' mich damit noch garnicht beschäftigt, aber vermutlich hast Du recht!

Ich denke nicht, dass wir einen 2. Eintrag in m/s benötigen, Telekatz wird den Windwert einfach direkt anpassen und durch 10 teilen :-).

LG
Christian

Franki112

Hallo Christian,

Es war Zufall, dass mir das so aufgefallen ist. Mein System läuft seit 2 Tagen. Da beschäftigt man sich doch intensiver. Dazu kommt, dass es doch recht windig war. Da ist die Anzeige in die Höhe geschossen.

Wenn man es direkt im Modul ändern könnte wäre es natürlich besser.

Vielleicht kann man dann auch gleich noch einen weiteren Wert berechnen.

Wind in km/h.

Gruß
Frank

MichaelO

Habe gerade ins Log geschaut und dabei diese Zeilen gefunden:

2016.02.05 17:06:55 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/10_DUOFERNSTICK.pm line 562.
2016.02.05 17:06:55 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/10_DUOFERNSTICK.pm line 542.


Was auch immer da nicht stimmt, es ist nicht meine Programmierung, oder?

Gruß
Michael

Telekatz

Zitat von: Franki112 am 03 Februar 2016, 20:46:45
Hallo zusammen,

Wenn ich die Daten des Umweltsensors auslese, wird unter Wind: als 10er Stelle z.B. 53 ausgegeben.

Laut Hersteller ist die Auflösung 1m/s - 35m/s.

Der angezeigte Wert 53 müsste dann 5,3m/s entsprechen.

Gibt es eine Möglichkeit, im Log einen weiteren Wert mitzuführen z.B. Wind_m/s, bei dem der Wert Wind durch 10 geteilt ist.

Grüße
Frank

Der Wert ist nun korrigiert. Und falls noch ein weiterer Wert für den Wind in km/h benötigt wird kann das auch über ein userReading gelöst werden:
attr name_des_Umweltsensors userReadings wind2 { ReadingsVal("name_des_Umweltsensors","wind",0)*3.6; }


Zitat von: MichaelO am 05 Februar 2016, 19:24:43
Habe gerade ins Log geschaut und dabei diese Zeilen gefunden:

2016.02.05 17:06:55 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/10_DUOFERNSTICK.pm line 562.
2016.02.05 17:06:55 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/10_DUOFERNSTICK.pm line 542.


Was auch immer da nicht stimmt, es ist nicht meine Programmierung, oder?

Gruß
Michael

Das kam, wenn die Initialisierung des Duofernsticks nicht funktioniert hat. Ist jetzt auch korrigiert.