Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
hab mir mal wieder irgendwo ein Fehler eingebaut, mein schalten mit Pseudo Sensor funktioniert nicht mehr!
Frage:
mit echo "V#$a*$a#"; kann ich ja den Wert zuweisen, nur welcher Variablen muss ich den Wert zuweisen, damit ich ihn bei Pseudo-Sonsor auswerten kann?
das ich * und # vergessen hatte, hab ich auch noch gesehen,
bei dem Vorschlag von koyaanisqatsi steigt das Script aus, ginge nur mit " und nicht mit ' am Anfang und Ende, aber auch keine Anzeige.
ebenso wenn ich nach dem Vorschlag von @JL3 abändere.
hab es auch schon so versucht,
echo 'V#'.$a.'*PSensor#P#<div style='position:absolute;top:-20px;font-size:14px;'>".$a."</div>*HTML#';
ohne Erfolg, mit ' am Anfang und Ende, geht gar nicht und mit " wie immer, keine Anzeige!
Ja, hab damals vor vielen Jahren mal zwei Tage nach einem undefinierbaren Fehler gesucht, bis ich ein fehlendes Komma als Übeltäter erkannte. Genauso hinterlistig sind Gänsefüßchen. :mrgreen:
Nachtrag: Wenn du mit ' einen Text beginnst, musst du ihn mit ' wieder schließen. Der Punkt fügt Text(teile) zusammen. Bei deinem echo ist das bunt durcheinander gewürfelt. Zerlege dir das mal zur Veranschaulichung so:
style ist html und dessen Parameter geht mit ", wenn man echo mit ' benutzt. Ist eine kleine Faustregel, die ich (meist) so einsetze, um keine Probleme mit Gänsefüßchen zu haben.
Da ich nicht weiß, was in $a steht, kann ich da wieder mal nur spekulieren...
Man kann verschachtelt einem PSensor eigentlich keinen Wert zuweisen.
Bedenke folgendes. Ein Beispiel: 18 Einheiten
P#18*Einheiten#
nun noch Pseudo V## drum:
V#P#18*Einheiten*PSensor# und das kann nicht aufgelöst werden.
Versuche es einmal mit W## oder T## zum späteren Abfragen:
echo 'W#'.$a.'#P#<div style="position:absolute;top:-20px;font-size:14px;">'.$a.'</div>*HTML#'; <- für individuelle Anzeige
oder ganz simpel:
echo 'P#'.$a.'*Einheiten#'; <- für Standardanzeige
P## überschreibt W##. Wenn du beides angibst, wird P## angezeigt und W## ist nur im Hintergrund.
Wenn du das ausprobiert hättest, müsstest du es gesehen haben:
echo 'W#'.$a.'#P#<div style="position:absolute;top:-20px;font-size:14px;">'.$a.'</div>*HTML#';
Im SAS-Web habe ich schon geschrieben
Die Reihenfolge der Priorität der PseudoSensoren/-Schalter ist festgelegt auf P##, S##, W## und T##. Wird Pseudo P## verwendet, so werden die Sensorwerte W## und T## versteckt, sind aber für die Automation abrufbar. S## wird angezeigt. C## hat höchste Priorität und verhindert die Auswertung anderer Pseudos.
Bevor ich eine neue Version herausgebe eine Frage:
conf.php, config.php, dateien.php und define.php wird nun durch environ.php ersetzt. Wer eine dieser includes in seine psg eingebunden hat, sollte stattdessen direkt psg.php einbinden.
fritzbox.php wird nun nicht mehr als Dummy mitgeliefert, da es schon seit langem in geraete.php enthalten ist. Auch hier entsprechende inlcludes abändern.
includepseudo.php wird nicht mehr als Dummy für psg.php mitgeliefert, da es ebenfalls schon einige Versionen lang umgestellt wurde.
Gibt dies Probleme bei Euren selbsterstellten PsGs? Im Prinzip werden die alten (normalerweise überflüssigen) Dateien beim regulären Update nicht gelöscht und funktionieren auch nach einem Update noch. Nur beim Neuaufsetzen von SAS wären die alten Dateien dann weg. Postet, wenn Ihr Probleme seht. Ansonsten werde ich die neue Version dann updatebereit machen.
Noch nicht in der neuen Verson sind:
Pseudo O##,
Zeitschalten <=, <, >, >=
Die Umsetzung gestaltet sich hier etwas schwieriger.
Pseudo O## ist auch umgesetzt,
Zeitschalten <=, <, >, >= ist nicht umsetzbar, da dies in der Struktur der Bedingungstabelle nicht nachträglich eingebaut werden kann. Dafür müsste eine neue Struktur erstellt werden und dies wäre ein elementarer Eingriff. Alte Bedingungstabellen würden damit nicht mehr lesbar sein.