NEWS
Exec Befehl?
-
Hallo,
Bitte um eure Hilfe,
ist es möglich über ein Blockly dieses (siehe Bild) nachzumachen? -
Nachzumachen? Also eine Website mit den Elementen erstellen?
-
Das ist eher eine Visualisierung, das kannst du mit Blockly sicher nicht herstellen.
-
Hallo @david-g,
Nein ich glaube ich habe mich falsch ausgedrückt.
Das Bild zeigt den Webserver eines Wemos über dieses kann man Modbus Befehle an meinen Growattwechselrichter senden.
Dieses funktioniert so auch, möchte dieses aber gerne per Vis bzw. auch automatisiert senden. Das ganze funktioniert ja über Http-Post.Hoffntlich habe ich mich jetzt besser ausgedrückt.
Gruß Antonio
-
Da bin ich raus.
Aber die Post Befehle lassen sich bestimmt rausfinden. Post geht auch ehne exec in Blockly oder js. -
Hallo @david-g,
kein Problem.
Jemand auf der Github Seite schreibt folgendes, werde aber daraus nicht schlau:
Ich habe das mit dem Iobroker + Blockly mit einem "exec"-Block gelöst, der "curl -d "reg=&val=&operation=W®isterType=H&type=16b" -X POST http:///postCommunicationModbus_p" aufruft.
-
Der curl Befehl sieht nicht komplett aus (IP fehlt?).
Aber wenn es bei dir so klappt, kannst du das ja alles wie du magst mit dem Text erstellen Baustein zusammenstellen und Werte aus DPs oder Variablen verwenden.
-
@david-g said in Exec Befehl?:
Der curl Befehl sieht nicht komplett aus (IP fehlt?).
Aber wenn es bei dir so klappt, kannst du das ja alles wie du magst mit dem Text erstellen Baustein zusammenstellen und Werte aus DPs oder Variablen verwenden.
ich kann leider mit dem was da steht nix anfangen, wie würde das im blockly aussehen ? IP Adresse 192.168.2.156
-
Exemplarisch so.
Da wird jetzt die "16" aus einem Wert in einem Datenpunkt genommen. Dass kann man natürlich so kleinteilig machen wie man es braucht.
Jenachdem was man alles über einen DP steuern möchte.Natürlich noch mit einem Trigger etc.
-
@tedesco1968 sagte in Exec Befehl?:
werde aber daraus nicht schlau
Im Prinzip meint der wohl sowas:
Man könnte aber auch gleich einen HTTP-Post-Block nehmen. Da müsste man nur den Payload (daten) passend setzen.[edit]@David-G war schneller[/edit]
-
also das geht definitiv. wobei ich zunächst mal nicht den exec befehl verwenden würde.
mit blockly kenne ich mich nicht so ganz aus, aber zunächst muss man mal die ganzen parameter herausfinden.
das kann man auf dem screenshot nicht sehen.- um die herauszufinden gehe bitte auf genau diese seite und fülle das formular genau so aus, wie du es benötigst.
- dann gehe in die developer konsole deine browsers mit F12
- dann dort auf den Netzwerk reiter
- dann lösche evtl einträge mit dem löschenknopf. screenshot ist mit chrome gemacht
- dann den befehl in er webseite absenden (wahrscheinlich mit Go?)
- dann im netzwerkreiter schauen idealerweise gibt es da nur einen Eintrag ansonsten müsste der postCommunicationModbus oder so ähnlich heißen.
- auf diesem Eintrag dann rechte Maustaste und Copy-> cURL
- das Ergebnis dann hier posten.
Da müsste dann alles drin stehen, was man benötigt um das in blockly oder anders nachzubilden.
Hast du geprüft, ob es für dein Gerät nicht einen Adapter gibt?
Wenn da modbus oder growatt steht, für beide gibt es Adapter mit denen es evtl einfacher geht dein Gerät anzusteuern. -
@oliverio said in Exec Befehl?:
also das geht definitiv. wobei ich zunächst mal nicht den exec befehl verwenden würde.
mit blockly kenne ich mich nicht so ganz aus, aber zunächst muss man mal die ganzen parameter herausfinden.
das kann man auf dem screenshot nicht sehen.- um die herauszufinden gehe bitte auf genau diese seite und fülle das formular genau so aus, wie du es benötigst.
- dann gehe in die developer konsole deine browsers mit F12
- dann dort auf den Netzwerk reiter
- dann lösche evtl einträge mit dem löschenknopf. screenshot ist mit chrome gemacht
- dann den befehl in er webseite absenden (wahrscheinlich mit Go?)
- dann im netzwerkreiter schauen idealerweise gibt es da nur einen Eintrag ansonsten müsste der postCommunicationModbus oder so ähnlich heißen.
- auf diesem Eintrag dann rechte Maustaste und Copy-> cURL
- das Ergebnis dann hier posten.
Da müsste dann alles drin stehen, was man benötigt um das in blockly oder anders nachzubilden.
Hast du geprüft, ob es für dein Gerät nicht einen Adapter gibt?
Wenn da modbus oder growatt steht, für beide gibt es Adapter mit denen es evtl einfacher geht dein Gerät anzusteuern.Hallo @OliverIO,
Danke dir, das ist die Ausgabe:curl 'http://192.168.2.156/postCommunicationModbus_p'
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7'
-H 'Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7'
-H 'Cache-Control: no-cache'
-H 'Connection: keep-alive'
-H 'Content-Type: application/x-www-form-urlencoded'
-H 'DNT: 1'
-H 'Origin: http://192.168.2.156'
-H 'Pragma: no-cache'
-H 'Referer: http://192.168.2.156/postCommunicationModbus'
-H 'Upgrade-Insecure-Requests: 1'
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
--data-raw 'reg=0&val=0&type=16b&operation=W®isterType=H'
--insecure -
Ich würd's mal so versuchen:
-
@tedesco1968 sagte in Exec Befehl?:
x-www-form-urlencoded
genau so wie codierknecht es gepostet hat
als adresse das was hinter curl in Anführunsstriche steht (ohne Anführungsstriche)
und als Daten das was als data-raw steht, auch ohne Anführungsstriche und hoffen
das das Gerät den Content-Type nicht auswertet. Keine Ahnung was der Blocklybefehl da macht und das irgendwie umsetzt.Wenn nicht muss man auf javascript ausweichen, da kann man noch zusätzliche header mit angeben.
-
@codierknecht said in Exec Befehl?:
Ich würd's mal so versuchen:
Hallo @Codierknecht ,
das geht über http (post), geht aber auch über exec, werde jetzt was passendes bauen.
Danke an alle, danke auch an @OliverIO für die super möglichkeiten der Postbefehele Aufzeichnung
-
@tedesco1968 sagte in Exec Befehl?:
das geht über http (post), geht aber auch über exec, werde jetzt was passendes bauen.
Dann würde ich den POST-Block bevorzugen, statt mit "exec" noch eine Ehrenrunde über externes Programm zu drehen.
-
@codierknecht said in Exec Befehl?:
@tedesco1968 sagte in Exec Befehl?:
das geht über http (post), geht aber auch über exec, werde jetzt was passendes bauen.
Dann würde ich den POST-Block bevorzugen, statt mit "exec" noch eine Ehrenrunde über externes Programm zu drehen.
werde ich auch so machen, habe mir zwei objekte erstellt mit Register und Registerwert, so kann ich auch verschiedene Register und Werte an meinen Growatt senden
Danke euch allen