Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 3000
- Registriert: 28.01.2016, 18:06
- System: CCU
- Wohnort: Hürth
- Hat sich bedankt: 16 Mal
- Danksagung erhalten: 260 Mal
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
Hi,
für mich nutzt Otto Normalnutzer den Accesspoint und kommt damit erst gar nicht in Berührung
für mich nutzt Otto Normalnutzer den Accesspoint und kommt damit erst gar nicht in Berührung
-
- Beiträge: 3729
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 119 Mal
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
Hallo
eine mögliche Antwort auf meine Frage könnte natürlich sein ... "Wenn Du das nicht mal weisst, dann lass es lieber"
Wie / Wo führe ich das Script aus?
In der Script Umgebung der CCU Web Ui ? Wohl eher nicht.
Auf der Kommandozeile? Auch nicht, denn es ist ja mehr als eine Zeile
Muss ich das in eine Textdatei mit einer bestimmten Endung speichern und dann auf der Kommandozeile der (originalen) CCU3 starten?
- Baxxy
- Beiträge: 10648
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 597 Mal
- Danksagung erhalten: 2180 Mal
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
Bitte an die "Abschalt-Option" mittels Kontroll-Datei "no_Xxx_Check" denken.
Danke.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
- jmaus
- Beiträge: 9819
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 459 Mal
- Danksagung erhalten: 1856 Mal
- Kontaktdaten:
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
Nur als kurze Nachinfo: Hab den Skript der vormals ein Python-Skript war nun mal als tclsh Skript umgebaut damit man diesen auch direkt auf der jeweiligen Zentrale ausführen kann und das selbe Ergebnis erhalten sollte. Das sollte es vor allem Nutzern erleichtern die keine Python-Umgebung auf einem anderen System haben. Also einfach das Skript z.B. als /tmp/check.tcl auf der jeweiligen CCU Zentrale abspeichern und dann via "chmod a+rx /tmp/check.tcl" ausführbare Rechte vergeben und dann via "/tmp/check.tcl" starten. Dann sollte der Skript die gleiche Ausgabe wie der vormalige Python Skript verursachen wenn es Inkonsistenzen zwischen getParamset() und getParamsetDescription() feststellt.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- Henke
- Beiträge: 1500
- Registriert: 27.06.2022, 20:51
- System: CCU
- Hat sich bedankt: 133 Mal
- Danksagung erhalten: 304 Mal
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
tcl Script durchgelaufen, aber nichts gefunden.
Ich war extrem überrascht wie schnell das tcl Script ist im Gegensatz zu direkten Aufrufen von getParamset()/getParamsetDescription() im HM-Script ist.
Ich war extrem überrascht wie schnell das tcl Script ist im Gegensatz zu direkten Aufrufen von getParamset()/getParamsetDescription() im HM-Script ist.
- jmaus
- Beiträge: 9819
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 459 Mal
- Danksagung erhalten: 1856 Mal
- Kontaktdaten:
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
Ja? Ist das so? jeder einzelne getParamset()/getParamsetDescription() Aufruf sollte nicht wesentlich langsamer sein, aber wenn du natürlich genauso wie das tcl skript via for() schleife drüberiterierst kann das schon mit ReGa-Skript in die Knie gehen. ReGa-Skripting ist eben sehr murky und ich versuche das zu vermeiden wo ich nur kann
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- Henke
- Beiträge: 1500
- Registriert: 27.06.2022, 20:51
- System: CCU
- Hat sich bedankt: 133 Mal
- Danksagung erhalten: 304 Mal
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
Der war gut
Code: Alles auswählen
string sPD = xmlrpc.GetParamsetDescription(oInterface, sDevSerial, "MASTER");
Iterieren... wie denn?
Code: Alles auswählen
string stdErr=""; string stdOut="";
string sTCL= ^append p \" \" [xmlrpc ^ # oInterface.InterfaceUrl() # ^/ getParamsetDescription [list string \"^#sDevSerial#^\"] [list string \"MASTER\"]];^;
sTCL= sTCL # "puts \$p;";
system.Exec ("/bin/sh -c 'echo \"load tclrpc.so; " # sTCL # "\" |tclsh'",&stdOut,&stdErr);
if (!stdErr) {
WriteLine(stdOut);
}
-
- Beiträge: 9562
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 696 Mal
- Danksagung erhalten: 1608 Mal
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
ALso bei mir macht das tcl Skript gar nichts.
Ich habe extra nach
ein
eingefügt, um zu kontrollieren ob es überhaupt anläuft. Die Ausgabe "START" kommt nach einigen Sekunden (!), dann passiert aber nichts mehr.
Ich habe extra nach
Code: Alles auswählen
load tclrpc.so
Code: Alles auswählen
puts "START"
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
- Henke
- Beiträge: 1500
- Registriert: 27.06.2022, 20:51
- System: CCU
- Hat sich bedankt: 133 Mal
- Danksagung erhalten: 304 Mal
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
Code: Alles auswählen
#!/bin/tclsh
load tclrpc.so
puts "Start"
set url "http://127.0.0.1:2010/"
set devicesFound [catch {set devices [xmlrpc $url listDevices]}]
if {$devicesFound == 0} {
# iterate over all devices returned by listDevices
foreach _device $devices {
array set device $_device
set address $device(ADDRESS)
set paramsets $device(PARAMSETS)
if {[string first MASTER $paramsets] != -1 } {
puts $device(ADDRESS)
array unset paramsetDesc
set paramsetDescFound [catch {array set paramsetDesc [xmlrpc $url getParamsetDescription [list string $address] [list string "MASTER"]]}]
if {$paramsetDescFound == 0 && [array size paramsetDesc] > 0} {
array unset paramset
set paramsetFound [catch {array set paramset [xmlrpc $url getParamset [list string $address] [list string "MASTER"]]}]
if {$paramsetFound == 0} {
# iterate over all paramsetDesc
foreach desc [array names paramsetDesc] {
# and search in paramset if it is present
if {[info exists paramset($desc)] == 0} {
puts "$address|$device(PARENT_TYPE) = $desc"
}
}
}
}
}
}
} else {
puts "ERROR: no devices found"
}
zusätzlich noch "puts $device(ADDRESS)" und dann sieht man, es läuft.
-
- Beiträge: 9562
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 696 Mal
- Danksagung erhalten: 1608 Mal
Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()
oookkkkeyyyy. Ich habe nun ans Ende noch ein angefügt. Ich mag es einfach wenn der Computer mit mir spricht.
Also dann ist meine Installation wohl auch sauber.
Code: Alles auswählen
puts "ENDE"
Also dann ist meine Installation wohl auch sauber.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++