[GELÖST] Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

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

Moderatoren: jmaus, Co-Administratoren

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

Re: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von MichaelN » 26.06.2022, 16:03

Sagte der Programmierer, der die Jahreszahlen zweistellig speicherte...
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 +++

Benutzeravatar
jmaus
Beiträge: 9844
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: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von jmaus » 26.06.2022, 16:09

MichaelN hat geschrieben:
26.06.2022, 16:03
Sagte der Programmierer, der die Jahreszahlen zweistellig speicherte...
Bitte was? Von was redest du?
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Xel66
Beiträge: 14148
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von Xel66 » 26.06.2022, 16:16

Ich denke mal, das ist nicht direkt bezogen. Es gab eben mal ein paar Unarten und Begrenzungen in der Programmierung und Hardware (zweistellige Jahreszahlen, das Y2k-Problem, IPv4, niemand benötigt mehr als 640k RAM uswusf.). Man weiß eben nie, wohin die Reise geht. Ich glaube aber selbst nicht, dass eine CCU-Firmware eine solche Nutzungsdauer und Anwendungsbreite erlangt, dass die Begrenzung auf 2^31 Adressen ein Problem darstellt.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
onkeltommy
Beiträge: 1386
Registriert: 07.05.2016, 08:03
Wohnort: Wien
Hat sich bedankt: 28 Mal
Danksagung erhalten: 26 Mal

Re: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von onkeltommy » 26.06.2022, 16:30

Wenn ich so weiterbastle ..... :mrgreen:

OffTopic (teilweise) - ist natürlich relative Frage, weil kommt auf Inhalt an und was das Teil zu tun hat, aber gibt es eine "Grenze" in Anzahl der Programme und SVs ? Also Daumen mal Pi - wann ist es "eigentlich genug" für die HM ? Das Teil bei mir tut ja (jetzt wieder) wie soll, Leistung kein Problem, aber ich hab seehr viele Programme+SVs - aber auch keine Ahnung, ob mich wer in der Anzahl vl ums 2,3,4 fache topt
lG
Thomas
--------------------------
RaspberryMatic 3.73.9.20240130 @ TinkerS (Produktivsystem) & Historian @ SynologyVM & 2x RB3+ @ Nachwuchs

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

Re: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von MichaelN » 26.06.2022, 16:36

Es gibt maximal 2^31 Objekte. Egal was für eine Aufgabe die haben.

Also faktisch gibt es weiter als 2^31. Die Lücken werden ja nicht mehr gefüllt.
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 +++

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

Re: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von MichaelN » 26.06.2022, 16:38

jmaus hat geschrieben:
26.06.2022, 16:09
MichaelN hat geschrieben:
26.06.2022, 16:03
Sagte der Programmierer, der die Jahreszahlen zweistellig speicherte...
Bitte was? Von was redest du?
Ich wollte nur daran erinnern, dass Design Entscheidungen, die als praktisch irrelevant abgetan wurden, sich Jahrzehnte später doch gerächt haben.
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 +++

Hugo Oberstein
Beiträge: 266
Registriert: 05.10.2019, 21:17
Hat sich bedankt: 110 Mal
Danksagung erhalten: 2 Mal

Re: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von Hugo Oberstein » 26.06.2022, 16:49

Hallo Zusammen,
entschuldigt bitte noch mal die Nachfrage zum neuen Algorithmus.
Wenn ich das richtig verstanden habe, werden keine Lücken mehr gefüllt, sondern immer was hinten dran gehängt.

Was passiert denn, wenn man Programme editiert. Wenn ich das richtig verstanden habe, wird ja immer eine lokale Kopie erstellt. Wird diese auch dann hinten dran gehangen? Was passiert beim Löschen? Dann entstehen ja wieder Lücken, die nicht mehr gefüllt werden.
Könnte es passieren, dass man durch viel experimentieren und verändern trotzdem mal an die Grenzen kommt, obwohl man gar nicht viele Programme "aktiv" hat? Oder habe ich den neuen Algorithmus falsch verstanden?
Wird es quasi einen rega Fragmentierung geben ohne die Möglichkeit eines rega defrags?

Hugo

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

Re: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von MichaelN » 26.06.2022, 17:03

2^31
Rechne doch mal aus, wenn du stündlich 10 Objekte, oder meinetwegen auch 100 erzeugst, nach wieviel Jahren hast du die Grenze überschritten?
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 +++

Benutzeravatar
jmaus
Beiträge: 9844
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: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von jmaus » 26.06.2022, 17:16

MichaelN hat geschrieben:
26.06.2022, 16:36
Es gibt maximal 2^31 Objekte. Egal was für eine Aufgabe die haben.

Also faktisch gibt es weiter als 2^31. Die Lücken werden ja nicht mehr gefüllt.
Sagte doch bereits: Sie sollten am Ende von 2^31 schon gefüllt werden. Und das mit negativer ObjektID das Black hier gezeigt hatte muss ich erst einmal versuchen zu reproduzieren. Eigentlich sollte das funktionieren das ee spätestens am ende von 2^31 dann die lücken versucht zu füllen.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

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: Bitte Hilfe, die RM spinnt voll ("Already in map!" ERROR)

Beitrag von Black » 26.06.2022, 19:16

Das ist recht einfach zu reproduzieren, ohne mehr als 2 Milliarden Objeckte anzulegen.

Das legt eine Sysvar an der kritischen Grenze an:

Code: Alles auswählen

!-Anlegen einer Systemvariablen Typ Boolean
string sName= "MAPDP_Errortest";
if (!dom.GetObject (ID_SYSTEM_VARIABLES).Get (sName)) {
  object svObj = dom.CreateObject(OT_VARDP,sName,2147483647);
  svObj.DPInfo("BeschreibungDerSystemvariablen");
  svObj.ValueUnit(""); !- Einheit der Systemvariablen
  dom.GetObject (ID_SYSTEM_VARIABLES).Add(svObj);
  svObj.ValueType(ivtBinary);
  svObj.ValueSubType(istBool);
  svObj.ValueName0("FALSCH");!- Text der bei Zustand false angezeigt wird
  svObj.ValueName1("WAHR"); !-Text der bei Zustand wahr angezeigt wird
  svObj.State (false); !- Zustand der Sysvar nach dem Anlegen
  dom.RTUpdate(0); !- Am Ende aller Initialisierungen
}     
jede änderung in der WebUI wird nun oberhalb dieses Wertes Objekte anlegen.

Black
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

Antworten

Zurück zu „RaspberryMatic“