merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Moderator: Co-Administratoren
- Baxxy
- Beiträge: 10646
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 596 Mal
- Danksagung erhalten: 2180 Mal
merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Hallo Uwe,
bin da auf eine merkwürdige Abrundung des übergebenen Temperaturwertes bei Ankopplung des (90) Universal Wrapper Device - Thermostat gestoßen.
Meine Sensoren sind alle per HM-Serial an das jeweilige Wrapper-Device gekoppelt und liefern ausschließlich eine Nachkommastelle, Beispielwert 21.4°C.
Daraus macht das Wrapper-Device dann manchmal 21.39°C. Das kann ich auch reproduzieren indem ich den Wert per Script an das Wrapper-Device übergebe.
Hier mal ein gif wo man das (hoffentlich) erkennen kann. Der Fehler tritt 4x auf, bei Eingabe von 21.2; 21.4; 21.7; 21.9
Das merkwürdige ist, das nicht jeder Wert "falsch" im Wrapper-Device landet. Ein Muster konnte ich bisher noch nicht erkennen.
Das ganze kann ich mit CUxD 2.7 auf 2 x86 .ova RaspberryMatics reproduzieren, auf einem Pi3B+ tritt das (nach einem ersten Test) nicht auf.
Edit:
mit CUxD 2.8 konnte ich das Verhalten bisher nicht mehr beobachten.
bin da auf eine merkwürdige Abrundung des übergebenen Temperaturwertes bei Ankopplung des (90) Universal Wrapper Device - Thermostat gestoßen.
Meine Sensoren sind alle per HM-Serial an das jeweilige Wrapper-Device gekoppelt und liefern ausschließlich eine Nachkommastelle, Beispielwert 21.4°C.
Daraus macht das Wrapper-Device dann manchmal 21.39°C. Das kann ich auch reproduzieren indem ich den Wert per Script an das Wrapper-Device übergebe.
Hier mal ein gif wo man das (hoffentlich) erkennen kann. Der Fehler tritt 4x auf, bei Eingabe von 21.2; 21.4; 21.7; 21.9
Das merkwürdige ist, das nicht jeder Wert "falsch" im Wrapper-Device landet. Ein Muster konnte ich bisher noch nicht erkennen.
Das ganze kann ich mit CUxD 2.7 auf 2 x86 .ova RaspberryMatics reproduzieren, auf einem Pi3B+ tritt das (nach einem ersten Test) nicht auf.
Edit:
mit CUxD 2.8 konnte ich das Verhalten bisher nicht mehr beobachten.
Zuletzt geändert von Baxxy am 06.04.2022, 09:28, insgesamt 2-mal geändert.
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
- Black
- Beiträge: 5463
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 418 Mal
- Danksagung erhalten: 1069 Mal
- Kontaktdaten:
Re: merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Halte ich durchaus für möglich, Crosscompiling für unterschiedliche Zielsysteme (sei es OS oder Prozessorarchitekturen) birgt immer irgendwo die ein oder andere unerwartete Überraschung.
Da müsste Uwe dann mal die EInstellungen checken.
Black
Da müsste Uwe dann mal die EInstellungen checken.
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
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
- Baxxy
- Beiträge: 10646
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 596 Mal
- Danksagung erhalten: 2180 Mal
Re: merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Ich habe mir nun mal das volle CUxD-Logging gegönnt...
So wie ich das sehe kommt der Wert korrekt beim Wrapper-Device an, wird dann aber falsch zurückgegeben.
@Uwe... wenn du da was spezielles zwecks Analysen brauchst, dann sag bescheid.
Code: Alles auswählen
21.02.2022 16:55:46.45 [11655] {59864} RPC incoming connection(8) from 127.0.0.1:46880 fd(11)
21.02.2022 16:55:46.45 [11655] {59864} selectanswer(1)
21.02.2022 16:55:46.45 [11655] {59864} RPC start incoming request(11)
21.02.2022 16:55:46.45 [11655] {59864} process_rpc_request(127.0.0.1)
21.02.2022 16:55:46.45 [11655] {59960} process_bin_request(type:0,len:71,host:127.0.0.1) fd(11)
21.02.2022 16:55:46.45 [11655] {59960} DUMP: 71 bytes - 0
21.02.2022 16:55:46.45 [11655] {59960} 0000 - 00 00 00 08 73 65 74 56 61 6C 75 65 00 00 00 03 ....setValue....
21.02.2022 16:55:46.45 [11655] {59960} 0016 - 00 00 00 03 00 00 00 0C 43 55 58 39 30 30 32 30 ........CUX90020
21.02.2022 16:55:46.45 [11655] {59960} 0032 - 30 31 3A 31 00 00 00 03 00 00 00 0F 53 45 54 5F 01:1........SET_
21.02.2022 16:55:46.45 [11655] {59960} 0048 - 54 45 4D 50 45 52 41 54 55 52 45 00 00 00 04 28 TEMPERATURE....(
21.02.2022 16:55:46.45 [11655] {59960} 0064 - 66 66 66 00 00 00 05 fff....
21.02.2022 16:55:46.45 [11655] {59960} process_bin_request(setValue)
21.02.2022 16:55:46.45 [11655] {59960} analyze_data(0003) at 20
21.02.2022 16:55:46.45 [11655] {59960} ...[a](1){4} "CUX9002001:1"
21.02.2022 16:55:46.45 [11655] {59960} analyze_request()
21.02.2022 16:55:46.45 [11655] {60040} analyze_data(0003) at 40
21.02.2022 16:55:46.45 [11655] {60040} ...[a](1){4} "SET_TEMPERATURE"
21.02.2022 16:55:46.45 [11655] {60040} analyze_request()
21.02.2022 16:55:46.45 [11655] {60040} analyze_data(0004) at 63
21.02.2022 16:55:46.45 [11655] {60040} ...[a](1){4} 20.200000 [float]
21.02.2022 16:55:46.45 [11655] {60040} analyze_request()
21.02.2022 16:55:46.45 [11655] {60040} Request 3 setValue-S:( "CUX9002001:1" "SET_TEMPERATURE" 20.200000 [f] )
21.02.2022 16:55:46.45 [11655] {60040} handle_requests(127.0.0.1) btype:0 'setValue' 'setValue' num:3
21.02.2022 16:55:46.45 [11655] {60040} setValue 'CUX9002001:1.SET_TEMPERATURE=20.200000'
21.02.2022 16:55:46.45 [11655] {60040} CUX9002001: set_parameter(SET_TEMPERATURE) (20.200000)
21.02.2022 16:55:46.45 [11655] {60040} get_parameter(9002001:1) - TEMPERATURE = '20.19'
21.02.2022 16:55:46.45 [11655] {60040} add_rpc_event(CUX9002001:1.TEMPERATURE = '20.19') type:1
21.02.2022 16:55:46.45 [11655] {60040} add_rpc_event(CUX9002001:1.TEMPERATURE = '20.19') #1
21.02.2022 16:55:46.45 [11655] {60040} get_parameter(9002001:1) - TEMP_MIN_24H = '20.19'
21.02.2022 16:55:46.45 [11655] {60040} add_rpc_event(CUX9002001:1.TEMP_MIN_24H = '20.19') type:1
21.02.2022 16:55:46.45 [11655] {60104} add_rpc_event(CUX9002001:1.TEMP_MIN_24H = '20.19') #2
21.02.2022 16:55:46.45 [11655] {60104} get_parameter(9002001:1) - TEMP_MAX_24H = '20.19'
21.02.2022 16:55:46.45 [11655] {60104} add_rpc_event(CUX9002001:1.TEMP_MAX_24H = '20.19') type:1
21.02.2022 16:55:46.45 [11655] {60200} add_rpc_event(CUX9002001:1.TEMP_MAX_24H = '20.19') #3
21.02.2022 16:55:46.45 [11655] {60200} send_rpc_events()
21.02.2022 16:55:46.45 [11655] {60200} send_rpc_events(#3)
21.02.2022 16:55:46.45 [11655] {60200} DUMP: 390 bytes - 10
@Uwe... wenn du da was spezielles zwecks Analysen brauchst, dann sag bescheid.
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
- uwe111
- Beiträge: 4806
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 239 Mal
- Kontaktdaten:
Re: merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Danke, aber sowas hatte ich schon vermutet. Ich muss mir das zuerst mal genau ansehen.
Ich habe da einen Verdacht...
Viele Grüße
Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir
- uwe111
- Beiträge: 4806
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 239 Mal
- Kontaktdaten:
Re: merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Hallo Baxxy,
kannst Du es bitte mal mit der CUxD Testversion 2.7.3 testen?
http://cuxd.de/download/
Viele Grüße
Uwe
kannst Du es bitte mal mit der CUxD Testversion 2.7.3 testen?
http://cuxd.de/download/
Viele Grüße
Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir
- Baxxy
- Beiträge: 10646
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 596 Mal
- Danksagung erhalten: 2180 Mal
Re: merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Hallo Uwe,
Werde das noch eine Zeit beobachten und wenn der Fehler nicht mehr auftritt den Thread als erledigt markieren.
Grüße, Baxxy
Sieht nach ersten Tests sehr gut aus.
Werde das noch eine Zeit beobachten und wenn der Fehler nicht mehr auftritt den Thread als erledigt markieren.
Grüße, Baxxy
- Baxxy
- Beiträge: 10646
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 596 Mal
- Danksagung erhalten: 2180 Mal
Re: [erledigt] merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Hallo Uwe,
ich muss das Thema nochmal reaktivieren.
Da ich einen Außensensor (HmIP-STHO) an das Wrapper-Device gekoppelt habe und es kürzlich des nächtens unter Null war ist mir aufgefallen das auch negative Werte abgerundet werden.
usw.
Getestet habe ich jeweils mit der CUxD-Testversion (2.8.2) auf CCU3 (3.63.8 ), RM .ova sowie RM auf Pi3B+.
Das Problem tritt also dieses mal unabhängig von der verwendeten CUxD Architektur (arm vs X86) auf.
Kleines Testscript:
Und ein "Videobeweis":
Grüße, Baxxy
ich muss das Thema nochmal reaktivieren.
Da ich einen Außensensor (HmIP-STHO) an das Wrapper-Device gekoppelt habe und es kürzlich des nächtens unter Null war ist mir aufgefallen das auch negative Werte abgerundet werden.
Code: Alles auswählen
-0.1 > -0.09
-0.2 > -0.19
-0.3 > -0.29
Getestet habe ich jeweils mit der CUxD-Testversion (2.8.2) auf CCU3 (3.63.8 ), RM .ova sowie RM auf Pi3B+.
Das Problem tritt also dieses mal unabhängig von der verwendeten CUxD Architektur (arm vs X86) auf.
Kleines Testscript:
Code: Alles auswählen
object set_tp = dom.GetObject('CUxD.CUX9002001:1.SET_TEMPERATURE');
WriteLine("Start");
set_tp.State(0.00);
set_tp.State(-0.10, 3000);
set_tp.State(-0.20, 6000);
set_tp.State(-0.30, 9000);
set_tp.State(-0.40, 12000);
set_tp.State(-0.50, 15000);
set_tp.State(0.00, 18000);
- uwe111
- Beiträge: 4806
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 239 Mal
- Kontaktdaten:
Re: merkwürdige Abrundung bei (90) Universal Wrapper Device - Thermostat auf x86 Systemen
Hallo Baxxy,
ja, ein typischer Rundungsfehler bei negativen Werten.
Ich werde es korrigieren und Dir dann eine neue Testversion bereitstellen.
Viele Grüße
Uwe
ja, ein typischer Rundungsfehler bei negativen Werten.
Ich werde es korrigieren und Dir dann eine neue Testversion bereitstellen.
Viele Grüße
Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir