SensorAndSwitch Haus-Automation auf Webserver-Basis

Bei info=status muss immer das zurückgeliefert werden was SaS verarbeiten kann.
Also: S# P# T# W# ...ünd auch... *HTML# oder *WERT#

Ansonsten eben eine Fehlermeldung von PHP aber nie: Leer/Nichts

Auch würde ich irgendwelche sleep (Wartezeiten) im Pseudoskripten meiden wie der Teufel das Weihwasser.
Das ist vorallem für den crond Aufruf von sasap.php wichtig.
Da summiert sich jedes sleep im Skript mit dem Nächsten.
 
Zuletzt bearbeitet:
Hallo,
Sie hier: Anhang anzeigen 80351

Das und Wetterwarnung sind aber nicht mehr im senso... -Verzeichnis. die sind entfernt, die TMP-Dateien auch, alles darin also neu erstellt.

Der Wechsel zwischen den Reitern dauert immer noch mekr als 10 Sekunden...

IMHO ist nirgends etwas mit Sleep ....

Wenn ich auf das Konfigurations-Symbol klicke, ist die seite ja auch sofort da :noidea: klicke ich auf das "+" und die Reiter zu bearbeiten, dauert es wieder mächtig lange ...
 
Zuletzt bearbeitet von einem Moderator:
Soweit ich erkennen kann wurden da genau zwei Whitespace (Leerzeile und Leerzeichen) zurückgeliefert.
Also nichts was SaS verarbeiten kann.
 
Zuletzt bearbeitet:
Ich bin immer noch der Meinung, dass dein sasap alles richtig macht und dein sas NOCHMAL alles selbst einliest, statt den cache zu benutzen...... nur warum ist das so? :gruebel:

Ich muss mir das in Ruhe ansehen und bitte dich dafür um etwas Geduld, da ich alles nachbauen muss. Ich melde mich dann zu dem Thema. :)
 
Ich kann deinen Fehler reproduzieren. Ich arbeite am Problem :)
 
Es betrifft den Inhalt des Caches deiner Pseudoscripte. Er ist nicht (zurück)lesbar. Ich versuche zu ergründen, woran das liegt. Wie mir scheint, verursacht eins deiner Pseudoscripte ein Zeichen, was den unserialize-Befehl des PHP aushebelt. Das ist wirklich etwas ganz spezielles und hatte ich so noch nie. Ich arbeite an einer Lösung, sodass keine korrupten Daten entstehen. Zumindest weiß ich jetzt, woran es liegt.

Ich bin dank deiner cache-Dateien sas Programmschritt für Programmschritt durchgegangen und immer nach jedem die Variablen überprüft, bis ich es hatte, wo es denn klemmt.

Der Fehler ist....... faszinierend, da es einen php-Befehl betrifft, der da spinnt :mrgreen:
 
Zuletzt bearbeitet:
Hallo,
:dance: Dann bin ich zumindest nicht zu blöd, den RaspPI zu konfigurieren *puuuh*.

Bin gespannt, welche Script das ist. Schon mal vorab meinen Dank :groesste:
 
Das Pseudoscript "Core-pi-all" verursacht den Lesefehler in unserialize. Nehme das Script raus und es läuft.
 
Hallo,
Werde ich mal machen.
Kannst Du sehen, was genau da den Fehler verursacht?
Ggf. probiere ich heute Abend damit noch mal herum.
 
Ich analysiere gerade das Script. Wenn ich es bei mir reinstopfe, kommt das gleiche Problem wie bei dir. Also das ist es 100%ig. :)
 
Hallo,
:shock: wow ... :ziggi: :dance: Was ist denn das für ein Speed?? :dance:

Das hat es gebracht. Jetzt muss ich nur noch mal ergründen, herausbekommen (evtl. mit Hilfe), was da den Fehler verursacht hat.
Ich schaue mir mal mein Script mit dem von Dir als Vergleich an.Gr

Grüße,
Frank

PS: :groesste: <= falls ich es noch nicht sagte :)

[EDIT]
Das Script entsprich ja Deinem pseudohimbeere.php. Da kann man sicherlich gut vergleichen.
ich meine, ich hätte nur die Grafiken auf 277 und 322 gelegt, sowie aus doireboot.php doitrebootpi.php gemacht :noidea:
Muss heute Abend mal schauen ;)
 
Zuletzt bearbeitet von einem Moderator:
Das Script zerlege ich selbst auch bitweise. Denn das ist ein echtes Phänomen :mrgreen:
 
Hallo,
:lach: normal konnte ich noch nie gut ... :lach: :lach: ... :gruebel: ... :shock: ... :weg:

[EDIT]
wenn ich meines und das von Dir nebeneinander lege, so begrenzt sich das auf diese Unterschiede:
meines:
PHP:
<?php
        if ($Statustakt) {
            echo 'P#<div style="position:absolute;top:-6px;font-size:13px;text-align:left;">CPU: 
'.number_format(sprintf('%.0f',(substr($Statustakt,strpos($Statustakt,"=")+1)*1/1000000)),0,",",".").' MHz<br />Temp: 
'.number_format((substr($Statustemp,5)*1),1,",",".").'°C<br />Mem used:'.number_format($Statusram,0,",",".").'%%</div><div 
style="position:absolute;top:-6px;font-size:13px;left:105px;text-align:left;">Core: 
'.number_format(sprintf('%.0f',(substr($Statustaktc,strpos($Statustaktc,"=")+1)*1/1000000)),0,",",".").' MHz<br />Core: 
'.number_format(sprintf('%.2f',(substr($Statusvolt,strpos($Statusvolt,"=")+1)*1/1)),2,",",".").' V<br />Disk used: '.$Statusdisk.'%%</div><div 
style="position:absolute;top:-20px;font-size:14px;width:322px;"><span id="klick"><a href="doitshutdownpi.php"><img 
src="'.picdesign("schalter0.png").'"></a></span></div><div style="position:absolute;top:-20px;font-size:14px;width:277px"><span id="klick"><a 
href="doitrebootpi.php"><img src="'.picdesign("schalterr.png").'"></a></span></div>*HTML#';
        }
    }
    exit;
    
?>
Deines:
PHP:
<?php
        if ($Statustakt) {
            echo 'P#<div style="position:absolute;top:-6px;font-size:13px;text-align:left;">CPU: '.number_format(sprintf('%.0f',(substr($Statustakt,strpos($Statustakt,"=")+1)*1/1000000)),0,",",".").' MHz<br />Temp: '.number_format((substr($Statustemp,5)*1),1,",",".").'°C<br />Mem used:'.number_format($Statusram,0,",",".").'%%</div><div style="position:absolute;top:-6px;font-size:13px;left:105px;text-align:left;">Core: '.number_format(sprintf('%.0f',(substr($Statustaktc,strpos($Statustaktc,"=")+1)*1/1000000)),0,",",".").' MHz<br />Core: '.number_format(sprintf('%.2f',(substr($Statusvolt,strpos($Statusvolt,"=")+1)*1/1)),2,",",".").' V<br />Disk used: '.$Statusdisk.'%%</div><div  style="position:absolute;top:-20px;font-size:14px;width:320px;"><span id="klick"><a href="doitshutdown.php"><img src="'.picdesign("schalter0.png").'"></a></span></div><div style="position:absolute;top:-20px;font-size:14px;width:265px"><span id="klick"><a href="doitreboot.php"><img src="'.picdesign("schalterr.png").'"></a></span></div>*HTML#';
        }
    }
    exit;
    
?>
IMHO sind bei mir irgendwo ein paar Leerzeichen und Zeilenumbrüche zwischen...
 
Zuletzt bearbeitet von einem Moderator:
Ja, die Zeilenumbrüche im echo sind das Problem. Rausnehmen und auch dein Script rennt. :)

Ps: Ich habs gerade getestet. Alle Umbrüche im echo weg und nach kurzer Zeit (nächstes Cache schreiben) lief auch das superschnell.
 
Zuletzt bearbeitet:
Hallo,
;) Brauche ich nicht mehr, Deines habe ich angepasst, wie vorher auch :D. Läääuuft :mrgreen: könnte kalt duschen gehen ...
 
Meine Devise: Nur nicht aufgeben. Irgendwie bekommt man alles zum Funktionieren. :)

Aber ich muss zugeben: DAS hatte es in sich. :mrgreen:
 
Hallo,
Jo, :oops: mich schon fast dafür, weil ich in einem Script gefummelt habe, und es nach Aussen erst einmal funktioniert .... *duckundwech*
 
Nein, der Hammer ist, dass das Script funktioniert und nur unserialize so darauf reagiert. Zumindest gut zu wissen, was man meiden soll. :)

Ich traue mich kaum, aber ich habe eigentlich die Version 2.20 fertig. Da wird es dann das Pseudo I## geben. Das funktioniert etwa wie P##, nur dass es generell Text und/oder HTML anzeigen kann und zwar über die ganze Breite. War dafür gedacht, beim Anzeigen so etwas wie Überschriften über Gerätegruppen zu basteln. Man kann es aber auch zur HTML-Anzeige verwenden, genau wie das P#xxx*HTML# nur mit I#xxx#. Ihr werdet sicherlich dafür Verwendung finden. :) Es liefert allerdings keinerlei Sensorwerte zurück (an sasap), zeigt nur an. Ein bisschen bastle ich noch dran, bevor ich es rausgebe. ;)
 
Zuletzt bearbeitet:
Neue Version 2.20.1844
weitere Infos im
SensorAndSwitch Web
  • [1844] PseudoGeräte: Neues Pseudo I#xxx# ähnlich P#xxx*HTML# zur Darstellung von Informationen in Form von Text oder HTML. Dient nur der Anzeige und liefert keine Sensorwerte an die Automation.
 

Statistik des Forums

Themen
246,158
Beiträge
2,247,073
Mitglieder
373,677
Neuestes Mitglied
MK34
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.