Anfängerfragen für die FHEM Entwicklung

Begonnen von jlp2097, 08 März 2015, 21:41:56

Vorheriges Thema - Nächstes Thema

jlp2097

Hallo zusammen,

ich wollte mir die gnuplot-Unterstützung in FHEM mal etwas zur Brust nehmen. Diese scheint ja aktuell keinen Maintainer zu haben. Nun kann ich zwar (etwas  :)) programmieren, Perl gehörte aber bisher nicht unbedingt zu den von mir als lernenswert erachteten Sprachen (nicht böse sein ;))

Ich habe die Forensuche zwar benutzt, konnte mir ein paar Fragen aber nicht beantworten:


  • Wenn meine Tests richtig sind, werden Module von Perl gecacht, d.h. sie werden beim Starten geladen und dann bei Änderungen nicht mehr neugeladen. Das ist für die Entwicklung natürlich ungeschickt - ich habe nicht vor, nach jeder Änderungen Fhem neuzustarten. Gibt es hierfür eine Lösung / wo muss ich hingucken?
  • Gibt es IDE/Debugger o.ä. in irgendeiner Form? Die meisten Forenbeiträge, die ich gefunden habe, nutzen Text-Editoren sowie für das Debuggen eine Variation von printf / log-Anweisungen / Umleitung des Konsolenoutputs in entsprechende Logs.

Vielleicht sollte es auch einen Wiki-Eintrag für die FHEM-Programmier-Einsteiger geben. Ich fände es gut :-) Und ich meine nicht den Einstieg in die Modul-Entwicklung, sondern eher allgemeine Entwicklungstipps.

Vielen Dank im Voraus,
Michael
Raspi mit CUL V3
Max:Thermostat+, Wandthermostat+, Fensterkontakte
Homematic: HM-LGW-O-TW-W-EU-2, HM-Sec-RHS, Funkschaltaktor mit Sirene, Fensterkontakte
Sonstiges: Viessmann via VControld und Optolink, Sensoren DS18B20, DHT11, Reedkontakte, BME680, viele diverse Shellys, diverse sonstige

Markus Bloch

Zu deinen Fragen:

1. der Befehl "reload <Modulname>" lädt das entsprechende Modul neu.
2. Perl ist eine Skript-Sprache, die einfachste Methode sind da eben print/log-Anweisungen. Ich persönlich nutze Notepad++ als Editor wegen Syntax-Highlighting und anderen nützlichen Features. Debugging dann durch Log-Anweisungen (die man ja sowieso einbauen sollte). Dann setze ich den Verbose für das entsprechende Device auf 5 und schaue, was es macht.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)