FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: jager am 16 Februar 2014, 16:13:18

Titel: blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 16 Februar 2014, 16:13:18
Hallo zusammen,
ich habe FHEM auf einem Raspi installiert, das läuft soweit.
Seit mittags kann ich auch meinen Hutschienenschalter in FHEM schalten und ich habe es sogar schon geschafft, dass ich eine "Zeitschaltuhr" für den Hutschienen-4-fach-Schalter programmiert habe:

# Hoflicht täglich um 06:00:00 Uhr einschalten
define Hoflichttaeglichan1 at *06:00:00 { fhem("set HOF.beleuchtung1 on")  }
# Hoflicht täglich um 08:00:00 Uhr ausschalten
define Hoflichttaeglichaus1 at *08:00:00 { fhem("set HOF.beleuchtung1 off")  }
# Hoflicht täglich um 17:00:00 Uhr einschalten
define Hoflichttaeglichan2 at *17:00:00 { fhem("set HOF.beleuchtung1 on")  }
# Hoflicht täglich um 08:00:00 Uhr ausschalten
define Hoflichttaeglichaus2 at *01:00:00 { fhem("set HOF.beleuchtung1 off")  }



Soweit, so gut ;)

Vom Erfolg motiviert, wollte ich das gleiche jetzt für eine Schaltsteckdose im Wohnzimmer machen,
die sich testweise für zwei Sekunden einschalten soll.

define wozi_s1_2s { fhem("set WoZi.S1 on-for-timer 2") }

Wenn ich die fhem.cfg jetzt sichern will, bekomme ich die Fehlermeldung "unknown Module, choose one of ...".

Was mache ich verkehrt?? Ich versteh es nicht!
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: fhainz am 16 Februar 2014, 16:19:41
Zitat von: jager am 16 Februar 2014, 16:13:18
define wozi_s1_2s { fhem("set WoZi.S1 on-for-timer 2") }

Zwischen wozi_s1_2s und dem { fehlt das Modul das du definieren willst. Deswegen auch die Fehlermeldung "unknown Module, choose one of ..."


Grüße
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 16 Februar 2014, 16:20:49
Zitat von: fhainz am 16 Februar 2014, 16:19:41
Zwischen wozi_s1_2s und dem { fehlt das Modul das du definieren willst. Deswegen auch die Fehlermeldung "unknown Module, choose one of ..."

Und was soll ich da korrekterweise nehmen??
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: fhainz am 16 Februar 2014, 16:23:42
Kommt drauf an was du machen willst. Oben hast du zB das at Modul definiert.

at *17:00:00


Grüße
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: Puschel74 am 16 Februar 2014, 16:27:36
Hallo,

das Einsteiger.pdf hast du aber gesehen?

Grüße

Edith: Sorry aber das
ZitatWenn ich die fhem.cfg jetzt sichern will, bekomme ich die Fehlermeldung "unknown Module, choose one of ...".
und "blutiger Anfänger" passt nicht zusammen.
Jedem "blutigen Anfänger" lege ich ans Herz - Finger weg von der fhem.cfg
Es geht alles, wirklich alles was "blutige Anfänger" machen wollen auch ohne jemals in die fhem.cfg zu schauen - wirklich alles.
Und du schaltest schonmal eine Fehlerquelle aus wenn du die fhem.cfg wieder vergisst.

Edith2: Ich hab dir mal rausgesucht wo beschrieben ist wie Anfänger mit fhem arbeiten können ohne in die fhem.cfg zu schauen
http://forum.fhem.de/index.php/topic,17433.msg114930.html#msg114930 (http://forum.fhem.de/index.php/topic,17433.msg114930.html#msg114930)
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: Zrrronggg! am 16 Februar 2014, 17:40:44
Ich bin da ausnahmsweise nicht zu 100% Puschel74s Meinung. Man kann meiner Auffassung nach auch als Anfänger in der fhem.cfg rumfummeln. Allerdings erfordert das zumindest, dass man den grundsätzlichen Aufbau eine Kommands wie von dir benutzt verstanden haben muss.

Und das ist in etwa so:

define <irgendeine_name> <auslösende Aktion> <mach irgendwas>

Dein Konstrukt

define wozi_s1_2s { fhem("set WoZi.S1 on-for-timer 2") }

hat 3 Schwächen:

1. Fehlt der Teil <auslösende Aktion>
2. ist <mach irgendwas> übermässig kompliziert formuliert, nämlich über den Umweg der Perl Ebene, obwohl keine Perlfunktionen genutzt werden.
3. Die Benennung deiner Geräte enthält Punkte. Das ist schlecht weil der Punkt zu den Zeichen gehört die in Perl eine Funktion haben.

D.H. Dir fehlen erkennbar grundlegende Kenntnisse und damit hat Puschel74 dann vielleicht doch recht.



Hier ein paar Beispiele was du machen könntest:

define wozi_s1_2s  at 12:00:00 set WoZi_S1 on-for-timer 2
Schaltet WoZi_S1 um 12 Uhr für 2 Sekunden an

define wozi_s1_2s notify FB1 set WoZi_S1 on-for-timer 2
Schaltet  WoZi_S1  für 2 Sekunden an, wenn eine Taste des Gerätes "FB1" gedrückt wird (also eine Fernbedienung. Die muss natürlich vorher definiert und richtig eingestellt werden)

define wozi_s1_2s notify FB1:on set WoZi_S1 on-for-timer 2
Schaltet  WoZi_S1  für 2 Sekunden an, wenn die "ein" Taste des Gerätes "FB1" gedrückt wird (also eine Fernbedienung. Die muss natürlich vorher definiert und richtig eingestellt werden)

Noch eine Anmerkung zur Perlebene:

Es gibt Dinge die FHEM nicht kann, insbesondere komplexere Bedingungen wie "if" und "else". Hier kann es nötig sein, Perl zu benutzen.

Das macht man indem man Fhem Perl Kommandos "unterjubelt". Damit FHEM weiss, dass etwas für Perl bestimmt ist und an Perl weitergegeben wird, packt man es in geschweifte Klammern

{ perl kommandos hier}

Wenn man in Perl nun zu einem Ergebniss kommt, und in Abhängigkeit davon doch ein FHEM Kommando auslösen muss, dann muss man wiederum Perl sagen: Folgendes ist für FHEM. Das macht man so:

fhem("normale FHEM Kommandos hier")


Sowas hier
Zitat{ fhem("set Licht1 on") }
bedeutet also "in deutsch":

"Sag doch bitte FHEM es soll Perl sagen, Perl soll doch bitte FHEM sagen,  Licht1 soll "on" gechaltet werden."

Naja ... geht, ist aber komplizierter als nötig. Machen trotzdem viele hier, die meisten vermutlich, weil sie ebenfalls nicht verstehen, was die ganzen Klammern bedeuten.



Zusammenfassend: Lies bitte erstmal das Einsteiger pdf, die Commandref (wenigstens 1x durcharbeiten, auch wenn man nicht alles sofort versteht) und auch ein paar Wikiartikel. Sonst werden wir uns hier noch oft begegnen und die meisten haben keine Lust mehr, die Grundlagen im Einzelkampf zu erklären. Mag dir ungerecht erscheinen, aber bedenke, das hier jede Woche 5 Leute aufschlagen und wir nicht mehr nachkommen mit Grundlagenschulung.

(Der Vollständgkeit halber
1. Es mag Situationen geben, wo die { fhem("...") } Schreibweise sinnvoll ist, besonders wenn man später mit tatsächlichen Perlcode ergänzen will.
2. Die Anmerkunge, FHEM könne keine "if", ist eventuell bald nicht mehr zutreffend, da es gerade eine Initiative gibt, FHEM um einen IF-Befehl zu erweiter)





Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 16 Februar 2014, 17:43:54
Danke Dir für die ausführliche Erklärung!! Ich schau mir das PDF nochmal genauer an und befolge deine Vorschläge! Merci!!
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: der-Lolo am 16 Februar 2014, 17:46:36
das IF Modul funktioniert übrigens vorzüglich - im Bereich Automatisierung kannst du etwas darüber lesen...
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 18 Februar 2014, 20:17:45
ich hab die ganze Sache jetzt nochmal aus der cfg rausgelöscht und wie empfohlen direkt nur über die Kommandozeile programmiert.
Einfacher, nachvollziehbarer und funktioniert ;)

Zwei Problemstellungen habe ich jetzt:

Ich habe den Hutschienenschalter, wo ich den Tasteranschluss von meinem Torantrieb draufgelegt habe. Zum Öffnen/Schließen des Tores muss der Taster ja nur kurz an, dann gleich wieder aus gehen (1s z.B.). Habe ich es richtig verstanden, dass ich da einen Dummy programmieren muss und dann die Funktion "set on-for"? Wenn ja, würde ich in die Richtung mal weiter experimentieren, ich war mir halt nur nicht sicher.

Zweites Thema:
Ich habe eine Schaltsteckdose mit Leistungsmessung (HM-ES-PMSw1-PI).
Diese wollte ich gerade dem FHEM System hinzufügen.
Dazu habe ich eingegeben
set HMLAN1 hmPairForSec 60
und dann anschließend die Taste an der Steckdose für 5s gedrückt, bis das Licht geblinkt hat.

Es ist in meinem FHEM auch ein neues Gerät erschienen, allerdings mit folgender Bezeichnung: CUL_HM_ID_XXXX_1111B
Habe ich was falsch gemacht? Muss ich vielleicht erst ein Firmware update machen? Wenn ja, wie??

Ich wollte den Aufbau, der hier zu finden ist nachbauen: http://www.meintechblog.de/2014/01/homematic-funk-steckdose-mit-leistungsmessung-deine-waschmaschine-ist-fertig/ (http://www.meintechblog.de/2014/01/homematic-funk-steckdose-mit-leistungsmessung-deine-waschmaschine-ist-fertig/)

Ich wünsch euch allen einen schönen Abend!
Christoph
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: der-Lolo am 18 Februar 2014, 20:30:04
Zitat
Zusammenfassend: Lies bitte erstmal das Einsteiger pdf, die Commandref (wenigstens 1x durcharbeiten, auch wenn man nicht alles sofort versteht) und auch ein paar Wikiartikel. Sonst werden wir uns hier noch oft begegnen und die meisten haben keine Lust mehr, die Grundlagen im Einzelkampf zu erklären. Mag dir ungerecht erscheinen, aber bedenke, das hier jede Woche 5 Leute aufschlagen und wir nicht mehr nachkommen mit Grundlagenschulung.
CUL_HM_ID_Xxx

Xxx ist also Deine HM id? xxx ist die Seriennummer der Steckdose...

Im Comand ref findest du rename.

Änderungen dann bitte irgendwann deine ID wenn du diese hier schon so öffentlich präsentierst...

on-for-timer ist was du suchst für dein Garagentor.
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: Zrrronggg! am 18 Februar 2014, 20:31:48
ZitatIch habe den Hutschienenschalter, wo ich den Tasteranschluss von meinem Torantrieb draufgelegt habe. Zum Öffnen/Schließen des Tores muss der Taster ja nur kurz an, dann gleich wieder aus gehen (1s z.B.). Habe ich es richtig verstanden, dass ich da einen Dummy programmieren muss und dann die Funktion "set on-for"?

Dummy brauchst du keinen.
FS20 und HM Aktoren beherrschen on-for-timer, d.h. die Zeit wird im Aktor gezählt.
Bei andreen Aktoren erledgit FHEM das zählen der Zeit und sendet dann einen OFF befehl.

Bei dir würde es also reichen, den Aktor der das Tor steuert mit
Zitatset Tor on-for-timer 2 
anzusteuern fertig.
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 18 Februar 2014, 20:37:54
rename kenne ich natürlich, das habe ich schon mit verschiedenen Geräten gemacht.
Es müsste doch der Name des Geräts richtig erscheinen und nicht so kryptisch, wie ich geschrieben habe, oder?
Außerdem ist der Channel PWR nicht zu finden, mit dem ich dann die derzeitige Leistungsaufnahme ablesen kann.

On-for-timer ... genau das meinte ich.
Aber ich möchte im FHEM auf der ersten Seite einen "Schalter" haben, den ich dann auf der Weboberfläche drücken kann, um das Tor zu öffen. Wie kriege ich das hin? Nicht mit einem Dummy?
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: Puschel74 am 18 Februar 2014, 20:39:28
Hallo,

zu Frage 1:

Ich hab sie zwar nicht ganz verstanden aber ich versuch mal mein Glück.

Der Hutschienenschalter dürfte vielleicht on-for-timer können - dann brauchst du den Dummy nicht.
Da kann ich aber nur raten da du uns verchweigst welches Gerät das ist  ;)

Zu 2:
Sorry - ich bin gemein  8)

Wir haben einen Bereich Homematic http://forum.fhem.de/index.php/board,22.0.html  (http://forum.fhem.de/index.php/board,22.0.html)und wir haben im Wiki einen Bereich Homematic http://www.fhemwiki.de/wiki/Kategorie:HomeMatic_Components (http://www.fhemwiki.de/wiki/Kategorie:HomeMatic_Components).
Diese hast du schon durchgeschaut?

Diese
ZitatHM-ES-PMSw1-PI
benutze ich auch und ich verstehe auch hier deine Frage nicht ganz.

ZitatHabe ich was falsch gemacht?
Woher sollen wir das wissen?

ZitatEs ist in meinem FHEM auch ein neues Gerät erschienen, allerdings mit folgender Bezeichnung: CUL_HM_ID_00AC_25196B
Und was soll daran falsch sein?
Ist das nicht deine HM-ES-PMSw1-PI?
Wenn du in der Detailansicht, wie im Wiki beschrieben, die verschiedenen Kanäle findest dann sollte das doch passen.
Ein Kanal ist der Schaltkanal, einer der Messkanal, einer ... - das steht aber im verlinkten Wiki.
Du musst dir nur die HM-ES-PMSw1-PI raussuchen und durchlesen.

Kleiner Tipp: Ich nehm meine HM-Geräte immer nach der Anleitung im Wiki bzw. im Homematic-Bereich (wenn ich im Wiki nichts finde) in Betrieb  ;)

Noch drei Bitten am Rande.

Eine Signatur gibt es gratis - du musst sie nur sinnvoll füllen.
Dann müssen wir hier nicht raten welche Geräte du verwendest  8)

Wenn du eine Frage hast die sich absolut nicht durch das Forum oder das Wiki klären lässt und es noch keinen Beitrag gibt wo deine Frage reinpassen würde - mach bitte eine neue Frage auf.

Wenn eine deiner Fragen geklärt ist dann bearbeite bitte deinen ersten Beitrag und stell dem Titel ein (Gelöst) vorne dran und erstell einen neuen letzten Eintrag und beschreib kurz was du wie gemacht hast.
Dann wissen alle das sie in diesem Beitrag eine Lösung finden können.

Danke dir.

Grüße
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 18 Februar 2014, 20:56:13
ZitatDer Hutschienenschalter dürfte vielleicht on-for-timer können - dann brauchst du den Dummy nicht.
Da kann ich aber nur raten da du uns verchweigst welches Gerät das ist  ;)
Es ist der hier: HM-LC-Sw4-DR

Danke für die Tipps, Signatur ist erstellt.

Mit meiner Leistungsmessung habe ich noch Probleme.
Ich habe im Wiki schon alles gelesen über den HM-ES-PMSw1-Pl, finde aber keinerlei Channels in der Detailansicht.
Ich möchte nur keinen Screenshot von meiner Detailansicht machen, sonst werd ich wieder geschimpft ;)

Im Logfile steht zu dem Device:
014.02.18 20:50:24 3: CUL_HM pair: CUL_HM_ID_XXXX_XXXXXX , model unknown serialNr XXXXXXXXX

Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: der-Lolo am 18 Februar 2014, 21:07:08
Das sollte kein schimpfen sein - ich wollte dir nur etwas arkadisch mitteilen das du teilweise Informationen hier ins Netz stellst die es anderen ermöglichen Zugriff auf deine Komponenten zu bekommen.
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 18 Februar 2014, 21:09:13
Zitat von: der-Lolo am 18 Februar 2014, 21:07:08
Das sollte kein schimpfen sein - ich wollte dir nur etwas arkadisch mitteilen das du teilweise Informationen hier ins Netz stellst die es anderen ermöglichen Zugriff auf deine Komponenten zu bekommen.

Keine Angst, ich hab das schon richtig verstanden! Merci!
Wenn du die Komponenten-Details jetzt aus deinen Beiträgen weiter oben noch rauslöscht, sind alle Spuren wieder verwischt.
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 18 Februar 2014, 21:24:57
ZitatMit meiner Leistungsmessung habe ich noch Probleme.
Ich habe im Wiki schon alles gelesen über den HM-ES-PMSw1-Pl, finde aber keinerlei Channels in der Detailansicht.
Ich möchte nur keinen Screenshot von meiner Detailansicht machen, sonst werd ich wieder geschimpft ;)

Im Logfile steht zu dem Device:
014.02.18 20:50:24 3: CUL_HM pair: CUL_HM_ID_XXXX_XXXXXX , model unknown serialNr XXXXXXXXX

Kann mir dazu jemand helfen?
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: der-Lolo am 18 Februar 2014, 21:40:55
Versuch doch mal einen Verbraucher anzuschließen - ne Tischlampe oder so mit ner wattzahl die du kennst...
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 18 Februar 2014, 21:56:52
Zitat von: der-Lolo am 18 Februar 2014, 21:40:55
Versuch doch mal einen Verbraucher anzuschließen - ne Tischlampe oder so mit ner wattzahl die du kennst...

Hab ich gemacht, 20W Tischlampe. Nirgends finde ich was mit 20W.

Im globalen Logfile habe ich jetzt aber folgendes entdeckt:
Use of uninitialized value $val in substitution (s///) at fhem.pl line 1198.
Use of uninitialized value $val in substitution (s///) at fhem.pl line 1199.
Use of uninitialized value $val in concatenation (.) or string at fhem.pl line 1200.
Use of uninitialized value $val in substitution (s///) at fhem.pl line 1198.
Use of uninitialized value $val in substitution (s///) at fhem.pl line 1199.
Use of uninitialized value $val in concatenation (.) or string at fhem.pl line 1200.


Kann es damit zusammenhängen?
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: der-Lolo am 18 Februar 2014, 22:01:24
Sieht nicht schön aus...
Hm - gibt es irgendwelche / in deiner config?
Ich Schätze das du die befehlszeile die man dir ja schon ans Herz gelegt hat benutzt...
Sind vielleicht noch alte Brocken übrig?

Ist fhem aktuell? Versuch mal update Check ggfs. Update...
Evtl. Hilft update Force...

Sonst bin ich auch schon am Ende mit meinem anfängerlatein...
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: Puschel74 am 19 Februar 2014, 05:46:52
Moin,

ich bin mir nicht ganz sicher aber ich meine das ich an der Messschaltdose während der HM-Lan noch in pairforsec war nochmals die Anlerntaste kurz gedrückt habe.
Lösch dein Device mit <delete Name_des_Device> nochmal aus deiner Konfig und setz den HM-Lan nochmal in den Anlernmodus.
Dann an der Dose die Anlerntaste drücken zum Anlernen - also ~4sec. (oder wieviel das sind) - und wenn in FHEM das Device auftaucht nochmal kurz <<4sec. drücken.

Weiters sollte das Device resp. FHEM ein <getConfig> absetzen - so ich das richtig im Kopf habe.
Du musst auch ein bischen Geduld mitbringen.

Was ich noch nicht geschafft habe ist das mir der Messkanal einen Wert anzeigt - dort habe ich immer noch 3?
Das stört mich aber weniger da der Plot funktioniert und in der Detailansicht zum Messkanal Werte angezeigt werden.
Der Schaltkanal funktioniert einwandfrei.

Grüße

P.S.: Ich meine aber im HM-Bereich einen Beitrag zu dieser Messschaltdose gesehen zu haben  8)
Wobei wir wieder hier wären
ZitatWenn du eine Frage hast die sich absolut nicht durch das Forum oder das Wiki klären lässt und es noch keinen Beitrag gibt wo deine Frage reinpassen würde - mach bitte eine neue Frage auf.
Warum habe ich das Gefühl das sich niemand für meine Antworten interessiert  :o
Titel: Antw:blutiger Anfänger ... und kommt nicht weiter
Beitrag von: jager am 19 Februar 2014, 14:02:57
Ich habe aus der fhem.cfg jetzt alles noch einmal rausgelöst und fange nochmal von Vorne an.
Viel ist ja eh noch nicht passiert, dann sind die Fehlermeldungen auch ganz sicher weg.

Ich meld mich dann einfach wieder ;)