NEWS
Blockly
-
Du meinst "scriptEnabled"? Verhält sich bei mir wie es soll … `
Ja genau, das meine ich. Leider ist das nicht nur bei neu angelegten, sondern auch bei bisher vorhandenen Blockly-Skripten der Fall. -
@Bluefox: Vielen Dank für die neue Version und das "SendTo Email". Auch die EXEC und REQUEST-Aktionen sind sehr hübsch! Läuft bisher tadellos.
Das o.g. Problem scheint behoben zu sein.
Ach ja und: Du hast mal eben einen vollwertigen Ersatz zu ScriptGUI geschaffen. :mrgreen:
-
Dem kann ich nur zustimmen.
Macht es vllt sinn mal einem Thread für ScriptGUI-Umsteiger zu mnachen wo man die "besonderheiten" beim Umzug zu Blöockly aufführt?!
Ich hab schon so ein paar Learnings gezogen.
SPätestens nach meinem Urlaub starte ich das falls nicht ein anderer fleißiger Umsteiger in den nächsten 2 Wochen schneller ist
-
Ich hänge immernoch bei meinem Zeitvergleich fest.
Kann es sein, dass in Konvertierung / Datum nach "irgendwas"
ein Bug steckt?
Egal welchen Baustein ich da hinein packe, es wird immer der gleiche Code generiert wie bei
Datum und Zeit / Aktuelle Zeit ist "irgendwas"
Grüße
-
Hallo iobroker Forum,
An die Macher von iobroker erst Mal Danke, ist eine Klasse Sache was ihr hier auf die Beine gestellt habt.
Habe iobroker schon länger mal installiert und ein bisschen herumgespielt. Als aktives System nutze ich aber nach wie vor CCU.IO.
Da ich nicht wirklich scripten kann, fehlte mir aber ScriptGUI, für mich sieht es jetzt aber so aus das mit Blockly ein gut funktionierender "Ersatz" geschaffen wurde und ich habe damit auch schon ein bisschen herumgespielt.
Aktuell stehe ich aber vor einem(zwei) Problem:
1. Wie kann ich anstatt einem Trigger (z.B.Taster) zwei Trigger verwenden (Taster oder Astro). Wahrscheinlich für sehr simpel, aber ich komme einfach nicht drauf.
2. Ist es möglich eine Variable zu erzeugen die ich dann im Verlauf eines Programms verwenden kann. (Global und Lokal sowie Zahl als auch Werteliste)? Momentan habe ich mir hierfür Systemvariablen auf der CCU erstellt, aber dies ist ziemlich träge und funktioniert bestimmt auch innerhalb von iobroker.
Vielen Dank schon im Voraus und macht weiter so
Gruß
mhimc
-
1. Wie kann ich anstatt einem Trigger (z.B.Taster) zwei Trigger verwenden (Taster oder Astro). Wahrscheinlich für sehr simpel, aber ich komme einfach nicht drauf. `
Das Problem hatte ich auch bereits. Ich habe einfach den kompletten Block kopiert und auf den zweiten Trigger umgestellt.
@my_home_is_my_castle:2. Ist es möglich eine Variable zu erzeugen die ich dann im Verlauf eines Programms verwenden kann. (Global und Lokal sowie Zahl als auch Werteliste)? Momentan habe ich mir hierfür Systemvariablen auf der CCU erstellt, aber dies ist ziemlich träge und funktioniert bestimmt auch innerhalb von iobroker. `
Eigene Variablen von unterschiedlichen Typen kannst du unter dem Reiter "Objekte" anlegen und diese dann in Blockly einbinden. -
Eigene Variablen von unterschiedlichen Typen kannst du unter dem Reiter "Objekte" anlegen und diese dann in Blockly einbinden. `
Das geht aber auch mit Bausteinen "Variablen".
Baustein "etwas" anlicken.
Im Editorfenster dann auf das kleine Pfeilchen im Baustein klicken.
Neue Variable anwählen, Namen vergeben und fertig ist eine lokale Variable.
In der Rubrik "Variablen" tauchen dann Deine neuen Variablen auf und Du kannst sie von dort mehrfach im Blockly verwenden.
Grüße
-
Eigene Variablen von unterschiedlichen Typen kannst du unter dem Reiter "Objekte" anlegen und diese dann in Blockly einbinden. `
Das geht aber auch mit Bausteinen "Variablen".
Baustein "etwas" anlicken.
Im Editorfenster dann auf das kleine Pfeilchen im Baustein klicken.
Neue Variable anwählen, Namen vergeben und fertig ist eine lokale Variable.
In der Rubrik "Variablen" tauchen dann Deine neuen Variablen auf und Du kannst sie von dort mehrfach im Blockly verwenden.
Grüße `
Klar, das geht für lokale in Blockly verwendete Variablen natürlich auch. Ich habe es so verstanden, dass er die so genannten "persistenten Variablen" wieder integrieren wollte. -
Eigene Variablen von unterschiedlichen Typen kannst du unter dem Reiter "Objekte" anlegen und diese dann in Blockly einbinden. `
Das sind Datenpunkte, auf die mit getState(id) und setState(id, val) aus verschiedenen Programmen und Adaptern zugegriffen werden kann (wie SV in CCU).
@rantanplan:Das geht aber auch mit Bausteinen "Variablen". `
Das sind Script-Variablen, auf die nur innerhalb des Scripts zugegriffen werden kann. -
Das geht aber auch mit Bausteinen "Variablen".
Das sind Script-Variablen, auf die nur innerhalb des Scripts zugegriffen werden kann.
Hatte ich nicht "lokale Variable" geschrieben?
Grüße
-
Hallo,
vielen Dank für die raschen Antworten.
1. Wie kann ich anstatt einem Trigger (z.B.Taster) zwei Trigger verwenden (Taster oder Astro). Wahrscheinlich für sehr simpel, aber ich komme einfach nicht drauf. `
Das Problem hatte ich auch bereits. Ich habe einfach den kompletten Block kopiert und auf den zweiten Trigger umgestellt.
@my_home_is_my_castle:2. Ist es möglich eine Variable zu erzeugen die ich dann im Verlauf eines Programms verwenden kann. (Global und Lokal sowie Zahl als auch Werteliste)? Momentan habe ich mir hierfür Systemvariablen auf der CCU erstellt, aber dies ist ziemlich träge und funktioniert bestimmt auch innerhalb von iobroker.
Eigene Variablen von unterschiedlichen Typen kannst du unter dem Reiter "Objekte" anlegen und diese dann in Blockly einbinden.
1. Das mit dem Kopieren des Blocklys ist nun auch mein Weg. wird diese "Funktion" eventuell noch eingefügt?
2. Habe dies in diesem Thread, glaub ich, schon mal gelesen. Wenn man es dann aber mal kapiert hat, ist es gar nicht mehr so schwer!
Das mit den "internen" Variablen mochte/konnte ich nicht nutzen, da ich diese später für die Visualisierung verwenden möchte (bin gerade an der Rollladensteuerung ohne Rollladenaktor).
Gruß
mhimc
-
Ich hänge immernoch bei meinem Zeitvergleich fest.
Kann es sein, dass in Konvertierung / Datum nach "irgendwas"
ein Bug steckt?
Egal welchen Baustein ich da hinein packe, es wird immer der gleiche Code generiert wie bei
Datum und Zeit / Aktuelle Zeit ist "irgendwas"
Grüße `
Bitte einen Beispiel hier exportieren.Export/import von einzelnen Blocks funktioniert jetzt.
-
1. Das mit dem Kopieren des Blocklys ist nun auch mein Weg. wird diese "Funktion" eventuell noch eingefügt? `
Ich überlege noch.Es geht aber auch so
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="=kUXinx/.fv]xl(%u+w+" x="138" y="13"><field name="OID">feiertage.0.aftertomorrow.boolean</field>
<field name="CONDITION">ne</field>
<statement name="STATEMENT"><block type="procedures_callnoreturn" id="_F+?_W1()o}w;yuLHctF"><mutation name="Feiertag Funktion"></mutation></block></statement></block>
<block type="procedures_defnoreturn" id="Ml2~%]qP3O?35lVo7*rM" collapsed="true" x="413" y="13"><field name="NAME">Feiertag Funktion</field>
<comment pinned="false" h="80" w="160">Опишите эту функцию…</comment>
<statement name="STACK"><block type="debug" id="i4Xlsy[Yr:o2XAvEdL!Z"><field name="Severity">log</field>
<value name="TEXT"><shadow type="text" id="lxEihzJUUV|0}X,LVp9d"><field name="TEXT">Morgen oder heute ist ein Feiertag!</field></shadow></value></block></statement></block>
<block type="on" id="-CkVUz((3uERFOO!={6I" x="138" y="138"><field name="OID">feiertage.0.heute.boolean</field>
<field name="CONDITION">ne</field>
<statement name="STATEMENT"><block type="procedures_callnoreturn" id="8-:,M5I8g%`@:3%xuqgp"><mutation name="Feiertag Funktion"></mutation></block></statement></block></xml> -
Hi Bluefox
Danke, dass Du mir helfen willst.
Hier mein Test-Blockly
! <block 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml" type="schedule" id="W!Srkb{+h;uQ=z4R,P/;" x="-776" y="-537">
! <field name="SCHEDULE">* * * * </field>
! <statement name="STATEMENT"><block type="variables_set" id="_jx{ozQm@NL7h9?=ntq}"><field name="VAR">Vergleichszeit</field>
! <value name="VALUE"><block type="convert_from_date" id="jo6ul6QqLiJ]?J7.y~"><mutation format="false" language="false"></mutation> ! <field name="OPTION">ms</field> ! <value name="VALUE"><block type="convert_to_date" id="[.07GeiY5OsG
[+gap93"><value name="VALUE"><block type="get_value" id="K;~MV}{3{vMm/Opnb
="><field name="ATTR">val</field>
! <field name="OID">hm-rega.0.13863</field></block></value></block></value></block></value>
! <next><block type="variables_set" id="m_5.9vpB={JT9h0m[b{]"><field name="VAR">aktZeit</field>
! <value name="VALUE"><block type="time_get" id="1b,=AxzOq/h5DJy–{o`"><mutation format="false" language="false"></mutation>
! <field name="OPTION">ms</field></block></value>
! <next><block type="controls_if" id="kCqxcRX?{7x:6nv520HU"><mutation elseif="1" else="1"></mutation>
! <value name="IF0"><block type="logic_compare" id="~!+xereaLGSTrXZH!,j"><field name="OP">GT</field>
! <value name="A"><block type="variables_get" id="++{(056K;^t@=5?FlZx"><field name="VAR">aktZeit</field></block></value>
! <value name="B"><block type="variables_get" id="O.0@n:%P1MiFP1zb(68T"><field name="VAR">Vergleichszeit</field></block></value></block></value>
! <statement name="DO0"><block type="debug" id="FO_KQ:[9lpI!yu4]Ip+%"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="VjX#W_0e1Y-kg{Np7I)t"><field name="TEXT">Es ist später</field></shadow></value></block></statement>
! <value name="IF1"><block type="logic_compare" id="5g9p8gFSUX.|Eb@wy8_z"><field name="OP">LTE</field>
! <value name="A"><block type="variables_get" id="ri/7#;l1[tk2f_TWcypP"><field name="VAR">aktZeit</field></block></value>
! <value name="B"><block type="variables_get" id=";gWnR:0x,]NaF=9+,oF#"><field name="VAR">Vergleichszeit</field></block></value></block></value>
! <statement name="DO1"><block type="debug" id="MDRw?=@1D9E3y7rG?Eng"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="^7S7TIgC8y5y5JI(lP%*"><field name="TEXT">Es ist früher</field></shadow></value></block></statement>
! <statement name="ELSE"><block type="debug" id="?zDJ4YTO-)d{;@/ODidV"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="YU.5[0O8@Y}roZFaZh9P"><field name="TEXT">Vergleich klappt nicht</field></shadow></value></block></statement></block></next></block></next></block></statement></block>Und einmal als Datei.
-
Hi Bluefox
Danke, dass Du mir helfen willst.
Hier mein Test-Blockly
Grüße `
Was für ein Wert z.B. hat deine Variable "hm-rega.0.13863"?"20:00"?
-
Fixed. Aber
Datum () nach "Millisekunden" gibt zurück nur Millisekunden in einer Sekunde.
Das was du willst, heißt "Datum-Objekt".
Aber es geht jetzt einfacher:
48_2016-08-29_19_42_52-iobroker.admin.png -
Es geht aber auch so
filename="2016-08-29 18_16_18-ioBroker.admin.png" index="0">~~ `Das ist ja sehr interssant!
Jetzt kann ich mit den Bausteinen auch was anfangen.
Und ca. 10 Blocklys umschreiben und vereinfachen
Geht das auch script übergreifend?
Grüße
-
-
Fixed. Aber
Datum () nach "Millisekunden" gibt zurück nur Millisekunden in einer Sekunde.
Das was du willst, heißt "Datum-Objekt".
Aber es geht jetzt einfacher: `
Kann man das "nach Datum" noch umbenennen in "nach Datum/Zeit"? Ich denke für Anfänger oder Jemand der von anderen Programmiersprachen kommt ist es nicht so leicht ersichtlich, dass man dort auch eine Zeit eingeben kann. -
Fixed. Aber
Datum () nach "Millisekunden" gibt zurück nur Millisekunden in einer Sekunde.
Das was du willst, heißt "Datum-Objekt".
Aber es geht jetzt einfacher: `
Funktioniert!
Herzlichen Dank!
Grüße