TA2k / ioBroker.weishaupt-wem

ioBroker Adapter for weishaupt WEM Portal
MIT License
13 stars 7 forks source link

Keine Steuerung möglich #16

Open mcchickents opened 2 years ago

mcchickents commented 2 years ago

Hallo

ich habe eine Weishaupt Gastherme, den Adapter habe ich zum laufen bekommen Version 0.0.11 . DIe richtigen Datenpunkte von der Anlage bekomme ich auch unter Objekten rein. Das funktioniert super. Leider kann ich aber die anlage nicht steurn, alles was ich bei remote probiere funktioniert nicht. Auch eine eingabe über den custom befehl bewirkt keine veränderung an der anlage. Gruss Julian

mcchickents commented 2 years ago

Habe nochmal weitergeschaut. Im Log finde ich das. Der Custom Befel wird angenommen, es wird auch etwas generiert, wenn man den zweiten Link in den Browser kopiert. Erscheint das Fenster von dem Parameter welcher verändert werden soll, dieser ist auch mit dem neuen Wert (richtigen Wert) ausgewählt doch leider werden die einstellungen nicht übernommen....

Vieleicht hilft das für eine neue Version. Kann ich noch etwas probieren?

Gruss Julian

weishaupt-wem.0 2022-04-12 19:51:28.395 debug Document Moved

Object Moved

This document may be found here

weishaupt-wem.0 2022-04-12 19:51:27.683 silly States user redis pmessage weishaupt-wem.0.*/weishaupt-wem.0.Tröscher.remote.CustomBefehl:{"val":"http://www.wemportal.de/Web/UControls/Weishaupt/DataDisplay/ParameterDetails.aspx?Id=60337&entityvalueid=255540&unit=&entitytype=VarChar&entityvalue=@@wh-985-EV-Repl-14-31&GroupId=75231&ElsterDataType=5&name=@@wh-985-ET-Name-14&OVIndex=9758&DataPointId=184601&rwndrnd=0.5241248061173629,255539","ack":false,"ts":1649785887676,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1649785774409}

AlphaLima commented 1 year ago

Habe dasselbe Problem, Auslesen der Daten funktioniert Steuern der Anlage nicht. Wenn ich einen Befehl absetze wird der Adapter gestoppt und muss manuell gesartet werden. Anlage: Weishaupt Wärmepumpe WWP LS 10-B R

TA2k commented 1 year ago

Du nutzt die website wemportal.com und nicht wemportal.de ? Welcher exakter Fehler kommt

AlphaLima commented 1 year ago

Hi, danke für die schnelle Antwort. Ich nutze https://www.wemportal.de/. Das Problem besteht schon bei den Standard Befehlen wie setze "Systembetriebsart", "Heizbetriebsart" usw. Custom Befehle funktionieren auch nicht. Log siehe unten. Wie gesagt, das lesen der Daten funktioniert einwandfrei. Gruß Ulli

host.ioBrokerVM1 | 2022-12-12 08:10:31.414 | error | instance system.adapter.weishaupt-wem.0 terminated with code 6 (UNCAUGHT_EXCEPTION) -- | -- | -- | -- weishaupt-wem.0 | 2022-12-12 08:10:30.808 | warn | Terminated (UNCAUGHT_EXCEPTION): Without reason weishaupt-wem.0 | 2022-12-12 08:10:30.807 | info | terminating weishaupt-wem.0 | 2022-12-12 08:10:30.805 | info | cleaned everything up... weishaupt-wem.0 | 2022-12-12 08:10:30.804 | error | unhandled promise rejection: undefined weishaupt-wem.0 | 2022-12-12 08:10:30.804 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). weishaupt-wem.0 | 2022-12-12 08:10:30.801 | error | null rainbird.0 | 2022-12-12 08:10:21.749 | warn | Status request failed. Requested B0 but got 00: {"type":"NotAcknowledgeResponse","commandEcho":48,"NAKCode":4}

PlatformBetriebssystem:linux Architektur:x64 CPUs:4 Geschwindigkeit:2591 MHz Modell:Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz RAM:5.9 GB System-Betriebszeit:6 T. 15:03:23 Node.js:v18.12.1 time:1670831783648 timeOffset:-60 Adapter-Anzahl:447 NPM:8.19.2 Datenträgergröße:28.4 GB Freier Festplattenspeicher:2.1 GB Betriebszeit:1 T. 05:55:37 Aktive Instanzen:54 Pfad:/opt/iobroker/ aktiv:true _npmCurrent:8.19.2 _nodeNewestNext:16.18.1 _nodeCurrent:18.12.1 _nodeNewest:18.12.1 _npmNewestNext:8.19.2 _npmNewest:8.19.2

AlphaLima commented 1 year ago

Hier die Datenpunkte image

AlphaLima commented 1 year ago

keine Ideen? (Wir können auch gerne eine Remote Debug Sessin machen)

Jonnyblue85 commented 1 year ago

Habe das selbe Problem. Anzeigen geht, befehle absetzen nicht. Habe mal npm und node upgedatet und den adapter neu installiert, keine Besserung.

Manuelle befehle kommt der Fehler:

host.iobroker | 2023-02-12 12:26:28.372 | error | instance system.adapter.weishaupt-wem.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
-- | -- | -- | --
weishaupt-wem.0 | 2023-02-12 12:26:27.747 | error | unhandled promise rejection: undefined
weishaupt-wem.0 | 2023-02-12 12:26:27.746 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
weishaupt-wem.0 | 2023-02-12 12:26:27.742 | error | null

Ich könnte mir vorstellen, dass das weishaupt.de bzw. weishaupt.com zu Problemen führt, zumindest werde ich im Browser immer manuell wieder auf .de redirected. Die scheint ja aber im Adapter aktiv "geblockt"? Oder evtl. was ganz anderes...

Der Adapter wird auch noch 3-4 Versuchen vom iobroker hart deaktiviert weil er ganz abstürzt.

TA2k commented 1 year ago

welche url gibst du denn zb ein

Jonnyblue85 commented 1 year ago

https://www.wemportal.de/Web/UControls/Weishaupt/DataDisplay/WwpsParameterDetails.aspx?entityvalue=060000000000000000800094ff0100110003&readdata=False&rwndrnd=0.014739672039483898, 1

oder dann halt

https://www.wemportal.com/Web/UControls/Weishaupt/DataDisplay/WwpsParameterDetails.aspx?entityvalue=060000000000000000800094ff0100110003&readdata=False&rwndrnd=0.014739672039483898, 1

sollte eigentlich die Systembetriebsart wechseln, funktioniert aber leider gar nicht. Der zweite Befehl hat das selbe Ergebnis wie wenn ichs über die Standardobjekte mache.

Habs jetzt mal von Github direkt installiert, seither nur noch "error null" beim ausführen eines Befehls

TA2k commented 1 year ago

Die github version zeigt die Fehler jetzt besser an einfach mal probieren

Jonnyblue85 commented 1 year ago
weishaupt-wem.0 | 2023-02-12 20:48:26.204 | error | <!DOCTYPE html> <html> <head> <title>Invalid postback or callback argument. &nbsp;Event validation is enabled using &lt;pages enableEventValidation=&quot;true&quot;/&gt; in configuration or &lt;%@ Page EnableEventValidation=&quot;true&quot; %&gt; in a page. &nbsp;For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. &nbsp;If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.</title> <meta name="viewport" content="width=device-width" /> <style> body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt} .marker {font-weight: bold; color: black;text-decoration: none;} .version {color: gray;} .error {margin-bottom: 10px;} .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:pointer; } @media screen and (max-width: 639px) { pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; } } @media screen and (max-width: 479px) { pre { width: 280px; } } </style> </head> <body bgcolor="white"> <span><H1>Server Error in '/Web' Application.<hr width=100% size=1 color=silver></H1> <h2> <i>Invalid postback or callback argument. &nbsp;Event validation is enabled using &lt;pages enableEventValidation=&quot;true&quot;/&gt; in configuration or &lt;%@ Page EnableEventValidation=&quot;true&quot; %&gt; in a page. &nbsp;For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. &nbsp;If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.</i> </h2></span> <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "> <b> Description: </b>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. <br><br> <b> Exception Details: </b>System.ArgumentException: Invalid postback or callback argument. &nbsp;Event validation is enabled using &lt;pages enableEventValidation=&quot;true&quot;/&gt; in configuration or &lt;%@ Page EnableEventValidation=&quot;true&quot; %&gt; in a page. &nbsp;For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. &nbsp;If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.<br><br> <b>Source Error:</b> <br><br> <table width=100% bgcolor="#ffffcc"> <tr> <td> <code> An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. </code> </td> </tr> </table> <br> <b>Stack Trace:</b> <br><br> <table width=100% bgcolor="#ffffcc"> <tr> <td> <code><pre> [ArgumentException: Invalid postback or callback argument. Event validation is enabled using &lt;pages enableEventValidation=&quot;true&quot;/&gt; in configuration or &lt;%@ Page EnableEventValidation=&quot;true&quot; %&gt; in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.] System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +11651474 System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +149 System.Web.UI.WebControls.DropDownList.LoadPostData(String postDataKey, NameValueCollection postCollection) +87 System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +644 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +993 </pre> </code> </td> </tr> </table> <br> <hr width=100% size=1 color=silver> <b>Version Information:</b>&nbsp;Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.8.4494.0 </font> </body> </html> <!-- [ArgumentException]: Invalid postback or callback argument. Event validation is enabled using &lt;pages enableEventValidation=&quot;true&quot;/&gt; in configuration or &lt;%@ Page EnableEventValidation=&quot;true&quot; %&gt; in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. at System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) at System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) at System.Web.UI.WebControls.DropDownList.LoadPostData(String postDataKey, NameValueCollection postCollection) at System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) [HttpUnhandledException]: Exception of type &#39;System.Web.HttpUnhandledException&#39; was thrown. at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.ucontrols_weishaupt_datadisplay_wwpsparameterdetails_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\web\a29aa1a3\a8c60924\App_Web_0uv0t22x.10.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) --><!-- This error page might contain sensitive information because ASP.NET is configured to show verbose error messages using &lt;customErrors mode="Off"/&gt;. Consider using &lt;customErrors mode="On"/&gt; or &lt;customErrors mode="RemoteOnly"/&gt; in production environments.-->
-- | -- | -- | --
weishaupt-wem.0 | 2023-02-12 20:48:26.203 | error | null
weishaupt-wem.0 | 2023-02-12 20:48:26.203 | error | 500
weishaupt-wem.0 | 2023-02-12 20:48:26.203 | error | form sended: {"ctl00_TSMeControlNetDialog_HiddenField":"","__EVENTTARGET":"ctl00$DialogContent$BtnSave","__EVENTARGUMENT":"","__VIEWSTATE":"7Jh2GL/xFf0jVedU4jXfI4X6ZceUNgTyox0iWYCdzROFOwCMpjFq4wUUVQZ8YxF4+BV2aWiDes2LHs2BHCgYDHLKtHlhwiie4YZopuWiomOnNKna+b14BG1oRUIPobh+","__VIEWSTATEGENERATOR":"3FD74ADD","__SCROLLPOSITIONX":"0","__SCROLLPOSITIONY":"0","__VIEWSTATEENCRYPTED":"","__EVENTVALIDATION":"UUADs9MfZEOlzMMMpP41Z8QuDa50mT3FE9AFCllXxBDvizqIZ65w2u6nO/4xMOQKhChG5PMtBTWUxpiZwwkyvDCGBx59tiKfeiDMwsdglgeGHIBpUD/PhZlf+knuga+Z5j2/WK9i+uANDhTXQS/TjFWJ+7HWWC39cyqOmVcPgjA/LgYw9KQGOJhbZhEwV5SY/mcJryPHO43TgAGLGWp7Lg==","ctl00_DialogContent_RTSDialog_ClientState":"","ctl00_DialogContent_RMPDialog_ClientState":"","ctl00$RDNotifications$hiddenState":"","ctl00_RDNotifications_XmlPanel_ClientState":"","ctl00_RDNotifications_TitleMenu_ClientState":"","ctl00_RDNotifications_ClientState":"","ctl00$DialogContent$ddlNewValue":30,"ctl00$TSMeControlNetDialog":"ctl00$ctl00$DialogContent$DivDialogPanel\|ctl00$DialogContent$BtnSave"}
weishaupt-wem.0 | 2023-02-12 20:48:26.202 | error | Post Command Error

Habe einfach bei WWPush "30" eingegeben.

TA2k commented 1 year ago

Wurde anscheinend was geändert was verhindert das die befehle durchgehen

AlphaLima commented 1 year ago

bin inzwischen auf Steuerung per ModbusTCP umgestiegen. https://forum.iobroker.net/topic/58756/weishaupt-wwp-%C3%BCber-modbus-abfragen?_=1676238289621&lang=de Leider stimmen die Adressen noch nicht alle, hat evtl. jemand eine koplette Referenz der Adressen? Gruß AL

TA2k commented 1 year ago

Bitte nochmal die github version probieren

AlphaLima commented 1 year ago

Mit der 0.0.13 werden gar keine Werte mehr gelesen, Steuerung funktioniert auch nicht. Gegentest mit 0.0.7 die Werte werden wieder gelesen.

TA2k commented 1 year ago

Kommt denn irgendwelche Fehler im log Habs gerade nochmal getestet geht bei mir Du hast auch via GitHub installiert

AlphaLima commented 1 year ago

image

TA2k commented 1 year ago

Installier nochmal müsste jetzt 0.0.14 sein

AlphaLima commented 1 year ago

image

TA2k commented 1 year ago

Hast du es mit customBefehle probiert?

AlphaLima commented 1 year ago

Ja funktioniert nicht, anscheinend werden die Remote Datenpunkte auch nicht mehr gelesen. image

TA2k commented 1 year ago

Also die remote Objekte werden nicht mit werten befüllt Was ist der Fehler wenn du ein custom Befehl absetzt

AlphaLima commented 1 year ago

Kein Datenpunkt wird regemäßig upgedatet (nur beim Adapter Neustart) Da bekomme ich nur folgende Einträge auf dem web adapter: image

TA2k commented 1 year ago

Also das hat irgendwas mit der vis zu tun. Aber wenn du den Befehl unbestätigt absendest was zeigt der log vom adapter

Jonnyblue85 commented 1 year ago

Ich hab jetzt auch die 0.0.14 installiert, nachdem er erst 1-2 mal gemeckert hat, login wäre falsch, hab ich nochmal alles neu eingegeben, seither keine Fehler mehr im Log.

Der Befehl hier funktioniert aber jetzt bei mir, allerdings nur "unbestätigt" mit "bestätigt" geht es nicht.

https://www.wemportal.com/Web/UControls/Weishaupt/DataDisplay/WwpsParameterDetails.aspx?entityvalue=060000000000000000800094ff0100110003&readdata=False&rwndrnd=0.014739672039483898, 1

Der Befehl setzt die Systembetriebsart auf "Heizen". Das selbe über die vordefinierten Objekte klappt aber nicht, egal ob bestätigt oder ohne.

Beim Objekt kommt bei mir tlw. der Error: weishaupt-wem.0 | 2023-02-14 15:44:10.365 | error | AxiosError: Request failed with status code 500 - aber nicht immer komischerweise.

TA2k commented 1 year ago

Befehle müssen imm unbestätigt gesendet werden. Die vordefinierte Befehle funktionieren nur für wenige Systeme Fehler 500 ist ein Fehler bei weishaupt und kann ignoriert werden

AlphaLima commented 1 year ago

Hier die Antworten auf unbestätigte Befehle, wie bereits gesagt werden mit 0.0.14 bzw. 0.0.13 keine Datenpunkte abgeholt. image

etofi commented 1 year ago

Also ich habe eine WTC-GW15 Therme und die 0.0.13 Bei mir werden die Datenpunkte abgeholt - und Custom Befehle funktioniren auch

jowo1217 commented 1 year ago

@etofi Moin, ich habe die gleiche Therme wie du. Habe die Version 0.0.13 installiert, kann aber auch nur Datenpunkte auslesen. Befehle funktionieren nicht. Kannst du mal eine URL posten für einen Custom Befehl? Z.B. das Umstellen von Heizprogramm 1 auf Heizprogramm 2? Ich mache mit Sicherheit irgendwas falsch. Ein funtionierendes Beispiel wäre sehr hilfreich. Vielen Dank...

etofi commented 1 year ago

@jowo1217 Ich bin eigentlich genau nach der Custom Befehl Anleitung vorgegangen. Ich weiß leider nicht ob in den URLs nicht auch accountspezifische IDs enthalten sind und daher würde ich die ungern hier online stellen. Meine URL ist nämlich deutlich länger als das Beispiel von Jonnyblue85 oben. Es hilft auch die Option die man einstellen will in den Entwickleransichten des Browsers vorher mit "Element untersuchen" genauer zu lokalisieren und dann nach "https://www.wemportal.com/Web/UControls" zu suchen.

jowo1217 commented 1 year ago

@etofi Danke für die schnelle Antwort. Ich habe es heute doch tatsächlich hinbekommen, einen custom Befehl erfolgreich abzusetzen und zwar das Umstellen des Heizprogrammes. Ich hatte zwei Fehler in meiner URL: anstelle von ".com" hatte ich ".de" gesetzt und der übergebene Wert war auch nicht richtig. Kaum macht man es richtig, schon klappt es :-) Wer lesen kann, ist klar im Vorteil :-(

AlphaLima commented 1 year ago

Nur zur Info: Bin jetzt auf Steuerung per Modbus umgestiegen. Da funktioniert auch das Senden der Befehle (ohne Cloud).

etofi commented 1 year ago

Nur zur Info: Bin jetzt auf Steuerung per Modbus umgestiegen. Da funktionieren auch das Senden der Befehle (ohne Cloud).

@AlphaLima Tja das mag bei Deiner Wärmepumpe funktionieren aber wir haben Gastherme. Und da wäre mir aktuell keine Möglichkeit bekannt das so zu machen m

AlphaLima commented 1 year ago

OK, diente auch eher der Vollständigkeit falls anderen Nutzer ein vergleichbares Setup haben. Im übrigen kann man dann auch beide Adapter parallel betreiben.

KonneKonne commented 5 months ago

Als Anfänger habe ich mal die Frage, wie und wo ein Custom-Befehl erstellt wird. Ich habe dazu leider nichts gefunden. Der Adapter funktioniert soweit. Schon mal vielen Dank