FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Ralph am 26 April 2013, 13:23:54

Titel: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Ralph am 26 April 2013, 13:23:54
Moin,
ich bin leider zum Filtern zu dumm.

Ich möchte folgendes vereinfachen:define nKuechentuerOff notify Kuechentuer { if ("$value{@}" eq "Closed") { fhem("set sm@ off") }}
define nKuechentuerOn notify Kuechentuer { if ("$value{@}" eq "Open") { fhem("set sm@ on") }}

in idealstenfalls:define nKuechentuer notify Kuechentuer set sm@ %

Der CUL_FHTTK sendet ja normalerweise CUL_FHTTK Kuechentuer "Window: Open" oder Closed.
Ein eventMap Open:on Closed:off wandelt das ja auch korrekt um.

Das Problem ist, dass nun aber aus dem % ein "Window: on" oder off herauskommt,
das "Window: " vorne muss also noch weg.

Und wer möchte mir bitte verraten, wie man das wegfiltert ?
Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Puschel74 am 26 April 2013, 16:50:10
Hallo,

ich lehne mich mal gaaaanz weit aus dem Fenster ...

Da der FHTTK in seinem % ein Window: Open (bzw. Closed) sendet wirst du mit eben diesem % auch deinem Aktor ein
Window: Open (bzw. Closed) schicken.
Auch ein eventMap wird daraus nur max ein Window: on (bzw. off) machen.

d.h. du hast dann bestenfalls ein

set smKuechentuer Window: On

womit der Aktor nichts anfangen können dürfte.

Also wirst du wohl um ein notify .... if .... nicht herum kommen (aus dem Fenster lehn).

Grüße

P.S.: Auf eine Einzeiler-Lösung wäre ich mal gespannt (Nicht von Rudi oder Kapazitäten - das die das schaffen ist mir klar ;-) )
Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Ralph am 26 April 2013, 17:25:57
Puschel, Du sagst es überdeutlich, eben genau das versuchte ich auch zu erklären.

Und auf den Einzeiler bin ich auch gespannt wie ein Flitzebogen :-)
Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Zrrronggg! am 26 April 2013, 17:27:42
Ich habe das Ziel noch nicht verstanden. Besonders dieser Teil ist mir unklar: set sm@ off
Was bedeutet der Klammeraffe? Meint das eigentlich "%"?

Was willst du überhaupr erreichen?
Und bezüglich ("$value{@}": Was bedeutet der Kalmmeraffe hier? Eigentlich %?
Übrigens $value nicht mehr verwenden, ist depreciated.

Aber hier mal was aus meiner Alarmanlage, auswertung eines FHTTK:

define act_on_Tuer_Schlafen1 notify Tuer_Schlafen { if (Value("Tuer_Schlafen") eq "Closed") { fhem("set AussentuerEG_Schlafen zu") } else { fhem("set AussentuerEG_Schlafen offen") }}

Tuer_Schlafen ist der FHTTK

set AussentuerEG_Schlafen zu/offen, ersetzt du durch deinen SM8 Aktor und fertig.. es sei denn wie gesagt ich versteh nicht was du machen willst. Nachteilig ist natürlich, dass der Befehl alle 2 Minuten kommt.

Das bege ich dir aber auch noch hin, sobald ich sicher bin, dass ich versehe was du willst.




Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Ralph am 26 April 2013, 17:41:28
Zrrronggg!, Du bist doch sonst so clever ?

Das @ über nimmt das, was im notify erklärt ist, in dem Fall also Kuechentuer,
ein sm davor ergibt zusammen smKuechentuer.
smKuechentuer ist der Name meines Aktors, der gesetzt werden soll.
Wenn er das selber aus dem notify übernimmt, dann brauchst Du es ja nicht nochmal hinzuschreiben und kannst es universell weiterverwenden.

in % steht das ausgelesene, in konkreten Fall "Window: on" oder off.
Wenn ich aber doch einem Aktor damit was befehlen will, dann brauch ich nur das on oder off,
also muss das "Window: " vorne weg.

NUN ?

Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Puschel74 am 26 April 2013, 17:45:35
Hallo,

auch ohne Lösung.
Hat Rudi nicht i-wo erwähnt das @ und % nichtmehr verwendet werden sollen?

@ = $NAME
% = $EVENT

Grüße

Edith: Gefunden
Link (http://forum.fhem.de/index.php?topic=11886.0)
und auch grad den Text angepasst.
Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Ralph am 26 April 2013, 18:04:23
Aua, hab ich nicht gelesen, da ich - ich gestehe es - meine Dingens meist aus abgeschriebenen Fragmenten zusammenbaue.

Und wenn es "zwischenzeitlich falsch" in der Wiki steht, dann steht es bei mir mindestens genauso "falsch".

Da müsste dann konsequenterweise

1. die Wiki durchgängig angepasst werden und

2. der Ralph mal gucken, ob da noch mehr so Dinger sind.
Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Puschel74 am 26 April 2013, 18:06:06
Hallo,

NOCH funktionieren @ und %.

ICH weiß aber nicht wie lange noch ;-)
Auch ich muss meine Konfig durcharbeiten (lassen) und ändern - früher oder später.

Grüße
Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Zrrronggg! am 26 April 2013, 18:24:07
ZitatZrrronggg!, Du bist doch sonst so clever ?
Oha!

ZitatDas @ über nimmt das, was im notify erklärt ist
War mir neu, wusste ich nicht.

Ich würde das aber auch nicht verwenden, aus dem selben Grund warum ich schon "%" ungerne verwende und das lieber "auskonstruiere": Man vertut sich da zu oft und findet Fehler nicht, weil man nur VERMUTET das auch Fall xy abgefeiert oder nicht abgefeiert wird.

ZitatWenn er das selber aus dem notify übernimmt, dann brauchst Du es ja nicht nochmal hinzuschreiben und kannst es universell weiterverwenden.

Es geht aber nur um das Hinschreiben, denn durch die Festlegung im notify ergibt sich keine echte universelle Nutzbarkeit. Du sparst also nur beim Anlegen einmalig das hinschreiben von "Kuechentuer" oder so.  Du bekommst dafür aber im Zweifelsfall hinterher 8 notifies, die alle mit Z.B. mit set sm@ % (oder so) enden. Ich würde sowas nicht machen, weil ich glaube, dass das im Debugginfall echt unübersichtlich sein könnte.

Aber das ist natürlich Geschmackssache.

So gesehen ist ja klar, auf was ich deine beiden Ausdrücke noch zusammenfassen würde, so schön elegant wie du das willst wär das sicher nicht.


Ich gebe aber immer noch zu bedenken, dass das bei Steuerung eines FS20-SM8-Aktors recht hohe Funklast erzeugt, die bei deinem theoretischem Konstrukt
define nKuechentuer notify Kuechentuer set sm@ %
nicht abgefangen würde.

ZitatWenn ich aber doch einem Aktor damit was befehlen will, dann brauch ich nur das on oder off,
also muss das "Window: " vorne weg.

Ja. Ich verstehe jetzt, dass du nach der Suche nach einem elegant aussehendem Einzeiler bist, denn du per Copy/Paste mehrmals nutzen kannst und dann nur den Namen der Tür 1x schreiben musst.

Mal abgesehen davon, dass ich dann leider auch nicht weiss wie es gehen soll, habe ich wie gesagt de Kritik, dass das meiner Meinung nach zwar gut aussieht und minimale Schreiberleichterung bringt aber unter funktionalen (Sendelast) und  Lesbarkeitsgesichtspunkten suboptimal wäre.

Titel: Aw: CUL_FHTTK soll FS20-SM8-Aktor mit on / off steuern
Beitrag von: Zrrronggg! am 26 April 2013, 18:30:11
Ich hatte das Problem neulich bei
 $value {}

(geht auch noch, man sollte aber lieber (Value("..") verwenden)

Das ging eigentlich recht gut mit suchen und alle ersetzen.


Und solange man keine Mailadessen in seiner cfg hat sollte das mit % und @ eigentlich auch so gehen, oder?
Titel: Aw: @ und %
Beitrag von: Ralph am 27 April 2013, 16:45:24
Hatte mir die Mahnung und den Hinweis von Rudi König zu Herzen genommen und in meinen CFGs das weitgehend händisch ersetzt.

Das war nicht sonderlich erfolgreich, die Wiederherstellung hat mich einen Tag und eine Nacht gekostet.

Ich kriege das Fehlverhalten im einzelnen jetzt leider nicht mehr zusammen, aber der mir extrem wichtige Mailversand mit übernommenen Werten hat nicht mehr funktioniert.

Habe mal den alten funktionierenden Zustand wiederhergestellt und muss das Thema wohl auf der Liste behalten.


Edith:
Rudis Bemerkung, dass ihn die @@ in der Mail-Addy genervt haben, die habe ich zwar gelesen,
verstanden habe ich sie nicht.
Wie denn alternativ anders ?
Was ist gleichzeitig mit-zu-ändern ?
Titel: Aw: @ und %
Beitrag von: Puschel74 am 27 April 2013, 16:57:42
Hallo,

ich habe Rudi bzgl. der @@ in der Mail so verstanden das er deswegen @ in $Name geändert hat.
Nun sollte @ in der Mail genügen und nicht @@.
Ich habs aber noch nicht versucht.

Ich hoffe du hast ein Backup deiner Konfig gehabt?
Das muss ja Mega-Arbeit gewesen sein.

Mit Notepad++ brauchst du nur <suchen und ersetzen> nehmen - aber immer vorher ein Backup machen ;-)

Grüße
Titel: Aw: @ und %
Beitrag von: Ralph am 27 April 2013, 19:20:03
Zitat von: Puschel74 schrieb am Sa, 27 April 2013 16:57... Mit Notepad++ brauchst du nur <suchen und ersetzen> nehmen...
Na ja, so einfach ist es nun auch nicht, weil die zu suchenden Zeichen ja auch anderweitig in den unterschiedlichsten Konstellationen vorkommen.

Ich benutze übrigens eine ältere Version von UltraEdit.

Und, ja, ich hatte ein Backup und es war viel Arbeit :-( :-)


Falls Du es mal versuchen solltest und wolltest:
erst die Schleifen, dann die einzelnen.


Frau Edith sagt:
Ooups, jetzt bist Du schon Senior-Member, dann passt es ja auch altersmäßig.
Titel: Aw: @ und %
Beitrag von: Puschel74 am 27 April 2013, 19:37:38
Hallo,

das

ZitatNa ja, so einfach ist es nun auch nicht, weil die zu suchenden Zeichen ja auch anderweitig in den unterschiedlichsten Konstellationen vorkommen.

stimmt zwar aber ...

Ich benutze die Funktion in Notepad++ eigentlich nur für die Suche.
Wenn es geändert werden soll kann ich das per Mausklick anweisen.

Grüße