SensorAndSwitch Haus-Automation auf Webserver-Basis

@SF1975: Wo steht denn "manuelles"? Meinst du "manuelles Schalten", das wird von sasap nach jeweiliger Zustandsveränderung analysiert.


-@benne007: Vielen Dank für die Info. Das heißt, dass es keine generellen Probleme mit dem Update gibt.


-@hausdi: Die Scripte sascache.sh und sasswitch.sh rufen die PHP-Dateien sasap.php und sasag.php auf und nach Abarbeitung wieder sich selbst. sasag.php liest alle Gerätedaten ein und aktuallisiert diese in der Datenbank. sasap.php ist für das Abarbeiten der automatischen Schaltvorgänge zuständig. Der cron-Eintrag startet die Shellscripte beim Neustart oder wenn sie einmal nicht laufen. Dieses Konstrukt musst du auf deinen Pi2 ebenfalls so einrichten, dass es funktioniert. Ggf. die Pfade anpassen.


-@Elefantenmaus: Dass der Aufruf von doitWetter.php im Browser kein Ergebnis bringt, zeigt mir, dass etwas schon im PDF-Erzeugungsteil nicht stimmen kann. Da der letzte Update sehr umfangreich war, könnte es sein, dass nicht alle Dateien komplett entpackt wurden, denn gerade der PDF-Teil ist sehr groß. Der PHP-Interpreter könnte mittendrin abgebrochen haben. Ggf. nochmal die ZIP-Datei manuell herunterladen und per FTP oder SAMBA draufschieben. Das Verzeichnis include/html2pdf/_tcpdf_5.0.002/cache muss beschreibbar sein.


-@koyaanisqatsi: Das sieht mir wegen der Umlaute nach einer Fehlinterpretation der Header-Daten vom Browser aus. Kann es eventuell sein, dass du ihn nicht auf automatisch sondern fest auf UTF-8 stehen hast?


-Das Ganze ist jetzt mal so auf die Schnelle geantwortet, denn momentan komme ich nicht dazu an SAS weiter zu basteln. Erst wieder in den nächsten Tagen... ;)
 
Hallo,
Ich meinte damit, ob es eine Art Textdatei gibt, als der sich SAS den Textbaustein "manuelles Schalten über..." nimmt ;)
 
Nein, das ist Programmcode in der sasap.php.
 
Hallo JL3,

habe mal die Hinweise aus Post #1661 beachtet und das Verzeichnis "include/html2pdf/_tcpdf_5.0.002/cache" beschreibbar gemacht
und den PI neugestartet. Leider mit den gleichen Fehler "das PDF-Erzeugungsteil" erstellt keine PDF-Datei und die "psgWetterdaten.php" erzeugt
weiterhin nur 2 PDF-Dateien mit 0 Byte im log Verzeichnis des PI.

Habe dann mal ein neues Image für den PI (" Raspbian wheezy" direkt von der Homepage "raspberrypi.org" geladen ) erzeugt und alles laut
deiner Anleitung auf deiner Homepage eingestellt. Auch hier kein positives Ergebnis wegen der PDF-Dateien.

Mit dem fertigen Image "sas4pi-101.img" auch hier kein Ergebnis.

Irgendwo fehlt auf meinen PI ein Script oder eine Freischaltung einer Funktion damit die Sache mit der PDF-Erzeugung funktioniert.

Alle anderen Scripte auf dem PI laufen ohne Probleme.

Kann ich die Funktion des "PDF-Erzeugungsteils" noch auf eine andere Weise testen um den Fehler zu finden.

Mit besten Grüssen

ElefantenMaus
 
Hallo,
bezüglich der Umlaute:


  • Der Strato-Communicator zeigt die Mails mit Umlauten an.
  • K9 (Android) zeigt sie nicht an.
  • Thunderbird 38.0.2 zeigt sie nicht an.

Irgendwie scheint es an der Software zu liegen, mit der man die Mails abruft.
 
Hallo JL3,

habe mal die Hinweise aus Post #1661 beachtet und das Verzeichnis "include/html2pdf/_tcpdf_5.0.002/cache" beschreibbar gemacht
und den PI neugestartet. Leider mit den gleichen Fehler "das PDF-Erzeugungsteil" erstellt keine PDF-Datei und die "psgWetterdaten.php" erzeugt
weiterhin nur 2 PDF-Dateien mit 0 Byte im log Verzeichnis des PI.
...
Kann ich die Funktion des "PDF-Erzeugungsteils" noch auf eine andere Weise testen um den Fehler zu finden.

Mit besten Grüssen

ElefantenMaus

Probiere bitte
Code:
sudo apt-get install php-dom php-gd

ggf. phpinfo.php aufrufen und dort sollte stehen:
Code:
dom
DOM/XML 	enabled
DOM/XML API Version 	20031129
libxml Version 	2.8.0
HTML Support 	enabled
XPath Support 	enabled
XPointer Support 	enabled
Schema Support 	enabled
RelaxNG Support 	enabled
 
Zuletzt bearbeitet:
Test für pdf:

Ins psg-Verzeichnis folgende Datei erstellen und dann im Browser aufrufen
pdftest.php
PHP:
<?php
	include __DIR__."/../include/html2pdf.php";
	include __DIR__."/../include/psg.php";
	
	$html ='';
	$html.='<html>';
	$html.='	<head>';
	$html.='		<meta charset="UTF-8">';
	$html.='	</head>';
	$html.='	<body>';
	$html.='		<div>Hallo, dies ist ein Test</div>';
	$html.='	</body>';
	$html.='</html>';

	$html2pdf = new HTML2PDF('P','A4','de', false, 'UTF-8', array(0,0,0,0));	
	$html2pdf->setDefaultFont('Arial');
	$html2pdf->writeHTML($html, false);
	$logDat="Test.pdf";
	$log=$LogDir.$logDat;
	$html2pdf->Output($log,"F");
	echo "Fertig.";
	exit;
?>
 
Hallo JL3,
vielen Danke für deine Rückmeldung.

Nach starten der Befehlszeile "sudo apt-get install php-dom php-gd" erhalte ich folgende Meldung:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
E: Paket php-dom kann nicht gefunden werden.
E: Paket php-gd kann nicht gefunden werden.

Bei der Eingabe von "phpinfo.php" kommt die Meldung -- Befehl oder Kommando nicht gefunden

Bei Aufruf des Scripts "pdftest.php" kommt nach ein paar Sekunden die Meldung "Fertig" im Browser
und im log Verzeichnis ist eine PDF-Datei namens Test.pdf mit dem Inhalt "Hallo, dies ist ein Test"
 
Damit geht die pdf-Erstellung.

Befinden sich alle psg-Scripte:
  • psgWetter.php
  • psgWetterdaten.php
  • psginfoWetter.php
  • psginfoWetterHydro.php
  • psginfoWetterLuftdruck.php
  • doitWetterPDF.php
  • doitWetterPDFDruckversion.php


in der jeweils aktuellen Version im psg-Verzeichnis?
 
Alle 7 Dateien mit dem Datum 27.08.2015 sind in Verzeichnis psg, habe nur psgWetterdaten.php an meine IP-Adresse meines PI angepasst.
 
Hallo SF1975,

welche Rechte sollte ich kontrollieren, das ganze Image für den PI und die ganzen Scripte habe ich nach Anleitung erstellt bzw. kopiert.
Die Sache mit "www-Data" und die Rechte habe ich so gemacht wie in der Beschreibung.

Gruss ElefantenMaus
 
Hallo,

Da ich leider keine Ahnung von Programmierung habe, schreibe ich mal
eine Liste welche Schritte und Programme ich für die Image Erstellung
für den PI benutzt habe:

Wahl des Betriebssystems -- > 2015-05-05-raspbian-wheezy.img

Fortsetzen der Installation per PuTTY -- JA
Update und Upgrade des Betriebssystems -- JA
Raspberry Pi Software Configuration Tool -- JA

Netzwerk-Konfiguration -- JA
aber die Grundeinstellungen der Datei "/etc/network/interfaces"
des Images "2015-05-05-raspbian-wheezy.img" gelassen
(kein WLAN und keine feste IP für PI eingestellt (FritzBox vergibt IP-Adresse))

FTP-Installation -- JA
apache2-Installation -- JA
Cron-Dienst-Konfiguration -- JA
Zeit-Dienst-Konfiguration -- JA
SAMBA-Installation und Konfiguration -- JA
Befehlsrechte für www-data -- JA
SD-Kartenzugriffe verringern -- JA
Watchdog aktivieren -- JA
SensorAndSwitch-Helper-Installation auf der Fritzbox (zusätzlich) -- JA
SQLite3-Zugriffsmöglickeit für SensorAndSwitch-Helper (RaspberryPI) -- JA
USB-Medium einbinden (RaspberryPI) -- NEIN
nfs-Installation -- NEIN
Remote-Desktop-Installation -- NEIN
LibreOffice-Installation -- NEIN
Webbrowser-Installation -- NEIN
Bildschirmtastatur-Installation -- NEIN
BootUp-Manager installieren -- NEIN
Midnight Commander-Installation -- JA
Text-Editor Jed mit Syntax-highlighting installieren -- NEIN
GParted installieren -- NEIN
Synaptic Paketmanager installieren -- NEIN

Sollte ein Programm oder ein Befehlsschritt auffallen der von mir
noch installiert werden muss bitte mal schreiben.

Als SensorandSwitch Version habe ich diese ZIP-Datei installiert "sas4604575.zip"

Gruss ElefantenMaus
 
Teste bitte das noch einmal mit etwas verändertem Inhalt (mit Bild):

pdftest.php
PHP:
<?php
	include __DIR__."/../include/html2pdf.php";
	include __DIR__."/../include/psg.php";
	
	date_default_timezone_set(ZEITZONE);
	$html ='';
	$html.='<html>';
	$html.='	<head>';
	$html.='		<meta charset="UTF-8">';
	$html.='	</head>';
	$html.='	<body>';
	$html.='		<div><img src="../images/logo.png"><br />Hallo, dies ist ein Test</div>';
	$html.='	</body>';
	$html.='</html>';

	$html2pdf = new HTML2PDF('P','A4','de', false, 'UTF-8', array(0,0,0,0));	
	$html2pdf->setDefaultFont('Arial');
	$html2pdf->writeHTML($html, false);
	$logDat="Test.pdf";
	$log=$LogDir.$logDat;
	$html2pdf->Output($log,"F");
	echo "Fertig.";
	exit;
?>
 
Hallo JL3,

der Test hat funktioniert. In der PDF-Datei ist das Logo von SensorAndSwitch zusehen.

Test.jpg
 
Zuletzt bearbeitet:
Dann muss eigentlich auch doitWetterPDF.php funktionieren, denn es ist die gleiche Datei nur abgespeckter. Das ist sehr seltsam... :gruebel:

Nachtrag: Kann es sein, dass deine /etc/php5/apache2/php.ini noch das 30 Sekunden-Limit drinstehen hat?
max_execution_time = 0 --> statt eventuell noch 30
 
Zuletzt bearbeitet:
In meiner php.ini steht: max_execution_time = 0

Habe alle Einstellungen an Dateien ( z.B. .ini ) nach der Beschreibung durchgeführt.
 
Zuletzt bearbeitet:
Im Moment bin ich ratlos, woran es noch liegen könnte... :gruebel:

vielleicht noch da:
/etc/apache2/apache2.conf

Code:
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300
 
Zuletzt bearbeitet:
Hallo,

habe gerade mal die Datei "apache2.conf" angesehen und bei mir steht Timeout 300.

Hier mal eine Info zum Post #1677:

Ich verwende 2 RaspberryPI B+ und habe die Scripte
aus der ZIP-Datei "sas4604575.zip" in Verwendung.

Die Daten der beiden Scripte die bei mir nicht laufen:

doitWetterPDF.php 37.087 27.08.2015 14:47:14
doitWetterPDFDruckversion.php 37.106 27.08.2015 14:47:14

vielleicht ist das ein Lösungsansatz

Gruss ElefantenMaus
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.