Hauptmenü

Ankündigung: Intervall-Timer

Begonnen von Damian, 21 April 2018, 21:42:17

Vorheriges Thema - Nächstes Thema

Damian

Aktuelle Version wurde eingecheckt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

2Meterpdm

Abend Leute,

Was müsste ich denn jetzt eigentlich am unten kopierten DOIF ändern damit es mit der neuen Version klappt ohne das attr checkE... 0?Vielen Dank schon mal im vorraus.

Code:
([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "off" and [Sz.Rollo.Garage:working] eq "off")(set Sz.Rollo.* down)
DOELSEIF
([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "on" and [Sz.Rollo.Garage:working] eq "on")(set Sz.Rollo.* stop)
DOELSEIF
([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "on" and [Sz.Rollo.Garage:working] eq "off")(set Sz.Rollo.* stop)
DOELSEIF 
([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "off" and [Sz.Rollo.Garage:working] eq "on")(set Sz.Rollo.* stop)

Damian

Zitat von: 2Meterpdm am 17 Mai 2018, 00:57:47
Abend Leute,

Was müsste ich denn jetzt eigentlich am unten kopierten DOIF ändern damit es mit der neuen Version klappt ohne das attr checkE... 0?Vielen Dank schon mal im vorraus.

Code:
([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "off" and [Sz.Rollo.Garage:working] eq "off")(set Sz.Rollo.* down)
DOELSEIF
([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "on" and [Sz.Rollo.Garage:working] eq "on")(set Sz.Rollo.* stop)
DOELSEIF
([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "on" and [Sz.Rollo.Garage:working] eq "off")(set Sz.Rollo.* stop)
DOELSEIF 
([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "off" and [Sz.Rollo.Garage:working] eq "on")(set Sz.Rollo.* stop)

Gar nichts. Ich habe gerade die aktuelle Version gefixt. Ich werde sie heute noch einchecken, wenn ich sie ausreichend getestet habe.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per

Zitat von: 2Meterpdm am 17 Mai 2018, 00:57:47Was müsste ich denn jetzt eigentlich am unten kopierten DOIF ändern
Außer den Code-Tags
  • könntest du noch folgende Änderung reinbringen:
    ([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "off" and [Sz.Rollo.Garage:working] eq "off")(set Sz.Rollo.* down)
    DOELSEIF
    ([Sz.Taste5:"^press_short:..*$"] and ([Sz.Rollo.Front:working] eq "on" or [Sz.Rollo.Garage:working] eq "on"))(set Sz.Rollo.* stop)

    zumindest, falls du die verschiedenen Cases nicht weiter behandelst.
    Hat aber nix mit der neuen Version zu tun, nur mit DOIF/Perl/Logik im allgemeinen.
    Gibt es bei den beiden Readings working nur on und off, kannst du den zweiten Case sogar zu
    ([Sz.Taste5:"^press_short:..*$"] and [Sz.Rollo.Front:working] eq "off" and [Sz.Rollo.Garage:working] eq "off")(set Sz.Rollo.* down)
    DOELSEIF
    ([Sz.Taste5:"^press_short:..*$"])(set Sz.Rollo.* stop)

    verkürzen, weil der 2xoff-Fall eh schon abgearbeitet ist.

2meter_pdm

Danke für die Tipps!Alles umgesetzt.

Laser

#36
Funktioniert denn nun der Intervall-Timer wie in der Referenz beschrieben oder nicht? Wo kann man lesen, wie es funktioniert?
Zitat aus Referenz:
Anwendungsbeispiel: Zwischen 08:00 und 22:00 Uhr soll eine Pumpe jede halbe Stunde für fünf Minuten eingeschaltet werden:
Perl-Modus:
define di_pump DOIF {[08:00-22:00,+:30];fhem_set"pump on-for-timer 300"}

Habe Lamp1 statt pump. Bei mir schaltet nichts (Dummy-Lamp1 -Symbol ändert sich, aber die Lamp1 schaltet nicht ein.
on-one-for-timer funktioniert bei mir nicht, nur on ist OK.

Ellert

Zitat von: Laser am 15 September 2020, 15:23:24
Funktioniert denn nun der Intervall-Timer wie in der Referenz beschrieben oder nicht? Wo kann man lesen, wie es funktioniert?
Zitat aus Referenz:
Anwendungsbeispiel: Zwischen 08:00 und 22:00 Uhr soll eine Pumpe jede halbe Stunde für fünf Minuten eingeschaltet werden:
Perl-Modus:
define di_pump DOIF {[08:00-22:00,+:30];fhem_set"pump on-for-timer 300"}

Habe Lamp1 statt pump. Bei mir schaltet nichts (Dummy-Lamp1 -Symbol ändert sich, aber die Lamp1 schaltet nicht ein.
on-one-for-timer funktioniert bei mir nicht, nur on ist OK.

Du musst den on-for-timer erst einschalten mit useSetExtensions, siehe https://commandref.fhem.de/commandref_DE.html#setExtensions

Laser

#38
Danke für den Tipp!
Wie die Syntax für das Anlegen ist, wird natürlich erst mal nicht beschrieben. Ein popeliges Beispiel ohne viel Klimbim drumherum mit 100000 Möglichkeiten im Wiki oder in der Dev Specific help würde die Sache brauchbar machen. Ich bin neu hier. Ist es evtl. gar nicht gewollt, dass die breite Masse dieses System verwendet?
Natürlich ist es arbeitsintensiv, etwas zu beschreiben.

Damian

#39
Zitat von: Laser am 16 September 2020, 10:22:02
Danke für den Tipp!
Wie die Syntax für das Anlegen ist, wird natürlich erst mal nicht beschrieben. Ein popeliges Beispiel ohne viel Klimbim drumherum mit 100000 Möglichkeiten im Wiki oder in der Dev Specific help würde die Sache brauchbar machen. Ich bin neu hier. Ist es evtl. gar nicht gewollt, dass die breite Masse dieses System verwendet?
Natürlich ist es arbeitsintensiv, etwas zu beschreiben. Aber statt immer neue undokumentierte Dinge zu kreieren, sollte man evtl. das vorhandene dokumentieren.

"pump" ist ein Device, welches on-for-timer unterstützt, da muss man nichts machen. Es steht nicht in der Doku, dass es ein Dummy ist.

Ansonsten gebe ich dir Recht, fhem ist nichts für "auf die Schnelle", eher ein System von Nerds für Nerds. Da hilft am Anfang nur viel fragen und lesen oder ansonsten ein "intuitiveres" System nehmen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Zitat von: Laser am 16 September 2020, 10:22:02
Danke für den Tipp!
Wie die Syntax für das Anlegen ist, wird natürlich erst mal nicht beschrieben. Ein popeliges Beispiel ohne viel Klimbim drumherum mit 100000 Möglichkeiten im Wiki oder in der Dev Specific help würde die Sache brauchbar machen. Ich bin neu hier. Ist es evtl. gar nicht gewollt, dass die breite Masse dieses System verwendet?
Natürlich ist es arbeitsintensiv, etwas zu beschreiben. Aber statt immer neue undokumentierte Dinge zu kreieren, sollte man evtl. das vorhandene dokumentieren.

Auszug aus: https://www.meintechblog.de/2015/07/rudolf-koenig-im-interview-der-erfinder-von-fhem-zum-thema-smart-home/
ZitatInsgesamt sehe ich ein großes Potenzial in Open-Source-Software, wenngleich FHEM eigentlich nicht für den "Massenmarkt" konzipiert wurde. Es setzt Programmierkenntnisse in Perl voraus und war eben genau auf meine damaligen Befürnisse als Programmierer hin ausgerichtet. So ist gerade auch der Einstieg für viele Anfänger schwierig, wobei ich es derzeitig auch nicht forciere, dass FHEM großartig wächst. Werbung machen wir keine, wir haben ja auch nichts davon.

Laser

#41
Hallo,
ich erwarte auch kein Plug and Play System.
Es macht mir auch nichts aus, tagelang ein Problem zu verfolgen...Möchte auch niemanden mit Anfänger- Fragen nerven. Werde schon noch in das System reinkommen.
übrigens: set on-for-timer funktioniert jetzt bei mir in Shelly-Switch! Danke nochmal für den Tip mit den useSet Extensions!

Laser

Jetzt, nach einiger Zeit mit FHEM, muß ich sagen, es steht schon sehr, sehr viel geschrieben. Der Einstieg ist aber etwas unübersichtlich. Aber man freut sich, wenn wieder etwas geht. In FHEM steckt ja sehr viel Entwicklungsarbeit.

Damian

Zitat von: Laser am 29 September 2020, 11:33:14
Jetzt, nach einiger Zeit mit FHEM, muß ich sagen, es steht schon sehr, sehr viel geschrieben. Der Einstieg ist aber etwas unübersichtlich. Aber man freut sich, wenn wieder etwas geht. In FHEM steckt ja sehr viel Entwicklungsarbeit.

So ist es, nach ein paar Jahren, weiß man die Vielfalt und dich Mächtigkeit des Systems und seiner Module zu schätzen. Man darf am Anfang nur nicht zu schnell aufgeben.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF