@paul53 sagte in Fehlermeldung JavaScript: ReferenceError: typ is not defined:
@andreas-5 sagte: Die andere Zeilennummer
Was steht in Zeile 127?
Danke, das war der richtige Hinweis!!!
Ich weiß nicht warum, vorher war es ja Zeile 123 und da hatte ich nachgesehen, da stand
createState(merkerpfad + schalter[i]["Pruefpunkt"], "", ueberschreiben, {
Da habe ich hingeguckt und nicht weiter.
Das mit der Auskommentierung sollte zwar eigentlich eine Verschiebung mit sich bringen, kann aber sein, dass ich auch irgendwo Leerzeilen gelöscht habe.
Auf jeden Fall ist es jetzt so, dass in Zeile 127 tatsächlich typ zu finden ist!
Hintergrund:
Bis vor Kurzem hatte ich das noch nicht in Objekten organisiert, sondern, da das Skript ja mit der Zeit gewachsen ist, zuerst in einem Array, dann waren es mehrere und da u.a. auch das Array typ.
Dann habe ich das auf das mehrdimensionale Array umgestellt und alles lief wunderbar.
Nachdem ich dann das zusätzliche Object in das Array eingefügt hatte, kam der Fehler und da kam meine Verwirrung, weil ich die Zeile betrachtet und für gut befunden habe und nicht mehr den Rest angeschaut habe.
Der ganze Block sieht so aus:
for (var i = 0; i < schalter.length; i++)
{
if (!existsState(merkerpfad + schalter[i]["Pruefpunkt"]))
{
createState(merkerpfad + schalter[i]["Pruefpunkt"], "", ueberschreiben, {
name: schalter[i]["Pruefpunkt"],
desc: "Letzter Zustand",
type: typ[i],
role: "value",
unit: ""
});
Da hätte ich auch drauf kommen können, dass da der neue Merker-DP angelegt werden soll und es gar nicht um die Zeile 123 (hier 5) ging. Der Fehler war da auch schon in Zeile 127 (hier 8)!
Deshalb funktionierten die anderen Schalter, da die Merker-DP schon von vorher existierten und damit der Teil nicht genutzt wurde.
Kurz geändert:
for (var i = 0; i < schalter.length; i++)
{
if (!existsState(merkerpfad + schalter[i]["Pruefpunkt"]))
{
createState(merkerpfad + schalter[i]["Pruefpunkt"], "", ueberschreiben, {
name: schalter[i]["Pruefpunkt"],
desc: "Letzter Zustand",
type: schalter[i]["Typ"],
role: "value",
unit: ""
});
und schon fuktioniert es!
Peinlich, peinlich!!
Danke!!!