****************************************************************************
***   Informationen zum Programm XML_server_threading_20181009_1700.py   ***
****************************************************************************

-----------------------------------------------------
Haupt-Programm: XML_server_threading_20190308_1000.py
Versionsdatum:	08.03.2019

Das Programm ist dazu gedacht, alle Events der HomeMatic ohne Zeitverzug sofort zu empfangen und unmittelbar darauf reagieren zu können.
Das Programm lädt alle notwendigen Module und startet den Thread mit dem XML-RPC-Server. 

1. In der Prozedur 'mailtest' wird der tatsächliche Mailversand angestoßen.
2. Die Prozeduren 'denList', 'devList' und listdev1', als auch 'events' und 'neuDevs' werden die von der HomeMatic gesammelten Daten ausgegeben (diese Prozeduren werden über das Manü gesartet)
3. Prozedur 'schreibdaten' sichert diese Daten auf dem lokalen Datenträger
4. Mit 'XMLconfig' werden die notwendigen Daten aus der Konfigurationsdatei eingelesen.

5. 'Script_Start' sendet Daten an die HomeMatic (damit werden Seriennummern und Klartext aller Geräte abgeholt)
HINWEIS: Der Hersteller eQ-3 hatte mit HomeMatic Firmware 2.27.8 den Zugriff auf den ServicePort 8181 insoweitgeändert, daß mit dem bisherigen Python Programm kein Zugriff mehr erfolgen konnte. Dieses Problem wurde mit der aktuellen Ausgabe des Haupt-Programms behoben.

6. 'XMLserver' startet den XML-RPC Server (dieser empfängt dann alle von der HomeMatic gesendeten XML-RPC Daten (hier MÜSSEN alle Funktionen definiert sein, die die HomeMatic per XML-RPC bedient).

Im Hauptprogramm wird in den Zeilen 351 bis 356 die Alarmbedingung definiert. Hier kann, je nach Zeile, die Seriennummer oder der Klartext des Homematic Gerätes verwendet werden. Außerdem werden alle Initiierungen gestartet und die Konfigurationsdateien eingelesen


Ablauf:

1. Programm 'XML_server_threading_20190308_1000.py' starten. (Jetzt können Daten empfangen werden)
2. Programm 'XMLclient_EinAus_20181109_2000.py' starten (HomeMatix XML-RPC Senden starten)
3. Alle EventBlöcke werden angezeigt (Aufgelaufene Anzahl und das jeweilige Datum/ Uhrzeit).

4. Programm 'XMLclient_EinAus_20181109_2000.py' erneut starten und Menüpunkt 0 auswählen (Client-STOP).

5. Im Programm 'XML_server_threading_20190308_1000.py''strg C' drücken.
   Damit wird der Datenempfang gestopt und das Menü angezeigt
6. Beliebige Menüeinträge auswählen.

7 Mit Menüeingabe '0' das Programm beenden


Notwendige Dateien:
	XMLclient_EinAus_20181109_2000.py
	MOD_HMmail_20181006_1943.py
	passwort_neu.py
	config_XML_RPC.txt
	configMail.txt               
        XMLrpc_LIESMICH.TXT
---------------------------------------------------



Datei:	XMLclient_EinAus_20181109_2000.py

Versionsdatum:	09.11.2018

Mit diesem separaten Python-Programm wird der HomeMatic mitgeteilt, daß sie mit dem Senden der Daten beginnen kann.
Über diverse Menüpunkte könnne die notwendigen Parameter (temporär) geändert werden und der (HomeMatic) Client gestartet und gestopt werden.
---------------------------------------------------



Datei:		MOD_HMmail_20181006_1943.py
Versionsdatum:  06.10.2018

Dieses Programm wird vom Hauptprogramm automatisch importiert und als Modul 'Email' bereitgestellt.
Damit wird die tatsächliche Verbindung zum E-Mail Account hergestellt und eine reine Text-Nachricht versendet
---------------------------------------------------



Datei:		passwort_neu.py
Versiondatum:	01.10.2018

Um das E-Mail Passwort nicht unverschlüsselt in Dateien zu speichern, wurde ein eigener Algorythmus zur einfachen Verschlüsselung entwickelt. Dazu ist in der Konfigurationsdatei ein "Verschlüsselungsstring" abgelegt, mit dem das Passwort dann verschlüsselt abgespeichert werden kann.
Nach Programmstart wird das Mail-Passwort in Klartext eingegeben. Nach Betätigung von 'enter/ Return' wird eine Reihe mit Zahlenkombinationen ausgegeben. Diese Zahlen müssen genau so, wie sie am Bildschirm erscheinen in die Datei 'configMail.txt' eingegeben werden. Beim XML-Mailversand wird diese Kombination dann wieder durch den 'Verschlüsselungsstring' dekodiert und verwendet.




#################################################################################
ALLE voranstehenden Dateien müssen sich im gleichen, lokalen Verzeichnis befinden
#################################################################################




^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	Fehlermeldungen bitte an pythonweb@online.de
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^