Formatierung funktioniert nicht

Begonnen von walter56, 05 Mai 2014, 14:26:15

Vorheriges Thema - Nächstes Thema

walter56

Hallo zusammen
Erst mal ein DICKES Lob an alle Beteiligten :). Ich bin immer wieder überrascht was man mit FHEM alles machen kann. Da ich noch Anfänger bin (als solcher sehe ich mich) habe ich eine Frage:
Wenn ich meinen Code so schreibe funktioniert alles :)

define AbsFeuchtTimer at +*00:03:00 {{AbsFeuchte("be_AbsFeuchtGarten","ga_Temperatur")};;\
  {AbsFeuchte("be_AbsFeuchtWintergarten","wg_Temperatur")};;\
  {AbsFeuchte("be_AbsFeuchtDachboden","db_Temperatur")};;}


Leider ist das für mich schlechter lesbar :-\ als

define AbsFeuchtTimer at +*00:03:00 \
{\
    {AbsFeuchte("be_AbsFeuchtGarten","ga_Temperatur")};;\
    {AbsFeuchte("be_AbsFeuchtWintergarten","wg_Temperatur")};;\
    {AbsFeuchte("be_AbsFeuchtDachboden","db_Temperatur")};;\
}

Klammern sind übersichtlicher und die Zeilen kürzer und pro Zeile eine Funktion (Aufgabe)
Nur im letzten Fall wird die erste Zeile {AbsFeuchte("be_AbsFeuchtGarten" .....
nicht ausgeführt! :-[
Kann mir jemand erklären warum?
Vielen Dank schon mal im voraus.

Walter



Raspberry Pi mit HMLAN & EnOcean: Eltako FUD14, FB dect: DECT 200,HomeMatic: HM-LC-Bl1PBU-FM, HM-SWI-3-FM,HM-CC-RT-DN, HM-Sen-MDIR-O,HM-WDS10-TH-O, HM-WDS40-TH-I
Abfragen: Solarlog, Telefon, Internet Radio, TTS und abfrage verschiedenen Interenseiten HTTPMO

marvin78

Mach es dir einfach und editiere NICHT direkt die fhem.cfg sondern nutze das Webinterface zum editieren und anlegen deiner Funktionen/Devices. Dann sparst du dir die doppelten ; und die \.

Dein at kann dann so aussehen und wäre noch übersichtlicher:


define AbsFeuchtTimer at +*00:03:00 {
    AbsFeuchte("be_AbsFeuchtGarten","ga_Temperatur");
    AbsFeuchte("be_AbsFeuchtWintergarten","wg_Temperatur");
    AbsFeuchte("be_AbsFeuchtDachboden","db_Temperatur");
}

walter56

Danke für die schnelle Antwort! :) Das "Webinterface" ist mir aber neu da muss ich mich doch noch etwas  ::)einlesen. Der Code gefällt mir wirklich noch besser! :)
Mal etwas im Forum stöbern oder Tante Google fragen!
Gruß Walter
Raspberry Pi mit HMLAN & EnOcean: Eltako FUD14, FB dect: DECT 200,HomeMatic: HM-LC-Bl1PBU-FM, HM-SWI-3-FM,HM-CC-RT-DN, HM-Sen-MDIR-O,HM-WDS10-TH-O, HM-WDS40-TH-I
Abfragen: Solarlog, Telefon, Internet Radio, TTS und abfrage verschiedenen Interenseiten HTTPMO

betateilchen

was willst Du da bei Google finden?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ph1959de

Zitat von: walter56 am 05 Mai 2014, 15:14:50
Mal etwas im Forum stöbern oder Tante Google fragen!
Oder die Wiki-Seite http://www.fhemwiki.de/wiki/Konfiguration lesen und korrigieren, ergänzen, erweitern (lassen).

Gruß, Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

walter56

Hallo
Wenn ich es richtig verstanden habe arbeite ich mit dem Webinterface. Bis jetzt habe ich immer im IE über ....8083\fhem den integrierten Editor genommen. Leider hat dieser immer gleich einen Zeilenumbruch gemacht und war nicht sehr komfortabel. Jetzt bin ich beim Lesen über den neuen Editor gestolpert und habe den sofort mit den 2 Zeilen in der FHEM
attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB codemirrorParam { "theme":"blackboard", "lineNumbers":true }


aktiviert! Wauh das ist der Wahnsinn! :-* Jetzt brauche ich nicht mehr zwischen IE und Nodepad++ hin und her zu kopieren!

Leider habe ich Dich marvin78 noch nicht richtig verstanden :-\ ich habe den Code von Dir eingebaut und bekomme nun die Fehlermeldung
Unknown command AbsFeuchte("be_AbsFeuchtGarten","ga_Temperatur"), try help.
Unknown command AbsFeuchte("be_AbsFeuchtWintergarten","wg_Temperatur"), try help.
Unknown command AbsFeuchte("be_AbsFeuchtDachboden","db_Temperatur"), try help.
Unknown command }, try help.


Wie hast du das gemeint : "editiere NICHT direkt die fhem.cfg sondern nutze das Webinterface zum editieren"
Danke und Gruß Walter


Raspberry Pi mit HMLAN & EnOcean: Eltako FUD14, FB dect: DECT 200,HomeMatic: HM-LC-Bl1PBU-FM, HM-SWI-3-FM,HM-CC-RT-DN, HM-Sen-MDIR-O,HM-WDS10-TH-O, HM-WDS40-TH-I
Abfragen: Solarlog, Telefon, Internet Radio, TTS und abfrage verschiedenen Interenseiten HTTPMO

marvin78

#6
Du klickst in der Detailansicht deines ats, notifys ... auf "DEF" und kannst dort deinen Code editieren. Alle Escape-Zeichen werden dann nach dem Klick auf "modify..." von FHEM gesetzt. Danach noch ein "Save config" und die Modifizierung landet automatisch auch in deiner Config Datei.

Anlegen eines notify geht dann z.B. so (Kommandozeile oben):

define not.001.irgendwas notify XXX {}

Dann gelangst du automatisch direkt in die Detailansicht des neuen notifys, kannst DEF anklicken und loslegen. Mit dieser Vorgehensweise kannst du das Ändern in der cfg-Datei komplett vergessen und (fast) alles direkt über das Frontend machen.

Ich empfehle dir, das Einsteiger-PDF zu lesen.

walter56

Ahh Danke damit konnte ich bis jetzt nichts anfangen! Frage wo wird das dann gespeicher? In der fhem.cfg?

Gruß Walter  & schon mal vielen Dank!
Raspberry Pi mit HMLAN & EnOcean: Eltako FUD14, FB dect: DECT 200,HomeMatic: HM-LC-Bl1PBU-FM, HM-SWI-3-FM,HM-CC-RT-DN, HM-Sen-MDIR-O,HM-WDS10-TH-O, HM-WDS40-TH-I
Abfragen: Solarlog, Telefon, Internet Radio, TTS und abfrage verschiedenen Interenseiten HTTPMO

marvin78

Wie geschrieben, wird nach dem Klick auf modify erstmal das device aktualisiert (im Speicher) und es funktioniert sofort, wie angelegt. Nach dem Klick auf den "Save config" Button landet die Änderung dann auch in der fhem.cfg.

betateilchen

Zitat von: marvin78 am 05 Mai 2014, 17:13:17
Nach dem Klick auf den "Save config" Button landet die Änderung dann auch in der fhem.cfg.

sofern man nicht mit configDB arbeitet... (denn dann landet das automatisch in der Datenbank)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marvin78

Er fragte aber nach der fhem.cfg und ich ging (natürlicherweise) nicht davon aus, dass jemand, der die cfg editiert, configDB benutzt.

betateilchen

Warum jemand die fhem.cfg editiert, wird sich mir ohnehin nie erschließen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marvin78

#12
Da sind wir uns einig.

Edit: Aber es scheinen doch verdammt viele nicht zu wissen, dass es anders geht und/oder, dass es viele Vorteile bringt, nicht direkt die cfg zu editieren.

Puschel74

Hallo,

hier ist einer der "vielen" Beiträge wo kurz umrissen wird wie die notify und at anlegen kannst ohne die fhem.cfg zu bearbeiten.
http://forum.fhem.de/index.php/topic,17496.msg115065.html#msg115065
Es lassen sich so natürlich auch Geräte anlegen und Attribute vergeben.
Wobei ich letzteres aber über die Detailansicht machen würde.

ZitatAber es scheinen doch verdammt viele nicht zu wissen, dass es anders geht und/oder, dass es viele Vorteile bringt, nicht direkt die cfg zu editieren.
Das stimmt leider.
Ich habe jetzt aber keine Muße das auchnoch anzupinnen da idR die angepinnten Beiträge sowieso nicht beachtet werden.

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.

marvin78

Leider sprechen eben auch viele Wiki-Artikel noch vom editieren der cfg, in Blogs wird davon geredet und auch hier im Forum schreiben viele "Hilfesteller" vom editieren der cfg. Von alten Beiträgen, die man über google findet, ganz zu schweigen. Ich lese im gesamten Forum viel mit und mir fällt immer wieder auf, dass viele Probleme vermieden werden könnten, wenn das direkte editieren nicht mehr "Standard" wäre und auch dass es viele Missverständnisse bei der Hilfe für Neulinge gibt, die durch die unterschiedliche Vorgehensweise entstehen.

Allerdings ist mir bisher, was Missverständnisse angeht, das Modul IF am negativsten aufgefallen. Warum man sowas braucht, habe ich bis heute nicht verstanden.