ESPNode
Public Member Functions | Public Attributes | List of all members
Base_Generic Class Reference

Ein generisches Objekt für einen Sensor/Actor. Achtung: Nicht zum Einbau bestimmt, sondern nur als Vererbungsobjekt. Ein leeres Objekt als Grundlage für alle Sensoren und Actoren. Jedes spezialisierte Objekt wird als Ableitung dieses Objektes erstellt. Hier werden Grundfähigkeiten für jeden Sensor oder Actor erstellt. More...

#include <base_generic.h>

Public Member Functions

 Base_Generic (void)
 Der Initiator. Hier werden alle Variablen auf ihre Anfangswerte gesetzt. More...
 
void begin (const char *_html_place, const char *_label)
 Legt die Startkonfiguration des Sensors fest. Die übergebenen Variabelen werden in die entsprechenden Objektvariabelen gespeichert. More...
 
void begin (const char *_html_place, const char *_label, const char *_mqtt_name)
 Legt die Startkonfiguration des Sensors fest. Die übergebenen Variabelen werden in die entsprechenden Objektvariabelen gespeichert. More...
 
void begin (const char *_html_place, const char *_label, const char *_mqtt_name, const char *_keyword)
 Legt die Startkonfiguration des Sensors fest. Die übergebenen Variabelen werden in die entsprechenden Objektvariabelen gespeichert. More...
 
void loop (time_t now)
 Eine Funktion die im Hauptprogramm im loop regelmäßig aufgerufen wird. Hier als leere Funktion implementiert, kann im abgeleiteten Objekt gefüllt werden. Es ist der einzige Ort in dem das Modul Rechenzeit bekommt, sollte sparsam genutzt werden. More...
 
bool set (const String &_keyword, const String &_value)
 Der Komandointerpreter. Hier als leere Funktion implementiert, kann im abgeleiteten Objekt gefüllt werden. Über die Set Funktion werden alle Kommandos gescheusst. Das Modul entscheidet selber ob und wie es auf das übergebene Keywort reagiert. More...
 
bool keyword_match (const String &_keyword)
 Prüft ob das übergebene keyword dem hinterlegten keyword entspricht. More...
 
void html_update ()
 Sendet ein Zustandsupdate an den Webbrowser. Sendet alle benötigten Daten um eine Zustandsänderung auf der Webseite für dieses Modul darzustellen. Kann von der abgeleiteten Klasse genutzt weden, muss aber nicht. Um die Funktion zu nutzen müssen die zu sendenden Daten als Teil-JSON (ohne geschweifte Klammern) in der Variablen "html_json" hinterlegt sein. More...
 
void html_init ()
 Initialisierung einer Webseite Wenn sich ein Browser verbindet und die Webseite des Nodes aufruft, wird diese Funtion durch das Hauptprogramm aufgerufen. Die Funktion stellt ein Teil-JSON mit allen Initialisierungsdaten in "html_json" bereit. Dieses sendet das Hauptprogramm mittels Message als Websocket an den Browser. More...
 

Public Attributes

String keyword
 Das gespeicherte Schlüsselword für diesen Sensor/Actor. More...
 
String html_place
 Der Einbauort für diesen Sensor/Actor, dient auch als Schlüsselwort wenn die Änderung durch die Webseite verursacht wird. More...
 
String label
 Eine Beschriftung für die Webseite. Wird sie gesetzt, wird sie auch als Schlüsselwort genutzt. More...
 
bool is_state = false
 Ein Schalter der angibt ob der Nodestatus aus diesem Modul genommen wird. Macht nur Sinn bei einem Schalter und muss dann in der abgeleiteten Klasse auf true gesetzt werden. More...
 
String state
 Der aktuelle State des Nodes wird hier abgelegt (nur wenn dieses Modul den State setzt) More...
 
bool html_has_info = false
 In der abgeleiteten Klasse wird hier auf "true" gesetzt wenn dieses Modul Daten für die Seite "Systeminfo" bereitstellt. More...
 
String html_info
 Systeminformationen zum Sensor für die Webseite als json abgespeichert. Dieser String muss durch das abgeleitete Objekt gefüllt werden. Dabei gilt für jeden Systeminfowert: ""html_placeX"+":"+"labelX"+"MesswertX"+"EinheitX", ... " Hier muss immer ein komplettes, gültiges Teil-JSON stehen! More...
 
String html_json
 Informationen zum Sensor für die Webseite als json abgespeichert; Dieser String muss durch das abgeleitete Objekt gefüllt werden. Dabei gilt für jeden Messwert: ""html_placeX"+":"+"labelX"+"MesswertX"+"EinheitX", ... ". More...
 
bool html_json_filled = false
 Schalter: Wird wahr wenn html_json gefüllt ist. Die Rücksetzung des Schalters erfolgt durch das Hauptprogramm. More...
 
bool mqtt_has_info = false
 In der abgeleiteten Klasse wird hier auf "true" gesetzt wenn dieses Modul Telemetriedaten bereitstellt. More...
 
String mqtt_info
 Sollte es in diesem Modul telemetrieähnliche Daten geben, werden diese hier als Teil-JSON eingetragen. More...
 
bool mqtt_stat_changed = false
 Schalter ob "obj_mqtt_state" verändert worden ist und neu (=true) übertragen werden soll. Rücksetzung erfolgt im Hauptprogramm. More...
 
bool mqtt_has_stat = false
 In der abgeleiteten Klasse wird hier auf "true" gesetzt wenn dieses Modul Statusdaten bereitstellt. More...
 
String mqtt_stat
 Der MQTT Status Dieser String muss durch das abgeleitete Objekt gefüllt werden. Dabei gilt für jeden Messwert: "mqtt_nameX"+":"+"MesswertX",... Hier steht immer ein abgeschlossenes Teil-JSON ohne Klammern. More...
 
String mqtt_name
 Die Bezeichnung für den ersten Wert. More...
 

Detailed Description

Ein generisches Objekt für einen Sensor/Actor. Achtung: Nicht zum Einbau bestimmt, sondern nur als Vererbungsobjekt. Ein leeres Objekt als Grundlage für alle Sensoren und Actoren. Jedes spezialisierte Objekt wird als Ableitung dieses Objektes erstellt. Hier werden Grundfähigkeiten für jeden Sensor oder Actor erstellt.

Constructor & Destructor Documentation

◆ Base_Generic()

Base_Generic::Base_Generic ( void  )

Der Initiator. Hier werden alle Variablen auf ihre Anfangswerte gesetzt.

Member Function Documentation

◆ begin() [1/3]

void Base_Generic::begin ( const char *  _html_place,
const char *  _label 
)

Legt die Startkonfiguration des Sensors fest. Die übergebenen Variabelen werden in die entsprechenden Objektvariabelen gespeichert.

Parameters
_html_placewird in html_place gespeichert.
_labelwird in label gespeichert

◆ begin() [2/3]

void Base_Generic::begin ( const char *  _html_place,
const char *  _label,
const char *  _mqtt_name 
)

Legt die Startkonfiguration des Sensors fest. Die übergebenen Variabelen werden in die entsprechenden Objektvariabelen gespeichert.

Parameters
_html_placewird in html_place gespeichert.
_labelwird in label gespeichert
_mqtt_namewird in mqtt_name gespeichert

◆ begin() [3/3]

void Base_Generic::begin ( const char *  _html_place,
const char *  _label,
const char *  _mqtt_name,
const char *  _keyword 
)

Legt die Startkonfiguration des Sensors fest. Die übergebenen Variabelen werden in die entsprechenden Objektvariabelen gespeichert.

Parameters
_html_placewird in html_place gespeichert.
_labelwird in label gespeichert
_mqtt_namewird in mqtt_name gespeichert
_keywordwird in keyword gespeichert

◆ html_init()

void Base_Generic::html_init ( )

Initialisierung einer Webseite Wenn sich ein Browser verbindet und die Webseite des Nodes aufruft, wird diese Funtion durch das Hauptprogramm aufgerufen. Die Funktion stellt ein Teil-JSON mit allen Initialisierungsdaten in "html_json" bereit. Dieses sendet das Hauptprogramm mittels Message als Websocket an den Browser.

◆ html_update()

void Base_Generic::html_update ( )

Sendet ein Zustandsupdate an den Webbrowser. Sendet alle benötigten Daten um eine Zustandsänderung auf der Webseite für dieses Modul darzustellen. Kann von der abgeleiteten Klasse genutzt weden, muss aber nicht. Um die Funktion zu nutzen müssen die zu sendenden Daten als Teil-JSON (ohne geschweifte Klammern) in der Variablen "html_json" hinterlegt sein.

◆ keyword_match()

bool Base_Generic::keyword_match ( const String &  _keyword)

Prüft ob das übergebene keyword dem hinterlegten keyword entspricht.

Parameters
_keywordDas zu prüfende keyword
Returns
true bei Übereinstimmung sonst false

◆ loop()

void Base_Generic::loop ( time_t  now)

Eine Funktion die im Hauptprogramm im loop regelmäßig aufgerufen wird. Hier als leere Funktion implementiert, kann im abgeleiteten Objekt gefüllt werden. Es ist der einzige Ort in dem das Modul Rechenzeit bekommt, sollte sparsam genutzt werden.

◆ set()

bool Base_Generic::set ( const String &  _keyword,
const String &  _value 
)

Der Komandointerpreter. Hier als leere Funktion implementiert, kann im abgeleiteten Objekt gefüllt werden. Über die Set Funktion werden alle Kommandos gescheusst. Das Modul entscheidet selber ob und wie es auf das übergebene Keywort reagiert.

Returns
true wenn das Modul für den übergebenen Befehl zuständig ist, sonst false.

Member Data Documentation

◆ html_has_info

bool Base_Generic::html_has_info = false

In der abgeleiteten Klasse wird hier auf "true" gesetzt wenn dieses Modul Daten für die Seite "Systeminfo" bereitstellt.

◆ html_info

String Base_Generic::html_info

Systeminformationen zum Sensor für die Webseite als json abgespeichert. Dieser String muss durch das abgeleitete Objekt gefüllt werden. Dabei gilt für jeden Systeminfowert: ""html_placeX"+":"+"labelX"+"MesswertX"+"EinheitX", ... " Hier muss immer ein komplettes, gültiges Teil-JSON stehen!

◆ html_json

String Base_Generic::html_json

Informationen zum Sensor für die Webseite als json abgespeichert; Dieser String muss durch das abgeleitete Objekt gefüllt werden. Dabei gilt für jeden Messwert: ""html_placeX"+":"+"labelX"+"MesswertX"+"EinheitX", ... ".

◆ html_json_filled

bool Base_Generic::html_json_filled = false

Schalter: Wird wahr wenn html_json gefüllt ist. Die Rücksetzung des Schalters erfolgt durch das Hauptprogramm.

◆ html_place

String Base_Generic::html_place

Der Einbauort für diesen Sensor/Actor, dient auch als Schlüsselwort wenn die Änderung durch die Webseite verursacht wird.

◆ is_state

bool Base_Generic::is_state = false

Ein Schalter der angibt ob der Nodestatus aus diesem Modul genommen wird. Macht nur Sinn bei einem Schalter und muss dann in der abgeleiteten Klasse auf true gesetzt werden.

◆ keyword

String Base_Generic::keyword

Das gespeicherte Schlüsselword für diesen Sensor/Actor.

◆ label

String Base_Generic::label

Eine Beschriftung für die Webseite. Wird sie gesetzt, wird sie auch als Schlüsselwort genutzt.

◆ mqtt_has_info

bool Base_Generic::mqtt_has_info = false

In der abgeleiteten Klasse wird hier auf "true" gesetzt wenn dieses Modul Telemetriedaten bereitstellt.

◆ mqtt_has_stat

bool Base_Generic::mqtt_has_stat = false

In der abgeleiteten Klasse wird hier auf "true" gesetzt wenn dieses Modul Statusdaten bereitstellt.

◆ mqtt_info

String Base_Generic::mqtt_info

Sollte es in diesem Modul telemetrieähnliche Daten geben, werden diese hier als Teil-JSON eingetragen.

◆ mqtt_name

String Base_Generic::mqtt_name

Die Bezeichnung für den ersten Wert.

◆ mqtt_stat

String Base_Generic::mqtt_stat

Der MQTT Status Dieser String muss durch das abgeleitete Objekt gefüllt werden. Dabei gilt für jeden Messwert: "mqtt_nameX"+":"+"MesswertX",... Hier steht immer ein abgeschlossenes Teil-JSON ohne Klammern.

◆ mqtt_stat_changed

bool Base_Generic::mqtt_stat_changed = false

Schalter ob "obj_mqtt_state" verändert worden ist und neu (=true) übertragen werden soll. Rücksetzung erfolgt im Hauptprogramm.

◆ state

String Base_Generic::state

Der aktuelle State des Nodes wird hier abgelegt (nur wenn dieses Modul den State setzt)


The documentation for this class was generated from the following files: