defmod MediaDeckenlampe Shelly 192.168.3.166
attr MediaDeckenlampe DbLogExclude .*
attr MediaDeckenlampe alias EG Mediaroom Deckenmlampe IP166
attr MediaDeckenlampe devStateIcon {my $onl = ReadingsVal($name,'network_connection','false') eq 'false'?'10px-kreis-rot':'10px-kreis-gruen';; $onl = FW_makeImage($onl);; my $light = FW_makeImage(ReadingsVal($name,'state','off'));; my $temp = ReadingsVal($name,'inttemp','-100');; my $ip = ReadingsVal($name,'ip','none');; my $reb = ReadingsVal($name,'sys_restart_required','false') eq 'true'?'<a href="/fhem?cmd.dummy=set '.$name.' x_reboot&XHR=1"> ... Notwendigen Reboot durchführen</a>':'';; qq(<a href="http://$ip" target="_blank">${onl}</a><a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a>$reb<div>Temp: $temp °C</div>)}
attr MediaDeckenlampe group Licht
attr MediaDeckenlampe icon li_wht_on
attr MediaDeckenlampe model shellyprodm1pm
attr MediaDeckenlampe room Mediaroom
attr MediaDeckenlampe webCmd pct:on:offZitat von: pc1246 am 14 Mai 2026, 21:58:01Die Variante von Rippi in https://forum.fhem.de/index.php?msg=1350784 hat auch nicht geklappt:Das scheint ein curl-Aufruf von Linux zu sein, der unter Windows ausgeführt wird? Soweit ich weiß läuft unter Windows das Quoting anders. Also den Linux-Befehl kann man syntaktisch nicht 1:1 übernehmen. Also Single-Quotes kennt Windows-cmd erst einmal nicht. Könnte man evtl. so ersetzen:C:\Users\Christoph>curl -X POST http://192.168.178.243/update -H 'Content-Type: application/json' --data '{"rom": {"url": "http://lightinator.de/download/develop/V5.0-503-develop/esp8266/debug/rom0.bin"},"spiffs": {"url": "http://rgbww.dronezone.de/testing/spiff_rom.bin"}}'
{"error":"could not parse HTTP body"}curl: (6) Could not resolve host: application
curl: (3) unmatched brace in URL position 1:
{url:
^
curl -X POST http://192.168.178.243/update -H "Content-Type: application/json" --data "{\"rom\": {\"url\": \"http://lightinator.de/download/develop/V5.0-503-develop/esp8266/debug/rom0.bin\"},\"spiffs\": {\"url\": \"http://rgbww.dronezone.de/testing/spiff_rom.bin\"}}"Das Attribut pollingTimeout muss auf einen Wert > 0 gesetzt sein, sonst wird nichts empfangenCallback returned error :Conflict: terminated by other getUpdates request; make sure that only one bot instance is running:
{
"rom": {
"url": "http://lightinator.de/download/develop/V5.0-503-develop/esp8266/debug/rom0.bin"
},
"spiffs": {
"url": "http://rgbww.dronezone.de/testing/spiff_rom.bin"
}
}
{"error":"could not parse HTTP body"}
das sieht nach einer Fehlermeldung des Controllers aus - das ist ein "bad request"curl: (6) Could not resolve host: application
curl: (3) unmatched brace in URL position 1:
{url:
String body = request.getBody();
if (body == NULL) {
sendApiCode(response, API_CODES::API_BAD_REQUEST, F("could not parse HTTP body"));
return;
}
$ curl -X POST http://192.168.29.101/update -H 'Content-Type: application/json' --data '{"rom": {"url": "http://lightinator.de/download/develop/V5.0-503-develop/esp8266/debug/rom0.bin"},"spiffs": {"url": "http://rgbww.dronezone.de/testing/spiff_rom.bin"}}'
{"success":true}