1...8fach Temperatursensor DS18B20

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: 1...8fach Temperatursensor DS18B20

Beitrag von jp112sdl » 16.10.2021, 22:17

wolwin hat geschrieben:
16.10.2021, 22:06
Also wohl eher ein RM-Problem?
Erst wenn das jetzt noch jemand mit orig. CCU3-FW verifizieren könnte... dann könnte man sagen, ob es ein generelles OCCU Problem ist oder ob es wirklich speziell an RM liegt.

Ich erinnere mich dunkel an einen Bug, den es schon mal gab... dass da beim 1. Aufruf eine Variable noch nicht definiert war.
Ist schon ne Weile her.

VG,
Jérôme ☕️

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

wolwin
Beiträge: 272
Registriert: 06.06.2018, 12:27
Hat sich bedankt: 11 Mal
Danksagung erhalten: 47 Mal

Re: 1...8fach Temperatursensor DS18B20

Beitrag von wolwin » 16.10.2021, 22:35

Man müßte eigentlich nur wissen, was die Codezeilen in der Fehlermeldung repräsentieren / aussagen sollen - also zu welchem 'Themenbereich' sie gehören ... Gui oder System ...

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: 1...8fach Temperatursensor DS18B20

Beitrag von jp112sdl » 17.10.2021, 08:07

Ich kann es nicht reproduzieren.

Hab auch den WDS30-OT2 angelernt und ihn "A-WDS30" benannt, so dass er ganz oben steht.
Beim Aufruf von "Status und Bedienung" -> "Geräte" sind sofort alle 5 Kanäle sichtbar, ein Eintrag mit einem Fehler ins Log erfolgt nicht.

Das ganze mit RM Version 3.59.6.20211009.

Dann muss das bei dir wohl ein Folgefehler sein... verursacht von "irgendwas anderem".


Ich nehme alles zurück :mrgreen:
Nach einem Neustart der Zentrale ist es dann bei mir auch so.

Werd mal auf die Suche gehen...

VG,
Jérôme ☕️

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

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: 1...8fach Temperatursensor DS18B20

Beitrag von jp112sdl » 17.10.2021, 09:56

So, hab den Fehler wohl gefunden. Kommt direkt ausm OCCU.
Ich würde dich bitten, es mal zu verifizieren...
Dafür in der Datei /www/rega/esp/datapointconfigurator.fn ganz unten die Funktion HideCertainParameters ändern und an allen 3 Stellen aus tmp irgendeinen anderen Bezeichner machen, z.B. tmpHCP:

Code: Alles auswählen

function ::HideCertainParameters() {
  string tmpHCP;
  string param2Exclude = "IDENTIFY_DURATION,IDENTIFICATION_MODE_KEY_VISUAL,IDENTIFICATION_MODE_LCD_BACKLIGHT,IDENTIFY_TARGET_LEVEL,STATUS_FLAG_ERROR,STATUS_FLAG_LOW_BAT,STATUS_FLAG_PLAYING_FILE_ACTIVE,STATUS_FLAG_PLAYLIST_ACTIVE,ERROR_CODE_STATUS";

  showParam = true;
  ! Check if datapoint is no sysvar
  if (! oDP.IsTypeOf( OT_VARDP )) {
    foreach (tmpHCP, param2Exclude.Split(",")) {
      if (oDP.HSSID().Find(tmpHCP) != -1) {
        showParam = false;
        return;
      }
    }
  }
  return;
}
Bei mir war danach der Fehler weg.

Das Problem ist wohl, dass Variablen in der CCU systemweit/global definiert und verfügbar sind.

Die Variable tmp wird bereits verwendet in der /www/rega/pages/tabs/control/hdevichannels.htm:135.
In dem folgenden foreach(...) erfolgt dann der Aufruf der dcCreate()-Methode in der /www/rega/esp/datapointconfigurator.fn, die das Steuerelement (Temperatur/Feuchte) erzeugt.
Für die datapointconfigurator.fn sind WEATHER.TEMPERATURE und WEATHER.HUMIDITY ein UNKNOWN Control, weshalb darin wiederum die CreateUnknown()-Methode aufgerufen wird.
Und nur in dieser wird weiterhin in die HideCertainParameters() verzweigt.
Dort wird tmp überschrieben und die foreach(...) in der /www/rega/pages/tabs/control/hdevichannels.htm ist hinüber, sobald das Gerät mehr als 1 Kanal hat (die Schleife also mindestens ein weiteres Mal durchlaufen werden soll).
Zuletzt geändert von jp112sdl am 17.10.2021, 11:58, insgesamt 1-mal geändert.

VG,
Jérôme ☕️

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

TomMajor
Beiträge: 1790
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: 1...8fach Temperatursensor DS18B20

Beitrag von TomMajor » 17.10.2021, 11:31

jp112sdl hat geschrieben:
17.10.2021, 09:56

Das Problem ist wohl, dass Variablen in der CCU systemweit/global definiert und verfügbar sind.
Das ist der Hammer und eine perfekte Quelle für Fehler beim Programmieren.
Deswegen wohl auch Variablennamen wie sTmp, oTmp in hdevichannels.htm :mrgreen:

Geniale Recherche, Jerome, Verneigung. 8)
Viele Grüße,
Tom

wolwin
Beiträge: 272
Registriert: 06.06.2018, 12:27
Hat sich bedankt: 11 Mal
Danksagung erhalten: 47 Mal

Re: 1...8fach Temperatursensor DS18B20

Beitrag von wolwin » 17.10.2021, 13:35

jp112sdl hat geschrieben:
17.10.2021, 09:56
So, hab den Fehler wohl gefunden. Kommt direkt ausm OCCU.
Ich würde dich bitten, es mal zu verifizieren...
Hallo Jerome - hervorragende Suche und super Erklärung - besten Dank !! :!: :!:

Ich habe auf dem Testsystem und dann im Produktionssystem die Änderung in /www/rega/esp/datapointconfigurator.fn wie beschrieben durchgeführt (tmp in tmpHCP). Nach dem Systemneustart verursachte die Geräte-Anzeige - mit dem DS1820-Gerät als erstem Gerät in der Liste - keinen internen Script-Error mehr. :D :D :D
jp112sdl hat geschrieben:
17.10.2021, 09:56
Das Problem ist wohl, dass Variablen in der CCU systemweit/global definiert und verfügbar sind.
Als 'programmiertechnisch affiner Mensch' treibt einem das ja die Schweißperlen auf die Stirn - ich werde jedenfalls meine Scripte bei Gelegenheit mal nach 'tmp' durchsehen ...

Noch einmal besten Dank ... würdest Du die Fehlermeldung / Lösung weitergeben?

VG
Wolfram

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: 1...8fach Temperatursensor DS18B20

Beitrag von jp112sdl » 17.10.2021, 13:48

Danke fürs Testen.
wolwin hat geschrieben:
17.10.2021, 13:35
würdest Du die Fehlermeldung / Lösung weitergeben?
Ja, ich mach spätestens morgen ein Issue und einen PR im RaspberryMatic Repo.
wolwin hat geschrieben:
17.10.2021, 13:35
ich werde jedenfalls meine Scripte bei Gelegenheit mal nach 'tmp' durchsehen ...
Kann nicht schaden, wobei die ReGa soweit ich weiß alles sequentiell abarbeitet.
Somit sollte ein Skript in einer Programmausführung nicht in der Lage sein, in dem kurzen Moment, wo die Geräteansicht aufgebaut wird, dazwischen zu hauen.

VG,
Jérôme ☕️

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

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: 1...8fach Temperatursensor DS18B20

Beitrag von jp112sdl » 17.10.2021, 21:39


VG,
Jérôme ☕️

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

wolwin
Beiträge: 272
Registriert: 06.06.2018, 12:27
Hat sich bedankt: 11 Mal
Danksagung erhalten: 47 Mal

Re: 1...8fach Temperatursensor DS18B20

Beitrag von wolwin » 18.10.2021, 17:57

jp112sdl hat geschrieben:
17.10.2021, 21:39
Issue und PR mit Fix sind drin: https://github.com/jens-maus/RaspberryMatic/issues/1456
Danke !!

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“