NEWS
Skript ist verschwunden
-
Hallo,
ich habe ein Problem womit ich nicht zurecht komme.
Ich wollte ein Skript umbenennen will der Name nicht eindeutig sagte, was dahinter steckt.
Das Skript ist in Blockly geschrieben und schaltet einen Heizstab ein und aus in Abhängigkeit von der Wassertemperatur
Das Skript war gestartet und ich habe auf den Stift in der Leiste geklickt, wo dann das Fenster umrennen erscheint.
Irgendwie habe ich das Skript umbenannt und als ersten Buchstaben ein Leerzeichen eingeben, bin mir aber nicht sicher. Das Skript war dann weg.
ich habe nur 8 Skripte, also ist das sehr übersichtlich. Ich habe auch keine Unterordner.
Das wäre nicht schlimm, wenn es weg wäre, aber jetzt habe ich festgestellt, das der Schütz, der durchras Skript geschaltet wird öfter anzieht und wieder abfällt.Scheinbar arbeitet das Skript im Hintergrund.
Frage: Kann das sein, gibt es eine Möglichkeit, was dagegen zu tun.
Ich brauche das Skript nicht mehr weil es nur für den Sommer war.
Gruss Karl-Heinz
-
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge
Zeigen!
Und zwar inkl. der Filterleiste unten.Ein Leerzeichen vorweg lässt ein Scriupt nicht einfach so verschwinden.
-
so sieht es aus (Bild 1), bzw. hat es bis eben ausgesehen, dann habe ich da unten auf eines der Zeichen geklickt, und seitdem sind entweder die gestarteten Skripte oder die gestoppten Skripte zu sehen. Beide bekomme ich nicht mehr hin.
-
@karl-heinz1 sagte in Skript ist verschwunden:
Heute Morgen hatte ich das wieder. Das Wasser hatte die Temperatur, wo das alte Skript automatisch einschaltet, und alle 3 Shelly`s schalteten die Schütze dafür ein.
Ich habe die Shelly dann mit der Shelly Cloud ausgeschaltet und nach 10 Sekunden schalteten die wieder ein.
Da muss noch das alte Skript, was ich umbenennen wollte im Hintergrund laufen. -
wie würdest du vorgehen ? Kann ich die Skripte sichern und dann alles löschen und nur die gesicherten wieder laden ??
Wäre es einfacher den Shelly`s neue IP Adressen zu geben ? Ich weiss nicht, ob das geht.
was gibt es sonst für Möglichkeiten ?
-
@karl-heinz1 Was du testen könntest:
In der Instanz des JavaScript-Adapters kannst du eine Spiegelung der Skripte in das Dateisystem einschalten:
Der Pfad muss unbedingt außerhalb der ioBroker-Verzeichnisse liegen, ich habe das Home-Verzeichnis des ioBroker Benutzers genommen (da hat dieser auf jeden Fall Schreibrechte).Dann könntest du suchen wo es ist:
iobroker@iobroker:~/MeisenwegScripts$ tree . ├── 001_Routinen │ ├── 3D_Drucker │ ├── AlarmSystem │ │ └── Alarmanlage.js │ ├── Alexa │ │ ├── Alexa_Einkaufsliste_ZNIL.js │ │ ├── Alexa_Fernseher.js │ │ ├── Alexa-History-Script.js │ │ ├── AlexaTimer_diverses.js │ │ ├── Alexa_Workaround_Triggern.js │ │ ├── disabled │ │ ├── disabled_Kopie │ │ │ ├── Alexa_Workaround_Forum.js │ │ │ ├── disabled_Alexa_EinkaufslisteJSON.js │ │ │ ├── disabled_Alexa-Einkaufslisten.js │ │ │ ├── disabled_Alexa-Einkaufslisten-JSON.js │ │ │ ├── disabled_Alexa_Einkaufsliste_V2.js │ │ │ ├── disabled_Notfall_Alexa_Schalten.js │ │ │ ├── disabled_Scanne_Geraete.js │ │ │ ├── disabled_Symfonisk_Wohnzimmer_Deluxe.js │ │ │ ├── disabled_Symfonisk_Wohnzimmer_Simple.js │ │ │ ├── Eigene_Sprachbefehle.js │ │ │ └── Kuehlschranktuer.js │ │ ├── Einkaufsliste_liv-in-sky.js │ │ ├── Keller_Buero_verriegeln.js │ │ ├── Meldung_Geschirrspueler.js │ │ ├── Meldung_Trockner.js │ │ ├── Meldung_Waschmaschine.js │ │ ├── NDR2_bei_Licht_an.js │ │ ├── Popup_letzter_Befehl.js │ │ ├── Testen │ │ │ └── AlexaAlarmePerFernbedienung.js │ │ ├── WaschmaschineTrockner_fertig.js ... ...
Wenn man dort ein neues Skript erstellt, erscheint es unmittelbar auch im JavaScript Editor.
Wenn man dort umbenennt verschwindet es aber im JavaScript Editor.
Wenn man es löscht ist es auch weg.Also wenn du es behalten willst, kopiere es einmal und löschen dann in der Shell das falsche.
Ohne Garantie das es funktioniert. Aber der Weg hat mir schon öfters geholfen. Nebenbei ist es praktisch bei Backups, so kann man einzelne Skripte bequem extrahieren (Ich sicher neben BackItUp auch die ganze VM und kann einzelne Dateien wiederherstellen)
-
Ich habe das jetzt gemacht. Ich habe aber die Skripte in Blockly geschrieben.
-
@karl-heinz1 sagte in Skript ist verschwunden:
Ich habe das jetzt gemacht. Ich habe aber die Skripte in Blockly geschrieben.
das ist dem Spiegeln egal. Da sind alle Typen von Scripten oder Regeln hinterlegt
-
Ich habe da jetzt aber nichts gefunden was hätte gespiegelt werden können, sieht alles noch so aus wie vorher.
-
@karl-heinz1 sagte in Skript ist verschwunden:
Ich habe da jetzt aber nichts gefunden was hätte gespiegelt werden können, sieht alles noch so aus wie vorher.
Öhm?
Das Spiegeln legt von jedem Skript eine Datei im Dateisystem ab. Unter dem von die angegebenen Pfad auf den der Benutzer
iobroker
Schreib-/Leseberechtigungen benötigt.Ab dann ist es egal ob man im Dateisystem in einer der Dateien oder in der Weboberfläche im Script-Editor etwas ändert, beides wird übernommen (quasi sofort).
Du solltest jetzt also eine Kopie aller deiner Skripte im Dateisystem haben. Vermutlich auch vom verschwundenen Skript.
Danach hats du schon geschaut, ja? Könnte im Stammpfad oder einen der Unterordner sein.Den JavaScript-Adapter schon mal neu durchgestartet? Im Log steht dann ja auch anschließend welche Skripte er startet (mit Pfad). Gestartet hast du den neu als du den Spiegelpfad eingetragen hast.
Eventuell ist es jetzt auch "weg"
-
Das habe ich jetzt im Terminal gefunden:
pi@raspberrypi:/home/iobroker/TiefentalSkripts $ dir Anfagsdaten_für_Eingabe_in_Datenpunkt.js Anzeige_Energiefluss_.js Beträge_Einspeisung_Tage_und_Batterie_und_Solaranzeige.js Beträge_Einspeisung_Verbrauch_Jahr.js Beträge_Verbrauch_Tage.js Eurosummen_Gas_Strom_Solar.js Gas_Anzeige_Verbrauch_.js Gas_Verbrauch_Tage.js Gerd_Verbrauch.js Preisstatistik_Tag_11-20_Gesamtsumme_in__.js Preisstatistik_Tag_21-31_Gesamtsumme_in__.js Preistatistik_Tag_1-10_Gesamtsumme_in__.js Wallboxsteuerung.js Wasser_Unterstützung_Sommer__Winter.js Zählerstand_Anzeige_Bezug_Tag_Woche_Monat_Jahr.js Zählerstand_Einspeisung_Tag_Woche_Monat_Jahr.js _Zirkulation_ein_aus_.js
Da ist es nicht drin. Es muss aber jemand die Shelly`s einschalten.
Wie könnte ich das jetzt machen ? Alle Skripte im iobroker löschen ? und kann ich die dann aus dem Terminal wieder in den ioBroker kopieren ?
Aber ich kann doch das Skript, was da unsichtbar noch läuft nicht löschen.
-
@bananajoe
Die Wassertemperatur ist unter 45 Grad und die Shelly`s schalten die Schütze jetzt immer ein.
Ich habe alle Skripte gestoppt. Wie kann das sein ?
Das verschwundene Skript muss das machen. Es ist das einzigste, was noch laufen muss.gibt es keine Möglichkeit zu prüfen, was läuft ?
-
Schau dir die Fenster an.
Vorher waren in dem Fenster alle Skripte drin, laufende und nicht laufende.
Nachdem ich da unten geklickt habe sind entweder laufende oder nicht laufende zu sehen, kann ich wählen, aber ich hätte gerne alle, was kann ich da tun.
-
@karl-heinz1
Das da unten sind Filter.
Davon sollte nix angeklickt (aktiviert) sein.Sollte so aussehen:
-
@karl-heinz1 sagte in Skript ist verschwunden:
Das habe ich jetzt im Terminal gefunden:
pi@raspberrypi:/home/iobroker/TiefentalSkripts $ dir Anfagsdaten_für_Eingabe_in_Datenpunkt.js Anzeige_Energiefluss_.js Beträge_Einspeisung_Tage_und_Batterie_und_Solaranzeige.js Beträge_Einspeisung_Verbrauch_Jahr.js Beträge_Verbrauch_Tage.js Eurosummen_Gas_Strom_Solar.js Gas_Anzeige_Verbrauch_.js Gas_Verbrauch_Tage.js Gerd_Verbrauch.js Preisstatistik_Tag_11-20_Gesamtsumme_in__.js Preisstatistik_Tag_21-31_Gesamtsumme_in__.js Preistatistik_Tag_1-10_Gesamtsumme_in__.js Wallboxsteuerung.js Wasser_Unterstützung_Sommer__Winter.js Zählerstand_Anzeige_Bezug_Tag_Woche_Monat_Jahr.js Zählerstand_Einspeisung_Tag_Woche_Monat_Jahr.js _Zirkulation_ein_aus_.js
Da ist es nicht drin. Es muss aber jemand die Shelly`s einschalten.
Wie könnte ich das jetzt machen ? Alle Skripte im iobroker löschen ? und kann ich die dann aus dem Terminal wieder in den ioBroker kopieren ?
Aber ich kann doch das Skript, was da unsichtbar noch läuft nicht löschen.
Weist du denn wie es jetzt heißt?
Schau dir mal die Datenpunkte unterhalb von
javascript.0.scriptEnabled
an, ist es dort dabei? Bzw. eines was du nicht zuordnen kannst?
Wenn du den JavaScript Adapter neu startest, wird im Log aufgezählt welche Skripte er startet. Stimmt die Liste mit den aus deinen Verzeichnissen überein?
Wo kommt denn die Temperatur her? Von welchen Datenpunkt?
Welcher Datenpunkt wird geschaltet?Danach könnte man in den Skripten suchen
-
In den Skripten kann es nicht sein, weil ich das weiss, das ich die nie woanders angesprochen habe. Ich habe trotzdem alle Skripte gestoppt, ohne Erfolg
Aber mit Deiner Hilf habe ich es jetzt gefunden und es ist ein Leerzeichen davor, siehe Screenshot:
Wie kann ich das ändern ?
-
es ist dabei, ich würde es gerne behalten, muss aber nicht. Es darf nur nicht mehr laufen.
-
@karl-heinz1 da scripte mit Leerzeichen zu Fehlern führen wie in deinem Fall, könntest du die json exportieren, dein script umbenennen, mit z.b notepad++ und wieder hoch laden
@karl-heinz1 sagte in Skript ist verschwunden:
Es darf nur nicht mehr laufen
kannst du fürs erste bei scriptEnabled auf false setzen
-
da weiss ich nicht, wie das geht, wie exportiere ich das.
Auf den Pfeil klicken kommt nur das Finder Fenster, da kann ich nur abbrechen wählen.Das Skript umbenennen kann ich ja auch nicht, weil es da, wo die Skripte sind, nicht mehr ist, sondern nur unter den Objekten im Ordner Javascript.
Ich kann aber auf das Skript verzichten. Nur ich muss dafür sorgen, das es gestoppt werden kann, weil es gestartet ist. Wenn ich es lösche in dem Ordner Javascript, ist es dann weg ??
-
@karl-heinz1 sagte in Skript ist verschwunden:
kommt nur das Finder Fenster
was soll das sein?
wenn du aufs rechte klickst, wird die json automatisch heruntergeladen und liegt in deinem download Verzeichnis.
Diese Datei kannst du wie geschrieben dann mit notepad++ öffnen/bearbeiten. Damit kannst du deine scripte bearbeiten/umbenennen.
Anschliessend lädst du die Datei wieder hoch(über den anderen Pfeil)