La script funciona, por supuesto que si los valores son esos, en el iframe se va a cargar una página de error de algún tipo
crea un documento html con esto y verificalo
Código HTML:
Ver original<!DOCTYPE html>
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
function enviarvalores(sensor){
var ip = document.getElementById('ip').value;
var valor = document.getElementById('hab1').value;
parent.iframe.location.href="http://" + ip + ":80/sensor-update=" + sensor + "=" + valor
}
//]]>
<input id="ip" name="ip" value="emprear.com"/><br /> <input id="hab1" type="range" name="hab1" min="0" max="255" value="0" onchange="enviarvalores('hab1');"/> <iframe id="iframe" scrolling="no" src="about:blank" frameborder="1" width="100%" allowtransparency="true" name="iframe"></iframe>
Le reemplacé la ip por un valor válido y también el puerto en la url
por lo del evento, desonozco la aplicación, pero con onchange solo va a responder cuando el usuario modifique el valor y el input pierda el foco. Por ahi creando un boton y en este ejecutar la función onclick sería mejor, pero te repito, es un suposición porque no se como trabaja todo el conjunto.
Otro detalle, en este ejemplo solo usaste un input, si fuesen varios
var valor = document.getElementById('hab1').value;
deberia ser como antes
var valor = document.getElementById(sensor).value;
SAludos