worum gehts?
ich hatte einen 3d-drucker, den man mit get/post seine daten entlocken konnte.
ich habe jetzt den beweis für ähnliche funktionalität bei meinem neuen drucker gefunden. jemand hat für hass ein modul geschrieben: https://github.com/kruzhkov/hass-flashforge-adventurer-5
was will ich?
die sensordaten von meinem drucker *g*
mir wurde auch schon ein wenig geholfen. ein netter kerl aus dem druckerforum hat mal die richtige richtung angezeigt:
STATUS_COMMAND = "~M601 S1"
PRINT_JOB_INFO_COMMAND = "~M27"
TEMPERATURE_COMMAND = "~M105"
STATE_COMMAND = "~M119\r\n"
das scheint mal das relevante zu sein.
was hab ich bisher gemacht?
im firefox rumprobiert, da kommt bei folgendem versuch "https://192.168.178.9:8899/~M105" aber vom firefox nur:
Fehler: Gesicherte Verbindung fehlgeschlagen
Beim Verbinden mit 192.168.178.9:8899 trat ein Fehler auf. PR_END_OF_FILE_ERROR
Fehlercode: PR_END_OF_FILE_ERROR
ich hab natürlich auch probiert, das als abschreibübung zum alten zu sehen:
curl --location --request POST 'http://<printer_ip>/TEMPERATURE_COMMAND ' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode '~M105'
dabei kommt dann:
Invoke-WebRequest : Es wurde kein Positionsparameter gefunden, der das Argument "--request" akzeptiert.
In Zeile:1 Zeichen:1
+ curl --location --request POST 'http://192.168.178.9/TEMPERATURE_COMM ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
was brauche ich also?
einen funktionierenden aufruf im browser.
gibt's weitere infos?
ich hab leider nur noch, wie das früher am alten drucker gefunzt hat. der ist übrigens von derselben firma (flashforge) und eigentlich waren die aufrufe da bei allen "gehobenen" druckern von denen gleich, aber ...
zumindest war folgender aufruf da, um z.b. den druckerstatus zu kriegen:
curl --location --request POST 'http://<printer_ip>/command' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'GETPRINTERSTATUS'
daraus konnte man dan ein einfaches modul für fhem erstellen, dass dann in etwa so ausgesehen hat:
define dremel3d45 HTTPMOD http://192.168.178.9/command 5 (die "5" ist nur der abrufintervall)
attr dremel3d45 extractAllJSON 1
attr dremel3d45 requestData GETPRINTERSTATUS
attr dremel3d45 stateFormat status
alle meine "weisheiten" hab ich damals für den alten drucker von https://docs.google.com/document/d/1Of…FT0aroKhuU/edit
vielleicht steht da ja auch was brauchbares drinnen. ich bin mir nicht gar so sicher, dass meine abrufe auch bei gcodes zutreffend sind. aber wie, wo, warum, ... keine ahnung!
für hilfe recht dankbar wäre ...
und ja, ich weiß, manche halten mich für 'ne faule sau, ich halt mich nur für unfähig ... und ... ich kenn’ mich besser *g*
wer mir also nur sagen will, wie dämlich ich bin: spar dirs, das weiß ich schon!