[GELÖST] Wochenprogramm für HmIP wird nicht abgespeichert

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Motorpsycho
Beiträge: 62
Registriert: 17.11.2015, 20:05
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Wochenprogramm wird nicht in HMIP-BROLL geschrieben

Beitrag von Motorpsycho » 12.11.2017, 23:49

Ich bin heute dem Fehler noch mal ein wenig hinterhergegangen und habe vermutlich die Ursache gefunden. Beim Schreiben der Config werden alle Einstellungen als Parameter an die URL "http://homematic-ccu2/config/ic_ifacecmd.cgi" übergeben.

Bei dem HMIP-BROLL sind das leider sehr viele Parameter, da jeder der bis zu 75 Timereinträge 9 Werte hat, sind das 75*9 = 675 Einträge, vgl. auch hier: viewtopic.php?f=60&t=38372&p=380206&hilit=BROLL#p380206

was leider dazu führt, dass der Request mit einem HTTP431 Fehler abbricht:

Code: Alles auswählen

"HTTP431: ANFORDERUNGSHEADER ZU GROSS: Der Server verweigert die Verarbeitung der Anforderung, weil ein Headerfeld oder alle Headerfelder zusammen größer sind als vom Server verarbeitet werden können. (XHR)GET - "
Der Request ist über 13.000 Zeichen lang und sieht ungefähr so aus:

Code: Alles auswählen

http://homematic-ccu2/config/ic_ifacecmd.cgi?sid=%40ZDqmB3stsf%40&iface=HmIP-RF&address=0011170995FB54%3A7&peer=MASTER&ps_type=MASTER&paramid=&pnr=&cmd=set_profile&[...]&75_WP_TARGET_CHANNELS=0&AvoidBrowserCache=0.28483550192759144
Ich habe aber keine Ahnung, wie man das Problem beheben könnte. Vielleicht kann man in der Config des Webservers das Limit erhöhen, es scheint keine feste in einem Standarf vorgegebene maximale Länge zu geben. Vielleicht kann man auch nur die tatsächlich in der GUI festgelegten Wochenprogramme anstatt aller an die CCU senden. Ist aber in jedem Fall etwas, was programmiert werden müsste.

Motorpsycho
Beiträge: 62
Registriert: 17.11.2015, 20:05
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Wochenprogramm wird nicht in HMIP-BROLL geschrieben

Beitrag von Motorpsycho » 13.11.2017, 09:28

Ich habe jetzt noch mal den Request verkürzt und alle Wochenprogramme >20 aus der URL rausgestrichen und sie dann manuell abgesetzt. Das Wochenprogramm wurde einwandfrei gesetzt. So kann man zumindest schon mal das Wochenprogramm einstellen bis es eine Lösung dafür gibt.

Benutzeravatar
jmaus
Beiträge: 7213
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 181 Mal
Danksagung erhalten: 729 Mal
Kontaktdaten:

Re: Wochenprogramm wird nicht in HMIP-BROLL geschrieben

Beitrag von jmaus » 13.11.2017, 09:43

Motorpsycho hat geschrieben:Ich bin heute dem Fehler noch mal ein wenig hinterhergegangen und habe vermutlich die Ursache gefunden. Beim Schreiben der Config werden alle Einstellungen als Parameter an die URL "http://homematic-ccu2/config/ic_ifacecmd.cgi" übergeben.

Bei dem HMIP-BROLL sind das leider sehr viele Parameter, da jeder der bis zu 75 Timereinträge 9 Werte hat, sind das 75*9 = 675 Einträge, vgl. auch hier: viewtopic.php?f=60&t=38372&p=380206&hilit=BROLL#p380206

was leider dazu führt, dass der Request mit einem HTTP431 Fehler abbricht:
Wow, das war der entscheidende Hinweis! Danke dafür. Nach etwas Analyse habe ich in RaspberryMatic nun den Fehler bzw. die Ursache dafür gefunden und auch entsprechend bereits beseitigt. Hintergrund des ganzen ist, das neuere lighttpd Webserver Versionen den Request Header auf maximal 8k limitieren und vorherige Versionen das auf 65k gesetzt hatten. Nun habe ich den Request Header max size entsprechend in der Konfiguration von RaspberryMatic wie folgt angepasst:

https://github.com/jens-maus/RaspberryM ... 7ffcf74658

Wenn du diese Einstellungen nun in der /etc/lighttpd/lighttpd.conf Datei deines RaspberryMatic vornimmst und neustartest solltest du in der Lage sein die Wochenprogramme auch mit RaspberryMatic abzuspeichern. Bitte aber beachten das die CCU2 mit Firmware 2.29.23 selbst eine ältere Version von lighttpd einsetzt die eigentlich das 65k limit nutzen sollte und folglich damit keine Probleme haben sollte - auch gibt es diese neuere Option zum setzen des max sizes des request headers in dieser lighttpd Version noch nicht.

Dieser Hinweis hat mir wirklich sehr geholfen und ich denke es gab bestimmt noch die Eine oder Andere Stelle in RaspberryMatic die auf Grund der geringere max size ähnliche Probleme gezeigt hatte weil die WebUI software eben wohl von 65k aus geht und so wohl auch ihre requests dann durchführt. Danke also nochmal für diesen exzellentes Hinweis.
RaspberryMatic 3.57.5.20210424 @ ESXi, ~190 Hm-RF/HmIP-RF/HmIPW Geräte, ioBroker – RaspberryMatic GitHub Projekt / Twitter

Motorpsycho
Beiträge: 62
Registriert: 17.11.2015, 20:05
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Wochenprogramm wird nicht in HMIP-BROLL geschrieben

Beitrag von Motorpsycho » 13.11.2017, 10:06

Ja, funktioniert.

Das hier

Code: Alles auswählen

mount -o remount,rw / && echo "server.max-request-field-size = 65536" >> /etc/lighttpd/lighttpd.conf && reboot

als root auf der Rasperrymatic ausführen. Danach lassen sich die Wochenprogramme problemlos setzen.

Benutzeravatar
jmaus
Beiträge: 7213
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 181 Mal
Danksagung erhalten: 729 Mal
Kontaktdaten:

Re: Wochenprogramm wird nicht in HMIP-BROLL geschrieben

Beitrag von jmaus » 13.11.2017, 10:28

Danke für's überprüfen. Dann wird es wohl zum kommenden Wochenende ein neues Release geben müssen :)

Achja, und dein Einzeiler könnte man noch wie folgt verbessern:

Code: Alles auswählen

mount -o remount,rw / && echo "server.max-request-field-size = 65536" >> /etc/lighttpd/lighttpd.conf && mount -o remount,ro / && /etc/init.d/S50lighttpd restart
:)
RaspberryMatic 3.57.5.20210424 @ ESXi, ~190 Hm-RF/HmIP-RF/HmIPW Geräte, ioBroker – RaspberryMatic GitHub Projekt / Twitter

Georgee
Beiträge: 121
Registriert: 22.05.2017, 11:58
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 4 Mal
Danksagung erhalten: 3 Mal

Re: [GELÖST] Wochenprogramm wird nicht in HMIP-BROLL geschri

Beitrag von Georgee » 13.11.2017, 14:58

Spitze, danke.

Hatte dieses Problem beim HMIP-PS, Zwischenstecker. Klappt mit dem kleinen Eingriff jetzt auch.
Tinker Board S, aktuelle Version, kleines Funkmodul mit USB-2, USV, ca. 45 Geräte, CUxD, Mail, Programme drucken, ccu-historian mit Highcharts, hm-pdetect

hmmarcus
Beiträge: 4
Registriert: 18.10.2017, 21:32

Re: [GELÖST] Wochenprogramm für HmIP wird nicht abgespeicher

Beitrag von hmmarcus » 13.11.2017, 19:51

Vielen Dank!!!! Hat bei mir natürlich auch gleich geklappt :D :D :D

jojota
Beiträge: 3
Registriert: 14.11.2017, 16:35

Re: [GELÖST] Wochenprogramm für HmIP wird nicht abgespeicher

Beitrag von jojota » 14.11.2017, 16:56

Habe auch das Problem mit der HMIP-PS.
Leider bin ich noch völlig unerfahren, wie ich die genannte Codezeile hinterlegen kann. Gibt es irgendwo eine grundlegende Bedienungsanleitung für solche Fälle?

Motorpsycho
Beiträge: 62
Registriert: 17.11.2015, 20:05
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: [GELÖST] Wochenprogramm für HmIP wird nicht abgespeicher

Beitrag von Motorpsycho » 14.11.2017, 17:43

Schau mal, ob dir das weiterhilft:

Du musst den SSH Zugriff auf der CCU2 einrichten und kannst dann von deinem PC mit z.B. Putty darauf zugreifen:

https://homematic.simdorn.net/ssh-zugan ... inrichten/
https://www.homematic-inside.de/tecbase ... -der-ccu-2

jojota
Beiträge: 3
Registriert: 14.11.2017, 16:35

Re: [GELÖST] Wochenprogramm für HmIP wird nicht abgespeicher

Beitrag von jojota » 14.11.2017, 18:02

Danke, hilft schon einmal weiter.

Antworten

Zurück zu „RaspberryMatic“