NEWS
Hilfe bei Skripte von request auf httpGet umbauen
- 
					
					
					
					
 @wildbill Ok, aber die Antwort von Tasmota: javascript.0 19:17:46.267 info script.js.Matrix_Displays: {"Restart":"Restarting"}wird doch empfangen aber scheinbar nicht als Antwort interpretiert. Hat @haus-automatisierung hier evtl. einen Rat? 
- 
					
					
					
					
 @rushmed Das stimmt allerdings, wenn man es so sieht. Keine Ahnung, ob da noch danach was „erwartet“ wird, was wegen des Reboots aber nicht kommt. Gruss, Jürgen 
- 
					
					
					
					
 @rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen: Hat @haus-automatisierung hier evtl. einen Rat? Tasmota ist hier zumindest immer wieder auffällig. Bitte mal die gleiche URL mit curl aufrufen und verbose aktivieren -vdamit man alle Header sieht.
- 
					
					
					
					
 @haus-automatisierung 
 ich habe:
  
 Ausgeführt und es ist garnichts passiert. Weder wurde der Befehl ausgeführt, noch kam eine Antwort.
- 
					
					
					
					
 @rushmed Mach das mal direkt per ssh oder auf einem anderen System. Also nicht aus Blockly heraus. Ansonsten müssen natürlich Anführungszeichen um die URL, damit die 1 am Ende noch dazu gehört (oder %20dazwischen)
- 
					
					
					
					
 pi@Smartazamba:~ $ curl -v http://192.168.178.138/cm?cmnd=Restart 1 * Trying 192.168.178.138:80... * Connected to 192.168.178.138 (192.168.178.138) port 80 (#0) > GET /cm?cmnd=Restart HTTP/1.1 > Host: 192.168.178.138 > User-Agent: curl/7.88.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Type: application/json < Server: Tasmota/14.1.0.1 (ESP8266EX) < Cache-Control: no-cache, no-store, must-revalidate < Pragma: no-cache < Expires: -1 < Accept-Ranges: none < Transfer-Encoding: chunked < Connection: close < * Closing connection 0 {"Restart":"1 to restart, 2 to halt"}* Trying 0.0.0.1:80...Restart ist nicht erfolgt. 
- 
					
					
					
					
 @rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen: Restart ist nicht erfolgt. Weil Du wieder keine Anführungszeichen um die Url gemacht hast und die 1am Ende für curl somit nicht zur Url gehört (sieht man auch im verbose)
- 
					
					
					
					
 @haus-automatisierung Sorry. pi@Smartazamba:~ $ curl -v "http://192.168.178.138/cm?cmnd=Restart 1" * Closing connection -1 curl: (3) URL using bad/illegal format or missing URL
- 
					
					
					
					
 @rushmed curl -v "http://192.168.178.138/cm?cmnd=Restart%201"
- 
					
					
					
					
 @haus-automatisierung sagte in Hilfe bei Skripte von request auf httpGet umbauen: curl -v "http://192.168.178.138/cm?cmnd=Restart 1" pi@Smartazamba:~ $ curl -v "http://192.168.178.138/cm?cmnd=Restart%201" * Trying 192.168.178.138:80... * Connected to 192.168.178.138 (192.168.178.138) port 80 (#0) > GET /cm?cmnd=Restart%201 HTTP/1.1 > Host: 192.168.178.138 > User-Agent: curl/7.88.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Type: application/json < Server: Tasmota/14.1.0.1 (ESP8266EX) < Cache-Control: no-cache, no-store, must-revalidate < Pragma: no-cache < Expires: -1 < Accept-Ranges: none < Transfer-Encoding: chunked < Connection: close < * Closing connection 0 {"Restart":"Restarting"}pRestart wir ausgeführt. 
 Script sendet wieder:javascript.0 22:20:34.986 error script.js.Matrix_Displays: timeout of 2000ms exceededDas passiert ohne Scriptneustart o.ä.. Scheinbar lauscht das Script aber empfängt nichts. 
 Gesendet hab' ich den Befehl per Putty.
- 
					
					
					
					
 @rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen: Transfer-Encoding: chunked Könnte sein dass axios denkt dass da noch mehr kommen müsste und deswegen wartet (bis timeout). Muss ich mir mal ein Test-Setup aufbauen. Eventuell auch eine blöde Kombination in Tasmota mit Restart, dass die Verbindung dann nicht richtig geschlossen wird, weil ESP neustartet. https://nothing-else.blog/blog/axios-timeout-for-chunked-responses 
- 
					
					
					
					
 @haus-automatisierung Ich hab' noch eine Info: 
  
 Bringt nur:javascript.0 22:26:05.158 error script.js.Tasmota: timeout of 2000ms exceeded javascript.0 22:26:05.164 error script.js.Tasmota: timeout of 2000ms exceededbei drei angesprochenen Geräten von denen zwei offline sind. Hier kommt die Meldung für das Verfügbare gerät nicht. Das ist schlüssig. 
 Wo liegt hier der Unterschied?
- 
					
					
					
					
 @rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen: Wo liegt hier der Unterschied? Andere Tasmota-Version? 
- 
					
					
					
					
 @haus-automatisierung Oha, da passiert was, ich prüfe kurz. Edit1: 
 Tasmota Development Version" Tasmota 14.1.0.1 (display)" bringt den Error.
 Tasmota Master Version "Tasmota 14.1.0 (display)" bringt den Error nicht.
 Super!
 Werde die Devices auf die Tasmota Master umstellen.
 Vielen Dank!Edit2: 
 Hab' mich zu früh gefreut. Der Error kommt wieder.Edit3: 
 Jetzt sind zwei von drei Geräten angschlossen bei der Ausführung von:
  
 und die Errormeldung kommt nurnoch einmal. Wieder schlüssig.
- 
					
					
					
					
 @rushmed Probiere mal /cm?cmnd=Restart%201Die %20maskieren das Leerzeichen (URL-Encoding), vielleicht liegt es daran
- 
					
					
					
					
 @bananajoe sagte in Hilfe bei Skripte von request auf httpGet umbauen: %20 Hat leider nicht geholfen. Die Meldung kommt dennoch. Ich verstehe wiklich nicht warum die Meldung bei: 
  
 auftritt, aber bei:
  
 nicht.
- 
					
					
					
					
 Hier evtl eine zusatzinformation zum Problem 
 https://github.com/axios/axios/issues/5753Eine Lösung dafür hab ich allerdings nicht gesehen und gesucht 
- 
					
					
					
					
 @oliverio Danke aber Logindaten sind für den Befehl nicht notwendig. 
- 
					
					
					
					
 Shit falscher thread 
- 
					
					
					
					
 bei tasmota mit dem httpget baustein bekomme ich öfters bei 2000ms einen fehler - verhindern kann ich das nur mit 4000ms timeout einstellung das wurde schon mal diskutiert und keine lösung gefunden - meine vermutung ist eher, das die esp's irgendwie beschäftigt sind, bevor sie eine antwort senden, da 2 sek eine ewigkeit im netztraffik sind und kein thema sein sollte ich würde auch evtl einen pause block in deine schleife einfügen - wenn man zu schnell mehrere esp' s anspricht, habe ich schon immer probleme gehabt 
 
		
	 
		
	 
			
		 
			
		 
			
			 
			
			