Inhaltsverzeichnis
- Einordnung und Nutzen
- Zielgruppe
- Voraussetzungen
- Lernziele
- Seminarinhalte
- Praxisübungen
- Technische Arbeitsumgebung
Einordnung und Nutzen
Eigener Code wird an den FHEM-Lebenszyklus angepasst, blockiert die Ereignisverarbeitung nicht und besitzt klare Schnittstellen, Fehlerpfade und Tests.
Zielgruppe
Erfahrene FHEM-Anwender, Administratoren, Entwickler und Integratoren.
Voraussetzungen
Sehr gute FHEM-Kenntnisse und grundlegende Programmiererfahrung.
Lernziele
Nach Abschluss des Seminars können die Teilnehmenden die folgenden Aufgaben systematisch bearbeiten:
- Perl-Grundlagen anwenden: Skalare, Arrays, Hashes und Referenzen verwenden. Code mit kleinen Funktionen aufbauen.
- FHEM-Datenstrukturen nutzen: Gerätehash, Attribute und Readings abgrenzen. Fehlende Devices robust behandeln.
- 99_myUtils entwickeln: Funktionsdatei anlegen. Funktion laden und testen.
- Modullebenszyklus umsetzen: Initialize und Funktionszuordnung erstellen. Status, Internals und Readings gestalten.
- Events und Timer verarbeiten: Modul für Events registrieren. Zustandsautomat abbilden.
- Kommunikation und IO trennen: Logisches Device und IO-Device trennen. Eingehende Daten validieren.
- Performance sichern: Blockierende Aufrufe identifizieren. Langläufer reproduzierbar analysieren.
- Test und Dokumentation: Testfälle für Define, Set, Get, Events und Neustart formulieren. Versionierung und Rückfall vorbereiten.
Seminarinhalte
Kapitel 1: Perl-Grundlagen anwenden
- Schritt 1: Skalare, Arrays, Hashes und Referenzen verwenden.
- Schritt 2: Bedingungen, Schleifen und Funktionen strukturieren.
- Schritt 3: Reguläre Ausdrücke einsetzen.
- Schritt 4: undefinierte Werte und Fehler behandeln.
- Schritt 5: Code mit kleinen Funktionen aufbauen.
Kapitel 2: FHEM-Datenstrukturen nutzen
- Schritt 1: Gerätehash, Attribute und Readings abgrenzen.
- Schritt 2: Werte mit vorgesehenen Helfern lesen.
- Schritt 3: Readings atomar aktualisieren.
- Schritt 4: Befehle über definierte Schnittstellen ausführen.
- Schritt 5: Fehlende Devices robust behandeln.
Kapitel 3: 99_myUtils entwickeln
- Schritt 1: Funktionsdatei anlegen.
- Schritt 2: Parameter und Rückgabewerte definieren.
- Schritt 3: FHEM-Werte lesen und Ergebnisse bereitstellen.
- Schritt 4: Logik aus Automationen auslagern.
- Schritt 5: Funktion laden und testen.
Kapitel 4: Modullebenszyklus umsetzen
- Schritt 1: Initialize und Funktionszuordnung erstellen.
- Schritt 2: Define und Undef mit Prüfung umsetzen.
- Schritt 3: Set- und Get-Schnittstelle entwickeln.
- Schritt 4: Auf Attribute reagieren.
- Schritt 5: Status, Internals und Readings gestalten.
Kapitel 5: Events und Timer verarbeiten
- Schritt 1: Modul für Events registrieren.
- Schritt 2: Eventliste filtern.
- Schritt 3: Interne Timer setzen und entfernen.
- Schritt 4: Neustart und Reinitialisierung berücksichtigen.
- Schritt 5: Zustandsautomat abbilden.
Kapitel 6: Kommunikation und IO trennen
- Schritt 1: Logisches Device und IO-Device trennen.
- Schritt 2: Nachrichtenformat und Warteschlange entwerfen.
- Schritt 3: Timeouts und Wiederholungen modellieren.
- Schritt 4: Kommunikation nichtblockierend ausführen.
- Schritt 5: Eingehende Daten validieren.
Kapitel 7: Performance sichern
- Schritt 1: Blockierende Aufrufe identifizieren.
- Schritt 2: Hintergrundverarbeitung auswählen.
- Schritt 3: Callbacks und Fehlerpfade behandeln.
- Schritt 4: Eventmenge und Timer messen.
- Schritt 5: Langläufer reproduzierbar analysieren.
Kapitel 8: Test und Dokumentation
- Schritt 1: Testfälle für Define, Set, Get, Events und Neustart formulieren.
- Schritt 2: Simulierte Eingaben erstellen.
- Schritt 3: Logging und Fehlermeldungen gestalten.
- Schritt 4: Befehlsreferenz und Attribute dokumentieren.
- Schritt 5: Versionierung und Rückfall vorbereiten.
Praxisübungen
- 99_myUtils-Funktion entwickeln
- Hilfsmodul mit Set, Get und Timer erstellen
- Nichtblockierenden Abruf umsetzen
- Testmatrix und Modulreferenz erstellen
Technische Arbeitsumgebung
Die Übungen erfolgen in einer getrennten FHEM-Trainingsumgebung mit vorbereiteten Testgeräten, simulierten Ereignissen und kontrollierten Schnittstellen. Änderungen werden nach jedem Arbeitsschritt geprüft, gespeichert und anhand definierter Testfälle abgenommen.
Fachbereichsleitung und Seminarorganisation
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Erfahrene FHEM-Anwender, Administratoren, Entwickler und Integratoren. |
| Voraussetzungen: | Sehr gute FHEM-Kenntnisse und grundlegende Programmiererfahrung. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, angeleitete Konfiguration, praktische Übungen am System, strukturierte Fehleranalyse |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
