Hallo Zusammen,
ich bin noch mit der VIS 1 unterwegs weil ich damit echt gut zurechtkomme und bisher alles funktioniert was ich umsetzen wollte.
Nun habe ich auch mal ChatGPT als Helferknecht benutzt und bin erstaunt was damit schon alles geht (fast alles, scheinbar).
Ich habe mir eingebildet einen Apple iOS Style Toggle Button kreieren zu lassen.

Der von ChatGPT generierte Code sieht so aus:
<!-- ---------- BEGIN: iOS-Style Toggle für ioBroker VIS ---------- -->
<style>
#iosToggleWidget {
font-family: sans-serif;
text-align: center;
margin: 20px;
}
#iosToggleWidget .toggleWrapper {
display: inline-block;
padding: 20px;
background: white;
border: 1px solid #ddd;
border-radius: 8px;
}
#iosToggleWidget input[type="checkbox"] {
display: none;
}
#iosToggleWidget label {
position: relative;
display: block;
width: 50px;
height: 30px;
background: lightgray;
border-radius: 30px;
cursor: pointer;
transition: background 0.3s;
}
#iosToggleWidget label:after {
content: "";
position: absolute;
top: 1px;
left: 1px;
width: 28px;
height: 28px;
background: whitesmoke;
border-radius: 50%;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
transition: left 0.3s;
}
#iosToggleWidget input[type="checkbox"]:checked + label {
background: #2ecc71;
}
#iosToggleWidget input[type="checkbox"]:checked + label:after {
left: 21px;
}
</style>
<div id="iosToggleWidget">
<div class="toggleWrapper">
<!-- ✅ Ersetze diesen Datenpunkt mit deinem echten Datenpunkt -->
<input type="checkbox" id="iosToggle" data-oid="0_userdata.0.Test.Testschalter_3" onchange="vis.setValue(this.dataset.oid, this.checked)">
<label for="iosToggle"></label>
</div>
</div>
<script>
var datenpunktname= "0_userdata.0.Test.Testschalter_3";
function setzeWert(variablenName, Wert){
this.servConn._socket.emit('setState', variablenName, Wert);
}
$("input[name=station]").change(function(){
var station=this.value;
var playername = $("input[name=squeeze]:checked").val();
setzeWert(datenpunktname,station);
});
</script>
Wenn ich den Schalter betätige, ändert sich auch brav der Datenpunkt, so wie es sein soll. Was jedoch nicht klappt, ist, dass wenn ich den Datenpunkt in der Objektstruktur ändere (also nicht den Vis Button) dann ändert sich der Vis Button aber nicht mit.
Auf meine freundliche Frage "Wenn ich den Datenpunkt ändere dann ändert sich der Button in der Vis nicht mit. Woran kann das liegen?" hat dann ChatGPT eine "Lösung" vorgeschlagen:
Antwort:
Das Verhalten, dass sich der Toggle-Button nicht automatisch aktualisiert, wenn sich der Wert des Datenpunkts außerhalb des Widgets (z. B. durch ein anderes Widget oder Script) ändert, deutet auf einen Fehler oder eine Inkompatibilität im Binding-Code hin.
⸻
Mögliche Ursachen & Lösungen
1. vis.binds.basic.value wird nicht ausgeführt
Problem: Die Funktion vis.binds.basic.value(...) funktioniert nicht, weil vis.binds.basic evtl. nicht geladen ist oder das Timing nicht stimmt.
Lösung: Nutze stattdessen das offizielle Binding-System von ioBroker VIS, das automatisch Trigger setzt.
....
aber das funktioniert nicht und ich habe da auch mehrere Versionen probiert, ohne Erfolg.
Daher hier die Frage an die Script-Profis (ich habe da nur sehr rudimentär Ahnung davon) wie der untere <div> bzw. <script> Teil aussehen müsste damit das auch klappt.
Generell, wie sind eure Erfahrungen mit ChatGPT in diesem Bereich? Gerade was CSS angeht, finde ich, bietet es da schon sehr gute, schnelle Lösungen.
Wäre super wenn eine MI (Menschliche Intelligenz) hier helfen könnte 
Vielen Dank und viele Grüße
Edit: der komplette Code befindet sich im HTML Widget unter dem Punkt HTML. Also nichts im Reiter CSS oder Reiter Script.