FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: normancz am 25 Februar 2014, 19:59:45

Titel: Definename generieren?
Beitrag von: normancz am 25 Februar 2014, 19:59:45
Hallo,
ich beschäftige mich jetzt seit 4 Tagen mit Fhem auf einem Raspberry pi und bin wirklich begeistert.

Nun möchte ich verzögert auf Events reagieren und frage mich ob man die einmaligen Timer nicht automatisiert mit einer eindeutigen hochgezählten ID benennen kann, sprich irgendwie:

define ... notify ... define tim{GenID} at +0:10 ...


Gibt es da etwas?

Danke,
Norman
Titel: Antw:Definename generieren?
Beitrag von: Puschel74 am 25 Februar 2014, 20:06:20
Hallo,

das
Zitatdefine ... notify ... define
wird so nicht klappen.

Ein notify kann nicht auf ein define reagieren sondern nur auf ein Event eines Gerätes.

Grüße
Titel: Antw:Definename generieren?
Beitrag von: betateilchen am 25 Februar 2014, 20:18:44
Puschel, es geht nicht darum, in einem notify auf ein define zu reagieren, sondern darum, im Ausführungsteil eines notify ein at zu definieren.

@Norman: ja, das geht, aber Du musst den Zähler selbst verwalten, z.B. in einem Dummy.
Titel: Antw:Definename generieren?
Beitrag von: Puschel74 am 25 Februar 2014, 20:21:18
Hallo,

define ... notify ... define tim{GenID} at +0:10 .

ZitatPuschel, es geht nicht darum, in einem notify auf ein define zu reagieren, sondern darum, im Ausführungsteil eines notify ein at zu definieren.
Na da bin ich aber froh das du das gesehen hast  :o

Grüße
Titel: Antw:Definename generieren?
Beitrag von: betateilchen am 25 Februar 2014, 20:31:46
Zitat von: Puschel74 am 25 Februar 2014, 20:21:18Na da bin ich aber froh das du das gesehen hast

Das steht doch eindeutig im ersten Beitrag hier. Sehr ausführlich, spezifisch und gut verständlich ergänzend zum Codeschnipsel ausformuliert.
Titel: Antw:Definename generieren?
Beitrag von: Puschel74 am 25 Februar 2014, 20:33:05
Na wenn du das sagst  8)
Titel: Antw:Definename generieren?
Beitrag von: betateilchen am 25 Februar 2014, 20:35:44
Nein, das sage nicht ich, das steht da vom Fragestelle geschrieben!

ZitatNun möchte ich verzögert auf Events reagieren und frage mich ob man die einmaligen Timer nicht automatisiert mit einer eindeutigen hochgezählten ID benennen kann,

Du musst nur Lesen, und nicht nur auf Code-Schnipsel achten, die lediglich zur Verdeutlichung der Problembeschreibung dienen.

Langsam nimmst du Rudis Unart (vor allem die Oberflächlichkeit) beim Lesen von Problembeschreibungen an...
Titel: Antw:Definename generieren?
Beitrag von: Puschel74 am 25 Februar 2014, 20:41:22
Hallo,

Finde ich nicht.

Anstelle der ... hätte auch ein define <Name_irgendwas> notify <darauf_reagiere_ich_inkl_regexp(was_auch_klappt)> define <hier_wäre_der_Zähler> at +00:10 <das möchste ich machen>
stehen können.

Dann hätte es auch so ein unbedarfter Oberflächlicher wie ich verstanden - und wäre vermutlich ruhig gewesen und hätte den Beitrag nicht "gestört".
Aber darüber brauchen wir hier nicht diskutieren - es geht um das Problem des TE.

Grüße
Titel: Antw:Definename generieren?
Beitrag von: betateilchen am 25 Februar 2014, 20:45:01
Nein, es geht darum, dass Du in den letzten Tagen immer wieder Fragesteller mit Deinen aus Oberflächlichkeit resultierenden unpassenden Antworten auf den völlig falschen Weg schickst.

Das fällt inzwischen sogar schon anderen Leuten auf:

Zitat von: Prof. Dr. Peter Henning am 22 Februar 2014, 09:34:03
Years ago, when there was just the Google group, I was being somewhat direct towards newbies - because I felt they were wasting my time. At that time Puschel74 established himself as the helpful advocate of newcomers, and flamed me for being blunt - and now he does the same with English speakers  ;D

Und ich möchte hinzufügen: Das passiert nicht nur gegenüber englisch schreibenden Fragestellern.
Titel: Antw:Definename generieren?
Beitrag von: Paul am 25 Februar 2014, 20:52:38
Danke Betateilchen
Titel: Antw:Definename generieren?
Beitrag von: UliM am 25 Februar 2014, 20:56:16
Statt jedes mal einen neuen Timer zu definieren könntest Du eventuell sleep benutzen.
Such. Mal danach, es gibt viele Beispiele mit sleep 300; set device on
Beachte den Unterschied perl-sleep vs fhem-sleep .
Gruß Uli
@Betateilchen: bitte regelt das ggf ohne Publikum per PN
Titel: Antw:Definename generieren?
Beitrag von: Puschel74 am 25 Februar 2014, 21:01:11
Hallo,

ZitatUnd ich möchte hinzufügen: Das passiert nicht nur gegenüber englisch schreibenden Fragestellern.
Das ist hier nicht der passende Bereich um das zu diskutieren finde ich.

Nicht-Deutsch schreibende Fragesteller kann ich! nicht helfen da mein Englisch unter aller Kanone ist.
Ich kann zwar Brocken lesen aber Antworten - besser nicht.
Wenn Ein! User im Englisch-Bereich einen Flame loslässt kann ich damit leben - wenn ich den Anfängerbereich nichtmehr moderieren soll kann ich damit leben.

Das Zitat von pah bezieht sich auf die google-group - in der Zwischenzeit hat sich bei der Doku viel geändert (finde ich).
Damals gab es mWn noch kein Einsteiger.pdf und auch die google-group war alles andere als "Suchfreundlich".
Ich hab aber auch absolut kein! Problem damit alle! Fragen unkommentiert zu lassen - dann nehmt mich als Mod raus bitte.
Ich will weder FHEM noch das Forum in einem schlechten Licht dastehen lassen.

Grüße
Titel: Antw:Definename generieren?
Beitrag von: Puschel74 am 25 Februar 2014, 21:51:13
Hallo,

@betateilchen
Nett das du mir eine PN schicken kannst (ich niemanden blocke), du (mich) aber blockst.

Egal - dann poste ich das eben hier:
Zitatkeine Angst - ich bin oder spiele keineswegs die beleidigte Leberwurst  :D

Ich helfe gerne - wenn ich kann - und ich denke mal die helfenden Antworten überwiegen (aber das ist nur mein Empfinden).
Ich weiß das ich zwischenmenschlich ein A...loch sein kann (das sagt mir meine Frau auch ab und zu).

Aber wozu haben wir 4! festgepinnte Beiträge im Anfängerbereich wenn diese ignoriert (oder nicht gelesen oder nicht verstanden) werden?
Klar kann ich bei Fragen auch mal um die Ecke denken aber klar und eindeutig formulierte Fragen bringen idR präzise Antworten die dem Fragesteller schneller und effektiver helfen.
Und nicht nur dem Fragesteller sondern Anfänger die später kommen müssen sich nicht erst durch seitenweise Nachfrage-Beiträge lesen sondern haben recht schnell die Antwort auf ihre Frage.

Ich kenn das von anderen Foren wo auch ich aktiv als Leser bin - ich lese ungern 8 Seiten nachfragen um dann auf der 10.Seite die Lösung zu finden wobei der ganze Beitrag mittlerweile 30 Seiten umfasst.
Soll das effektiv sein? In meinen Augen nein. Wer sucht auf Seite 10 die Lösung für sein Problem wenn der Beitrag gesamt mehr als 15 Seiten umfasst (weil andere noch andere Probleme reinposten?).

Ja, ich weiß das ich anders darauf hinweisen kann/könnte.
Die Kritik nehme ich auch an und auch mit und werde versuchen in Zukunft "freundlicher" zu sein.
Aber mWn hat sich erst einer über mein Verhalten! "beschwert".
Wobei sich auch das über einen kurzen Dialog lösen hätte lassen - aber ich lass mich nur ungern "von der Seite" anmaulen.
Und das er besser Englisch kann als ich - dafür kann ich nichts  ::)

Wie du bemerkt hast - mein Englisch ist alles andere als "on-top".
Daher habe ich vermutlich auch pahs Beitrag gedanklich falsch übersetzt.
Ich habe aber kein Problem damit anderen zu helfen - siehe Elektrolurch (er benutzt einen Screenreader) oder Lothar (er ist 62 und nagt seit 6 Jahren an einem Schlaganfall) - ich muss nur WISSEN das jemand eine Schwäche hat.
Grundsätzlich gehe ich davon aus das jeder lesen und mitdenken kann bis ich was gegenteiliges lese.

Grüße

Edith: @normancz Sorry das gerade dein Beitrag "herhalten" muss/darf.
Titel: Antw:Definename generieren?
Beitrag von: papa am 25 Februar 2014, 21:57:23
Um jetzt mal was konstruktives zu leisten - wie wäre es mit

define ..... notify .... { var name = "timer".TimeNew(); fhem ("define ".name." +0:10 ....") }

Ist jetzt nicht getestet ... aber so sollte es doch gehen.
Titel: Antw:Definename generieren?
Beitrag von: betateilchen am 25 Februar 2014, 22:01:32
Zitat von: Puschel74 am 25 Februar 2014, 21:51:13
@betateilchen
Nett das du mir eine PN schicken kannst (ich niemanden blocke), du (mich) aber blockst.

Ich blocke nicht Dich, bei mir ist die PN Funktion generell abgeschaltet.
Du kannst mir aber hier über das Forum trotzdem jederzeit eine email schicken - wie alle anderen User das auch schaffen, die mir etwas mitteilen wollen.

Titel: Antw:Definename generieren?
Beitrag von: Puschel74 am 25 Februar 2014, 22:05:29
Email - PN
Du schickst mir ne PN ich soll ne Mail schicken und kann daher nicht auf DEINE! PN antworten.
Worüber soll ich mir noch Gedanken machen??
Egal, du hast die Nachricht gelesen und kannst mir ja per PN antworten - ich weiß ja jetzt das ich dir ne Mail schicken muss.
Titel: Antw:Definename generieren?
Beitrag von: betateilchen am 25 Februar 2014, 22:07:46
Zitat von: Puschel74 am 25 Februar 2014, 22:05:29Du schickst mir ne PN ich soll ne Mail schicken und kann daher nicht auf DEINE! PN antworten.

Das ist eine Unzulänglichkeit der hier verwendeten Forensoftware, dafür kann ich nix.
Titel: Antw:Definename generieren?
Beitrag von: Puschel74 am 25 Februar 2014, 22:16:03
ZitatDas ist eine Unzulänglichkeit der hier verwendeten Forensoftware, dafür kann ich nix.
Aber ich?
Nö, oder?
Egal. Schalt die PN frei bei dir wenn du dich mit mir per PN unterhalten willst oder lass es bleiben.
Titel: Antw:Definename generieren?
Beitrag von: betateilchen am 25 Februar 2014, 22:18:21
Zitat von: Puschel74 am 25 Februar 2014, 22:16:03Egal. Schalt die PN frei bei dir wenn du dich mit mir per PN unterhalten willst oder lass es bleiben.

Schalte halt Du deine email-Funktion frei, dann können wir uns über das gleiche Medium unterhalten. Und hör endlich auf, hier im Thread rumzukotzen! Ich habe die Diskussion eigentlich schon vor einiger Zeit nach ausserhalb verlegt - aber offenbar kommst Du damit nicht klar, Deine Kommentare nicht weiterhin hier öffentlich verlautbaren zu sollen. Tolle Show, Herr Moderator!
Titel: Antw:Definename generieren?
Beitrag von: UliM am 26 Februar 2014, 16:19:15
Hallo,
hoffentlich haben sich die Gemüter nun wieder etwas beruhigt.

Natürlich kann man von einem Einsteiger erwarten, dass er sich erst nach Info umschaut, bevor er eine Frage posted. Machen auch viele so, aber nicht alle. Diejenigen, die das nicht tun, zur Ordnung zu rufen und den im Forum als "normal" empfundenen Weg zu weisen, ist im Sinne aller Forumsnutzer.
Dabei muss - wie bei allem -  mit gesundem Augenmaß vorgegangen werden. Bei diesem Augenmaß hat jeder unterschiedliche Maßstäbe. Dass das so ist, müssen alle akzeptieren und respektieren.
Natürlich gibt es für den Spielraum dieser Maßstäbe auch Grenzen. Diese aufzuzeigen ist ebenfalls im Sinne aller Forumsteilnehmer. Als erwachsene Menschen gilt es dabei, sich bei solchem feedback konstrukiv und keinesfalls persönlich verletzend zu äußern und zu verhalten.  Frei nach dem Motto "wenn's gut läuft sagen Sie's allen, wenn's schlecht läuft nur mir"  ist also auch die Wahl des geeigneten Kommunikationskanals ein relevanter Aspekt. Sich gegenseitig Unflätigkeiten an den Kopf zu werfen bringt niemanden weiter und gehört m.E. nicht in dieses Forum (hab ich auch schon mal gemacht und bereue es heute).

Wir alle machen das hier als Freizeitbeschäftigung, suchen also Spaß. Lasst uns bitte gemeinsam daran arbeiten, dass es für alle Spaß bleibt. Es ist doch ganz erstaunlich, wie viel Ergebnis -auch wesentlich durch euer Zutun- bei freiwilliger Zusammenarbeit vieler herauskommt. Wenn sich jeder etwas mäßigt und an die Grundregeln des Anstands hält, werden wir das auch so beibehalten können.

Also bitt'schön meine Herren, reisst euch zusammen :)


Und vielleicht kann Paul mit seinem Problem ja doch noch geholfen werden.

Konstruktive Grüße,
Uli
Titel: Antw:Definename generieren?
Beitrag von: betateilchen am 26 Februar 2014, 16:22:54
Hallo Uli,

vielleicht kannst Du hier im Thread mal durchfegen :)

Viele Grüße
Udo
Titel: Antw:Definename generieren?
Beitrag von: BeamterAD am 26 Februar 2014, 18:41:13
Ich schließe mich dem TE an,ich suche auch so eine Möglichkeit für die Zeitschaltuhr
Titel: Antw:Definename generieren?
Beitrag von: normancz am 26 Februar 2014, 22:38:09
Ich war gestern noch davon ausgegangen, dass man an jeder Stelle mit {} Perl Code einfügen kann (zumal ja ein "at {sunset(...)}" funktioniert) und wollte es eben auch so beim Definename per "define {...} ..." machen. Heute bin ich schlauer und weiß das es beim at die Ausnahme ist und z.B. ein "set Lampe1 {Value("Lampe2")}" so nicht funktioniert (schade eigentlich).

Die Doku habe ich zwar durchgelesen, aber so manches ist noch verwirrend. Eben bin ich wieder auf die Schnauze gefallen weil ich bei einem Timer im DEF-Editor nach der Zeitangabe die "{" zu meine Perl Code in eine neue Zeile gesetzt habe (ich mag die Klammern lieber auf gleicher Höhe und nicht am Zeilenende). Das gab die tollsten Fehlermeldungen.

Was ich eigentlich wollte war ein Fensterwarner: Beim Öffnen der Dachfensters soll über ein gemeinsames notify ein Timer gestartet werden und alle 30min daran erinnern es zu schließen. Ich werde den Definenamen jetzt irgendwie über die $NAME Variable zusammensetzen.

Bye,
Norman
Titel: Antw:Definename generieren?
Beitrag von: herrmannj am 26 Februar 2014, 23:02:23
Hi,

speziell für die Erinnerung wegen der Fenster könntest Du vermutlich den watchdog effizient verwenden.

Die beiden anderen Möglichkeiten "sleep" und die Möglichkeit das define in Perlcode zu verpacken wurden ja schon genannt.

@BeamterAD
so könnte man auch eine Zeitschaltuhr aufsetzen. Wenn Du nochmal genauer schreibst was Dein Ziel ist gibt es vielleicht Alternativen wie "on-for-timer" und co.

vg
Jörg