Wie arbeitet man sich am besten mit Javaskript ein ??

  • Kennt jemand villeicht eine Möglichkeit, wie man sich in Javaskript ein pisschen einarbeiten kann, um einen Ablauf zu programmieren. Ideal wäre wenn das ganze auf den IO Broker abgestimmt ist. Ansonsten muss ich halt erst einfach Javaskript lernen.

    Ich möchte mit Sonoff 4CH und Sonoff Duo Rolladen ansteuern. Für die Sichereheit dass nich RAUF und RUNTER gleichzeitig aktiviert wird, habe ich mir eine kleine Schaltung mit je 2 Ralais gebaut, mit der ich meine alten Zeitschaltuhren weiterhin verbaut lassen kann. Ich möchte die aktuell verbauten Zeitschaltuhren so belassen. Ich werde lediglich die Zeiten löschen, so dass man sie über die Zeitschaltuhren manuell noch steuern kann. So hat meine Frau auch keine Veränderung, und muss sich nicht an andere "Knöpfe" gewöhnen, wenn Ihr wisst was ich meine :)


    Was ich aber mit Java lösen möchte ist, dass sich die Sonoffs selbst nach 120 sek wieder ausschalten.

    ich will das für mich als Herausforderung machen, um etwas dazu zu lernen.


    Lg

    Manu

  • Javascript kann man machen, muss man aber beim ioBroker nicht unbedingt. Das Allermeiste kannst Du mit Blockly abfrühstücken. Damit klickst Du Dir die Scripts einfach zusammen.

    Klar, Blockly wird dann intern wieder in Javascript umgesetzt, aber das muss Dich ja erstmal nicht interessieren. Wenn Du die Programmierlogik drauf hast, kannst Du Dir das, was Blockly als Javascript generiert hat, einfach mal genauer ansehen und daraus lernen.

    Vor einigen Jahren hab ich mal semiprofessionell Homepages entwickelt, ich kann also so leidlich Javascirpt programmieren. Für die ioBroker-Belange reicht das völlig aus. Aber ich bin ein bequemer Mensch - warum soll ich mir die Finger wundtippen, wenn ich die Logik einfach mit der Maus zusammenklicken kann? Das ist der erheblich elegantere Weg.

    Aber für den Anfang empfehle ich Dir ausdrücklich, Dich eher mit Blockly zu befassen als mit nativem Javascript. Es ist jede Menge Neues in Sachen Smarthome: die ganzen Komponenten, die Verzahnung, der ioBroker und dann willst Du obendrauf auch noch Javascript von Grund auf lernen? Sportliche Ambitionen! ;) Aber mal im Ernst: tu' Dir Javascript erst in Schritt 7 oder 8 an...

    Einmal editiert, zuletzt von MasterOfDesaster (8. Februar 2018 um 19:26) aus folgendem Grund: Ich wollte mal mit Fremdwörtern imprägnieren... böser Teppfuhler! :-)

  • Der Wert muss sich erst auf Wahr ändern, damit das Script durchläuft. Wenn du einschaltest oder ausschaltest wird ne Änderung gesehen und geschaut ob das Gerät eingeschaltet ist. Wenn Eingeschaltet wird nach 5 Sekunden ausgeschaltet. Das macht dein Script.

    Hast du das richtige Objekt eingefügt?

    Schöne Grüße
    Frank

  • Hallo,

    das Obejkt ist richtig.

    Wenn ich den Sonoff mit dem Button betätige ender sich auch der Zustand in der Objektliste.


    Muss ich bei Java Skript noch irgend etwas einbstellen, dass er die Sonoffs findet?

    Schöne Grüße

    Manu:)

  • Hi, nein da muss du nichts mehr einbinden. Bei mir läuft das Scrip ohne Probleme. Mach doch mal einen Screenshot von deiner Objektauswahl. So wie ich vorhin von meiner gemacht habe.

    Schöne Grüße
    Frank

  • Du änderst den Trigger innerhalb der Funktion - und dann noch mit Verzögerung!

    Innerhalb der 5 Sekunden Verzögerung, in denen bis zum Abschalten gewartet wird, registriert ioBroker die Änderung "unwahr" und ruft das Triggerscript erneut auf.

    Es ist immer eine schlechte Idee, ein Objekt, das getriggert wird, innerhalb der Trigger-Funktion zu verändern. Da musst Du selbst angelegte Hilfsobjekte verwenden und ändern, ansonsten wirst Du immer solche Probleme haben.

  • Das ist aber kein Problem, da bei unwahr nichts gemacht wird, das Script steuert nur wenn die Bedingung wahr erfüllt ist. Und die Änderung erfolgt ja erst nach dem Ablauf der 5 Sekunden.

    Schöne Grüße
    Frank

  • Hi, haben deine Objekte auch Schreibrechte? Mal beim Objekt rechts auf den Stift klicken und mal schauen.

    Schöne Grüße
    Frank

  • Hi Manuel, also wenn du den Sonoff über die Objekte steuern kannst, sollte das ganze auch über das Script funktionieren. Du könntest mal unter den Objekten schauen, was er als Status bei ablauf des Scripts anzeigt. Ob der Stautus dort nach 5 Sekunden wechselt. Sonst teste mal ein anderes Script. Sowas wie, wenn Power1 ein schalte Power2 ein. Mal sehen ob die Scripte überhaubt was schalten.

    Schöne Grüße
    Frank

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!