Domoticz: Omnik omvormer plugin

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Chris96
  • Registratie: Februari 2013
  • Laatst online: 23:12
Ik draai al 1,5 jaar een plugin in domoticz naar alle tevredenheid, Echter viel mij op na de laatste update dat de plugin niet goed meer werkt.

De betreffende plugin:
https://github.com/sincze/Domoticz-Omnik-Local-Web-Plugin

code:
1
2
3
4
5
6
7
2022-06-23 09:05:22.280 Error: Omnik: Call to function 'onMessage' failed, exception details:
2022-06-23 09:05:22.291 Error: Omnik: Traceback (most recent call last):
2022-06-23 09:05:22.291 Error: Omnik: File "/home/domoticz/plugins/Domoticz-Omnik-Local-Web-Plugin/plugin.py", line 221, in onMessage
2022-06-23 09:05:22.291 Error: Omnik: _plugin.onMessage(Connection, Data)
2022-06-23 09:05:22.291 Error: Omnik: File "/home/domoticz/plugins/Domoticz-Omnik-Local-Web-Plugin/plugin.py", line 133, in onMessage
2022-06-23 09:05:22.291 Error: Omnik: strData = Data["Data"].decode("utf-8", "ignore")
2022-06-23 09:05:22.291 Error: Omnik: KeyError: 'Data'



Ik heb geen idee wat er fout gaat, Maar sinds de update gaat het mis.
Backup terugzetten (8-6-2022) is geen optie want dan zou ik halve maand aan data kwijt zijn.
De plugin werkt nu nog op dag basis.

Is er iemand bereid mee te kijken, Eventueel tegen een kleine vergoeding? _/-\o_ _/-\o_

Alle reacties


Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:04
Zijn je omvormers wel bereikbaar als je handmatig naar die webpagina daarvan gaat? Ik had met mijn Omnik omvormers steeds het probleem dat deze na verloop hun configuratie kwijt raakten waardoor je er niet meer mee kon communiceren totdat je ze weer opnieuw ingesteld had.

Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:04
Er is overigens wel een probleem met de laatste versie van raspbian (Buster geloof ik) waardoor Python plugins niet willen draaien onder Domoticz, heb je het besturingsysteem dus wellicht geupdate?

Acties:
  • 0 Henk 'm!

  • Chris96
  • Registratie: Februari 2013
  • Laatst online: 23:12
Invisible_man schreef op donderdag 23 juni 2022 @ 09:23:
Er is overigens wel een probleem met de laatste versie van raspbian (Buster geloof ik) waardoor Python plugins niet willen draaien onder Domoticz, heb je het besturingsysteem dus wellicht geupdate?
Dan vermoed ik dat daar het probleem zit.
De omvormer is lokaal en via de omnik app prima bereikbaar.
Wellicht een downgrade doen op Python?

Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:04
Het gaat niet om de Python versie, maar de versie van het besturingssysteem wat op je Rpi draait, heb je die geupdate?

Acties:
  • 0 Henk 'm!

  • Chris96
  • Registratie: Februari 2013
  • Laatst online: 23:12
Invisible_man schreef op donderdag 23 juni 2022 @ 09:28:
Het gaat niet om de Python versie, maar de versie van het besturingssysteem wat op je Rpi draait, heb je die geupdate?
Ik draai momenteel Armbian Buster 21.02.3 / Linux 5.15.43

Alles draait op een orange pi 3 x64, Maar dat zal voor dit probleem niet veel uitmaken.
Het heeft probleemloos gewerkt.

Ik heb begin deze maand nog een apt update/upgrade gedaan...

Acties:
  • +1 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:04
Heb het nog even nagezocht en het was de nieuwste Bullseye versie die het probleem geeft, Buster was juist de gene die het nog wel goed doet, dus dat zou het probleem niet zijn :)

Je zou je vraag anders ook op het forum van Domoticz zelf kunnen posten, daar is ook wel de nodige kennis te vinden. Wellicht is er daar ook wel een thread specifiek voor deze plugin te vinden.

Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
Het lijkt erop dat wat er terug komt na een request niet klopt. Het Data deel lijkt te missen.

Je zou dat kunnen loggen als je in het volgende in de plugin een wijziging maakt:

code:
1
2
3
4
5
6
7
8
9
10
def DumpHTTPResponseToLog(httpDict):
    if isinstance(httpDict, dict):
        Domoticz.Debug("HTTP Details ("+str(len(httpDict))+"):")
        for x in httpDict:
            if isinstance(httpDict[x], dict):
                Domoticz.Debug("--->'"+x+" ("+str(len(httpDict[x]))+"):")
                for y in httpDict[x]:
                    Domoticz.Debug("------->'" + y + "':'" + str(httpDict[x][y]) + "'")
            else:
                Domoticz.Debug("--->'" + x + "':'" + str(httpDict[x]) + "'")


En dan overal waar .Debug staat vervangen door .Log

Dan moet je response in de log krijgen

Acties:
  • 0 Henk 'm!

  • Chris96
  • Registratie: Februari 2013
  • Laatst online: 23:12
jobr schreef op donderdag 23 juni 2022 @ 19:28:
Het lijkt erop dat wat er terug komt na een request niet klopt. Het Data deel lijkt te missen.

Je zou dat kunnen loggen als je in het volgende in de plugin een wijziging maakt:

code:
1
2
3
4
5
6
7
8
9
10
def DumpHTTPResponseToLog(httpDict):
    if isinstance(httpDict, dict):
        Domoticz.Debug("HTTP Details ("+str(len(httpDict))+"):")
        for x in httpDict:
            if isinstance(httpDict[x], dict):
                Domoticz.Debug("--->'"+x+" ("+str(len(httpDict[x]))+"):")
                for y in httpDict[x]:
                    Domoticz.Debug("------->'" + y + "':'" + str(httpDict[x][y]) + "'")
            else:
                Domoticz.Debug("--->'" + x + "':'" + str(httpDict[x]) + "'")


En dan overal waar .Debug staat vervangen door .Log

Dan moet je response in de log krijgen
Ik heb het aangepast naar .Log.
Dan komt er dit uit als resultaat:


2022-06-28 09:49:37.152 Error: Omnik: Call to function 'onMessage' failed, exception details:
2022-06-28 09:49:37.153 Error: Omnik: Traceback (most recent call last):
2022-06-28 09:49:37.153 Error: Omnik: File "/home/domoticz/plugins/Domoticz-Omnik-Local-Web-Plugin/plugin.py", line 221, in onMessage
2022-06-28 09:49:37.153 Error: Omnik: _plugin.onMessage(Connection, Data)
2022-06-28 09:49:37.153 Error: Omnik: File "/home/domoticz/plugins/Domoticz-Omnik-Local-Web-Plugin/plugin.py", line 133, in onMessage
2022-06-28 09:49:37.153 Error: Omnik: strData = Data["Data"].decode("utf-8", "ignore")
2022-06-28 09:49:37.153 Error: Omnik: KeyError: 'Data'


Meer mensen ervaren problemen:
https://github.com/sincze...ocal-Web-Plugin/issues/11

[ Voor 3% gewijzigd door Chris96 op 28-06-2022 10:31 ]


Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
Chris96 schreef op dinsdag 28 juni 2022 @ 09:50:
[...]


Ik heb het aangepast naar .Log.
Dan komt er dit uit als resultaat:


2022-06-28 09:49:37.152 Error: Omnik: Call to function 'onMessage' failed, exception details:
2022-06-28 09:49:37.153 Error: Omnik: Traceback (most recent call last):
2022-06-28 09:49:37.153 Error: Omnik: File "/home/domoticz/plugins/Domoticz-Omnik-Local-Web-Plugin/plugin.py", line 221, in onMessage
2022-06-28 09:49:37.153 Error: Omnik: _plugin.onMessage(Connection, Data)
2022-06-28 09:49:37.153 Error: Omnik: File "/home/domoticz/plugins/Domoticz-Omnik-Local-Web-Plugin/plugin.py", line 133, in onMessage
2022-06-28 09:49:37.153 Error: Omnik: strData = Data["Data"].decode("utf-8", "ignore")
2022-06-28 09:49:37.153 Error: Omnik: KeyError: 'Data'


Meer mensen ervaren problemen:
https://github.com/sincze...ocal-Web-Plugin/issues/11
Ik ben niet zo goed met python maar voeg deze regels eens toe:

Domoticz.Log("Data: " + str(Data) )
Domoticz.Log("Data status: " + str(Data["Status"]) )
Domoticz.Log("Data data: " + str(Data["Data"]) )
En deze moet boven de regel : strData = Data["Data"].decode("utf-8", "ignore")

Volgens mij komt er data uit de omvormer die niet meer herkent wordt.

Mocht je een foutmeldng krijgen op de eerste logregel (kun je zien aan line: xxx in de foutmelding), dan deze er weer uitslopen en nog ene keer proberen.

[ Voor 5% gewijzigd door jobr op 28-06-2022 19:57 ]


Acties:
  • 0 Henk 'm!

  • Chris96
  • Registratie: Februari 2013
  • Laatst online: 23:12
jobr schreef op dinsdag 28 juni 2022 @ 19:49:
[...]


Ik ben niet zo goed met python maar voeg deze regels eens toe:

Domoticz.Log("Data: " + str(Data) )
Domoticz.Log("Data status: " + str(Data["Status"]) )
Domoticz.Log("Data data: " + str(Data["Data"]) )
En deze moet boven de regel : strData = Data["Data"].decode("utf-8", "ignore")

Volgens mij komt er data uit de omvormer die niet meer herkent wordt.

Mocht je een foutmeldng krijgen op de eerste logregel (kun je zien aan line: xxx in de foutmelding), dan deze er weer uitslopen en nog ene keer proberen.
Er gaat iets niet helemaal goed dan:


2022-06-29 13:18:56.159 Error: Omnik: (OmnikLocalWeb) failed to load 'plugin.py', Python Path used was '/home/domoticz/plugins/Domoticz-Omnik-Local-Web-Plugin/:/usr/lib/python37.zip:/usr/lib/python3.7:/usr/lib/python3.7/lib-dynload:/usr/local/lib/python3.7/dist-packages:/usr/lib/python3/dist-packages:/usr/lib/python3.7/dist-packages'.
2022-06-29 13:18:56.197 Error: Omnik: Traceback (most recent call last):
2022-06-29 13:18:56.197 Error: Omnik: File "/home/domoticz/plugins/Domoticz-Omnik-Local-Web-Plugin/plugin.py", line 281, in <module>
2022-06-29 13:18:56.197 Error: Omnik: Domoticz.Log("Data: " + str(Data) )
2022-06-29 13:18:56.197 Error: Omnik: NameError: name 'Data' is not defined


Ik blijf het vaag vinden dat het soms wel werkt:

2022-06-29 13:20:32.972 Omnik: HTTP Details (3):
2022-06-29 13:20:32.972 Omnik: --->'Status':'200'
2022-06-29 13:20:32.973 Omnik: --->'Headers (7):
2022-06-29 13:20:32.973 Omnik: ------->'Server':'Ralink HTTPD'
2022-06-29 13:20:32.973 Omnik: ------->'Date':'Thu, 01 Jan 1970 08:03:55 GMT'
2022-06-29 13:20:32.973 Omnik: ------->'Pragma':'no-cache'
2022-06-29 13:20:32.973 Omnik: ------->'Cache-Control':'no-cache'
2022-06-29 13:20:32.973 Omnik: ------->'Content-Type':'application/x-javascript'
2022-06-29 13:20:32.973 Omnik: ------->'Last-Modified':'Fri, 07 Mar 2014 15:14:35 GMT'
2022-06-29 13:20:32.973 Omnik: ------->'Connection':'close'
2022-06-29 13:20:32.973 Omnik: --->'Data':'b'var version="H4.01.38Y1.0.08W1.0.07";var m2mMid="1602813294";var wlanMac="-------------------";var m2mRssi="44%";var wanIp="192.168.2.xx";var nmac="ACCF2315156B";var fephy="off";var webData="NLDN4020175GX530,NL1-V1.0-0118-4,V2.0-0028,omnik4000tl ,4000,1794,332,6778,,3,";function initPageText(){var A=window.parent.reList("status");fileText("st1",A["t1"]);fileText("st2",A["t2"]);fileText("st3",A["t3"]);for(var B=1;B<=27;B++){if(B!=14){fileText("tx"+B,A[B])}}init_main_page();initStatus();changeFont();child_getH()}function upfold(A){if(document.getElementById("up_"+A+"_div").style.display=="none"){show("up_"+A+"_div");document.getElementById("up_"+A).src="image/up.png"}else{hide("up_"+A+"_div");document.getElementById("up_"+A).src="image/down.png"}if(A==3){if(document.getElementById("ser_status").src==""){document.getElementById("ser_status").src="server_status.html"}}}function init_main_page(){var E=document.form_cover_setting;cfg2Form(E);var C;var D;var B;var A;B=window.parent.reTip("1");A=window.parent.reTip("2");document.getElementById("cover_ver").innerHTML=version;document.getElementById("cover_mid").innerHTML=m2mMid;if(E.wifi_on.value=="disable"){document.getElementById("cover_ap_status").innerHTML=A;document.getElementById("cover_ap_mac").innerHTML="";document.getElementById("cover_ap_ssid").innerHTML="";document.getElementById("cover_ap_ip").innerHTML="";document.getElementById("cover_sta_status").innerHTML=A;document.getElementById("cover_sta_rssi").innerHTML="";document.getElementById("cover_sta_ip").innerHTML="";document.getElementById("cover_sta_mac").innerHTML="";document.getElementById("cover_sta_ssid").innerHTML=""}else{if(E.sta_enable.value=="1"){document.getElementById("cover_ap_status").innerHTML=B;document.getElementById("cover_ap_mac").innerHTML=wlanMac;document.getElementById("cover_ap_ssid").innerHTML=E.ap_ssid.value;document.getElementById("cover_ap_ip").innerHTML=E.lan_ip.value;document.getElementById("cover_sta_status").innerHTML=B;document.getElementById("cover_sta_rssi").innerHTML=m2mRssi;document.getElementById("cover_sta_ip").innerHTML=wanIp;C=wlanMac.substring(0,16);D="0x"+wlanMac.charAt(16);D=D*1+1;D=D.toString(16);D=D.toUpperCase();C=C+D;document.getElementById("cover_sta_mac").innerHTML=C;document.getElementById("cover_sta_ssid").innerHTML=E.sta_ssid.value}else{document.getElementById("cover_ap_status").innerHTML=B;document.getElementById("cover_ap_mac").innerHTML=wlanMac;document.getElementById("cover_ap_ssid").innerHTML=E.ap_ssid.value;document.getElementById("cover_ap_ip").innerHTML=E.lan_ip.value;document.getElementById("cover_sta_status").innerHTML=A;document.getElementById("cover_sta_rssi").innerHTML="";document.getElementById("cover_sta_ip").innerHTML="";document.getElementById("cover_sta_mac").innerHTML="";document.getElementById("cover_sta_ssid").innerHTML=""}}}function init_webdata_form(){var E=webData;var B="";var A,C,D;A=E.length;C=0;D=0;while(C<A){if(E.charAt(C)==","){C+=1;D+=1;web_data_show(D,B);B=""}else{B=B+E.charAt(C);C+=1}}}function web_data_show(D,A){var C=new Array("webdata_sn","webdata_msvn","webdata_ssvn","webdata_pv_type","webdata_rate_p","webdata_now_p","webdata_today_e","webdata_total_e","webdata_alarm","webdata_utime");if(D>10||D<=0){return}var B=document.getElementById(C[D-1]);if(A==""&&B!=null){B.innerHTML="---";return}if(B!=null){if(D==5){B.innerHTML=A+" W"}else{if(D==6){B.innerHTML=A+" W"}else{if(D==7){sv=A*1/100;B.innerHTML=sv.toString()+" kWh"}else{if(D==8){sv=A*1/10;B.innerHTML=sv.toString()+" kWh"}else{if(D==10){if(document.getElementById("webdata_sn").innerHTML=="---"){B.innerHTML="---"}else{B.innerHTML=A+window.parent.reTip("5")}}else{B.innerHTML=A}}}}}}else{alert(C[D])}};''
2022-06-29 13:20:32.976 Omnik: Received RAW Inverter Data: ['NLDN4020175GX530', 'NL1-V1.0-0118-4', 'V2.0-0028', 'omnik4000tl ', '4000', '1794', '332', '6778', '', '3', '']
2022-06-29 13:20:32.976 Omnik: Received Data: Current Power: 1794.0 W
2022-06-29 13:20:32.976 Omnik: Received Data: Daily Power: 3.32 kWh
2022-06-29 13:20:32.976 Omnik: Received Data: Total Power: 677.8 kWh

Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
Chris96 schreef op woensdag 29 juni 2022 @ 13:22:
Ik blijf het vaag vinden dat het soms wel werkt:
Ik denk omdat dit komt omdat je dan geen antwoord van je omvormer krijgt. Anders zou je die oorspronkelijke foutmelding ook niet krijgen.

Gebruik je http of https naar je omvormer ?

Heb je al met een browser geprobeerd (http(s)://<ip-adres>/js/status.js) als domoticz het niet doet?

Je kan ook nog even boven de regel strData = Data["Data"].decode("utf-8", "ignore") de volgende regel plaatsen: Domoticz.Log("Data status: " + str(Data["Status"]) )
Wat krijg je dan in de log als je die oorspronkelijke fout weer krijgt?

[ Voor 20% gewijzigd door jobr op 29-06-2022 19:07 ]


Acties:
  • 0 Henk 'm!

  • JackV2020
  • Registratie: Juli 2022
  • Laatst online: 27-09-2022
Misschien helpt mijn generieke Domoticz plugin.
Ik heb er vandaag n.a.v. bovenstaande een configuratie bij gezet voor mijn Omnik.

Plaatje van resultaat staat op https://github.com/JackV2...hots/screenshot_Omnik.png

De plugin staat op https://github.com/JackV2020/Domoticz-Oneliners

O ja, ik draai op een Raspberri Pi 3, Buster, Domoticz 2022.1 en volgens mij is bc wat in een commando wordt gebruikt niet standaard beschikbaar dus even installeren met sudo apt-get install bc -y

M.v.g.,

Jack

[ Voor 22% gewijzigd door JackV2020 op 01-07-2022 16:06 . Reden: O ja toegevoegd ]


Acties:
  • 0 Henk 'm!

  • Chris96
  • Registratie: Februari 2013
  • Laatst online: 23:12
JackV2020 schreef op vrijdag 1 juli 2022 @ 15:57:
Misschien helpt mijn generieke Domoticz plugin.
Ik heb er vandaag n.a.v. bovenstaande een configuratie bij gezet voor mijn Omnik.

Plaatje van resultaat staat op https://github.com/JackV2...hots/screenshot_Omnik.png

De plugin staat op https://github.com/JackV2020/Domoticz-Oneliners

O ja, ik draai op een Raspberri Pi 3, Buster, Domoticz 2022.1 en volgens mij is bc wat in een commando wordt gebruikt niet standaard beschikbaar dus even installeren met sudo apt-get install bc -y

M.v.g.,

Jack
Ik heb de plug-in geprobeerd te installeren maar ik krijg geen nieuwe apparaten in mijn overzicht.
In hardware kan ik je plug-in wel configureren. Doe ik iets fout?

Acties:
  • 0 Henk 'm!

  • JackV2020
  • Registratie: Juli 2022
  • Laatst online: 27-09-2022
Er bleek n.a.v. jouw reaktie nog iets in de info op de Hardware pagina bijgewerkt te moeten worden want die was niet helemaal up to date zag ik. Whoops :-(
Het is namelijk zo dat wanneer je een admin login op je Domoticz hebt gezet de plugin iets extra's aan instellingen nodig heeft.
Die heeft hij nodig om een Room te maken met de naam die je aan je Hardware item geeft.

Er zijn 2 opties die nu duidelijk vermeld staan op de Hardware pagina.
Optie 1 : enter Username and Password of an admin account
Optie 2 : open the network a bit >Setup >Settings >Local Networks : ::1;127.0.0.* and maybe also add something like the next for your LAN : ;192.168.2.*
Daarna je plugin stoppen en starten.

De nieuwe versie staat online op https://github.com/JackV2020/Domoticz-Oneliners

Als je de nieuwe versie wilt hebben, is niet nodig want code doet hetzelfde maar zou ik wel doen i.v.m. de info op de Hardware pagina, hoef je alleen de plugin.py van de github in je oneliners folder te kopieren en Domoticz te herstarten.

Success, ik ben benieuwd of het nu wel werkt.

Jack

Acties:
  • 0 Henk 'm!

  • jeroenkleen
  • Registratie: Februari 2006
  • Laatst online: 29-10 12:33
crossposten is niet echt de bedoeling.

[ Voor 94% gewijzigd door teacher op 26-09-2022 21:03 ]

Pagina: 1