Garagentorsteuerung: Wie Schaltbefehle anpassen

Begonnen von Michi240281, 04 Februar 2014, 15:04:21

Vorheriges Thema - Nächstes Thema

Michi240281

Hallo zusammen,

habe meine Garagentorsteuerung anhand des WIKI Artikels programmiert.

Ich nutze dazu:

- 1x HM-LC-SW1-FM Schaltaktor 1-fach UP
- 1x HM-SEC-SC-2 Tür-Fensterkontakt

Hier mal der Code dazu:

#Garage:

#Torkontakt:
define Garagentor CUL_HM 24D402
attr Garagentor .devInfo 810101
attr Garagentor .stc 80
attr Garagentor actCycle 028:00
attr Garagentor actStatus alive
attr Garagentor autoReadReg 4_reqStatus
attr Garagentor devStateIcon offen:fts_garage_door_10 geschlossen:fts_garage_door_100 .*:fts_garage
attr Garagentor eventMap open:offen closed:geschlossen
attr Garagentor expert 2_full
attr Garagentor firmware 2.2
attr Garagentor group Garage
attr Garagentor model HM-SEC-SC-2
attr Garagentor peerIDs
attr Garagentor room Garage
attr Garagentor serialNr KEQ0****
attr Garagentor subType threeStateSensor
define FileLog_Garagentor FileLog ./log/Garagentor-%Y.log Garagentor
define SVG_FileLog_Garagentor_1 SVG FileLog_Garagentor:SVG_FileLog_Garagentor_1:CURRENT
define ActionDetector CUL_HM 000000
attr ActionDetector actCycle 30
attr ActionDetector event-on-change-reading .*
attr ActionDetector room CUL_HM

#Garagentoraktor
define Garage_Aktor CUL_HM 254DE7
attr Garage_Aktor autoReadReg 4_reqStatus
attr Garage_Aktor expert 2_full
attr Garage_Aktor model HM-LC-SW1-FM
attr Garage_Aktor peerIDs 00000000,
attr Garage_Aktor room hidden
attr Garage_Aktor serialNr KEQ10*****
attr Garage_Aktor subType switch
attr Garage_Aktor webCmd toggle:on:off:statusRequest
define FileLog_Garage_Aktor FileLog ./log/Garage_Aktor-%Y.log Garage_Aktor attr FileLog_Garage_Aktor logtype text
attr FileLog_Garage_Aktor room hidden

#Softwaretaste zum Schließen
define Schliessen dummy
attr Schliessen alias Garage:
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 alias Garage:
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


Soweit funktioniert auch alles. Mein Problem ist nun jedoch, dass ich 2 Dummy-Schalter habe, die zum einen im Frontend und zum anderen auch in der App UNTEREINANDER dargestellt werden. Ich hätte aber gerne 1 Schalter mit "Öffnen" und "Schliessen", der dann auch in einer Zeile (also NEBENEINANDER) dargestellt würde. Am liebsten hätte ich alles in einer Zeile: Garagentorstellung (offen, geschlossen); "Oeffnen"; "Schliessen"

Mir wurde von netten Leuten hier das Stichwort "setreading" genannt, jedoch komme ich damit nicht wirklich weiter, da mir der logische Hintergrund fehlt und ich auch aus der "Heimautomatisierung mit Fhem.pdf" und dem Wiki/der command ref nicht schlauer werde, wie man sowas umsetzen könnte. Ich verstehe nicht, wie man dem Garage_Aktor die Information über die Torstellung übergibt und wie man dann weitermachen muss? Den der Garage_Aktor versteht ja als Befehle nur "On/Off/Toggle" und ich sende ja in beiden Fällen (Oeffnen/Schliessen) ein "On".

Es wäre nun also arg nett, wenn mir nochmal jmd einen Schubs in die richtige Richtung geben könnte und/oder es mir auch logisch erklären könnte.

Besten Dank schonmal!!!!
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

betateilchen

Du hast doch schon einen Garagentor-Thread hier im Forum. Wozu jetzt noch ein zweiter?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Michi240281

Weil es im ursprünglichen thread um die Auswahl der Hardware (des Aktors) ging und es ein Homematic-spezifisches "Problem" war. Nun geht es um die Programmierung (das hat ja nichts mit der Garagentorsteuerung zu tun / das Problem gibt es ja denke ich an vielen Stellen) und das passt auch einfach viel besser in den Anfängerbereich.

Daher bitte ich es mir nachzusehen!
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Michi240281

Schade, dass hier wohl niemand helfen kann!!

Hätte gedacht, dass andere ähnliche Probleme hatten.
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Wuppi68

hmmm,

so aus dem Kopf, da ich es noch nicht gemacht habe, nur ein "Proof of conzept"

#Softwaretaste für die Garage
define Garegentor dummy
attr Garegentor alias Garage:
attr Garegentor eventMap On:Schliessen On:Oeffnen
attr Garegentor group Garage
attr Garegentor room Garage
attr Garegentor webCmd Schliessen Oeffnen

btw: Du hast beim eventMap Oeffnen noch ein Leerzeichen nach dem Doppelpunkt

attr Oeffnen eventMap On: Oeffnen
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Michi240281

#5
Zitat von: Wuppi68 am 05 Februar 2014, 10:24:58
hmmm,

so aus dem Kopf, da ich es noch nicht gemacht habe, nur ein "Proof of conzept"

#Softwaretaste für die Garage
define Garegentor dummy
attr Garegentor alias Garage:
attr Garegentor eventMap On:Schliessen On:Oeffnen
attr Garegentor group Garage
attr Garegentor room Garage
attr Garegentor webCmd Schliessen Oeffnen

Sowas geht? Also "On" einfach 2 mal zuweisen?
Zitat
btw: Du hast beim eventMap Oeffnen noch ein Leerzeichen nach dem Doppelpunkt

attr Oeffnen eventMap On: Oeffnen
Stimmt, werde ich korrigieren, danke!! Funktioniert hat es aber trotzdem.
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Puschel74

Hallo,

ZitatAlso "On" einfach 2 mal zuweisen?
Klar.
Du kannst on auch 5-mal zuweisen.
Es wird dann aber mMn nur die letzte Zuweisung erhalten bleiben - logischerweise.
On kann ja nur einen Zustand repräsentieren.

Ich denke das sollte oben
attr Garegentor eventMap On:Schliessen Off:Oeffnen
heissen.

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 05 Februar 2014, 11:09:12
Ich denke das sollte oben
attr Garegentor eventMap On:Schliessen Off:Oeffnen
heissen.

Grüße

Ne, das war schon so richtig! Ich nutze ja einen Aktor mit einem Kanal, der eben nur On/Off/Toggle "kennt". Jedoch geht das Tor bei einem Impuls (On) auf UND hält an UND geht zu. Daher habe ich ja wie gesagt bisher 2 Dummies, einer für Oeffnen ("On") und einer für Schliessen (auch "On").

Und aus diesen 2 Dummies möchte ich gerne 1 machen.
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Puschel74

Hallo,

ZitatUnd aus diesen 2 Dummies möchte ich gerne 1 machen.
Du kannst das ohne Probleme machen.
Genauso kannst du auch die beiden notify in eines zusammenfassen.

Den einen Dummy gibts du
attr Garagentor_schalt eventMap On:Schliessen Off:Oeffnen
mit und im notify prüfst du ja eh schon auf den TFK und kannst ja so auch beim Dummy auf on oder off prüfen.
Welchen Befehl du dann an den Aktor sendest kannst du ja im notify dann definieren - was du ja bereits gemacht hast.

Wozu du da 2 Dummy verwendest und beidemale auf on prüfst kann ich nicht so ganz nachvollziehen.
define Garage_oeffnen_schliessen notify Garagentor_schalt {
  if (Value("Garagentor") eq "offen" && $EVENT ne "off") {
    fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off");
  }
  if (Value("Garagentor") eq "geschlossen" && $EVENT ne "on") {
    fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off");
  }
}

ungetestet und ohne Anspruch auf Korrektheit und Vollständigkeit.

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

#9
Zitat von: Puschel74 am 05 Februar 2014, 11:48:36
Hallo,
Du kannst das ohne Probleme machen.
Genauso kannst du auch die beiden notify in eines zusammenfassen.

Den einen Dummy gibts du
attr Garagentor_schalt eventMap On:Schliessen Off:Oeffnen
mit und im notify prüfst du ja eh schon auf den TFK und kannst ja so auch beim Dummy auf on oder off prüfen.
Welchen Befehl du dann an den Aktor sendest kannst du ja im notify dann definieren - was du ja bereits gemacht hast.

Zitat
Wozu du da 2 Dummy verwendest und beidemale auf on prüfst kann ich nicht so ganz nachvollziehen.
Ich habe mich an die Anleitung aus dem WIKI gehalten!!
Zitat
define Garage_oeffnen_schliessen notify Garagentor_schalt {
  if (Value("Garagentor") eq "offen" && $EVENT ne "off") {
    fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off");
  }
  if (Value("Garagentor") eq "geschlossen" && $EVENT ne "on") {
    fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off");
  }
}

ungetestet und ohne Anspruch auf Korrektheit und Vollständigkeit.

Grüße

Ich danke dir (und natürlich auch Wuppi68) recht herzlich!!!!!!! Ich glaube das könnte so tatsächlich funktionieren.  :)

Dürfte ich noch eine Frage loswerden?
Wie bringe ich denn dann den Dummy "Garagentor_schalt" und den TFK "Garagentor" im Frontend in eine Zeile? Also so dass die beiden Dummy-Befehle (Oeffnen, Schliessen) zusammen mit dem Garagentorzustand (offen, geschlossen) in einer Zeile nebeneinander stehen?
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Puschel74

#10
Hallo,

ZitatIch habe mich an die Anleitung aus dem WIKI gehalten!!
Ähem ja ok.
Das sind aber nur "Anleitungen" und keine Gesetze  ;D

Anleitungen stellen nur eine! Lösungsmöglichkeit dar und können gerne und jederzeit von jedem auf seine eigenen Wünsche abgeändert werden.
Mir ist schon klar das das am Anfang von FHEM noch etwas schwierig und komplex ist aber mit der Zeit kommt auch der Durchblick  ;)
Und zum Glück gibt es ja das Forum  8)

Für deine Frage habe ich leider keine Lösungsmöglichkeit parat.
Evtl. kann dir "userReading" dabei weiterhelfen.

Grüße

Edith: Kurze Idee.
Verwende das Attribut group - dann hast du sie schonmal untereinander stehen.
attr Garagentor_schalt group Garage
attr Garagentor group Garage
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.

ph1959de

ZitatIch habe mich an die Anleitung aus dem WIKI gehalten!!

(scnr:) Warum hast Du dann nicht einen FS20 Aktor verwendet? ;) ... Allein dadurch kannst Du ja schon dem Beispiel nicht mehr blind folgen.
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

Michi240281

Blind folgen tut hier niemand!
Da jedoch nach dem man Geräte gepairt hat, diese über ihren Namen angesprochen werden, sind die folgenden Teile der Anleitung ja verwendbar.
Und natürlich ist mir klar, dass es nur EINE Möglichkeit ist, nur wenn man eben ganz am Anfang steht und garkeine Idee hat, wie sowas umzusetzen ist, ist EINE Möglichkeit eben besser als KEINE!

@Puschel: In der gleichen group habe ich die Sachen. Vllt kann hier auch jmd was zu sagen, der Jalousien ansteuert, da habe ich das schon öfter gesehen, dass von links nach rechts der Name, dann der state und dann "Hoch"/"Runter" abgebildet wurde. Oder bei der Heizungssteuerung analog.
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Groby

Hallo Michi,

ich habe es so gelöst:

1. Schalter Garage als Taster umprogrammiert mit:

eventMap /on-for-timer-1:on

Meine Garagensteuerung funktioniert nur mit einem Taster (auf-stop-zu-stop-auf).

2. Dem Schalter Garage über den GaragenSensor und ein notify ein neues Reading "status" verpassen:

define WatchGaragenSensor notify GaragenSensor:* {fhem("setreading Garage status ".(ReadingsVal('GaragenSensor','state',''))."")};

3. state für Schalter/Taster Garage auf Reading "status" umbiegen:

stateFormat status

4. Das eigentliche StatusIcon für Schalter/Taster Garage modifizieren:

devStateIcon closed:fts_garage_door_100@green open:fts_garage@red

5. Deinen GaragenSensor kannst Du danach getrost verstecken, da sich der aktuelle Status des GaragenSensors im Reading "status" vom Schalter/Taster Garage widerspiegelt.

Als Ergebnis habe ich im Webinterface den Garagentorstatus für den Schalter/Taster Garage mit Icon "open" oder "closed" und cmd "on". 

Möglicherweise kommt es zur Fehlermeldung bis der GaragenSensor den Schaltzustand einmalig verändert hat, da das Reading "status" für Garage erst geschrieben werden muss. Das erledigt sich aber von selbst...

MfGroby

PS: Alles aus dem Kopf. Ggf Syntax und commandref prüfen...

Michi240281

Hallo Groby,

vielen Dank für deine Antwort! :)

Bei mir funktioniert der Taster auch wie bei dir (auf-stop-zu-stop-auf), allerdings habe ich ihn im Fhem so umprogrammiert, dass ich nicht nur "On" als command habe sondern Öffnen und Schliessen.

Ich denke aber, zusammen mit den Angaben von Puschel kann ich mir jetzt eine für mich perfekte Lösung zusammenbasteln.

Vielen vielen Dank an Euch!!!!
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Wuppi68

Hey,

noch ist es nicht beendet :-)

Wenn es bei Dir läuft möchten wor gerne DEINEN Code haben ;-)

Am besten dann den ersten Eintrag von Dir noch einmal editieren und Deine Lösung unten dran hängen sowie den Betreff auf und dem Begriff gelöst ergänzen :-)
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

moonsorrox

das würde mich auch interessieren, da ich im Frühjahr mein Garagentor automatisiere, alles schon vorbereitet muss nur noch der Motor ran..! :D
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Michi240281

Natürlich bekommt Ihr meinen Code dann!

Ich mache mich am Samstag ran und wenn ich es hinbekomme, werde ich den gesamten Code hier direkt posten.

Wie kann ich denn den Betreff des threads ändern?
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Puschel74

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.

Groby

Hallo Zusammen,

der eigentliche Code ist doch bereits der unten beschriebene "notify", der den Status vom Sensor GaragenSensor "open/closed" in das neue Reading "status" vom Schalter Garage kopiert. Alle weiteren unten beschriebenen Schritte sind Bordmittel und Attribute des Schalters Garage. Diese können über "attr Garage..." über die cmd-Zeile oder über das Webinterface einfach eingegeben werden (save nicht vergessen).

Ich persönlich halte die "Taster" Methode für wesentlich sinnvoller als "rauf/runter" zu programmieren, da man mit dieser Schalter/Sensor Kombination die Laufrichtung des Garagentores niemals richtig abbilden kann. Spätestens wenn das Tor einen "Nothalt" macht, oder der Schalter 2 mal kurz hintereinander betätigt wird, weiß man nicht wo das Tor steht bzw. in welche Richtung es fährt. Nicht zu vergessen der Garagentor Handsender und der "interne" Garagentorschalter sind nicht unter fhem-Kontrolle und können jederzeit dazwischen funken!!!

Die Taster Methode hat zudem einen hohen "waf" (woman acceptance factor) so wie man es vom "echten" Taster gewohnt ist. Jedes Kommando ist eben "auf/stop/runter" je nach vorherigem Torzustand. Sowohl über den Hardware Schalter/Taster als auch im webinterface. Den Gargagentorzutand "open/closed" liest man einfach vom Icon ab. Wie in meinem Beispiel sogar in Farbe "closed=grün/open=rot"...

MfGroby

Michi240281

#20
So, ich habe mal folgenden Code "offline" erstellt. Am Samstag wird sich dann rausstellen, ob alles so funktioniert wie es soll. Ich habe das "setreading" auf den Dummy bezogen, da ich ja über den Dummy schalte und dann gerne in einer Zeile den Dummy-Schalter mit den Befehlen "Oeffnen", "Schliessen" und den state des Torkontakts angezeigt bekommen möchte. Ich hoffe, das kann man so machen (also setreading dem Dummy zuweisen).

Wenn jmd Lust hat, kann er ja gerne mal über den Code drüber schauen, ob ich irgendwo Syntax- und/oder Logikfehler gemacht habe. Besten Dank!


#####################################
######Neue Garagentorsteuerung#######
#####################################

##########################
#Torkontakt (HM-SEC-SC-2)#
##########################

define Garagentor CUL_HM 24D402
attr Garagentor .devInfo 810101
attr Garagentor .stc 80
attr Garagentor actCycle 028:00
attr Garagentor actStatus alive
attr Garagentor autoReadReg 4_reqStatus
attr Garagentor devStateIcon offen:fts_garage@red geschlossen:fts_garage_door_100@green .*:fts_garage
attr Garagentor eventMap open:offen closed:geschlossen
attr Garagentor expert 2_full
attr Garagentor firmware 2.2
attr Garagentor group Garage
attr Garagentor model HM-SEC-SC-2
attr Garagentor peerIDs
attr Garagentor room Garage
attr Garagentor serialNr KEQ0****
attr Garagentor subType threeStateSensor
define FileLog_Garagentor FileLog ./log/Garagentor-%Y.log Garagentor
define SVG_FileLog_Garagentor_1 SVG FileLog_Garagentor:SVG_FileLog_Garagentor_1:CURRENT
define ActionDetector CUL_HM 000000
attr ActionDetector actCycle 30
attr ActionDetector event-on-change-reading .*
attr ActionDetector room CUL_HM

################################
#Garagentoraktor (HM-LC-SW1-FM)#
################################

define Garage_Aktor CUL_HM 254DE7
attr Garage_Aktor autoReadReg 4_reqStatus
attr Garage_Aktor expert 2_full
attr Garage_Aktor model HM-LC-SW1-FM
attr Garage_Aktor peerIDs 00000000,
attr Garage_Aktor room hidden
attr Garage_Aktor serialNr KEQ10*****
attr Garage_Aktor subType switch
attr Garage_Aktor webCmd on:off:statusRequest
define FileLog_Garage_Aktor FileLog ./log/Garage_Aktor-%Y.log Garage_Aktor attr FileLog_Garage_Aktor logtype text
attr FileLog_Garage_Aktor room hidden

##########################################################
#Status des Torkontakts in Dummy mittels Reading einfügen#
##########################################################

define WatchGaragenTor notify Garagentor:* {fhem("setreading Garage_Schalten status".(ReadingsVal('Garagentor','state',''))."")};

#########################
#Steuerung mittels Dummy#
#########################

define Garage_Schalten dummy
attr Garage_Schalten eventMap On:Oeffnen Off:Schliessen
attr Garage_Schalten group Garage
attr Garage_Schalten room Garage
attr Garage_Schalten stateFormat status
attr Garage_Schalten webCmd Oeffnen:Schliessen

#############################################
#Notify zum Schalten abhängig von Torkontakt#
#############################################

define Garage_Oeffnen_Schliessen notify Garagentor_Schalten { if (Value("Garagentor") eq "offen" && $EVENT ne "off") {
fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Schliessen off");
}
if (Value("Garagentor") eq "geschlossen" && $EVENT ne "on") {
fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1 ;; setstate Oeffnen off");
}
}
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Michi240281

Hmmm, also irgendwo hakt es noch! Mit o.a. Code meldet Fhem beim Speichern der cfg:

ERROR:
Unknown command fhem("set, try help. Unknown command }, try help. Unknown command if, try help. Unknown command fhem("set, try help. Unknown command }, try help. Unknown command }, try help.


Jmd ne Idee? Weiterhin wird der state wohl nicht auf den Dummy übertragen (s. Anhang).
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Michi240281

#22
So, ich habs hinbekommen! Hier der Code:

###########################
### Garagentorsteuerung ###
###########################

##############
# Torkontakt #
##############

define Garagentor CUL_HM 24D402
attr Garagentor .devInfo 810101
attr Garagentor .stc 80
attr Garagentor actCycle 028:00
attr Garagentor actStatus alive
attr Garagentor autoReadReg 4_reqStatus
attr Garagentor devStateIcon offen:fts_garage@red geschlossen:fts_garage_door_100@green .*:fts_garage
attr Garagentor eventMap open:offen closed:geschlossen
attr Garagentor expert 2_full
attr Garagentor firmware 2.2
attr Garagentor model HM-SEC-SC-2
attr Garagentor peerIDs
attr Garagentor serialNr KEQ0*****
attr Garagentor subType threeStateSensor
define FileLog_Garagentor FileLog ./log/Garagentor-%Y.log Garagentor
define SVG_FileLog_Garagentor SVG FileLog_Garagentor:SVG_FileLog_Garagentor:CURRENT
attr SVG_FileLog_Garagentor devStateIcon .*:control_x
attr SVG_FileLog_Garagentor label "Garagentor Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_FileLog_Garagentor room Plots
define ActionDetector CUL_HM 000000
attr ActionDetector actCycle 30
attr ActionDetector event-on-change-reading .*
attr ActionDetector room CUL_HM

###################
# Garagentoraktor #
###################

define Garage_Aktor CUL_HM 254DE7
attr Garage_Aktor autoReadReg 4_reqStatus
attr Garage_Aktor expert 2_full
attr Garage_Aktor model HM-LC-SW1-FM
attr Garage_Aktor peerIDs 00000000,
attr Garage_Aktor room hidden
attr Garage_Aktor serialNr KEQ10*******
attr Garage_Aktor subType switch
attr Garage_Aktor webCmd on:off:statusRequest
define FileLog_Garage_Aktor FileLog ./log/Garage_Aktor-%Y.log Garage_Aktor
attr FileLog_Garage_Aktor logtype text
attr FileLog_Garage_Aktor room hidden

############################################################
# Status des Torkontakts in Dummy mittels Reading einfügen #
############################################################

define WatchGaragentor notify Garagentor:* {fhem("setreading Garage_Schalten status ".(ReadingsVal('Garagentor','state',''))."")}

###########################
# Steuerung mittels Dummy #
###########################

define Garage_Schalten dummy
attr Garage_Schalten alias Garage
attr Garage_Schalten devStateIcon open:fts_garage@red closed:fts_garage_door_100@green .*:fts_garage
attr Garage_Schalten eventMap On:Schliessen Off:Oeffnen
attr Garage_Schalten group Schalter
attr Garage_Schalten room Garage
attr Garage_Schalten stateFormat status
attr Garage_Schalten webCmd Oeffnen:Schliessen

################################################
# Notifys zum Schalten abhängig von Torkontakt #
################################################

define Garage_Oeffnen notify Garage_Schalten { if (Value("Garagentor") eq "geschlossen" && $EVENT eq "Oeffnen") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1") } }

define Garage_Schliessen notify Garage_Schalten { if (Value("Garagentor") eq "offen" && $EVENT eq "Schliessen") { fhem("set Garage_Aktor off ;; set Garage_Aktor on-for-timer 1") } }


Zwar mit 2 Notifies, aber nicht so schlimm! Hauptsache es funktioniert! Falls jmd die beiden Notifies zu einem zusammenfassen könnte, möge er es gerne posten! Ich habs nicht hinbekommen! Fhem hat ständig gemeckert! Aussehen tuts jetzt wie im Anhang!

Eine Frage habe ich noch: Jetzt wird ja der Status vom TFK an den Dummy übergeben, das funktioniert ja auch, allerdings übergibt der "closed/open", und nicht "geschlossen/offen" wie ich es im threestatesensor per eventmap geändert habe. Nur wie bekomme ich das im Dummy hin? Oder geht das nicht? Eventmap habe ich dort ja bereits verwendet.
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Michi240281

Hmmm, seltsam:

Gestern funktionierte alles, heute wird das Reading nicht auf den Dummy übertragen. Jmd ne Idee, woran das liegen könnte? Code siehe oben.

Danke im vorraus!
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

Michi240281

Habs wieder hinbekommen! :)

Könnte jmd mit mehr Erfahrung evtl. aus meinen 2 Notifies einen machen?
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905