ich stehen bei meinem Umzug von der 5.1 (Raspi) auf eine Symbox mit aktuellen Symcon vor einem Rätsel und würde mich über Denkanstöße freuen.
Problem:
Ich steuere meine Wärmepumpe mit Skripten aus Symcon und lese und sende dazu, auf Grund nicht nutzbarer ModBus Schnnittstelle, über das Webfront der WP. Das klappt eigentlich wunderbar und in der der bisherigen Variante auch problemlos. Ich schreibe die Werte alle zwei Minuten in Variablen und werte sie in Skripten aus. Im Nachgang sende ich dann Befehle an die WP, z.B. Vorlauftemp erhöhen (in Abhängigkeit von der Aussentemp.) Nun liegt genau da das Problem. Seit dem Umzug bekomme ich die Werte für Aussentemp korrekt wenn diese im PLusbereich liegen. Wenn sie, wie momentan, im Minusbereich liegen, wird da aber ein extrem großer Wert in Plus daraus. Konkret, aus -1.2 Grad werden 429496727,2 Grad. Das für zur maximalen (+5 Stufen) anhebung der Vorlauftemp. Der Versuch mir zwischen zeitlich mit dem Durchschnittswert zu helfen ging nach hinten los, auch der lag zwischenzeitlich unter Null Grad und verhält sich ebenso.
Es scheint also als ob die aktuelle Symconversion die (Minus-)werte anders interpretiert, oder liege ich falsch. Wer hat eine Idee, bzw. einen Tipp?
Ohne dein Script zu sehen, wird dir kaum jemand im Detail helfen können.
Augenscheinlich sieht es so aus, als wenn du bei deiner Berechnung einen Überlauf hast.
Michael
das Skript holt ja nur die Werte, kann es aber nachher gerne senden. In der bisherigen Symconversion (5.1), ich arbeite parallel, sehe ich ja die richtigen Werte. Ich versuche das mit dem Skript posten mal, hab ich noch nicht gemacht.
Bruno
Update, sorry, aber ich krieg das Skript nur als Fließtext hier rein. Trotzdem kann es ja nicht am Skript liegen, sondern an der interpretation der Daten, oder? Generell funktioniert ja alles, außer Minusbereich und in der alten Instalation auch das. Würde also das Skript ausschließen, bin aber der Laie hier.
Bei Integer gibt es solche Effekte wenn Integertypen mit/ohne Vorzeichen verwechselt werden. Das wird aus einem kleinen negativen Wert ein großer positiver Wert.
Vielleicht gibt’s auf dem Rechenweg in deinen Scripten auch so einen falschen Typecast aus einem Integerwert.
Das selbe Skript auf alter und neuer Installation. Bitte den vierten extrem positiven Wert von oben gesehen ignorieren. Da lag eine Stunde Zeit dazwischen. Hier wird ja deutlich, dass das Skript richtig arbeitet. Wenn mir jemand erklärt wie es geht lade ich es aber gerne hoch.
Vergiss bitte nicht, dass die PHP-Basis von IHP immer wieder mal aktualisiert wird bei neuen IPS-Versionen. Da könnte also etwas im neueren PHP anders interpretiert werden.
Du musst den hierher kopierten Code mit dem „Schrägstrich zwischen spitzen Klammern“ Tag einschliessen, das oben über dem Editierfeld steht. Dann wird es korrekt als Code dargestellt.
EDIT: Ok, du hast es selbst gefunden während ich hier tippte.