NEWS
einfaches skript
-
@homoran sagte in einfaches skript:
@great-sun Das geht auch mit einem ganz einfachen Blockly!
ich denke aber dass es ihm auf Dauer mehr hilft, dieses mit eigenem Hirnschmalz gemeinsam zu "entwickeln", als einfach nur abzutippen.
Bin Grundsätzlich Deiner Meinung, aber manchmal steht man wie der Ochse vor dem Berg und wenn man noch nie wirklich etwas mit Programmierlogik zu tun hatte, dann kann so etwas richtig schwer sein, wenn man nicht einmal ein Beispiel gesehen hat.
Kurzgesagt:
@Homoran Wenn ich jemandem erst Programm-Logik beibringen muss, damit das Ergebnis erreicht wird, wird das ganze für denjenigen evtl. so problematisch in der Umsetzung, dass er es ganz lässt. Dann lieber einen Dreizeiler@freo Für Fragen steh ich gern zur Verfügung, sofern wir das dann zumindest, wenn es irgend einen Sinn ergibt, der Community als Anleitung zur Verfügung stellen.
-
@great-sun sagte: einfach mit einem JS-Script:
Das funktioniert nur einmal bei Skriptstart, denn es fehlt ein Trigger.
-
@great-sun sagte in einfaches skript:
Bin Grundsätzlich Deiner Meinung, aber manchmal steht man wie der Ochse vor dem Berg und wenn man noch nie wirklich etwas mit Programmierlogik zu tun hatte, dann kann so etwas richtig schwer sein, wenn man nicht einmal ein Beispiel gesehen hat.
ich bin grenzenloser Optimist
@freo fängt gerade erst an, und da bin ich hoffnungsvoll dass man ihn leitend an die Hand nehmen kann um ihm das Verständnis der Funktionsweise und der Logik zu erklären.
Beim Abtippen/Abschauen von fertigen Blocklys besteht immer die Gefahr, dass mansich wegen des fehlenden Wissens/Verständnissses dabei D7nge interpretiert und dauerhaft ins Hirn einbrennt, die ganz anders gemeint sind.
Erst beim 30. ähnlichen Skript kommt es dann zu "unvorhergesehenen" Abläufen. -
@paul53 sagte in einfaches skript:
@great-sun sagte: einfach mit einem JS-Script:
Das funktioniert nur einmal bei Skriptstart, denn es fehlt ein Trigger.
als Basis um einem Einsteiger die gesamte Funktionsweise von js/blockly zu erklären, wäre das genau richtig.
-
@paul53 sagte in einfaches skript:
@great-sun sagte: einfach mit einem JS-Script:
Das funktioniert nur einmal bei Skriptstart, denn es fehlt ein Trigger.
Aye:
async function setValueUpdate() { let originalValue = getState('0_userdata.0.BatteryPercent').val; let newValue = originalValue / 100 * 460; setState('0_userdata.0.odometerps', newValue, true); } on({id: '0_userdata.0.BatteryPercent', change: 'ne'}, setValueUpdate);
Alle Funktionen, die im Javascript Adapter verfügbar sind, werden https://www.iobroker.net/docu/index-81.htm?page_id=5809&lang=en beschrieben.
Die On-Funktion https://www.iobroker.net/docu/index-81.htm?page_id=5809&lang=en#on_8211_Subscribe_on_changes_or_updates_of_some_state -
Leute!
Das verwirrt doch jetzt nur!
ohne Rückmeldung von @freo , wieweit er jetzt folgen kann, oder gar verstanden hat, ist das zum Lernen kontraproduktiv. -
-
@great-sun Hallo zusammen,
ich bin beeindrukt von den Antworten zu meinem Thema ,
mein Versuch sieht so aus:Mir ist aber dann überhaupt nich klar, wie ich die einfache Rechenformel einfügen muss, bzw. ob ich überhaupt auf dem richtigen Weg bin.
Konnte dann nicht wiederstehen, und habe das Script von GreatSun ausprobiert:
Es funktioniert!!!
Ich wäre nicht darauf gekommen, ehrlichNatürlich möchte jemand keine fertigen Lösungen anbieten ohne das der Empfänger das auch verstanden hat.
Da ich aber noch nie etwas mit programieren zu tun hatte fällt mir das Verständnis dafür schwer.Allen hier sage ich : herzlichen Dank, für eure Hilfe
-
@freo sagte in einfaches skript:
mein Versuch sieht so aus
da könnte man helfen wie es damit richtig funktionieren würde.
@freo sagte in einfaches skript:
Da ich aber noch nie etwas mit programieren zu tun hatte fällt mir das Verständnis dafür schwe
learning by doing - und hast Du dieses Skript welches Du jetzt verwendest auch verstanden ?
VG
-
@freo sagte in einfaches skript:
ob ich überhaupt auf dem richtigen Weg bin.
ja, für den Anfang schon, obwphl ich diesen Baustein noch nie verwendet habe.
Vielleicht zäumen wir das Pferd diesmal von hinten auf.
@freo sagte in einfaches skript:
Mir ist aber dann überhaupt nich klar, wie ich die einfache Rechenformel einfügen muss, bzw. ob ich überhaupt auf dem richtigen Weg bin.
Aber so eine Rechenformel hast du doch schon mal gehabt, oder?
Mach dir Gedanken,
- was du verrechnen willst
- wo du diese Daten herbekommst
- wo das Ergebnis hin soll
Edit:
ich denke ich weiss warum du diesen Block mit Wert von genommen hast!Dieser
lässt sich nicht andocken.
Aus gutem Grund.Doch dazu später
-
@freo sagte in einfaches skript:
Da ich aber noch nie etwas mit programieren zu tun hatte fällt mir das Verständnis dafür schwer.
Deswegen wollen wir das ja ändern!
Wir hören erst auf, wenn du es verstanden hast, nicht sobald es läuft.dazu noch ein paar Tricks
der debug-Baustein
befindet sich unter den System-blöcken.
Hilft ungemein beim suchen nach Denkfehlern, indem er Zwischenergebnisse im log des Editors ausgibt.externe Eingänge
machen die Struktur der Blocklys besser erkennbar und sparen Platz.Die unterste Zeile ist identisch mit der obeten, nur wurde bei der mathematischen Operation mit der rechten Maustaste angeklickt und von "interne Eingänge", was eine lange Kette erzeugt, auf exterbe umgestellt.
Blöcke ausserhalb des Triggerbausteins
werden nur zu Skriptstart ausgeführt.
Will man aber bei der "Entwicklung" nicht auf einen Trigger warten, kann man den interessanten Teil (incl.Debug-Block) aus dem Trigger nehmen.
Jetzt erhält man beim speichern sofort die gewünschte Information -
@homoran danke für deinen "Optimismus", mir das Ganze verständlich machen zu wollen!
Deine ersten Erklärungen verstehe ich schon nicht
Daher bitte ich dich, deine wertvolle Zeit mit wichtigeren Dingen zu verbringen.
So richtig Lust das Alles zu verstehen, habe ich ehrlicherweise nicht.GreatSUN hat das genau getroffen: Zitat
- Kurzgesagt:
- @Homoran Wenn ich jemandem erst Programm-Logik beibringen muss, damit das Ergebnis erreicht wird, wird das ganze für denjenigen evtl. so problematisch in der Umsetzung, dass er es ganz lässt. Dann lieber einen Dreizeiler
Ich habe höflich gefragt und eine Lösung bekommen, finde ich extrem gut
Vielen lieben Dank nochmal an Alle, die mir hier bei diesem "kleinen Problem " geholfen haben, das weiß ich wohl zu schätzen
Viele Grüße aus dem hohen Norden
-
@freo sagte in einfaches skript:
Deine ersten Erklärungen verstehe ich schon nicht
gut!
Deswegen sollte das Ganze auch schrittweise, quasi im Dialog, ablaufen.
Aber das wird schon.@freo sagte in einfaches skript:
So richtig Lust das Alles zu verstehen, habe ich ehrlicherweise nicht.
alles musst du auch noch nicht verstehen, jetzt schon gar nicht.
Aber die Grundzüge, sonst bist du immer auf "Auftragsprogrammierung" angewiesen.und das soll und kann es nicht sein.
-
@freo sagte in einfaches skript:
So richtig Lust das Alles zu verstehen, habe ich ehrlicherweise nicht.
Schade