Welchen Funkaktor für Garagentorsteuerung

Begonnen von Michi240281, 06 Januar 2014, 11:58:31

Vorheriges Thema - Nächstes Thema

martinp876

Hallo Michi,

warum schickst du ein
set Garage_Aktor off
vor dem
set Garage_Aktor on-for-timer 1
?

Du kannst schon einen virtuellen Button definieren und einen Treppenhausschalter realisieren - mit ontime 1 sec. Aber das spart gegenüber on-for-timer nicht wirklich etwas.
Den Sensor kannst du nicht direkt peeren.

Was du machen könntest ist, zwei virtuellen Button peeren, einer für auf, einer für zu.

Wenn du öffnen willst sendest du ein
set vb_Btn1 eventPost <level des  Garagentor>

Wenn du schliessen willst sendest du ein
set vb_Btn2 eventPost <level des  Garagentor>

über die Condition-table des Garage_Aktor kannst du einstellen, dass nur gefahren wird, das Garagentor in der entgegengesetzten Position ist.
Den Level des Garagentors musst du errechnen aus open/closed.

Gibt ein recht komplexes konstrukt - und hat auch nicht wirklich einen Vorteil - aber einen recht beachtlichen Lerneffekt.

Wir könnten auch probieren ob bei postEvent ein "long" möglich ist - dann brachst du nur einen Button...

Gruss Martin


Michi240281

Ich habe das aus der Anleitung (FHEM WIKI Garagentorsteuerung).

Dort wird das so erklärt:

     set tor_sw off

tor_sw auschalten. Dies ist streng genommen nicht erforderlich, da tor_sw nach Ende der Aktion immer auf OFF stehen sollte. Sollte allerdings aus irgendeinem Grunde tor_sw doch auf ON stehen, hat das nachfolgende kurze Einschalten zur Simulation eines Tastendrucks am Garagentor keine Wirkung. Das vorherige Ausschalten erhöht also die Zuverlässigkeit der Aktion und fängt fehlerhafte oder unklare Zustände und Störungen ab.

Das klingt wirklich ganz schön kompliziert! Für den Anfang lass ich es mal so und bin wirklich begeistert, dass es klappt! :-)

Was ich jetzt noch möchte:

Um 23 Uhr das Garagentor zu schließen für den Fall, dass es geöffnet ist. Ich habe dazu folgenden Code gebastelt, der leider (noch) nicht funktioniert. Sieht jmd nen Fehler?

#Garage um 23 Uhr schließen falls geöffnet
define Garage_automatisch_23 notify at 17:20:00 { if (Value("Garagentor") eq "offen") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off") } }
attr Garage_automatisch_23 room Garage
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

martinp876

das ausschalten ist dann aber zufall - von der dauer her. Zumindest die message-übertragungszeit sollte dürfte es dauern.... wird schon klappen.

Ein virtueller Button wäre da dann doch deterministischer. Du kannt bei einem "press" definieren, dass vor dem einschalten gewartet wird - also erst einmal 'off' steht. Diese Zeit ist programmierbar im schalter. Das wäre dann nur eine message.

ein "at" um 23:00 sollte dein Problem erschlagen können

Steht in deiner Anleitung zum Garagentoröffner eigentlich auch, dass der Betrieb nur zugelassen ist, wenn man das Tor unter visueller Beobachtung hat?

Michi240281

Zitat von: martinp876 am 11 Januar 2014, 20:09:28
das ausschalten ist dann aber zufall - von der dauer her. Zumindest die message-übertragungszeit sollte dürfte es dauern.... wird schon klappen.

Ein virtueller Button wäre da dann doch deterministischer. Du kannt bei einem "press" definieren, dass vor dem einschalten gewartet wird - also erst einmal 'off' steht. Diese Zeit ist programmierbar im schalter. Das wäre dann nur eine message.

Verstehe deine Aussage nicht! Sorry! :-( Was ich habe: 2 Dummy-Schalter, die in der App dann auch untereinander dargestellt werden! Was ich gerne hätte: 1 Dummy-Schalter mit 2 Befehlen (Öffnen/Schließen)! Wie ich das hinbekomme weiß ich derzeit noch nicht!
Zitat
ein "at" um 23:00 sollte dein Problem erschlagen können
Das "at" ist ja vorhanden....also muss das "notify" weg?

Zitat
Steht in deiner Anleitung zum Garagentoröffner eigentlich auch, dass der Betrieb nur zugelassen ist, wenn man das Tor unter visueller Beobachtung hat?

Ich habe ja nur den Code für andere Interessenten veröffentlicht, dass man darauf Acht geben muss, dass niemand gefährdet wird, versteht sich doch von selbst! Auch bei einem Taster IM Haus (wie wir ihn haben) muss man darauf Acht geben! Am besten wäre natürlich die Verwendung einer Lichtschranke!
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

martinp876

ZitatWas ich habe: 2 Dummy-Schalter, die in der App dann auch untereinander dargestellt werden! Was ich gerne hätte: 1 Dummy-Schalter mit 2 Befehlen (Öffnen/Schließen)

du kannst long und short nutzen, das sind 2 kommandos. du kannst den einen auf on und den anderen auf off programmieren. Das geht mir einem schalter.

Die erzwungenen '0ff' vor dem 1 sec 'on' kannst du in den Ablauf bei press short/long integriegen
Zitat
Das "at" ist ja vorhanden....also muss das "notify" weg?
um at 23:00 schliesst du das Tor - wenn es schon zu ist ist es auch egal - darf nichts mehr passeiren Du kannst natürlich noch einmal vorher abfragen - etwas mehr code im "at" und weniger messages. Beides möglich




Michi240281

#35
Ok, mit Long/Short habe ich mich noch garnicht befasst! Werde ich mir mal ansehen!

Habe jetzt folgenden Code eingebaut, um das Tor um 23 Uhr zu schließen, falls es geöffnet ist. Scheint sozu funktionieren, hoffe die if-Bedingung ist richtig implementiert, sodass auch um 23 Uhr eine Abfrage erfolgt und das Tor nicht auf geht, wenn es schon zu ist.

#Garage um 23 Uhr schließen falls geöffnet
define Garage_automatisch_23 at 23:00:00 { if (Value("Garagentor") eq "offen") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off") } }
attr Garage_automatisch_23 room Garage


Was ich nicht verstehe:
Habe denselben Code kopiert und nochmal mit 22 Uhr eingefügt. Also zusätzlich:

#Garage um 22 Uhr schließen falls geöffnet
define Garage_automatisch_22 at 22:00:00 { if (Value("Garagentor") eq "offen") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off") } }
attr Garage_automatisch_22 room Garage


Dann kam jedoch eine FHEM Error Meldung nach dem Speichern, dass "Garage_automatisch_23" bereits definiert ist und ich es erst löschen soll! Aber "Garage_automatisch_23" und "Garage_automatisch_22" sollten doch komplett selbstständig sein?!?!?!?!?

FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Puschel74

Hallo,

define Garage_automatisch_23 at 23:00:00
was aber nur heute ein einziges mal um 23:00:00 uhr ausgeführt wird und dann gelöscht wird.

http://fhem.de/commandref.html#at

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Michi240281

Zitat von: Puschel74 am 12 Januar 2014, 12:38:27
Hallo,

define Garage_automatisch_23 at 23:00:00
was aber nur heute ein einziges mal um 23:00:00 uhr ausgeführt wird und dann gelöscht wird.

http://fhem.de/commandref.html#at

Grüße

Oh ja, stimmt! Danke für den Hinweis! * hinzugefügt!  :)
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Puschel74

Hallo,

Zitatsollten doch komplett selbstständig sein
Sind sie auch.

Es kann also nur auf einen Kopierfehler bzw. Schreibfehler zurück zu führen sein.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Michi240281

Zitat von: Puschel74 am 12 Januar 2014, 12:51:01
Hallo,
Sind sie auch.

Es kann also nur auf einen Kopierfehler bzw. Schreibfehler zurück zu führen sein.

Grüße

Ne, ich weiß jetzt was das Problem war! Irgendwie blöd:

Ich habe das einmal eingefügt, ohne "*" und dann hat er es wohl einmal eingetragen! Als ich beim nächsten speichern dann die 22 noch hinzugefügt habe, und die 23 ja auch noch drin war, hat er dann gemeckert, weil er die 23 ja schon "hinterlegt" hatte! Jetzt mit "*" bei 23 und 22 geht es! Muss man auch erstmal drauf kommen!
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Michi240281

Zitat von: martinp876 am 12 Januar 2014, 09:25:00
du kannst long und short nutzen, das sind 2 kommandos. du kannst den einen auf on und den anderen auf off programmieren. Das geht mir einem schalter.

Die erzwungenen '0ff' vor dem 1 sec 'on' kannst du in den Ablauf bei press short/long integriegenum at 23:00 schliesst du das Tor - wenn es schon zu ist ist es auch egal - darf nichts mehr passeiren Du kannst natürlich noch einmal vorher abfragen - etwas mehr code im "at" und weniger messages. Beides möglich

Kann mir bitte mal jmd genau erklären (gerne mit Codeschnipseln), wie man das mit dem Long/Short realisieren kann?

Besten Dank!
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

martinp876

um deine Aktor bei long einzuschalten und bei short aus setze folgendes für den entsprechenden Peer:

lgActionType  jmpToTarget
lgOffDly  0
lgOffTime 111600
lgOnDly  0
lgOnTime 111600
lgSwJtDlyOff      dlyOn
lgSwJtDlyOn       on
lgSwJtOff         dlyOn
lgSwJtOn          no
lgMultiExec      off

shActionType  jmpToTarget
shOffDly  0
shOffTime 111600
shOnDly  0
shOnTime 111600
shSwJtDlyOff      off
shSwJtDlyOn       dlyOff
shSwJtOff         no
shSwJtOn          dlyOff


Nun kannst du noch mit vergleichen arbeiten. So du von deinem Sensor weisst Tor zu = 100, Tor auf = 0 kannst du dies in einem Event mitgeben.
In etwa :
set torVrtAuf postEvent ReadingsVal("torLage","level","100")

torVrtAuf ist ein virtuellen Aktor, der mit dem Tor-aktor gepeert sein muss. Im Aktor musst du dann den level programmieren
shActionType  jmpToTarget
shCtDlyOff    ltLo
shCtDlyOn     ltLo
shCtOff       geHi
shCtOn        ltLo
shCtValHi      190
shCtValLo      0
shOffDly         0
shOffTime        111600
shOnDly          0
shOnTime         1
shSwJtDlyOff     off
shSwJtDlyOn      on
shSwJtOff        dlyOn
shSwJtOn         dlyOff


für den TorZu Befehl mache
set torVrtZu postEvent ReadingsVal("torLage","level","100")
und richte den Peer entsprechend ein:
shActionType  jmpToTarget
shCtDlyOff    geHi
shCtDlyOn     geHi
shCtOff       ltLo
shCtOn        geHi
shCtValHi      255
shCtValLo      10
shOffDly         0
shOffTime        111600
shOnDly          0
shOnTime         1
shSwJtDlyOff     off
shSwJtDlyOn      on
shSwJtOff        dlyOn
shSwJtOn         dlyOff


Das ganze ist high-level dargestellt - ich hoffe du verstehtst den Ablauf. Wenn er dir zu kompliziert ist kannst du es lassen.
Die Idee ist also, dass von Lagesensor der Wert im Kommando mitgegeben wird und der Tor-Aktor entscheidet, ob geschaltet werden muss. We wird dann immer ein puls gesendet.

Gruss Martin

Michi240281

Hi Martin,

vielen Dank für deine ausführliche Antwort!
Leider verstehe ich nur Bahnhof!!!!  :'( :'( :'( :'( :'(

Als erstes müsste ich also erstmal den Aktor mit dem Türkontakt peeren, richtig? Mit peeren habe ich mich noch nicht beschäftigt, da ich es nicht benötigt habe bislang!

Ich will das eigentlich so unkompliziert halten wie möglich! Aber scheinbar geht das nur kompliziert in dem Fall! Dann lass ich es wohl erstmal so. Ich hoffe, es ist überhaupt klar geworden, was ich möchte: Derzeit habe ich 2 Dummy-Schalter (Öffnen und Schließen), die halt in der App untereinander dargestellt werden. Und das sieht ein bissel blöd aus. Was ich gerne hätte: EINEN Schalter mit Öffnen und Schließen, damit das dann in der App nebeneinander dargestellt wird. Vllt kann man das ja auch anders machen, sodass die Schalter neben- und nicht untereinander dargestellt werden?
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Michi240281

#43
Hallo zusammen,

ich habe nochmal über meine Garagentorsteuerung nachgedacht. Ist es nicht möglich, den folgenden Code

#Softwaretaste zum Schließen
define Schliessen dummy
attr Schliessen eventMap On:Schliessen
attr Schliessen group Garage
attr Schliessen room Garage
attr Schliessen webCmd Schliessen

#Softwaretaste zum Öffnen
define Oeffnen dummy
attr Oeffnen eventMap On: Oeffnen
attr Oeffnen group Garage
attr Oeffnen room Garage
attr Oeffnen webCmd Oeffnen

#Garage schließen, wenn sie geöffnet ist
define Garage_Schliessen notify Schliessen { if (Value("Garagentor") eq "offen" && "%" ne "off") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off") } }
attr Garage_Schliessen room CUL_HM

#Garage öffnen, wenn sie geschlossen ist
define Garage_Oeffnen notify Oeffnen { if (Value("Garagentor") eq "geschlossen" && "%" ne "off") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Oeffnen off") } }
attr Garage_Oeffnen room CUL_HM


so abzuändern, dass ich nicht 2 Dummies sondern nur 1 Dummy habe, der dann die die WebCmds "Oeffnen" und "Schliessen" hat? Hatte schon fast gedacht, ich könnte das einfach machen, aber es scheitert da wohl daran, dass beide Schalter als webCmd "on" benutzen! Mist! :(

Das ist vermutlich auch genau das Problem, das es dann so kompliziert macht, oder?

Habe mal geschaut, aber zu "Short/Long" gibt es keine Infos in der command ref. Schade.

Also vllt kann mir jmd auf die Sprünge helfen, wie ich nun weitermachen müsste. Es geht einfach nur darum, dass ich im Dashboard und in der App eben die Aktionen "Oeffnen/Schliessen" nebeneinander habe und nicht untereinander.

Habe mal bei einigen von Euch gesehen, die sowas bei der Rolladensteuerung haben, also von Links nach rechts: Rolladenbezeichnung, aktuelle Rolladenposition, hoch, runter). Sowas hätte ich bei mir im Dasboard eben auch gerne. Alles in einer Zeile: Links Position (aus Torkontakt), rechts daneben dann eben "Öffnen" und "Schliessen".

Ist echt zum Verzweifeln!
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Michi240281

Zitat von: Michi240281 am 02 Februar 2014, 19:49:59
Hallo zusammen,

ich habe nochmal über meine Garagentorsteuerung nachgedacht. Ist es nicht möglich, den folgenden Code

#Softwaretaste zum Schließen
define Schliessen dummy
attr Schliessen eventMap On:Schliessen
attr Schliessen group Garage
attr Schliessen room Garage
attr Schliessen webCmd Schliessen

#Softwaretaste zum Öffnen
define Oeffnen dummy
attr Oeffnen eventMap On: Oeffnen
attr Oeffnen group Garage
attr Oeffnen room Garage
attr Oeffnen webCmd Oeffnen

#Garage schließen, wenn sie geöffnet ist
define Garage_Schliessen notify Schliessen { if (Value("Garagentor") eq "offen" && "%" ne "off") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off") } }
attr Garage_Schliessen room CUL_HM

#Garage öffnen, wenn sie geschlossen ist
define Garage_Oeffnen notify Oeffnen { if (Value("Garagentor") eq "geschlossen" && "%" ne "off") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Oeffnen off") } }
attr Garage_Oeffnen room CUL_HM


so abzuändern, dass ich nicht 2 Dummies sondern nur 1 Dummy habe, der dann die die WebCmds "Oeffnen" und "Schliessen" hat? Hatte schon fast gedacht, ich könnte das einfach machen, aber es scheitert da wohl daran, dass beide Schalter als webCmd "on" benutzen! Mist! :(

Das ist vermutlich auch genau das Problem, das es dann so kompliziert macht, oder?

Habe mal geschaut, aber zu "Short/Long" gibt es keine Infos in der command ref. Schade.

Also vllt kann mir jmd auf die Sprünge helfen, wie ich nun weitermachen müsste. Es geht einfach nur darum, dass ich im Dashboard und in der App eben die Aktionen "Oeffnen/Schliessen" nebeneinander habe und nicht untereinander.

Habe mal bei einigen von Euch gesehen, die sowas bei der Rolladensteuerung haben, also von Links nach rechts: Rolladenbezeichnung, aktuelle Rolladenposition, hoch, runter). Sowas hätte ich bei mir im Dasboard eben auch gerne. Alles in einer Zeile: Links Position (aus Torkontakt), rechts daneben dann eben "Öffnen" und "Schliessen".

Ist echt zum Verzweifeln!

Da will oder kann mir wohl niemand weiterhelfen! Schade!

In der PDF "Heimautomatisierung mit Fhem" steht leider auch nicht viel zum Thema "Long/Short", zumindest nichts, was man als Anfänger verstehen kann.  :'( :'( :'(
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9