ich habe eine Stiebel Wärmepumpe und kann über das ISG-Modul - separates "Kastl" am LAN mit der Option, Werte der Wärmepumpe über Browser oder Modubus auszulesen/zu beinflussen - darauf zugreifen. Ich nutze hierfür Rules und das Modbus-Binding in openHAB, um z.B. die Heizung - bei PV-Überschuss - in den forcierten Betrieb zu schalten (SG Ready), etc.
Leider habe ich aber nicht alle im Browser verfügbaren Einstellungen auch über Modbus im Zugriff.
Gibt es über openHAB eine Möglichkeit, eine URL aufzurufen, den Wert eines Eingabefelds zu ändern und einen "Button Klick" auf einen Button (Speichern) auszuführen?
Konkret möchte ich die Reststillstandszeit der Wärmepumpe über eine Rule in openHAB dynamisch anpassen, indem:
1. der Wert im Eingabefeld gesetzt
2. der Button "Speichern" ausgelöst wird
...siehe Screenshot.
Falls relevant: Ich verwende das openHAB Release 4.1 (stable) auf bullseye.
EDIT: Ich habe noch den Seitenquelltext hinzugefügt.
Danke,
Hannes
Code: Alles auswählen
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
<head>
<title>STIEBEL ELTRON Reglersteuerung</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="content-language" content="de" />
<meta name="robots" content="noindex,nofollow" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="shortcut icon" href="./pics/brlogo.ico">
<!-- does not exist link rel="stylesheet" href="./css/netzwerk.css" type="text/css" media="all" /-->
<link rel="stylesheet" type="text/css" href="./css/slider/ste_slider.css" />
<!-- Blueprint CSS framework -->
<link rel="stylesheet" href="./css/blueprint/screen.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="./css/blueprint/print.css" type="text/css" media="print" />
<!--[if lt IE 8]><link rel="stylesheet" href="./css/blueprint/ie.css" type="text/css" media="screen, projection" /><![endif]-->
<link rel="stylesheet" href="./css/layout.css" type="text/css" media="all" />
<link rel="stylesheet" href="./css/sifr.css" type="text/css" media="all" />
<link rel="stylesheet" href="./css/thickbox.css" type="text/css" media="all" />
<link rel="stylesheet" type="text/css" href="./css/jquery.jqplot.min.css" />
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/thickbox.js"></script>
<script type="text/javascript" src="./js/sifr.js"></script>
<script type="text/javascript" src="./js/sifr_sw.js"></script>
<script type="text/javascript" src="./js/scripts.js"></script>
<script type="text/javascript" src="./js/json2.js"></script>
<script type="text/javascript" src="./js/plugins/jquery-ui-1.8.6.custom.min.js"></script>
<script type="text/javascript" src="./js/setDNS1.js"></script>
<!-- [if IE] -->
<script language="javascript" type="text/javascript" src="./js/excanvas.min.js"></script>
<!-- [endif] -->
<!-- for dateAxisRenderer.js -->
<script language="javascript" type="text/javascript" src="./js/plugins/Date.min.js"></script>
<!-- BEGIN: load jqplot -->
<script language="javascript" type="text/javascript" src="./js/jquery.jqplot.min.js"></script>
<script language="javascript" type="text/javascript" src="./js/plugins/jqplot.dateAxisRenderer.js"></script>
<script language="javascript" type="text/javascript" src="./js/plugins/jqplot.barRenderer.js"></script>
<script language="javascript" type="text/javascript" src="./js/plugins/jqplot.categoryAxisRenderer.js"></script>
<!-- END: load jqplot -->
<!-- BEGIN: load slider -->
<script language="javascript" type="text/javascript" src="./js/plugins/slider/jquery.ui.core.js"></script>
<script language="javascript" type="text/javascript" src="./js/plugins/slider/jquery.ui.widget.js"></script>
<script language="javascript" type="text/javascript" src="./js/plugins/slider/jquery.ui.mouse.js"></script>
<script language="javascript" type="text/javascript" src="./js/plugins/slider/jquery.ui.slider.js"></script>
<!-- END: load slider -->
<!-- BEGIN: Uhrzeit -->
<!-- END: Uhrzeit -->
</head>
<body>
<div id="header">
<div class="head curdef">
<div id="meta">
<div id="login">
</div>
</div>
<div class="eingestelle_sprache"><strong><a href="?s=5,3" style="color:white">DEUTSCH</a></strong></div>
<div id="Uhrzeit"></div>
<div class="title">
<a href="." onclick="return checkChanges(this);" title="zur Startseite">
<img src="./pics/title.png" alt="Servicewelt" />
</a>
<div style="position: relative; color: #97B765; font-weight: 900; margin: 18px 0px 0px 323px;"></div>
</div>
<div class="logo"><a href="." onclick="return checkChanges(this);" title="zur Startseite" class="home_link"> </a></div>
</div>
</div>
<div class="container" id="page">
<div id="main" >
<div id="SpacerFirefox"></div>
<div id="nav">
<div class="clear"></div>
<div class="nav left defaultfirst">
<div class="l left"> </div>
<div class="c left link1">
<a onclick="return checkChanges(this);" href="?s=0">START</a>
</div>
<div class="r left"> </div>
<div class="clear"></div>
</div>
<div class="nav left default parent">
<div class="l left"> </div>
<div class="c left link2">
<a >INFO</a>
</div>
<div class="r left"> </div>
<div class="clear"></div>
<div class="second">
<ul class="second ">
<li>
<a onclick="return checkChanges(this);" href="?s=1,0">ANLAGE</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=1,1">WÄRMEPUMPE</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=1,2">LIZENZBESTIMMUNGEN</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=1,3">BEDIENUNG UND INSTALLATION</a>
</li>
</ul>
</div>
</div>
<div class="nav left default parent">
<div class="l left"> </div>
<div class="c left link3">
<a >DIAGNOSE</a>
</div>
<div class="r left"> </div>
<div class="clear"></div>
<div class="second">
<ul class="second ">
<li>
<a onclick="return checkChanges(this);" href="?s=2,0">STATUS</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=2,1">ANALYSE</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=2,2">BUSTEILNEHMER</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=2,3">FEHLERLISTE</a>
</li>
</ul>
</div>
</div>
<div class="nav left default parent">
<div class="l left"> </div>
<div class="c left link4">
<a >PROGRAMME</a>
</div>
<div class="r left"> </div>
<div class="clear"></div>
<div class="second">
<ul class="second ">
<li>
<a onclick="return checkChanges(this);" href="?s=3,0">HEIZPROGRAMM</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=3,1">WARMWASSERPROGRAMM</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=3,2">PARTYPROGRAMM</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=3,3">FERIENPROGRAMM</a>
</li>
</ul>
</div>
</div>
<div class="nav left default parent">
<div class="l left"> </div>
<div class="c left link5">
<a >EINSTELLUNGEN</a>
</div>
<div class="r left"> </div>
<div class="clear"></div>
<div class="second">
<ul class="second ">
<li>
<a onclick="return checkChanges(this);" href="?s=4,0">HEIZEN</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=4,1">WARMWASSER</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=4,2">ENERGIEMANAGEMENT</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=4,3">ZEIT/DATUM</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=4,4">INBETRIEBNAHME</a>
</li>
</ul>
</div>
</div>
<div class="nav left defaultlast parent">
<div class="l left"> </div>
<div class="c left link6">
<a >Profil</a>
</div>
<div class="r left"> </div>
<div class="clear"></div>
<div class="second">
<ul class="second last">
<li>
<a onclick="return checkChanges(this);" href="?s=5,0">Netzwerk</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=5,1">Sicherheit</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=5,2">Anlagenbild</a>
</li>
<li>
<a onclick="return checkChanges(this);" href="?s=5,3">SPRACHE</a>
</li>
</ul>
</div>
</div>
<div class="clear"></div>
</div>
<div id="sub_nav" class="span-24"><div class="left main sifr span-9" style="width: 45%">INBETRIEBNAHME</div>
<div class="span-15 last">
<div class="nav default right" style="padding-right: 24px;">
<a href="?s=4,4,1" onclick="return checkChanges(this);">
ISG </a>
</div>
<div class="nav active right">
<div class="l"></div>
<div class="c">
<a id="subnavactivename"></a>
</div>
<div class="r"></div>
<div class="clear"></div>
</div>
<script type="text/javascript">
$("#subnavactivename").html('WÄRMEPUMPE');
$("#subsubnavicon").css( 'width', function(){
return parseInt( $("#subsubnav").css('width'));
}).click(function(e){
$("#subsubnav").slideToggle('fast');
e.stopPropagation();
});
$("#subsubnav").click(function(e){
e.stopPropagation();
});
$('body').bind('click', function(e) {
$("#subsubnav").slideUp('fast');
});
</script>
</div>
<div class="clear"></div></div>
<form id="werte" action="#" onsubmit="saveValues(this);return false;"><div id="content">
<script type="text/javascript">
var valSettings = new Array();
var jsvalues = new Array();
var jsobj;
</script>
<div class="focusguard" id="focusguard-1" tabindex="0"></div>
<div class="calibration round span-24 last" id="calval109">
<div class="span-7 ialigned">
<h3 class="title">STILLSTANDZEIT</h3>
</div>
<div class="values span-7">
<div class="editors">
<a onmousedown="change('val109','+',1,120,'1',true);return false;" href="javascript://">
<img src="./pics/button_higher.png">
</a>
<a id="editorslower" onmousedown="change('val109','-',1,120,'1',true);return false;" href="javascript://" style="clear:left;">
<img src="./pics/button_lower.png">
</a>
</div>
<input type="text" tabindex="1" value="" name="val109" id="val109" class="edit upndown firstElement" style="width:3.6em">
<script language="javascript" type="text/javascript">
valSettings['val109'] = new Array();
valSettings['val109']['type'] = 'int'; valSettings['val109']['min'] = '1';
valSettings['val109']['max'] = '120';
jsvalues['109'] = new Array();
jsvalues['109']['id']='val109';
jsvalues['109']['val']='120';
</script>
</div>
<div class="values span-1 append-1">min</div>
<div class="green round-right span-8 last">
<p>Gültige Werte: Eingabe zwischen<br />1 min und 120 min</p>
</div>
</div>
<div class="calibration round span-24 last" id="calval129">
<div class="span-7 ialigned">
<h3 class="title">RESET WÄRMEPUMPE</h3>
</div>
<div class="values span-7">
<div class="dropdown" style="width:7.56em"> <!-- Chrome-Bug: div zu schmal, daher feste Breite. Sorgt ausserdem fuer Platz fuer Radio-Buttons in div.black -->
<input id="aval129" value="AUS" readonly="readonly" class="dropdown dropdown_wert" style="width:3.6em">
<img src="./pics/icon_edit_dropdown.png" class="dropdown">
<div class="black">
<input id="radioval1290" type="radio" alt="AUS" name="val129" value="0" checked="checked">
<label for="radioval1290">AUS</label>
<br>
<input id="radioval1291" type="radio" alt="EIN" name="val129" value="1">
<label for="radioval1291">EIN</label>
<br>
</div>
</div>
<script language="javascript" type="text/javascript">
$(":input[name=val129]").click( function() {
if ($("input[name=val129]:checked").val()==$(this).val()) {
$("#val129").val($(this).val());
$("#aval129").val(this.alt);
valueChanged = true;
closeAllBoxes();
}});
</script>
</div>
<div class="values span-1 append-1"></div>
<div class="green round-right span-8 last">
<p>Optionale Auswahl</p>
</div>
</div> <div class="focusguard" id="focusguard-2" tabindex="2"></div>
<div class="span-24 last">
<div class="span-4 right">
<div class="button left" onclick="document.forms['werte'].onsubmit();"><div class="bg_r"> </div><a>Speichern</a></div> </div>
</div>
<div class="span-24 last"><p></p></div>
<script type="text/javascript">
$( document ).ready(function() {
$('#focusguard-1').focus( function() {
// "last" focus guard got focus: set focus to the first field
$('.lastElement').focus();
$('.lastElement').select();
});
$('#focusguard-2').focus( function() {
// "first" focus guard got focus: set focus to the last field
$('.firstElement').focus();
$('.firstElement').select();
});
});
</script>
</div> </form></div>
</div>
</div>
</div>
<div id="footer">
<!--[if IE]>
<style type="text/css">
#footer
{
height:260px;
}
#versionsNummer
{
position:relative;
top:-33px;
}
</style>
<![endif]-->
<div class="span-24 last footer_middle curdef">
<div class="span-8 prepend-top" style="height:145px">
<div class="span-3">
<img src="./pics/ste_footer_website.png" />
</div>
<div class="span-5 last">
<p>
Weitere Informationen zu unserem Produktprogramm und aktuelle Serviceangebote finden Sie unter <a href="http://www.stiebel-eltron.de" target="_blank" class="extern">www.stiebel-eltron.de</a>
</p>
</div>
</div>
<div class="bordered span-1"></div>
<div class="span-6 prepend-top">
<div class="span-2">
<img src="./pics/footer_tel.png" />
</div>
<div class="span-4 last">
<p>
Unsere Service-Hotline erreichen Sie unter<br /><span class="big">05531 702-111</span>
</p>
</div>
</div>
<div class="bordered span-1"></div>
<div class="span-7 prepend-top last">
<p>
Das Neueste rund um die Servicewelt <br /><a href="http://www.stiebel-eltron.de/erneuerbare-energien/kundenservice/servicewelt/isg/" target="_blank" class="extern">servicewelt</a>
</p>
</div>
</div>
<div class="links span-23 prepend-top append-1 last footer_middle">
<div class="span-17">
<a class="intern" href="?s=1,2&arch=datenschutzerklaerung" onclick="return checkChanges(this);">Datenschutz</a>
<p style="margin-top:8px" class="right" id="versionsNummer">v10.1.0</p>
</div>
<div class="copyright span-6 last curdef">
© STIEBEL ELTRON 2019
</div>
</div>
</div>
</body>
</html>