NEWS
Script läuft nach RPI reboot direkt los
-
Hallo Zusammen
Ich habe iobroker mit verschiedenen zwave-Aktoren am start und bin soweit super-happy.
Mit einem "kleinen" Problem habe ich jedoch zu kämpfen:
Mein Garagentor lässt sich via Telegramm und Text2command in Verbindung mit einem Script problemlos öffnen und mit einem zweiten Script schliessen. Soweit so gut.Wenn ich jedoch den Javascript-Adapter oder den ganzen RPI neu starte, läuft direkt das Garagentor-öffnen-Script los und öffnet das Tor... Wie kann ich das unterbinden?
Danke Euch vielmals!
-
das ist auch logisch
Du hast ja keinen Trigger (Auslöser) der das Script starten würde, also läuft das Script immer nur 1 mal wenn der javascript Adapter gestartet wird (z.B. beim Starten von ioBroker) -
... das hatte ich schon fast vermutet. Nur wüsste ich nicht, welchen Trigger ich einbauen sollte:
Das Script wird direkt von text2command aufgerufen. Müsste ich eine Art "Pseudo-Trigger" einbauen? Hättest Du eine Idee für mich? -
@hikrown Du musst dir überlegen was passieren muss um das Script zu starten .... ggf. eine Änderung in telegram Datenpunkten?? oder das Öffnen oder Schließen des Garagentores?
-
@BBTown Danke für Deine Unterstützung!
Das ist eben die Frage/Problem (für mich):
Da ich das Script mittels Telegramm und text2command starte, habe ich nicht wie bei anderen Aktoren z.B. "LeftClickEvent" oder ähnliches, was ich als Trigger verwenden könnte...Ich wähle im Telegramm-"Menü" einfach "Garage öffnen" aus - und zack, wird das Script durchlaufen.
Für schliessen, das selbe in Grün. Funktioniert einwandfrei.Aber Deinen Hinweis werde ich verfolgen:
In der Telegramm-Instanz habe ich RequestMessageID gefunden. Die ändert sich kontinuierlich mit jedem Befehl und könnte als Trigger dienen - bin aber noch nicht sicher, ob dies mein Problem löst. Ich steuere ja z.B. auch das Licht in der Wohnung via Telegramm um alle Lichter auszuschalten... -
Vorab, ich kenne mich mit Telegram nicht aus aber nur mal so ein Gedanke:
Muss das Script eigentlich aktiviert sein um von Telegram getriggert werden zu können? Könnte man es einfach deaktivieren, sodass es beim Neustart nicht startet?
-
@nevermind Gute Idee! Habs gerade ausprobiert:
Das Script deaktiviert - Telegramm angeworfen --> Garagentor hat sich geöffnet ... doch leider hat sich damit auch das Script aktiviert. -
Ah ok. Schade, hätte ja klappen können.
Noch ne Idee: ich habe gelesen, dass man Scripte auch irgendwie via Datenpunkt aktivieren bzw. Deaktivieren kann. Vllt. Könnte sich dein Script so am Ende selbst wieder deaktivieren
-
Scripte aktivieren/deaktivieren ist kein guter Weg. Wird auch nicht empfohlen.
Ich steuere mittlerweile auch viele Dinge über Telegram. Allerdings ohne den Umweg über text2command.
Aber auch so sollte es möglich sein einen Datenpunkt zu ändern.
Lege doch einen Datenpunkt an. Z.B. "GarageAktion" wahr=öffnen, false=schließen.
Diesen Datenpunkt änderst Du dann über Telegram/text2command. Nun muss Dein Script nur noch "GarageAktion" triggern und entsprechend reagieren.
Damit wären Deine Probleme erledigt. -
@rantanplan said in Script läuft nach RPI reboot direkt los:
Allerdings ohne den Umweg über text2command
... liest Du dann die Aktion aus dem Objekt "Request"?
-
@hikrown sagte in Script läuft nach RPI reboot direkt los:
... liest Du dann die Aktion aus dem Objekt "Request"?
Ja, ich habe ein Blockly für Telegram-Buttons. Darüber kommen dann nur festdefinierte Kommandos, die ich dann auswerte.
Hier im Forum gibt es einige Beispiele.
Telegram ist schnell und von überall zu benutzen (ohne VPN, Cloud und sonstige Zugänge).
Selbst Frau ist begeistert und seit sie rausgefunden hat, dass sie Telegram auch von Ihrer Apple Watch bedienen kann, hin und weg.