NEWS
SQL Abfrage von MariaDB in Blockly
-
Hallo,
ich setze meine Smarthome Installation neu auf, diesmal auf Mini-PC & Proxmox ( vorher Raspberry 4 ohne Proxmox )Iobroker und MariaDB laufen jeweils in einem Debian Trixie LXC Container und funktionieren soweit, das heißt lokal auf dem Container kann ich SQLs absetzen und der SQL Adapter im IOB ist connnected und grün
Mit einem Java Script bekomme ich Daten ausgelesen und auch ein Return Object zurück :


ich würde solche eine Abfrage lieber in einem Blockly Script realisieren : Blockly & SQL auf Basic Level kann ich, aber Java / Java Script ist so gar nicht meine Welt.
In Blockly habe ich es wie folgt versucht, bekomme keinen Fehler - aber auch kein Ergebnis welches ich verwerten kann.
im Kommentar steht zu besseren Lesbarkeit das verwendete SQL Statement analog zu dem vom Java Script oben.


Im MariaDB Errorlog sehe ich leider auch nichts.

Ich versuche schon seit ein paar Tagen das hinzubekommen, das Forum und Google spuckt da eine Menge aus, aber ausser letztlich Java Script habe ich nichts lauffähiges gefunden

Hat jemand eine Idee / Hinweis was ich da falsch mache ?
Vielen Dank
-
Hallo,
ich setze meine Smarthome Installation neu auf, diesmal auf Mini-PC & Proxmox ( vorher Raspberry 4 ohne Proxmox )Iobroker und MariaDB laufen jeweils in einem Debian Trixie LXC Container und funktionieren soweit, das heißt lokal auf dem Container kann ich SQLs absetzen und der SQL Adapter im IOB ist connnected und grün
Mit einem Java Script bekomme ich Daten ausgelesen und auch ein Return Object zurück :


ich würde solche eine Abfrage lieber in einem Blockly Script realisieren : Blockly & SQL auf Basic Level kann ich, aber Java / Java Script ist so gar nicht meine Welt.
In Blockly habe ich es wie folgt versucht, bekomme keinen Fehler - aber auch kein Ergebnis welches ich verwerten kann.
im Kommentar steht zu besseren Lesbarkeit das verwendete SQL Statement analog zu dem vom Java Script oben.


Im MariaDB Errorlog sehe ich leider auch nichts.

Ich versuche schon seit ein paar Tagen das hinzubekommen, das Forum und Google spuckt da eine Menge aus, aber ausser letztlich Java Script habe ich nichts lauffähiges gefunden

Hat jemand eine Idee / Hinweis was ich da falsch mache ?
Vielen Dank
-
@fuzzy1955 Das ist so nicht richtig: Du kannst einfach einen JavaScript Codeblock nutzen in Blockly. Und SQL-Querys gehen natürlich auch. Die KI Antwort ist Mist.
Und den Mist hätte er sich selbst holen können bei einer KI seiner Wahl, wäre damit aber auch kein Stück weiter. Um nicht zu sagen: Lieber @fuzzy1955, ich halte es nicht für hilfreich, die Frage einfach in eine KI zu werfen und die Antwort hier zu posten, wenn man sich im Thema, hier Blockly und SQL, nicht auskennt. Ich zitiere dich: "Ich verwende Blockly nicht und kenne es daher auch nicht sonderlich" um danach Vermutungen anhand der falschen KI Antwort zu stellen.
Zum Importieren:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="EL2x;*]Vs`6/UunTXul{">result</variable> </variables> <block type="sendto_custom" id="C211ky`tBw!0AQETocfM" x="63" y="-112"> <mutation xmlns="http://www.w3.org/1999/xhtml" items=""></mutation> <field name="INSTANCE">sql.0</field> <field name="COMMAND">query</field> <field name="LOG"></field> <field name="WITH_STATEMENT">TRUE</field> <value name="ARG0"> <shadow type="text" id="_@?+`1taj/oxEOFJ}g{,"> <field name="TEXT">select count(*) from iobroker.ts_number</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="pD@~i#~}HAJA/Wd7oHu$"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="U^,Ui,rqXAs8sepWfPK@"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="R:dZjV_me;Q^%c(~jQPW"> <field name="VAR" id="EL2x;*]Vs`6/UunTXul{">result</field> </block> </value> </block> </statement> </block> </xml>Der Trick ist das bei Parameter kein Name drin stehen darf:

Lösung fand ich hier:
https://forum.iobroker.net/post/1153121 -
@fuzzy1955 Das ist so nicht richtig: Du kannst einfach einen JavaScript Codeblock nutzen in Blockly. Und SQL-Querys gehen natürlich auch. Die KI Antwort ist Mist.
Und den Mist hätte er sich selbst holen können bei einer KI seiner Wahl, wäre damit aber auch kein Stück weiter. Um nicht zu sagen: Lieber @fuzzy1955, ich halte es nicht für hilfreich, die Frage einfach in eine KI zu werfen und die Antwort hier zu posten, wenn man sich im Thema, hier Blockly und SQL, nicht auskennt. Ich zitiere dich: "Ich verwende Blockly nicht und kenne es daher auch nicht sonderlich" um danach Vermutungen anhand der falschen KI Antwort zu stellen.
Zum Importieren:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="EL2x;*]Vs`6/UunTXul{">result</variable> </variables> <block type="sendto_custom" id="C211ky`tBw!0AQETocfM" x="63" y="-112"> <mutation xmlns="http://www.w3.org/1999/xhtml" items=""></mutation> <field name="INSTANCE">sql.0</field> <field name="COMMAND">query</field> <field name="LOG"></field> <field name="WITH_STATEMENT">TRUE</field> <value name="ARG0"> <shadow type="text" id="_@?+`1taj/oxEOFJ}g{,"> <field name="TEXT">select count(*) from iobroker.ts_number</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="pD@~i#~}HAJA/Wd7oHu$"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="U^,Ui,rqXAs8sepWfPK@"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="R:dZjV_me;Q^%c(~jQPW"> <field name="VAR" id="EL2x;*]Vs`6/UunTXul{">result</field> </block> </value> </block> </statement> </block> </xml>Der Trick ist das bei Parameter kein Name drin stehen darf:

Lösung fand ich hier:
https://forum.iobroker.net/post/1153121Und SQL-Querys gehen natürlich auch
Ich bin bei KI-Antworten prinzipiell misstrauisch und habe diese Abfrage vorher bei mir in Blockly probiert. Und bin nach einigen Versuchen daran gescheitert, dass kein COMMAND: QUERY vorhanden war.
ich halte es nicht für hilfreich, die Frage einfach in eine KI zu werfen und die Antwort hier zu posten
Da hast du recht. Das werde ich nicht mehr machen.
-
@fuzzy1955 Das ist so nicht richtig: Du kannst einfach einen JavaScript Codeblock nutzen in Blockly. Und SQL-Querys gehen natürlich auch. Die KI Antwort ist Mist.
Und den Mist hätte er sich selbst holen können bei einer KI seiner Wahl, wäre damit aber auch kein Stück weiter. Um nicht zu sagen: Lieber @fuzzy1955, ich halte es nicht für hilfreich, die Frage einfach in eine KI zu werfen und die Antwort hier zu posten, wenn man sich im Thema, hier Blockly und SQL, nicht auskennt. Ich zitiere dich: "Ich verwende Blockly nicht und kenne es daher auch nicht sonderlich" um danach Vermutungen anhand der falschen KI Antwort zu stellen.
Zum Importieren:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="EL2x;*]Vs`6/UunTXul{">result</variable> </variables> <block type="sendto_custom" id="C211ky`tBw!0AQETocfM" x="63" y="-112"> <mutation xmlns="http://www.w3.org/1999/xhtml" items=""></mutation> <field name="INSTANCE">sql.0</field> <field name="COMMAND">query</field> <field name="LOG"></field> <field name="WITH_STATEMENT">TRUE</field> <value name="ARG0"> <shadow type="text" id="_@?+`1taj/oxEOFJ}g{,"> <field name="TEXT">select count(*) from iobroker.ts_number</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="pD@~i#~}HAJA/Wd7oHu$"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="U^,Ui,rqXAs8sepWfPK@"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="R:dZjV_me;Q^%c(~jQPW"> <field name="VAR" id="EL2x;*]Vs`6/UunTXul{">result</field> </block> </value> </block> </statement> </block> </xml>Der Trick ist das bei Parameter kein Name drin stehen darf:

Lösung fand ich hier:
https://forum.iobroker.net/post/1153121@BananaJoe
Hi, dein Beispiel klappt, aber nur wenn ich den Export aus deinem Post importiere.
Den Post, auf den du verwiesen hast,hatte ich auch gefunden, aber damit kam ich nicht klar bzw. es funktionierte nicht.
Situation jetzt ist : wenn ich in ‚deinem‘ Blockly auch nur einmal auf den Parameter * oben links klicke, wir sofort Parameter angezeigt mit leerem Inhalt :

Nun schließe ich das einfach wieder, starte das Script - unverändert wie ich denke - und bekomme wieder kein Ergebnis bzw. Fehler undefined.

Irgendwas ist da faul.
Konntest du den Send_to Block einfach so anlegen und der Parameter blieb leer ?
Bei läuft genau der Export von deinem Post, wenn ich da den send_to verändere geht’s nicht mehr
-
Der Debug-Block gehört in den sendTo-Block, nicht danach!
-
@BananaJoe
Hi, dein Beispiel klappt, aber nur wenn ich den Export aus deinem Post importiere.
Den Post, auf den du verwiesen hast,hatte ich auch gefunden, aber damit kam ich nicht klar bzw. es funktionierte nicht.
Situation jetzt ist : wenn ich in ‚deinem‘ Blockly auch nur einmal auf den Parameter * oben links klicke, wir sofort Parameter angezeigt mit leerem Inhalt :

Nun schließe ich das einfach wieder, starte das Script - unverändert wie ich denke - und bekomme wieder kein Ergebnis bzw. Fehler undefined.

Irgendwas ist da faul.
Konntest du den Send_to Block einfach so anlegen und der Parameter blieb leer ?
Bei läuft genau der Export von deinem Post, wenn ich da den send_to verändere geht’s nicht mehr
Konntest du den Send_to Block einfach so anlegen und der Parameter blieb leer ?
Nein, das
parameter1musste ich auch von Hand rauslöschen.
und wie @dr.-bakterius schon schrieb, dein Debug gehört in densendToBlock, nur innerhalb des Blocks ist die Variableresultverfügbar. -
Konntest du den Send_to Block einfach so anlegen und der Parameter blieb leer ?
Nein, das
parameter1musste ich auch von Hand rauslöschen.
und wie @dr.-bakterius schon schrieb, dein Debug gehört in densendToBlock, nur innerhalb des Blocks ist die Variableresultverfügbar.es funkioniert jetzt - hatte in Eure Kommentare mehr reininterpretiert als notwendig :-)
Vielen Dank für die Geduld
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
