Comments (4)
The calendar object sets or resets the dst offset according to the given date, Are you sure you didn't have a default timezone that does not have a DST or used a historic date that didn't have DST yet.
from calimero-core.
Yes, you're right. My testcase was wrong. Wrote it without thinking about different timezones.
But, the translator's setData() method accepts 1900/01/01 00:00:00 DST (0x00 01 01 20 00 00 01 00) without throwing and so does getValue() returning "1900/1/1, Mon (no workday) 0:0:0 DST, no sync". This fails only when using getValueMilliseconds() where an exception is thrown.
Btw: same behavior when setting 2014-07-31 00:00:00 (without DST flag being set).
Question I have is: when is the byte data validated? I might (wrongly) assume that setData() should do that.
from calimero-core.
Actually, this is described in the API doc. The reasons for that behavior are, that
- the KNX DPT specification does not require any valid date/times (besides valid ranges per field).
- a valid date/time item does not require to have filled in all fields
- calendars can differ.
Therefore, unconditional calendar validation might fail unexpectedly, although the datapoint value is valid. You could never translate data that does not pass your calendar. Those two are different requirements on the data (valid calendar time being stronger).
getValueMilliseconds
returns the UTC milliseconds based on your calendar's epoch (to be useful), calendar validation is important.
Answer: If you want the date/times to be validated against your calendar, call validate
.
from calimero-core.
Thx for letting me know.
from calimero-core.
Related Issues (20)
- Does not work with tpuart ic HOT 24
- [Feature Request] Add support for security proxy
- Datapoint type discovery HOT 1
- DPT8 missing in README.md HOT 1
- Mangamementclient no basic restart anymore with v2.5? HOT 3
- [Feature Request] "protected" for some fields and methods of ManagementClientImpl HOT 6
- Warnings from Calimero HOT 13
- Receiving a GroupValueResponse with DPT 1.001 fails due to missing data in the asdu HOT 2
- DPT 251.600 format should be consistent across platforms and locales HOT 3
- readBool maxASDULen should be ‘1’ ?,now is ‘0’ HOT 1
- Android project runtime FATAL EXCEPTION. HOT 5
- GO Diagnostics: Improve selection of surrogate HOT 10
- DPT 10.001 is wrongly parsed when "no day" is present HOT 2
- Throws Exception when EventListener catch one HOT 2
- KNXNetworkLinkFT12: detect status, CEMI setting.... HOT 2
- Implement Transport Layer Connection-Oriented State Machine Style 3 HOT 2
- Throws `KNXTimeoutException` due to missing confirmation although the confirmation was received HOT 2
- Calimero GUI and KNX Virtual HOT 2
- Data Secure - Read Group Request management HOT 2
- Not able to connect to KNX USB RF module HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from calimero-core.