Great work, and surprisingly not that complicated to implement. One more bug fix request. Custom frames that were given a new name worked great initially, but would reset to their old names (forecast.html) on the slow_poll, which is rarely called. I tracked the bug down to housepanel.php line 1270. You can replace $fn = $defaultname with:
// get custom tile name if it was defined in tile editor and stored
// in the room array - this is a temp fix until I change the architecture
// to stre custom names in the index of things instead
$customname= "";
$rooms = $options["rooms"];
$thingoptions = $options["things"];
$tileid = $options["index"]["frame|".$frameid];
foreach ($rooms as $room => $ridx) {
if ( array_key_exists($room, $thingoptions) ) {
$things = $thingoptions[$room];
foreach ($things as $kindexarr) {
// only do this if we have custom names defined in rooms
if ( is_array($kindexarr) && count($kindexarr) > 3 ) {
$kindex = $kindexarr[0];
// if our tile matches and there is a custom name, use it
if ( intval($kindex)===intval($tileid) ) {
$customname = $kindexarr[4];
if ( $customname!=="" ) { break; }
}
}
}
}
if ( $customname!=="" ) { break; }
}
$fn = $defaultname;
if ( $customname ) {
$fn = $customname;
}