Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Beitrag von NickHM » 13.01.2023, 21:13

Hallo

ich bekomme das nicht zu laufen.
Ich habe das hier zuletzt veröffentlichte Script genommen und bekomme eine Fehlermeldung.
CCU 3.67.10

PS das Script von Jens von der ersten Seite bringt die gleiche Fehlermeldung.

Code: Alles auswählen

# /tmp/HMIP_check.tcl
Start
000EDD89B3A016
bad option "unset": must be anymore, donesearch, exists, get, names, nextelement, set, size, or startsearch
    while executing
"array unset paramsetDesc"
    ("foreach" body line 7)
    invoked from within
"foreach _device $devices {
    array set device $_device
    set address $device(ADDRESS)
    set paramsets $device(PARAMSETS)
    if {[string first M..."
    invoked from within
"if {$devicesFound == 0} {
  # iterate over all devices returned by listDevices
  foreach _device $devices {
    array set device $_device
    set addr..."
    (file "/tmp/HMIP_check.tcl" line 8)
#

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"
}

Benutzeravatar
jmaus
Beiträge: 9846
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Beitrag von jmaus » 13.01.2023, 21:46

Tja, die originale CCU3 Firmware hat eben eine alte TCL Version und daher gibt es wohl den unset befehl nicht…
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Beitrag von NickHM » 14.01.2023, 11:09

jmaus hat geschrieben:
13.01.2023, 21:46
Tja, die originale CCU3 Firmware hat eben eine alte TCL Version und daher gibt es wohl den unset befehl nicht…
Dann kann ich (+ alle anderen Nutzer der EQ3 Software) leider nicht zu Deiner Erhebung der Häufigkeit dieses Fehlers beitragen.

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Beitrag von Black » 14.01.2023, 11:25

NickHM hat geschrieben:
14.01.2023, 11:09
Dann kann ich (+ alle anderen Nutzer der EQ3 Software) leider nicht zu Deiner Erhebung der Häufigkeit dieses Fehlers beitragen.
Mal schauen, ob ich das WOchenende die Zeit finde, das eventuell in Pascal im SDV umzusetzen. Dann erweitert sich der mögliche EInsetzkreis ja.

Black

Edit: das war nicht viel, DIe GUI dafür zu bauen war der meiste Aufwand.
Es wird dann so aussehen, ich denk mal, zuerst innerer Kreis und Morgen hier im SDV-Thread
Check.png
Black

Bei mir hatte er im Produktivsystem übrigens auch 2 Kanditaten gefunden
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
jmaus
Beiträge: 9846
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Beitrag von jmaus » 16.01.2023, 11:16

So, nun hab ich einmal für die nächste RaspberryMatic (auch die kommenden nightly builds) ein entsprechendes "checkHmIPconsistency.tcl" test skript eingearbeitet das 1x die Woche aufgerufen wird und bei gefundenen Inkonsistenzen diese via Alarmmeldung dann den Nutzern mit dem Hinweis meldet doch bitte ein Factory-Reset durchzuführen.

Siehe:
https://github.com/jens-maus/RaspberryM ... b52efe18b6

Ich denke auch das man sich hier auf das prüfen der HmIP Geräte bzw. der HmIP Schnittstelle beschränken kann, denn in der BidCos Welt sind mir solche Parameterinkonsistenzen noch nicht aufgefallen und sollten auch meines Wissen so nicht auftreten können.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

mbhomie007
Beiträge: 347
Registriert: 13.02.2018, 19:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 127 Mal
Danksagung erhalten: 20 Mal

Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Beitrag von mbhomie007 » 16.01.2023, 11:53

jmaus hat geschrieben:
16.01.2023, 11:16
das 1x die Woche aufgerufen wird und bei gefundenen Inkonsistenzen diese via Alarmmeldung dann den Nutzern mit dem Hinweis meldet doch bitte ein Factory-Reset durchzuführen.
Zu welchem Zeitpunkt denn? :D
Raspberry Pi 3 Model B Plus Rev 1.3 mit RPI-RF-MOD Funkmodul


jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Beitrag von jp112sdl » 16.01.2023, 18:10

Baxxy hat geschrieben:
16.01.2023, 12:01
Aber deaktivierbar... danke Jens.
Dann fehlt nur noch die Klicki-Bunti-Option in den erweiterten Einstellungen :wink:

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon


MichaelN
Beiträge: 9655
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: Inkonsistenzen bei HmIP bzgl. getParamset() vs. getParamsetDescription()

Beitrag von MichaelN » 16.01.2023, 18:39

Sonntags, 05:00 Uhr.
Wäre es nicht ausreichend das beim booten zu machen? Kann das denn jede Woche plötzlich auftreten?
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 +++

Antworten

Zurück zu „RaspberryMatic“