Skip to content

Commit

Permalink
chore: release v7.9.0
Browse files Browse the repository at this point in the history
* (klein0r) Added block to create new objects
* (klein0r) Added HTTP get and post function
* (klein0r) Droped support of coffeescript (deprecated since version 6.0.0)
* (klein0r) Raise warning if more than 100 triggers have been registered
* (klein0r) Fixed astro state calculation (and display server time in dialog)
  • Loading branch information
klein0r committed Mar 13, 2024
1 parent 7abf23d commit 9d0e0ad
Show file tree
Hide file tree
Showing 108 changed files with 745 additions and 209 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG_OLD.md
@@ -1,4 +1,8 @@
The newest change log is in README.md
## 7.6.0 (2023-12-26)

* (klein0r) Added schedules by state value (scheduleById)

## 7.5.1 (2023-12-18)

* (klein0r) Added option for calendar week to Blockly
Expand Down
6 changes: 1 addition & 5 deletions README.md
Expand Up @@ -46,7 +46,7 @@ Since v5.5.0 of the JavaScript adapter the following locations (relative to the
<!--
### **WORK IN PROGRESS**
-->
### **WORK IN PROGRESS**
### 7.9.0 (2024-03-13)

* (klein0r) Added block to create new objects
* (klein0r) Added HTTP get and post function
Expand Down Expand Up @@ -75,10 +75,6 @@ Since v5.5.0 of the JavaScript adapter the following locations (relative to the
* (klein0r) Creation of astro states is now optional
* (klein0r) Fixed logging of objects/sets

### 7.6.0 (2023-12-26)

* (klein0r) Added schedules by state value (scheduleById)

## License
The MIT License (MIT)

Expand Down
92 changes: 45 additions & 47 deletions admin/asset-manifest.json
@@ -1,39 +1,38 @@
{
"files": {
"main.js": "/static/js/main.f67be889.js",
"main.js": "/static/js/main.1ba668af.js",
"static/css/864.42bfc5f3.chunk.css": "/static/css/864.42bfc5f3.chunk.css",
"static/js/864.511501bb.chunk.js": "/static/js/864.511501bb.chunk.js",
"static/js/864.d74c524e.chunk.js": "/static/js/864.d74c524e.chunk.js",
"static/js/805.7c367e53.chunk.js": "/static/js/805.7c367e53.chunk.js",
"static/js/723.c39332d7.chunk.js": "/static/js/723.c39332d7.chunk.js",
"static/js/66.65480213.chunk.js": "/static/js/66.65480213.chunk.js",
"static/js/431.a62490cf.chunk.js": "/static/js/431.a62490cf.chunk.js",
"static/js/702.1692c400.chunk.js": "/static/js/702.1692c400.chunk.js",
"static/js/281.fe2096fc.chunk.js": "/static/js/281.fe2096fc.chunk.js",
"static/js/7.1d9b7afb.chunk.js": "/static/js/7.1d9b7afb.chunk.js",
"static/js/666.f676e7ac.chunk.js": "/static/js/666.f676e7ac.chunk.js",
"static/js/791.258dd609.chunk.js": "/static/js/791.258dd609.chunk.js",
"static/js/164.2c2b1075.chunk.js": "/static/js/164.2c2b1075.chunk.js",
"static/js/365.ca66a412.chunk.js": "/static/js/365.ca66a412.chunk.js",
"static/js/147.ab44d2ab.chunk.js": "/static/js/147.ab44d2ab.chunk.js",
"static/js/110.622aba0f.chunk.js": "/static/js/110.622aba0f.chunk.js",
"static/js/610.1561417c.chunk.js": "/static/js/610.1561417c.chunk.js",
"static/js/715.7c0e8344.chunk.js": "/static/js/715.7c0e8344.chunk.js",
"static/js/772.a28fc25b.chunk.js": "/static/js/772.a28fc25b.chunk.js",
"static/js/675.d0c8b930.chunk.js": "/static/js/675.d0c8b930.chunk.js",
"static/js/447.71f7415d.chunk.js": "/static/js/447.71f7415d.chunk.js",
"static/js/880.62623dec.chunk.js": "/static/js/880.62623dec.chunk.js",
"static/js/86.c5b90f52.chunk.js": "/static/js/86.c5b90f52.chunk.js",
"static/js/86.1b4fca53.chunk.js": "/static/js/86.1b4fca53.chunk.js",
"static/js/399.f713c6bc.chunk.js": "/static/js/399.f713c6bc.chunk.js",
"static/js/238.33fc8eb6.chunk.js": "/static/js/238.33fc8eb6.chunk.js",
"static/js/77.629f62ea.chunk.js": "/static/js/77.629f62ea.chunk.js",
"static/js/85.bd234575.chunk.js": "/static/js/85.bd234575.chunk.js",
"static/js/983.3f5b808f.chunk.js": "/static/js/983.3f5b808f.chunk.js",
"static/js/888.42b62921.chunk.js": "/static/js/888.42b62921.chunk.js",
"static/js/223.c9ffe7a1.chunk.js": "/static/js/223.c9ffe7a1.chunk.js",
"static/js/895.a56a5733.chunk.js": "/static/js/895.a56a5733.chunk.js",
"static/js/419.daaba277.chunk.js": "/static/js/419.daaba277.chunk.js",
"static/js/181.8780595a.chunk.js": "/static/js/181.8780595a.chunk.js",
"static/js/774.ca498df3.chunk.js": "/static/js/774.ca498df3.chunk.js",
"static/js/956.8456a0f8.chunk.js": "/static/js/956.8456a0f8.chunk.js",
"static/js/377.2f585ccd.chunk.js": "/static/js/377.2f585ccd.chunk.js",
"static/js/838.b2f46849.chunk.js": "/static/js/838.b2f46849.chunk.js",
"static/js/17.ec756001.chunk.js": "/static/js/17.ec756001.chunk.js",
"static/js/344.d013b164.chunk.js": "/static/js/344.d013b164.chunk.js",
"static/js/448.ff20ef54.chunk.js": "/static/js/448.ff20ef54.chunk.js",
"static/js/983.cc3c1042.chunk.js": "/static/js/983.cc3c1042.chunk.js",
"static/js/977.631c311a.chunk.js": "/static/js/977.631c311a.chunk.js",
"static/js/239.49f1d114.chunk.js": "/static/js/239.49f1d114.chunk.js",
"static/js/223.f0c60522.chunk.js": "/static/js/223.f0c60522.chunk.js",
"static/js/623.8b0d671e.chunk.js": "/static/js/623.8b0d671e.chunk.js",
"static/js/195.dedf4947.chunk.js": "/static/js/195.dedf4947.chunk.js",
"static/js/944.8c3dee7b.chunk.js": "/static/js/944.8c3dee7b.chunk.js",
"static/js/774.cf3edadb.chunk.js": "/static/js/774.cf3edadb.chunk.js",
"static/js/956.cf9b2bc3.chunk.js": "/static/js/956.cf9b2bc3.chunk.js",
"static/js/377.9347d79a.chunk.js": "/static/js/377.9347d79a.chunk.js",
"static/js/838.bda08ddf.chunk.js": "/static/js/838.bda08ddf.chunk.js",
"static/js/17.c425807c.chunk.js": "/static/js/17.c425807c.chunk.js",
"static/js/96.fe9915d5.chunk.js": "/static/js/96.fe9915d5.chunk.js",
"static/media/tileRules.png": "/static/media/tileRules.7ed5885a66686cc288b1.png",
"static/media/docs.md": "/static/media/docs.1f96bec81cf08933d921.md",
"static/media/back.jpg": "/static/media/back.bda2bbe51be338a0f657.jpg",
Expand Down Expand Up @@ -161,42 +160,41 @@
"static/media/Garage Doors.svg": "/static/media/Garage Doors.0c2a1cfca7ad1ea59625.svg",
"static/media/Outdoor Blinds.svg": "/static/media/Outdoor Blinds.37b85a9c060a4af48da9.svg",
"static/media/Upstairs.svg": "/static/media/Upstairs.441813e54e0daca0882d.svg",
"main.f67be889.js.map": "/static/js/main.f67be889.js.map",
"main.1ba668af.js.map": "/static/js/main.1ba668af.js.map",
"864.42bfc5f3.chunk.css.map": "/static/css/864.42bfc5f3.chunk.css.map",
"864.511501bb.chunk.js.map": "/static/js/864.511501bb.chunk.js.map",
"864.d74c524e.chunk.js.map": "/static/js/864.d74c524e.chunk.js.map",
"805.7c367e53.chunk.js.map": "/static/js/805.7c367e53.chunk.js.map",
"723.c39332d7.chunk.js.map": "/static/js/723.c39332d7.chunk.js.map",
"66.65480213.chunk.js.map": "/static/js/66.65480213.chunk.js.map",
"431.a62490cf.chunk.js.map": "/static/js/431.a62490cf.chunk.js.map",
"702.1692c400.chunk.js.map": "/static/js/702.1692c400.chunk.js.map",
"281.fe2096fc.chunk.js.map": "/static/js/281.fe2096fc.chunk.js.map",
"7.1d9b7afb.chunk.js.map": "/static/js/7.1d9b7afb.chunk.js.map",
"666.f676e7ac.chunk.js.map": "/static/js/666.f676e7ac.chunk.js.map",
"791.258dd609.chunk.js.map": "/static/js/791.258dd609.chunk.js.map",
"164.2c2b1075.chunk.js.map": "/static/js/164.2c2b1075.chunk.js.map",
"365.ca66a412.chunk.js.map": "/static/js/365.ca66a412.chunk.js.map",
"147.ab44d2ab.chunk.js.map": "/static/js/147.ab44d2ab.chunk.js.map",
"110.622aba0f.chunk.js.map": "/static/js/110.622aba0f.chunk.js.map",
"610.1561417c.chunk.js.map": "/static/js/610.1561417c.chunk.js.map",
"715.7c0e8344.chunk.js.map": "/static/js/715.7c0e8344.chunk.js.map",
"772.a28fc25b.chunk.js.map": "/static/js/772.a28fc25b.chunk.js.map",
"675.d0c8b930.chunk.js.map": "/static/js/675.d0c8b930.chunk.js.map",
"447.71f7415d.chunk.js.map": "/static/js/447.71f7415d.chunk.js.map",
"880.62623dec.chunk.js.map": "/static/js/880.62623dec.chunk.js.map",
"86.c5b90f52.chunk.js.map": "/static/js/86.c5b90f52.chunk.js.map",
"86.1b4fca53.chunk.js.map": "/static/js/86.1b4fca53.chunk.js.map",
"399.f713c6bc.chunk.js.map": "/static/js/399.f713c6bc.chunk.js.map",
"238.33fc8eb6.chunk.js.map": "/static/js/238.33fc8eb6.chunk.js.map",
"77.629f62ea.chunk.js.map": "/static/js/77.629f62ea.chunk.js.map",
"85.bd234575.chunk.js.map": "/static/js/85.bd234575.chunk.js.map",
"983.3f5b808f.chunk.js.map": "/static/js/983.3f5b808f.chunk.js.map",
"888.42b62921.chunk.js.map": "/static/js/888.42b62921.chunk.js.map",
"223.c9ffe7a1.chunk.js.map": "/static/js/223.c9ffe7a1.chunk.js.map",
"895.a56a5733.chunk.js.map": "/static/js/895.a56a5733.chunk.js.map",
"419.daaba277.chunk.js.map": "/static/js/419.daaba277.chunk.js.map",
"181.8780595a.chunk.js.map": "/static/js/181.8780595a.chunk.js.map",
"774.ca498df3.chunk.js.map": "/static/js/774.ca498df3.chunk.js.map",
"956.8456a0f8.chunk.js.map": "/static/js/956.8456a0f8.chunk.js.map",
"377.2f585ccd.chunk.js.map": "/static/js/377.2f585ccd.chunk.js.map",
"838.b2f46849.chunk.js.map": "/static/js/838.b2f46849.chunk.js.map",
"17.ec756001.chunk.js.map": "/static/js/17.ec756001.chunk.js.map",
"344.d013b164.chunk.js.map": "/static/js/344.d013b164.chunk.js.map"
"448.ff20ef54.chunk.js.map": "/static/js/448.ff20ef54.chunk.js.map",
"983.cc3c1042.chunk.js.map": "/static/js/983.cc3c1042.chunk.js.map",
"977.631c311a.chunk.js.map": "/static/js/977.631c311a.chunk.js.map",
"239.49f1d114.chunk.js.map": "/static/js/239.49f1d114.chunk.js.map",
"223.f0c60522.chunk.js.map": "/static/js/223.f0c60522.chunk.js.map",
"623.8b0d671e.chunk.js.map": "/static/js/623.8b0d671e.chunk.js.map",
"195.dedf4947.chunk.js.map": "/static/js/195.dedf4947.chunk.js.map",
"944.8c3dee7b.chunk.js.map": "/static/js/944.8c3dee7b.chunk.js.map",
"774.cf3edadb.chunk.js.map": "/static/js/774.cf3edadb.chunk.js.map",
"956.cf9b2bc3.chunk.js.map": "/static/js/956.cf9b2bc3.chunk.js.map",
"377.9347d79a.chunk.js.map": "/static/js/377.9347d79a.chunk.js.map",
"838.bda08ddf.chunk.js.map": "/static/js/838.bda08ddf.chunk.js.map",
"17.c425807c.chunk.js.map": "/static/js/17.c425807c.chunk.js.map",
"96.fe9915d5.chunk.js.map": "/static/js/96.fe9915d5.chunk.js.map"
},
"entrypoints": [
"static/js/main.f67be889.js"
"static/js/main.1ba668af.js"
]
}
100 changes: 99 additions & 1 deletion admin/google-blockly/own/blocks_action.js
Expand Up @@ -11,7 +11,7 @@ Blockly.CustomBlocks.push('Action');

Blockly.Action = {
HUE: 330,
blocks: {}
blocks: {},
};

// --- action exec --------------------------------------------------
Expand Down Expand Up @@ -116,6 +116,102 @@ Blockly.JavaScript['exec'] = function(block) {
}
};

// --- action http_get --------------------------------------------------
Blockly.Action.blocks['http_get'] =
'<block type="http_get">'
+ ' <value name="URL">'
+ ' <shadow type="text">'
+ ' <field name="TEXT">http://</field>'
+ ' </shadow>'
+ ' </value>'
+ ' <value name="STATEMENT">'
+ ' </value>'
+ '</block>';

Blockly.Blocks['http_get'] = {
init: function() {
this.appendValueInput('URL')
.appendField(Blockly.Translate('http_get'));

this.appendStatementInput('STATEMENT')
.setCheck(null);

this.setInputsInline(false);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);

this.setColour(Blockly.Action.HUE);
this.setTooltip(Blockly.Translate('http_get_tooltip'));
this.setHelpUrl(getHelp('http_get_help'));
}
};

Blockly.JavaScript['http_get'] = function(block) {
const URL = Blockly.JavaScript.valueToCode(block, 'URL', Blockly.JavaScript.ORDER_ATOMIC);
const statement = Blockly.JavaScript.statementToCode(block, 'STATEMENT');

return `httpGet(${URL}, { timeout: 2000 }, async (err, response) => {\n` +
Blockly.JavaScript.prefixLines(`if (err) {`, Blockly.JavaScript.INDENT) + '\n' +
Blockly.JavaScript.prefixLines(`console.error(err);`, Blockly.JavaScript.INDENT + Blockly.JavaScript.INDENT) + '\n' +
Blockly.JavaScript.prefixLines(`}`, Blockly.JavaScript.INDENT) + '\n' +
statement +
'});\n';
};

// --- action http_post --------------------------------------------------
Blockly.Action.blocks['http_post'] =
'<block type="http_post">'
+ ' <value name="URL">'
+ ' <shadow type="text">'
+ ' <field name="TEXT">http://</field>'
+ ' </shadow>'
+ ' </value>'
+ ' <value name="DATA">'
+ ' <shadow type="object_new">'
+ ' </shadow>'
+ ' </value>'
+ ' <value name="STATEMENT">'
+ ' </value>'
+ '</block>';

Blockly.Blocks['http_post'] = {
init: function() {
this.appendValueInput('URL')
.appendField(Blockly.Translate('http_post'));

this.appendValueInput('DATA')
.appendField(Blockly.Translate('http_post_data'));

this.appendStatementInput('STATEMENT')
.setCheck(null);

this.setInputsInline(false);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);

this.setColour(Blockly.Action.HUE);
this.setTooltip(Blockly.Translate('http_post_tooltip'));
this.setHelpUrl(getHelp('http_post_help'));
}
};

Blockly.JavaScript['http_post'] = function(block) {
const URL = Blockly.JavaScript.valueToCode(block, 'URL', Blockly.JavaScript.ORDER_ATOMIC);
const data = Blockly.JavaScript.valueToCode(block, 'DATA', Blockly.JavaScript.ORDER_ATOMIC);
const statement = Blockly.JavaScript.statementToCode(block, 'STATEMENT');

if (!data) {
data = '{}';
}

return `httpPost(${URL}, ${data}, { timeout: 2000 }, async (err, response) => {\n` +
Blockly.JavaScript.prefixLines(`if (err) {`, Blockly.JavaScript.INDENT) + '\n' +
Blockly.JavaScript.prefixLines(`console.error(err);`, Blockly.JavaScript.INDENT + Blockly.JavaScript.INDENT) + '\n' +
Blockly.JavaScript.prefixLines(`}`, Blockly.JavaScript.INDENT) + '\n' +
statement +
'});\n';
};

// --- action request --------------------------------------------------
Blockly.Action.blocks['request'] =
'<block type="request">'
Expand Down Expand Up @@ -202,6 +298,8 @@ Blockly.JavaScript['request'] = function(block) {
logText = '';
}

logText += `console.warn('request blockly block is deprecated - please use "http get" instead');\n`;

if (withStatement === 'TRUE' || withStatement === 'true' || withStatement === true) {
const statement = Blockly.JavaScript.statementToCode(block, 'STATEMENT');
if (statement) {
Expand Down
18 changes: 2 additions & 16 deletions admin/google-blockly/own/blocks_logic.js
Expand Up @@ -114,7 +114,7 @@ Blockly.Blocks['logic_multi_and'] = {
// Disconnect any children that don't belong.
for (let k = 0; k < this.itemCount_; k++) {
const connection = this.getInput('AND' + k).connection.targetConnection;
if (connection && connections.indexOf(connection) === -1) {
if (connection && !connections.includes(connection)) {
connection.disconnect();
}
}
Expand Down Expand Up @@ -153,13 +153,6 @@ Blockly.Blocks['logic_multi_and'] = {
* @this Blockly.Block
*/
updateShape_: function() {
if (this.itemCount_ && this.getInput('EMPTY')) {
this.removeInput('EMPTY');
} else if (!this.itemCount_ && !this.getInput('EMPTY')) {
this.appendDummyInput('EMPTY')
.appendField(this.newQuote_(true))
.appendField(this.newQuote_(false));
}
// Add new inputs.
for (let i = 0; i < this.itemCount_; i++) {
if (!this.getInput('AND' + i)) {
Expand Down Expand Up @@ -298,7 +291,7 @@ Blockly.Blocks['logic_multi_or'] = {
// Disconnect any children that don't belong.
for (let k = 0; k < this.itemCount_; k++) {
const connection = this.getInput('OR' + k).connection.targetConnection;
if (connection && connections.indexOf(connection) === -1) {
if (connection && !connections.includes(connection)) {
connection.disconnect();
}
}
Expand Down Expand Up @@ -337,13 +330,6 @@ Blockly.Blocks['logic_multi_or'] = {
* @this Blockly.Block
*/
updateShape_: function() {
if (this.itemCount_ && this.getInput('EMPTY')) {
this.removeInput('EMPTY');
} else if (!this.itemCount_ && !this.getInput('EMPTY')) {
this.appendDummyInput('EMPTY')
.appendField(this.newQuote_(true))
.appendField(this.newQuote_(false));
}
// Add new inputs.
for (let i = 0; i < this.itemCount_; i++) {
if (!this.getInput('OR' + i)) {
Expand Down

0 comments on commit 9d0e0ad

Please sign in to comment.