NEWS
S7 Adapter Temperatur Siemens Logo
-
@elektroniker86 sagte: ein Komma statt ein Punkt angezeigt wird
const idS7Temp = 's7.2.DBs.DB1.AM05'; // Datenpunkt-ID vom S7 eingeben ! const idTemp = '0_userdata.0.LOGO.Temperaturen.Außentemperatur'; // neuer Datenpunkt createState(idTemp, '0,0', {type: 'string', role: 'state'}); // Neuen Datenpunkt erzeugen function S7Celsius(val) { if(val > 32768) val = val - 65536; setState(idTemp, (val / 10).toFixed(1).replace('.', ',') + ' °C', true); } on(idS7Temp, function(dp) { // Wertänderung S7Celsius(dp.state.val); }); // Skriptstart S7Celsius(getState(idS7Temp).val);
-
@paul53
Hi, vielen Dank für die, wie immer schnelle Hilfe !
Geil, funktioniert! Ich habe ein neues Skript angelegt mit Außenbeleuchtung Norden. Aber mir wird zwei mal °C angezeigt.Hab ich da was falsch gemacht?
-
@elektroniker86 sagte: mir wird zwei mal °C angezeigt.
Ändere den Datenpunkt-Typ in "string" ohne "unit". Oder lösche ihn, dann wird er mit createState() bei Skriptstart richtig erzeugt.
-
@paul53
Vielen Dank !!! Funktioniert einwandfrei!!!Daumen hoch!
-
Hi, ich habe leider noch ein Problem.
Seit dem ich das Script wie oben mit Komma usw. geändert habe werden im odometer Widget und im vis-material-advanced - list temp Widget die Temperaturwerte nicht mehr angezeigt. Wenn ich den alten Datenpunkt vom alten Script her nehme dann wird der Wert angezeigt.Im basic-number widget und im vis-inventwo -universal switch widget als Binding funktionieren die neuen Datenpunkte. Kann man das auch irgendwie fixen damit man die Datenpunkte für alle Widgets verwenden kann?
Vielen Dank vorab!
-
@elektroniker86 sagte: werden im odometer Widget und im vis-material-advanced - list temp Widget die Temperaturwerte nicht mehr angezeigt.
Die Widgets benötigen wahrscheinlich Zahlen und können mit dem String nichts anfangen.
-
Nun gut, ist dann wenigstens möglich das alte Skript (number) so umzubauen damit 0.0 angezeigt wird ? Mit dem Punkt kann ich leben wenn ich auf das Komma verzichten muss.... Oder geht das auch nicht ?
-
@elektroniker86 sagte: möglich das alte Skript (number) so umzubauen damit 0.0 angezeigt wird ?
Nein, Zahlen werden nicht mit einer 0 nach dem Punkt angezeigt. Das Problem für das Widget ist der String.
-
-
Kann mir jemand sagen wo da der Fehler liegt ?
-
@lucky51179 ,
du brauchst kein Skript mehr um das umzurechnen. Nimm den Alias-Manager und du kannst eine Regel bei Alias read-Funktion hinzufügen.
Alias-ID ist dein S7-Logo Objekt
Alias Read-Function ist deine Regel -> val/10 (d.h. dein Logo-Objekt wird durch 10 geteilt)
-
@lucky51179 sagte: wo da der Fehler liegt ?
Schau mal in den Tab "Log", in dem weitere Informationen stehen. Hast Du das Skript zum ersten mal gestartet? Dann existiert der Datenpunkt zu idTemp noch nicht.
-
@paul53 meinst du hier
-
@lucky51179 sagte: meinst du hier
Ja. Wo sind die Warnungen?
-
@paul53 jetzt sind keine mehr da aber die Temperatur wird nicht anders dargestellt
-
@lucky51179 sagte: die Temperatur wird nicht anders dargestellt
Die sollte im Datenpunkt "javascript.0.LOGO.Temperaturen.solartemp" erscheinen.
-
@paul53 verdammt ich hatte immer am falschen Punkt geschaut, Danke.
Kann man die Zeitschaltuhr der Logo auch darstellen ?
-
@lucky51179 sagte: Kann man die Zeitschaltuhr der Logo auch darstellen ?
Keine Ahnung: Habe keine Logo.
-
@wal muss man das dann noch irgendwie starten die ich es auf diese Art nicht hin bekomme
-
@lucky51179
val muss klein geschrieben werden.